aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml26
-rw-r--r--CHANGELOG126
-rw-r--r--Zotlabs/Access/PermissionLimits.php10
-rw-r--r--Zotlabs/Access/PermissionRoles.php19
-rw-r--r--Zotlabs/Daemon/Expire.php7
-rw-r--r--Zotlabs/Lib/Apps.php7
-rw-r--r--Zotlabs/Lib/Chatroom.php2
-rw-r--r--Zotlabs/Lib/Enotify.php59
-rw-r--r--Zotlabs/Lib/NativeWiki.php11
-rw-r--r--Zotlabs/Lib/Share.php12
-rw-r--r--Zotlabs/Lib/ThreadItem.php11
-rw-r--r--Zotlabs/Module/Acl.php10
-rw-r--r--Zotlabs/Module/Admin/Accounts.php7
-rw-r--r--Zotlabs/Module/Admin/Profs.php39
-rw-r--r--Zotlabs/Module/Admin/Site.php28
-rw-r--r--Zotlabs/Module/Appman.php1
-rw-r--r--Zotlabs/Module/Articles.php20
-rw-r--r--Zotlabs/Module/Authorize.php99
-rw-r--r--Zotlabs/Module/Cards.php21
-rw-r--r--Zotlabs/Module/Channel.php4
-rw-r--r--Zotlabs/Module/Chanview.php2
-rw-r--r--Zotlabs/Module/Chatsvc.php4
-rw-r--r--Zotlabs/Module/Cloud.php6
-rw-r--r--Zotlabs/Module/Connections.php34
-rw-r--r--Zotlabs/Module/Connedit.php6
-rw-r--r--Zotlabs/Module/Cover_photo.php9
-rw-r--r--Zotlabs/Module/Directory.php13
-rw-r--r--Zotlabs/Module/Display.php47
-rw-r--r--Zotlabs/Module/Editpost.php2
-rw-r--r--Zotlabs/Module/Follow.php22
-rw-r--r--Zotlabs/Module/Hashtags.php27
-rw-r--r--Zotlabs/Module/Import.php19
-rw-r--r--Zotlabs/Module/Item.php9
-rw-r--r--Zotlabs/Module/Like.php4
-rw-r--r--Zotlabs/Module/Logout.php7
-rw-r--r--Zotlabs/Module/Magic.php2
-rw-r--r--Zotlabs/Module/Mail.php4
-rw-r--r--Zotlabs/Module/Message.php2
-rw-r--r--Zotlabs/Module/Moderate.php17
-rw-r--r--Zotlabs/Module/Network.php17
-rw-r--r--Zotlabs/Module/New_channel.php26
-rw-r--r--Zotlabs/Module/Oauth2testvehicle.php151
-rw-r--r--Zotlabs/Module/Ochannel.php69
-rw-r--r--Zotlabs/Module/Oep.php4
-rw-r--r--Zotlabs/Module/Owa.php9
-rw-r--r--Zotlabs/Module/Photos.php10
-rw-r--r--Zotlabs/Module/Ping.php20
-rw-r--r--Zotlabs/Module/Profile_photo.php6
-rw-r--r--Zotlabs/Module/Profiles.php45
-rw-r--r--Zotlabs/Module/Pubstream.php12
-rw-r--r--Zotlabs/Module/React.php1
-rw-r--r--Zotlabs/Module/Regmod.php2
-rw-r--r--Zotlabs/Module/Rpost.php42
-rw-r--r--Zotlabs/Module/Search.php4
-rw-r--r--Zotlabs/Module/Settings/Channel.php22
-rw-r--r--Zotlabs/Module/Settings/Featured.php19
-rw-r--r--Zotlabs/Module/Settings/Features.php74
-rw-r--r--Zotlabs/Module/Settings/Oauth.php11
-rw-r--r--Zotlabs/Module/Settings/Oauth2.php160
-rw-r--r--Zotlabs/Module/Settings/Permcats.php5
-rw-r--r--Zotlabs/Module/Setup.php20
-rw-r--r--Zotlabs/Module/Share.php21
-rw-r--r--Zotlabs/Module/Sitelist.php4
-rw-r--r--Zotlabs/Module/Tagger.php13
-rw-r--r--Zotlabs/Module/Thing.php5
-rw-r--r--Zotlabs/Module/Token.php3
-rw-r--r--Zotlabs/Module/Uexport.php4
-rw-r--r--Zotlabs/Module/Webfinger.php28
-rw-r--r--Zotlabs/Module/Well_known.php5
-rw-r--r--Zotlabs/Module/Wfinger.php3
-rw-r--r--Zotlabs/Module/Wiki.php4
-rw-r--r--Zotlabs/Storage/Browser.php2
-rw-r--r--Zotlabs/Storage/Directory.php20
-rw-r--r--Zotlabs/Storage/ZotOauth2Pdo.php10
-rw-r--r--Zotlabs/Update/_1204.php6
-rw-r--r--Zotlabs/Update/_1205.php11
-rw-r--r--Zotlabs/Update/_1207.php24
-rw-r--r--Zotlabs/Update/_1208.php26
-rw-r--r--Zotlabs/Update/_1209.php26
-rw-r--r--Zotlabs/Update/_1210.php78
-rw-r--r--Zotlabs/Update/_1211.php26
-rw-r--r--Zotlabs/Update/_1212.php26
-rw-r--r--Zotlabs/Web/HTTPSig.php16
-rw-r--r--Zotlabs/Web/WebServer.php6
-rw-r--r--Zotlabs/Widget/Catcloud.php46
-rw-r--r--Zotlabs/Widget/Design_tools.php13
-rw-r--r--Zotlabs/Widget/Newmember.php21
-rw-r--r--Zotlabs/Widget/Notifications.php2
-rw-r--r--Zotlabs/Widget/Pubtagcloud.php41
-rw-r--r--Zotlabs/Widget/Settings_menu.php10
-rw-r--r--Zotlabs/Widget/Tagcloud.php9
-rwxr-xr-xboot.php23
-rw-r--r--composer.lock264
-rw-r--r--doc/about/project.bb2
-rw-r--r--doc/context/fr/admin/logs/help.html8
-rw-r--r--doc/context/fr/admin/queue/help.html4
-rw-r--r--doc/context/fr/channel/help.html6
-rw-r--r--doc/context/fr/settings/features/help.html12
-rw-r--r--doc/dnt-policy.txt218
-rw-r--r--doc/feature/additional/access.md41
-rw-r--r--doc/feature/additional/composition.md67
-rw-r--r--doc/feature/additional/filtering.md57
-rw-r--r--doc/feature/additional/general.md130
-rw-r--r--doc/feature/additional/overview.md33
-rw-r--r--doc/feature/additional/posts.md57
-rw-r--r--doc/fr/about.bb25
-rw-r--r--doc/fr/about/about.bb198
-rw-r--r--doc/fr/toc.html73
-rw-r--r--doc/member/member_guide.bb126
-rw-r--r--doc/toc.html19
-rw-r--r--doc/tutorials/personal_channel.html17
-rw-r--r--images/emoji/2665.pngbin449 -> 435 bytes
-rw-r--r--include/account.php3
-rw-r--r--include/api.php30
-rw-r--r--include/api_auth.php57
-rw-r--r--include/attach.php10
-rw-r--r--include/auth.php18
-rw-r--r--include/bbcode.php103
-rw-r--r--include/channel.php35
-rw-r--r--include/connections.php12
-rw-r--r--include/conversation.php25
-rw-r--r--include/datetime.php8
-rwxr-xr-xinclude/dba/dba_pdo.php4
-rw-r--r--include/event.php22
-rw-r--r--include/features.php39
-rw-r--r--include/feedutils.php9
-rw-r--r--include/follow.php23
-rw-r--r--include/help.php2
-rw-r--r--include/html2bbcode.php1
-rw-r--r--include/hubloc.php3
-rw-r--r--include/import.php9
-rwxr-xr-xinclude/items.php162
-rw-r--r--include/markdown.php4
-rw-r--r--include/nav.php4
-rw-r--r--include/network.php24
-rwxr-xr-xinclude/oembed.php1
-rw-r--r--include/permissions.php2
-rw-r--r--include/photo/photo_driver.php7
-rw-r--r--include/photo/photo_gd.php5
-rw-r--r--include/photo/photo_imagick.php13
-rw-r--r--include/photos.php19
-rwxr-xr-xinclude/plugin.php63
-rw-r--r--include/queue_fn.php6
-rw-r--r--include/security.php9
-rw-r--r--include/socgraph.php13
-rw-r--r--include/statistics_fns.php44
-rw-r--r--include/taxonomy.php96
-rw-r--r--include/text.php72
-rw-r--r--include/zid.php15
-rw-r--r--include/zot.php65
-rw-r--r--install/schema_mysql.sql63
-rw-r--r--install/schema_postgres.sql60
-rw-r--r--library/IXR_Library.php61
-rw-r--r--library/bootstrap/css/bootstrap-grid.css350
-rw-r--r--library/bootstrap/css/bootstrap-grid.css.map2
-rw-r--r--library/bootstrap/css/bootstrap-grid.min.css4
-rw-r--r--library/bootstrap/css/bootstrap-grid.min.css.map2
-rw-r--r--library/bootstrap/css/bootstrap-reboot.css4
-rw-r--r--library/bootstrap/css/bootstrap-reboot.css.map2
-rw-r--r--library/bootstrap/css/bootstrap-reboot.min.css2
-rw-r--r--library/bootstrap/css/bootstrap-reboot.min.css.map2
-rw-r--r--library/bootstrap/css/bootstrap.css871
-rw-r--r--library/bootstrap/css/bootstrap.css.map2
-rw-r--r--library/bootstrap/css/bootstrap.min.css4
-rw-r--r--library/bootstrap/css/bootstrap.min.css.map2
-rw-r--r--library/bootstrap/js/bootstrap.bundle.js10495
-rw-r--r--library/bootstrap/js/bootstrap.bundle.js.map2
-rw-r--r--library/bootstrap/js/bootstrap.bundle.min.js4
-rw-r--r--library/bootstrap/js/bootstrap.bundle.min.js.map2
-rw-r--r--library/bootstrap/js/bootstrap.js6103
-rw-r--r--library/bootstrap/js/bootstrap.js.map2
-rw-r--r--library/bootstrap/js/bootstrap.min.js4
-rw-r--r--library/bootstrap/js/bootstrap.min.js.map2
-rw-r--r--library/justifiedGallery/jquery.justifiedGallery.js122
-rw-r--r--library/justifiedGallery/jquery.justifiedGallery.min.js6
-rw-r--r--library/justifiedGallery/justifiedGallery.css19
-rw-r--r--library/justifiedGallery/justifiedGallery.min.css6
-rwxr-xr-xtests/travis/prepare_pgsql.sh17
-rw-r--r--tests/unit/Access/PermissionLimitsTest.php2
-rw-r--r--tests/unit/Access/PermissionRolesTest.php3
-rwxr-xr-xutil/dcp64
-rw-r--r--util/hmessages.po3011
-rw-r--r--vendor/commerceguys/intl/.travis.yml14
-rw-r--r--vendor/commerceguys/intl/resources/country/af.json54
-rw-r--r--vendor/commerceguys/intl/resources/country/am.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/ar-LY.json42
-rw-r--r--vendor/commerceguys/intl/resources/country/ar-SA.json44
-rw-r--r--vendor/commerceguys/intl/resources/country/ar.json42
-rw-r--r--vendor/commerceguys/intl/resources/country/as.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/az-Cyrl.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/az.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/bas.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/base.json4
-rw-r--r--vendor/commerceguys/intl/resources/country/be.json22
-rw-r--r--vendor/commerceguys/intl/resources/country/bg.json4
-rw-r--r--vendor/commerceguys/intl/resources/country/bn-IN.json50
-rw-r--r--vendor/commerceguys/intl/resources/country/bn.json52
-rw-r--r--vendor/commerceguys/intl/resources/country/bs-Cyrl.json186
-rw-r--r--vendor/commerceguys/intl/resources/country/bs.json52
-rw-r--r--vendor/commerceguys/intl/resources/country/ca.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/ce.json38
-rw-r--r--vendor/commerceguys/intl/resources/country/chr.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/ckb.json40
-rw-r--r--vendor/commerceguys/intl/resources/country/cs.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/cy.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/da.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/de-AT.json14
-rw-r--r--vendor/commerceguys/intl/resources/country/de-CH.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/de.json16
-rw-r--r--vendor/commerceguys/intl/resources/country/el.json40
-rw-r--r--vendor/commerceguys/intl/resources/country/en-GB.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/en.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/es-AR.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/es-BO.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-BR.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-BZ.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CL.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CO.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CR.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-CU.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-DO.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-EC.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-GT.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-HN.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-MX.json22
-rw-r--r--vendor/commerceguys/intl/resources/country/es-NI.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PA.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PE.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PR.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-PY.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-SV.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-US.json16
-rw-r--r--vendor/commerceguys/intl/resources/country/es-UY.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es-VE.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/es.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/et.json12
-rw-r--r--vendor/commerceguys/intl/resources/country/eu.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/fa-AF.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/fil.json48
-rw-r--r--vendor/commerceguys/intl/resources/country/fr-BE.json12
-rw-r--r--vendor/commerceguys/intl/resources/country/fr-CA.json14
-rw-r--r--vendor/commerceguys/intl/resources/country/fr.json12
-rw-r--r--vendor/commerceguys/intl/resources/country/ga.json270
-rw-r--r--vendor/commerceguys/intl/resources/country/gd.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/gl.json86
-rw-r--r--vendor/commerceguys/intl/resources/country/gu.json100
-rw-r--r--vendor/commerceguys/intl/resources/country/he.json52
-rw-r--r--vendor/commerceguys/intl/resources/country/hi.json34
-rw-r--r--vendor/commerceguys/intl/resources/country/hr.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/hu.json4
-rw-r--r--vendor/commerceguys/intl/resources/country/hy.json12
-rw-r--r--vendor/commerceguys/intl/resources/country/id.json18
-rw-r--r--vendor/commerceguys/intl/resources/country/is.json12
-rw-r--r--vendor/commerceguys/intl/resources/country/it.json16
-rw-r--r--vendor/commerceguys/intl/resources/country/ja.json28
-rw-r--r--vendor/commerceguys/intl/resources/country/jgo.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/ka.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/kea.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/kk.json22
-rw-r--r--vendor/commerceguys/intl/resources/country/km.json190
-rw-r--r--vendor/commerceguys/intl/resources/country/kn.json114
-rw-r--r--vendor/commerceguys/intl/resources/country/kok.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/ky.json94
-rw-r--r--vendor/commerceguys/intl/resources/country/lb.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/ln.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/lo.json54
-rw-r--r--vendor/commerceguys/intl/resources/country/lv.json4
-rw-r--r--vendor/commerceguys/intl/resources/country/mk.json22
-rw-r--r--vendor/commerceguys/intl/resources/country/ml.json50
-rw-r--r--vendor/commerceguys/intl/resources/country/mn.json130
-rw-r--r--vendor/commerceguys/intl/resources/country/mr.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/ms.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/my.json68
-rw-r--r--vendor/commerceguys/intl/resources/country/nb.json12
-rw-r--r--vendor/commerceguys/intl/resources/country/ne.json70
-rw-r--r--vendor/commerceguys/intl/resources/country/nl.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/nn.json40
-rw-r--r--vendor/commerceguys/intl/resources/country/nus.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/or.json296
-rw-r--r--vendor/commerceguys/intl/resources/country/pa.json10
-rw-r--r--vendor/commerceguys/intl/resources/country/pl.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/ps.json998
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-AO.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-CH.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-CV.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-GQ.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-GW.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-LU.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-MO.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-MZ.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-PT.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-ST.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt-TL.json30
-rw-r--r--vendor/commerceguys/intl/resources/country/pt.json42
-rw-r--r--vendor/commerceguys/intl/resources/country/qu.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/rm.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/ro-MD.json14
-rw-r--r--vendor/commerceguys/intl/resources/country/ro.json14
-rw-r--r--vendor/commerceguys/intl/resources/country/ru-UA.json14
-rw-r--r--vendor/commerceguys/intl/resources/country/ru.json16
-rw-r--r--vendor/commerceguys/intl/resources/country/sd.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/si.json4
-rw-r--r--vendor/commerceguys/intl/resources/country/sk.json12
-rw-r--r--vendor/commerceguys/intl/resources/country/sl.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/sq.json56
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn-BA.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn-ME.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn-XK.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/sr-Latn.json14
-rw-r--r--vendor/commerceguys/intl/resources/country/sr.json14
-rw-r--r--vendor/commerceguys/intl/resources/country/sv.json4
-rw-r--r--vendor/commerceguys/intl/resources/country/sw-CD.json158
-rw-r--r--vendor/commerceguys/intl/resources/country/sw-KE.json150
-rw-r--r--vendor/commerceguys/intl/resources/country/sw.json168
-rw-r--r--vendor/commerceguys/intl/resources/country/ta.json2
-rw-r--r--vendor/commerceguys/intl/resources/country/te.json154
-rw-r--r--vendor/commerceguys/intl/resources/country/tg.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/th.json20
-rw-r--r--vendor/commerceguys/intl/resources/country/ti.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/tk.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/to.json26
-rw-r--r--vendor/commerceguys/intl/resources/country/tr.json8
-rw-r--r--vendor/commerceguys/intl/resources/country/tt.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/uk.json128
-rw-r--r--vendor/commerceguys/intl/resources/country/ur-IN.json28
-rw-r--r--vendor/commerceguys/intl/resources/country/ur.json28
-rw-r--r--vendor/commerceguys/intl/resources/country/uz-Cyrl.json18
-rw-r--r--vendor/commerceguys/intl/resources/country/uz.json80
-rw-r--r--vendor/commerceguys/intl/resources/country/vai.json168
-rw-r--r--vendor/commerceguys/intl/resources/country/vi.json24
-rw-r--r--vendor/commerceguys/intl/resources/country/wo.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/yo-BJ.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/yo.json6
-rw-r--r--vendor/commerceguys/intl/resources/country/yue.json761
-rw-r--r--vendor/commerceguys/intl/resources/country/zh-Hant-HK.json22
-rw-r--r--vendor/commerceguys/intl/resources/country/zh-Hant-MO.json22
-rw-r--r--vendor/commerceguys/intl/resources/country/zh-Hant.json34
-rw-r--r--vendor/commerceguys/intl/resources/country/zh.json20
-rw-r--r--vendor/commerceguys/intl/resources/country/zu.json8
-rw-r--r--vendor/commerceguys/intl/resources/currency/af.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/agq.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ak.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/am.json21
-rw-r--r--vendor/commerceguys/intl/resources/currency/ar.json38
-rw-r--r--vendor/commerceguys/intl/resources/currency/asa.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ast.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/az.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/bas.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/base.json4
-rw-r--r--vendor/commerceguys/intl/resources/currency/be.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/bez.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/bg.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/bm.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/bn.json21
-rw-r--r--vendor/commerceguys/intl/resources/currency/br.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/brx.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/bs-Cyrl.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/bs.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ca.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/ce.json15
-rw-r--r--vendor/commerceguys/intl/resources/currency/cgg.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/chr.json3
-rw-r--r--vendor/commerceguys/intl/resources/currency/cs.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/cy.json13
-rw-r--r--vendor/commerceguys/intl/resources/currency/da.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/dav.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/de-CH.json10
-rw-r--r--vendor/commerceguys/intl/resources/currency/de.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/dje.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/dsb.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/dz.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ebu.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ee.json119
-rw-r--r--vendor/commerceguys/intl/resources/currency/el.json17
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AI.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AT.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-AU.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BB.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BE.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BS.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BW.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-BZ.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CA.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CC.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CH.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CK.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CX.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-CY.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DE.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DK.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-DM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ER.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FI.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FJ.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FK.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-FM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GB.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GD.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GH.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GI.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-GY.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-HK.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IE.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IL.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IN.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-IO.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-JE.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-JM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KE.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KI.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KN.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-KY.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-LC.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-LR.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-LS.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MO.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MS.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MT.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MU.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MW.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-MY.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NA.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NF.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NL.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NR.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NU.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-NZ.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PH.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PK.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PN.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-PW.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-RW.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SB.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SC.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SD.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SE.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SH.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SI.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SL.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SS.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SX.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-SZ.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TC.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TK.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TO.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TT.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TV.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-TZ.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-UG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-VC.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-VG.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-VU.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-WS.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ZA.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ZM.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en-ZW.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/en.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-AR.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-BO.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-BR.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-BZ.json475
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CL.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CO.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CR.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-CU.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-DO.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-EC.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-GT.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-HN.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-MX.json189
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-NI.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PA.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PE.json35
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PR.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-PY.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-SV.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-US.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-UY.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es-VE.json33
-rw-r--r--vendor/commerceguys/intl/resources/currency/es.json35
-rw-r--r--vendor/commerceguys/intl/resources/currency/et.json13
-rw-r--r--vendor/commerceguys/intl/resources/currency/eu.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ewo.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/fa-AF.json15
-rw-r--r--vendor/commerceguys/intl/resources/currency/fa.json17
-rw-r--r--vendor/commerceguys/intl/resources/currency/ff.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/fi.json11
-rw-r--r--vendor/commerceguys/intl/resources/currency/fil.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/fo.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/fr-CA.json15
-rw-r--r--vendor/commerceguys/intl/resources/currency/fr.json31
-rw-r--r--vendor/commerceguys/intl/resources/currency/fur.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/fy.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ga.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/gd.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/gl.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/gsw.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/gu.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/guz.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ha.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/he.json53
-rw-r--r--vendor/commerceguys/intl/resources/currency/hi.json15
-rw-r--r--vendor/commerceguys/intl/resources/currency/hr.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/hsb.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/hu.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/hy.json235
-rw-r--r--vendor/commerceguys/intl/resources/currency/id.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/is.json3
-rw-r--r--vendor/commerceguys/intl/resources/currency/it.json12
-rw-r--r--vendor/commerceguys/intl/resources/currency/ja.json17
-rw-r--r--vendor/commerceguys/intl/resources/currency/jmc.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ka.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/kab.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/kam.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/kde.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/kea.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/khq.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ki.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/kk.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/kln.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/km.json3
-rw-r--r--vendor/commerceguys/intl/resources/currency/kn.json29
-rw-r--r--vendor/commerceguys/intl/resources/currency/ko.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ks.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksb.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksf.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ksh.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ky.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/lag.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/lb.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/lg.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ln.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/lo.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/lt.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/lu.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/luo.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/luy.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/lv.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/mas.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/mer.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/mfe.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/mg.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/mk.json21
-rw-r--r--vendor/commerceguys/intl/resources/currency/ml.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/mn.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/mr.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ms.json35
-rw-r--r--vendor/commerceguys/intl/resources/currency/mua.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/my.json119
-rw-r--r--vendor/commerceguys/intl/resources/currency/mzn.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/naq.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/nb.json13
-rw-r--r--vendor/commerceguys/intl/resources/currency/nd.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ne.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/nl.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/nmg.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/nn.json371
-rw-r--r--vendor/commerceguys/intl/resources/currency/nyn.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/or.json493
-rw-r--r--vendor/commerceguys/intl/resources/currency/pa.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/pl.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-AO.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-CH.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-CV.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-GQ.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-GW.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-LU.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-MO.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-MZ.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-PT.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-ST.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt-TL.json123
-rw-r--r--vendor/commerceguys/intl/resources/currency/pt.json39
-rw-r--r--vendor/commerceguys/intl/resources/currency/rm.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/rn.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ro.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/rof.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ru.json321
-rw-r--r--vendor/commerceguys/intl/resources/currency/rwk.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/saq.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/sbp.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/sd.json494
-rw-r--r--vendor/commerceguys/intl/resources/currency/seh.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ses.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/sg.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/shi-Latn.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/shi.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/si.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/sk.json17
-rw-r--r--vendor/commerceguys/intl/resources/currency/sl.json29
-rw-r--r--vendor/commerceguys/intl/resources/currency/sn.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/sq.json13
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr-Latn.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/sr.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/sv.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw-CD.json141
-rw-r--r--vendor/commerceguys/intl/resources/currency/sw.json147
-rw-r--r--vendor/commerceguys/intl/resources/currency/ta.json3
-rw-r--r--vendor/commerceguys/intl/resources/currency/te.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/teo.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/th.json11
-rw-r--r--vendor/commerceguys/intl/resources/currency/tk.json85
-rw-r--r--vendor/commerceguys/intl/resources/currency/tr.json11
-rw-r--r--vendor/commerceguys/intl/resources/currency/twq.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/tzm.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/ug.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/uk.json13
-rw-r--r--vendor/commerceguys/intl/resources/currency/ur-IN.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/ur.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/uz-Cyrl.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/uz.json65
-rw-r--r--vendor/commerceguys/intl/resources/currency/vai-Latn.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/vai.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/vi.json11
-rw-r--r--vendor/commerceguys/intl/resources/currency/vun.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/xog.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/yo-BJ.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/yo.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/yue.json496
-rw-r--r--vendor/commerceguys/intl/resources/currency/zgh.json7
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json9
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh-Hant.json15
-rw-r--r--vendor/commerceguys/intl/resources/currency/zh.json5
-rw-r--r--vendor/commerceguys/intl/resources/currency/zu.json3
-rw-r--r--vendor/commerceguys/intl/resources/language/af.json43
-rw-r--r--vendor/commerceguys/intl/resources/language/agq.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ak.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/am.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-EG.json61
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-LY.json63
-rw-r--r--vendor/commerceguys/intl/resources/language/ar-SA.json55
-rw-r--r--vendor/commerceguys/intl/resources/language/ar.json63
-rw-r--r--vendor/commerceguys/intl/resources/language/asa.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ast.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/az-Cyrl.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/az.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/bas.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/be.json63
-rw-r--r--vendor/commerceguys/intl/resources/language/bem.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/bez.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/bg.json49
-rw-r--r--vendor/commerceguys/intl/resources/language/bm.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/bn-IN.json35
-rw-r--r--vendor/commerceguys/intl/resources/language/bn.json35
-rw-r--r--vendor/commerceguys/intl/resources/language/br.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/brx.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/bs-Cyrl.json123
-rw-r--r--vendor/commerceguys/intl/resources/language/bs.json31
-rw-r--r--vendor/commerceguys/intl/resources/language/ca.json29
-rw-r--r--vendor/commerceguys/intl/resources/language/ce.json139
-rw-r--r--vendor/commerceguys/intl/resources/language/cgg.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/chr.json33
-rw-r--r--vendor/commerceguys/intl/resources/language/ckb.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/cs.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/cy.json23
-rw-r--r--vendor/commerceguys/intl/resources/language/da.json19
-rw-r--r--vendor/commerceguys/intl/resources/language/dav.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/de-AT.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/de-CH.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/de-LU.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/de.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/dje.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/dsb.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/dyo.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/dz.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ebu.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ee.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/el.json139
-rw-r--r--vendor/commerceguys/intl/resources/language/en-AU.json24
-rw-r--r--vendor/commerceguys/intl/resources/language/en-CA.json650
-rw-r--r--vendor/commerceguys/intl/resources/language/en-GB.json650
-rw-r--r--vendor/commerceguys/intl/resources/language/en-IN.json18
-rw-r--r--vendor/commerceguys/intl/resources/language/en.json18
-rw-r--r--vendor/commerceguys/intl/resources/language/eo.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/es-AR.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-BO.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-BR.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-BZ.json644
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CL.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CO.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CR.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-CU.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-DO.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-EC.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-GT.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-HN.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-MX.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-NI.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PA.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PE.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PR.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-PY.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-SV.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-US.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/es-UY.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es-VE.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/es.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/et.json29
-rw-r--r--vendor/commerceguys/intl/resources/language/eu.json91
-rw-r--r--vendor/commerceguys/intl/resources/language/ewo.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/fa-AF.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/fa.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ff.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/fi.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/fil.json17
-rw-r--r--vendor/commerceguys/intl/resources/language/fo.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-BE.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CA.json17
-rw-r--r--vendor/commerceguys/intl/resources/language/fr-CH.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/fr.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/fur.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/fy.json19
-rw-r--r--vendor/commerceguys/intl/resources/language/ga.json39
-rw-r--r--vendor/commerceguys/intl/resources/language/gd.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/gl.json83
-rw-r--r--vendor/commerceguys/intl/resources/language/gsw.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/gu.json55
-rw-r--r--vendor/commerceguys/intl/resources/language/guz.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ha.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/he.json31
-rw-r--r--vendor/commerceguys/intl/resources/language/hi.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/hr.json17
-rw-r--r--vendor/commerceguys/intl/resources/language/hsb.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/hu.json19
-rw-r--r--vendor/commerceguys/intl/resources/language/hy.json33
-rw-r--r--vendor/commerceguys/intl/resources/language/id.json33
-rw-r--r--vendor/commerceguys/intl/resources/language/ig.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/is.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/it.json17
-rw-r--r--vendor/commerceguys/intl/resources/language/ja.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/jmc.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ka.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/kab.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/kam.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/kde.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/kea.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/khq.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ki.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/kk.json75
-rw-r--r--vendor/commerceguys/intl/resources/language/kln.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/km.json49
-rw-r--r--vendor/commerceguys/intl/resources/language/kn.json79
-rw-r--r--vendor/commerceguys/intl/resources/language/ko.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/kok.json709
-rw-r--r--vendor/commerceguys/intl/resources/language/ks.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ksb.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ksf.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ksh.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ky.json43
-rw-r--r--vendor/commerceguys/intl/resources/language/lag.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/lb.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/lg.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/lkt.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ln.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/lo.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/lrc.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/lt.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/lu.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/luo.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/luy.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/lv.json69
-rw-r--r--vendor/commerceguys/intl/resources/language/mas.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/mer.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/mfe.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/mg.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/mgh.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/mk.json39
-rw-r--r--vendor/commerceguys/intl/resources/language/ml.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/mn.json119
-rw-r--r--vendor/commerceguys/intl/resources/language/mr.json17
-rw-r--r--vendor/commerceguys/intl/resources/language/ms.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/mt.json17
-rw-r--r--vendor/commerceguys/intl/resources/language/mua.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/my.json57
-rw-r--r--vendor/commerceguys/intl/resources/language/mzn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/naq.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/nb.json29
-rw-r--r--vendor/commerceguys/intl/resources/language/nd.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ne.json43
-rw-r--r--vendor/commerceguys/intl/resources/language/nl.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/nmg.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/nn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/nus.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/nyn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/om.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/or.json445
-rw-r--r--vendor/commerceguys/intl/resources/language/os.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/pa.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pl.json19
-rw-r--r--vendor/commerceguys/intl/resources/language/ps.json819
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-AO.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-CH.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-CV.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-GQ.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-GW.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-LU.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-MO.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-MZ.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-PT.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-ST.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt-TL.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/pt.json53
-rw-r--r--vendor/commerceguys/intl/resources/language/qu.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/rm.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/rn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ro-MD.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/ro.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/rof.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ru.json25
-rw-r--r--vendor/commerceguys/intl/resources/language/rw.json17
-rw-r--r--vendor/commerceguys/intl/resources/language/rwk.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/sah.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/saq.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/sbp.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/sd.json641
-rw-r--r--vendor/commerceguys/intl/resources/language/se-FI.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/se.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/seh.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ses.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/sg.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/shi-Latn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/shi.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/si.json75
-rw-r--r--vendor/commerceguys/intl/resources/language/sk.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/sl.json41
-rw-r--r--vendor/commerceguys/intl/resources/language/smn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/sn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/so.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/sq.json33
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-BA.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-ME.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn-XK.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/sr-Latn.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/sr.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/sv-FI.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/sv.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-CD.json33
-rw-r--r--vendor/commerceguys/intl/resources/language/sw-KE.json27
-rw-r--r--vendor/commerceguys/intl/resources/language/sw.json33
-rw-r--r--vendor/commerceguys/intl/resources/language/ta.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/te.json107
-rw-r--r--vendor/commerceguys/intl/resources/language/teo.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/tg.json641
-rw-r--r--vendor/commerceguys/intl/resources/language/th.json71
-rw-r--r--vendor/commerceguys/intl/resources/language/ti.json51
-rw-r--r--vendor/commerceguys/intl/resources/language/tk.json641
-rw-r--r--vendor/commerceguys/intl/resources/language/to.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/tr.json41
-rw-r--r--vendor/commerceguys/intl/resources/language/tt.json641
-rw-r--r--vendor/commerceguys/intl/resources/language/twq.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/tzm.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/ug.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/uk.json93
-rw-r--r--vendor/commerceguys/intl/resources/language/ur-IN.json31
-rw-r--r--vendor/commerceguys/intl/resources/language/ur.json51
-rw-r--r--vendor/commerceguys/intl/resources/language/uz-Cyrl.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/uz.json139
-rw-r--r--vendor/commerceguys/intl/resources/language/vai-Latn.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/vai.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/vi.json29
-rw-r--r--vendor/commerceguys/intl/resources/language/vun.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/wae.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/wo.json641
-rw-r--r--vendor/commerceguys/intl/resources/language/xog.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/yav.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/yi.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/yo-BJ.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/yo.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/yue.json635
-rw-r--r--vendor/commerceguys/intl/resources/language/zgh.json15
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant-HK.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant-MO.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/zh-Hant.json21
-rw-r--r--vendor/commerceguys/intl/resources/language/zh.json405
-rw-r--r--vendor/commerceguys/intl/resources/language/zu.json15
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bg.json4
-rw-r--r--vendor/commerceguys/intl/resources/number_format/bs-Cyrl.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ckb.json4
-rw-r--r--vendor/commerceguys/intl/resources/number_format/de-CH.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/de-LI.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/el.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-BZ.json (renamed from vendor/commerceguys/intl/resources/number_format/yue.json)4
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-CO.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-DO.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/es-MX.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/eu.json3
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fa-AF.json4
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fa.json6
-rw-r--r--vendor/commerceguys/intl/resources/number_format/fr-CH.json3
-rw-r--r--vendor/commerceguys/intl/resources/number_format/hy.json4
-rw-r--r--vendor/commerceguys/intl/resources/number_format/it-CH.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ka.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/or.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/pt.json4
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sd.json12
-rw-r--r--vendor/commerceguys/intl/resources/number_format/sl.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/tg.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/tt.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ur-IN.json4
-rw-r--r--vendor/commerceguys/intl/resources/number_format/ur.json6
-rw-r--r--vendor/commerceguys/intl/resources/number_format/vi.json2
-rw-r--r--vendor/commerceguys/intl/resources/number_format/wo.json9
-rw-r--r--vendor/commerceguys/intl/resources/number_format/zu.json2
-rw-r--r--vendor/commerceguys/intl/scripts/fetch_data.sh2
-rw-r--r--vendor/commerceguys/intl/scripts/number_format/generate.php2
-rw-r--r--vendor/commerceguys/intl/src/Formatter/NumberFormatter.php2
-rw-r--r--vendor/composer/autoload_classmap.php4
-rw-r--r--vendor/composer/autoload_namespaces.php1
-rw-r--r--vendor/composer/autoload_psr4.php1
-rw-r--r--vendor/composer/autoload_static.php19
-rw-r--r--vendor/composer/installed.json71
-rw-r--r--vendor/ezyang/htmlpurifier/NEWS14
-rw-r--r--vendor/ezyang/htmlpurifier/README.md4
-rw-r--r--vendor/ezyang/htmlpurifier/VERSION2
-rw-r--r--vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload-legacy.php15
-rw-r--r--vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php5
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload-legacy.php15
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php5
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php2
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier.php6
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php2
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php2
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php13
-rw-r--r--[-rwxr-xr-x]vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README0
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php12
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php6
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php57
-rw-r--r--vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php4
-rw-r--r--vendor/ezyang/htmlpurifier/maintenance/PH5P.php4
-rw-r--r--[-rwxr-xr-x]vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh0
-rw-r--r--[-rwxr-xr-x]vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php0
-rw-r--r--[-rwxr-xr-x]vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php0
-rw-r--r--[-rwxr-xr-x]vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php0
-rw-r--r--[-rwxr-xr-x]vendor/ezyang/htmlpurifier/maintenance/merge-library.php0
-rw-r--r--[-rwxr-xr-x]vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh0
-rw-r--r--vendor/michelf/php-markdown/.gitignore3
-rw-r--r--vendor/michelf/php-markdown/License.md6
-rw-r--r--vendor/michelf/php-markdown/Michelf/Markdown.php190
-rw-r--r--vendor/michelf/php-markdown/Michelf/MarkdownExtra.php307
-rw-r--r--vendor/michelf/php-markdown/Michelf/MarkdownInterface.php4
-rw-r--r--vendor/michelf/php-markdown/Readme.md193
-rw-r--r--vendor/michelf/php-markdown/Readme.php8
-rw-r--r--vendor/michelf/php-markdown/composer.json7
-rw-r--r--vendor/sabre/http/.travis.yml2
-rw-r--r--vendor/sabre/http/CHANGELOG.md11
-rw-r--r--vendor/sabre/http/lib/Auth/Basic.php2
-rw-r--r--vendor/sabre/http/lib/Sapi.php6
-rw-r--r--vendor/sabre/http/lib/Version.php2
-rw-r--r--vendor/sabre/vobject/CHANGELOG.md16
-rw-r--r--vendor/sabre/vobject/composer.json2
-rw-r--r--vendor/sabre/vobject/lib/ITip/Broker.php20
-rw-r--r--vendor/sabre/vobject/lib/Parser/MimeDir.php8
-rw-r--r--vendor/sabre/vobject/lib/Property.php5
-rw-r--r--vendor/sabre/vobject/lib/Property/Text.php5
-rw-r--r--vendor/sabre/vobject/lib/Recur/RRuleIterator.php6
-rw-r--r--vendor/sabre/vobject/lib/Version.php2
-rw-r--r--vendor/sabre/vobject/lib/timezonedata/php-bc.php1
-rw-r--r--view/ca/hmessages.po17938
-rw-r--r--view/ca/lostpass_eml.tpl33
-rw-r--r--view/ca/messages.po118
-rw-r--r--view/ca/passchanged_eml.tpl19
-rw-r--r--view/ca/register_open_eml.tpl29
-rw-r--r--view/ca/register_verify_eml.tpl23
-rw-r--r--view/css/conversation.css5
-rw-r--r--view/css/mod_admin.css18
-rw-r--r--view/css/mod_oauth2testvehicle.css4
-rw-r--r--view/css/widgets.css1
-rw-r--r--view/de-de/hmessages.po3060
-rw-r--r--view/de-de/hstrings.php210
-rw-r--r--view/fr/hmessages.po7617
-rw-r--r--view/fr/hstrings.php946
-rw-r--r--view/it/hmessages.po17515
-rw-r--r--view/it/hstrings.php4166
-rw-r--r--view/js/autocomplete.js43
-rw-r--r--view/js/main.js83
-rw-r--r--view/js/mod_cover_photo.js80
-rw-r--r--view/js/mod_help.js4
-rw-r--r--view/js/mod_profile_photo.js82
-rw-r--r--view/pdl/mod_display.pdl3
-rw-r--r--view/pdl/mod_moderate.pdl4
-rw-r--r--view/pdl/mod_pubstream.pdl3
-rw-r--r--view/pdl/mod_thing.pdl7
-rw-r--r--view/php/theme_init.php2
-rw-r--r--view/theme/redbasic/css/style.css11
-rw-r--r--view/theme/redbasic/img/screenshot.jpgbin199131 -> 0 bytes
-rw-r--r--view/theme/redbasic/img/screenshot.pngbin0 -> 131184 bytes
-rw-r--r--view/theme/redbasic/schema/dark.css45
-rw-r--r--view/tpl/admin_settings_features.tpl4
-rwxr-xr-xview/tpl/admin_site.tpl5
-rw-r--r--view/tpl/cloud_directory.tpl6
-rw-r--r--view/tpl/cloud_header.tpl2
-rwxr-xr-xview/tpl/comment_item.tpl3
-rwxr-xr-xview/tpl/connections.tpl2
-rwxr-xr-xview/tpl/conv_item.tpl53
-rwxr-xr-xview/tpl/conv_list.tpl48
-rwxr-xr-xview/tpl/cover_photo.tpl88
-rw-r--r--view/tpl/generic_addon_settings.tpl8
-rwxr-xr-xview/tpl/jot-header.tpl88
-rwxr-xr-xview/tpl/navbar_default.tpl12
-rwxr-xr-xview/tpl/navbar_tucson.tpl12
-rw-r--r--view/tpl/notifications_widget.tpl3
-rw-r--r--view/tpl/oauth2testvehicle.tpl21
-rwxr-xr-xview/tpl/oauth_authorize.tpl18
-rwxr-xr-xview/tpl/peoplefind.tpl2
-rwxr-xr-xview/tpl/photo_album.tpl2
-rwxr-xr-xview/tpl/photos_recent.tpl2
-rwxr-xr-xview/tpl/profile_edit.tpl24
-rwxr-xr-xview/tpl/profile_photo.tpl86
-rw-r--r--view/tpl/profile_tabs.tpl3
-rwxr-xr-xview/tpl/settings.tpl21
-rwxr-xr-xview/tpl/settings_addons.tpl2
-rwxr-xr-xview/tpl/settings_display.tpl12
-rwxr-xr-xview/tpl/settings_features.tpl26
-rwxr-xr-xview/tpl/settings_nick_set.tpl2
-rwxr-xr-xview/tpl/settings_oauth2.tpl35
-rwxr-xr-xview/tpl/settings_oauth2_edit.tpl21
-rwxr-xr-xview/tpl/settings_oauth_edit.tpl1
-rw-r--r--view/tpl/wiki.tpl1
1037 files changed, 71867 insertions, 44333 deletions
diff --git a/.travis.yml b/.travis.yml
index 94c7b4226..8db58f3dc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -62,28 +62,34 @@ matrix:
fast_finish: true
# Additional check combinations
include:
- # PHP7.1, mariadb 10.1
- - php: '7.1'
- env: DB=mariadb MARIADB_VERSION=10.1 CODECOV=1
+ # PHP7.2, mariadb 10.2
+ - php: '7.2'
+ env: DB=mariadb MARIADB_VERSION=10.2 CODECOV=1
# use mariadb instead of MySQL
addons:
- mariadb: '10.1'
- # PHP7.1, PostgreSQL 9.6
- - php: '7.1'
+ mariadb: '10.2'
+ # PHP7.2, PostgreSQL 9.6
+ - php: '7.2'
env: DB=pgsql POSTGRESQL_VERSION=9.6 PHPUNITFILE=phpunit-pgsql.xml
# Use newer postgres than 9.2 default
addons:
postgresql: '9.6'
services:
- postgresql
- # PHP7.1, old precise distribution with MySQL 5.5
- - php: '7.1'
+ # PostgreSQL 10 with Docker container
+ - php: '7.2'
+ env: DB=pgsql POSTGRESQL_VERSION=10 PHPUNITFILE=phpunit-pgsql.xml
+ sudo: required
+ services:
+ - docker
+ # PHP7.2, old precise distribution with MySQL 5.5
+ - php: '7.2'
env: DB=mysql MYSQL_VERSION=5.5
dist: precise
services:
- mysql
# MySQL 5.7 with Docker container
- - php: '7.1'
+ - php: '7.2'
env: DB=mysql MYSQL_VERSION=5.7
sudo: required
services:
@@ -109,6 +115,8 @@ before_install:
- travis_retry composer self-update
# Start MySQL 5.7 Docker container, needs some time to come up
- if [[ "$MYSQL_VERSION" == "5.7" ]]; then sudo service mysql stop; docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:5.7 && sleep 25 && docker ps; fi
+ # Start PostgreSQL 10 Docker container, needs some time to come up
+ - if [[ "$POSTGRESQL_VERSION" == "10" ]]; then sudo service postgresql stop; docker run -d -p 5432:5432 postgres:10-alpine && sleep 35 && docker ps; fi
# Install composer dev libs
install:
diff --git a/CHANGELOG b/CHANGELOG
index 6e540a04d..ad5e004c8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,129 @@
+Hubzilla 3.2 (2018-03-09)
+ - Improve rendering of Readme files in plugin settings
+ - Add pdl file for mod moderate
+ - Update redbasic theme screenshot
+ - Restrict mail messages to max_import_size
+ - Add pdl file for mod thing
+ - Add federation property to webfinger
+ - Provide new member widget which sits beneath the notifications for the first 60 days after an account creation
+ - Rename Addon/Feature settings to Addon Settings
+ - Move privacy groups to the newly created Access Control and Permissions tab
+ - Move oauth_client management and guest access tokens to features rather than auto-enabling at various feature levels
+ - Change undo_post_tagging() to emit quoted tags rather than using underscore replacement if they contain spaces
+ - Require directory servers to be using some modern form of encryption
+ - Change icon set from font-awesome to fork-awesome
+ - Provide opt-out link and text with notification emails
+ - Alter image selection widget to accept/submit on choose (github issue #979)
+ - If hide_in_statistics is set, only include the total channels count and no other statistical info in siteinfo.json
+ - Mark connections where we do not have post_comments permissions with an no entry sign
+ - Click your own profile photo to change it if loged in
+ - Remove street address info from the default basic profile fields
+ - Handle error logging in on cloud page (post method not implemented)
+ - Cloud 'view-as-tiles' toggle wasn't available for guests and they are the most likely to prefer that view
+ - Provide DB compatibility for poll and voting implementations across several platforms
+ - Remove the unused ZotDriver and ProtoDriver classes
+ - Move dreport from zot to lib
+ - Move Zotlabs\Zot\Verify to Zotlabs\Lib\Verify as part of the zot6 re-org
+ - Add event resource_id to iconfig so Diaspora can search on it without looking inside JSON objects
+ - Trim non-existent/deprecated plugins from siteinfo plugin list
+ - Add 'Validate' button to new_channel page
+ - Do not show summary if it is equal to body
+ - Update code tag styling so bbcode [code] blocks and wiki markdown inline code render nicely
+ - Crypto improvements (use pkcs1_oaep_padding instead of the older pkcs1_padding)
+ - Refactor OAuth2Server a bit
+ - Refactor of the DB update system
+ - Extend the oauth2 storage driver so that we can use our own channel table
+ - Provide option to block the public stream unless authenticated
+ - Refactor shares and urn shares into activities
+ - Show likes and dislikes in notices if always_show_in_notices is set
+ - Add hidden config to disallow anonymous comments (github issue #972)
+ - Add flexibility to prefix/suffix string translations for jquery.timeago
+ - Make post titles searchable (github issue #975)
+ - Implement zot6 delivery
+ - Remove mobile_detect library
+ - Separate the parsing of author information from the parsing of item/activity information in feedutils
+ - Provide summaries in feeds under very limited cases
+ - Redirect to the email_validation page if login was attempted after account creation but prior to successful verification
+ - Iprove workflow for form based email validation when auto_channel_create is in effect
+ - Provide a default video image if nothing else is available
+ - Surface the ability to change the landing page after channel creation
+ - Create the 'go' module to present several possible things to do after channel creation
+ - Add unit test for dba_pdo driver class
+ - Add unit test for \DBA factory
+ - Usability improvements to registration/verification workflow
+ - Don't do any bbcode translation within code blocks (except baseurl, observer, and linefeeds)
+ - Improve browser language detection
+ - Remove unused prototype importer template and obsolete reflection cms importer
+ - Update to bootstrap 4 stable
+ - Implement caching of notifications in browser session storage
+ - Code cleanup and simplification in mod_like
+ - Implement new cropper library
+ - Better notifications for edit post/comments which may have been originally posted long ago
+ - Ensure filter words are not empty in include/items.php
+ - Change query in mod search to be compatible with postgres
+ - Provide channel list function in the zot api
+ - Remove deprecated 'qcomment' feature
+ - Simplify webserver logic flow
+ - Simplify interactions with the get_features hook
+ - Provide a local pubstream option (content from this site only)
+ - Simplify dir_tagadelic dramatically
+ - Surface the article feature
+ - Add summary bbcode tag
+ - Move markdown-in-posts/comments feature to plugin
+ - Support tables in markdown posts/comments
+
+
+ Bugfixes
+ - Fix javascript error if there are no notifications
+ - Fix some issues with friend suggestions on standalone sites with no 'suggestme' volunteers
+ - Fix unable to reset profile fields to defaults in admin/profs by emptying the textarea
+ â» Fix issues with accordions related to bootstrap upgrade
+ - Fix empty dob is set to the date of the first profile save
+ - Fix several email validation issues
+ - Fix issue if logged in locally and mod_display returns nothing owned by your uid; retry with known public uids rather than issue 'permission denied'
+ - Fix public stream app permission check to match the recent fixes to the Module
+ - Fix issues with delivery of edited posts to forums
+ - Fix autoname test
+ - Fix issue where self and pending connections were visible in connections when not loged in
+ - Fix bad query in mod defperms
+ - Fix issue where gnusocial likes were not recognised as like activity
+ - Fix manual queue invocation
+ - Fix unable to delete accounts using tickboxes on admin/accounts
+ - Fix a PHP7.2 warning when a channel has no cards
+ - Fix unable to delete permission groups with space in name (github issue #920)
+
+ Addons
+ Statistic: fix reporting of incorrect register policy in nodeinfo
+ Diaspora: diaspora_init_relay: calls diaspora_import_author with too many arguments
+ Pubcrawl: provide a system 'allowed' for to match the system setting for other protocols
+ Diaspora: fix issue with sending diaspora profile change messages over diaspora_v2
+ Diaspora: provide limited but hopefully adequate support for new Diaspora html5 audio/video
+ Pubcrawl: send zot context with follow requests
+ Pubcrawl: add video to the set of message types we process
+ Pubcrawl: support for activitypub media
+ Openclipatar: remove extra details for each image
+ Diaspora: initial work on event participation
+ Statistic: remove the friendica protocol from nodeinfo until it is fully implemented
+ Statistic: re-arrange the order of the .host-meta/nodeinfo links
+ Pubcrawl: add share verb to activitystreams translator
+ Pubcrawl: post public posts to syschannel
+ Statistics: fix legacy statistics.json interface
+ Gnusocial: improve error checking when processing a salmon message
+ Dirstats: fix sql syntax error
+ Pubcrawl: possibly reduce constraint violations for xchan_store_lowlevel (duplicate entry)
+ Diaspora: ensure we process Friendica-over-Diaspora yearless birthdays correctly
+ Chess: added simple history browsing controls to spectator view
+ Diaspora: support post/comment edits
+ Diaspora: don't redirect fetch requests for non-Diaspora wall-to-wall and forum posts unless they can be redirected to a Diaspora protocol site
+ Chess: added support for publicly visible games
+ Phpmailer: add quickstart notes
+ Chess: choose random color if no color is chosen
+ New Plugin: mdpost - markdown in posts/comments, migrated from core to addon
+ Diaspora: provide a configuration option to import the diaspora firehose, otherwise only import content matching subscribed tags
+ NSFW: load images only after click on the button
+ Twitter: provide configurable tweet length until such time as 280 becomes universal
+
+
Hubzilla 3.0 (2018-01-09)
- Updated homeinstall script
- Sort cloud directory by 1. is_dir and 2. name
diff --git a/Zotlabs/Access/PermissionLimits.php b/Zotlabs/Access/PermissionLimits.php
index 1d15098fc..c11dc95e6 100644
--- a/Zotlabs/Access/PermissionLimits.php
+++ b/Zotlabs/Access/PermissionLimits.php
@@ -41,10 +41,8 @@ class PermissionLimits {
$limits = [];
$perms = Permissions::Perms();
- $anon_comments = get_config('system','anonymous_comments',true);
-
foreach($perms as $k => $v) {
- if(strstr($k, 'view') || ($k === 'post_comments' && $anon_comments))
+ if(strstr($k, 'view'))
$limits[$k] = PERMS_PUBLIC;
else
$limits[$k] = PERMS_SPECIFIC;
@@ -74,13 +72,13 @@ class PermissionLimits {
* @param int $channel_id
* @param string $perm (optional)
* @return
- * * \b boolean false if no perm_limits set for this channel
- * * \b int if $perm is set, return one of PERMS_* constants for this permission
+ * * \b false if no perm_limits set for this channel
+ * * \b int if $perm is set, return one of PERMS_* constants for this permission, default 0
* * \b array with all permission limits, if $perm is not set
*/
static public function Get($channel_id, $perm = '') {
if($perm) {
- return PConfig::Get($channel_id, 'perm_limits', $perm);
+ return intval(PConfig::Get($channel_id, 'perm_limits', $perm));
}
PConfig::Load($channel_id);
diff --git a/Zotlabs/Access/PermissionRoles.php b/Zotlabs/Access/PermissionRoles.php
index b335bf825..9855a05c4 100644
--- a/Zotlabs/Access/PermissionRoles.php
+++ b/Zotlabs/Access/PermissionRoles.php
@@ -41,6 +41,24 @@ class PermissionRoles {
break;
+ case 'social_federation':
+ $ret['perms_auto'] = false;
+ $ret['default_collection'] = false;
+ $ret['directory_publish'] = true;
+ $ret['online'] = true;
+ $ret['perms_connect'] = [
+ 'view_stream', 'view_profile', 'view_contacts', 'view_storage',
+ 'view_pages', 'view_wiki', 'send_stream', 'post_wall', 'post_comments',
+ 'post_mail', 'chat', 'post_like', 'republish'
+ ];
+ $ret['limits'] = PermissionLimits::Std_Limits();
+ $ret['limits']['post_comments'] = PERMS_AUTHED;
+ $ret['limits']['post_mail'] = PERMS_AUTHED;
+ $ret['limits']['post_like'] = PERMS_AUTHED;
+ $ret['limits']['chat'] = PERMS_AUTHED;
+ break;
+
+
case 'social_restricted':
$ret['perms_auto'] = false;
$ret['default_collection'] = true;
@@ -263,6 +281,7 @@ class PermissionRoles {
static public function roles() {
$roles = [
t('Social Networking') => [
+ 'social_federation' => t('Social - Federation'),
'social' => t('Social - Mostly Public'),
'social_restricted' => t('Social - Restricted'),
'social_private' => t('Social - Private')
diff --git a/Zotlabs/Daemon/Expire.php b/Zotlabs/Daemon/Expire.php
index 215513e87..398425861 100644
--- a/Zotlabs/Daemon/Expire.php
+++ b/Zotlabs/Daemon/Expire.php
@@ -34,7 +34,8 @@ class Expire {
logger('expire: start', LOGGER_DEBUG);
- $site_expire = get_config('system', 'default_expire_days');
+ $site_expire = intval(get_config('system', 'default_expire_days'));
+ $commented_days = intval(get_config('system','active_expire_days'));
logger('site_expire: ' . $site_expire);
@@ -64,7 +65,7 @@ class Expire {
// if the site or service class expiration is non-zero and less than person expiration, use that
logger('Expire: ' . $rr['channel_address'] . ' interval: ' . $expire_days, LOGGER_DEBUG);
- item_expire($rr['channel_id'], $expire_days);
+ item_expire($rr['channel_id'], $expire_days, $commented_days);
}
}
@@ -85,7 +86,7 @@ class Expire {
logger('Expire: sys interval: ' . $expire_days, LOGGER_DEBUG);
if ($expire_days)
- item_expire($x['channel_id'], $expire_days);
+ item_expire($x['channel_id'], $expire_days, $commented_days);
logger('Expire: sys: done', LOGGER_DEBUG);
}
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index f91dc8e49..24cb4a626 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -785,6 +785,7 @@ class Apps {
dbesc($darray['app_plugin']),
intval($darray['app_deleted'])
);
+
if($r) {
$ret['success'] = true;
$ret['app_id'] = $darray['app_id'];
@@ -871,6 +872,12 @@ class Apps {
dbesc($darray['app_id']),
intval($darray['app_channel'])
);
+
+ // if updating an embed app, don't mess with any existing categories.
+
+ if(array_key_exists('embed',$arr) && intval($arr['embed']))
+ return $ret;
+
if($x) {
q("delete from term where otype = %d and oid = %d",
intval(TERM_OBJ_APP),
diff --git a/Zotlabs/Lib/Chatroom.php b/Zotlabs/Lib/Chatroom.php
index e762620ae..882c846cd 100644
--- a/Zotlabs/Lib/Chatroom.php
+++ b/Zotlabs/Lib/Chatroom.php
@@ -266,7 +266,7 @@ class Chatroom {
intval($room_id),
dbesc($xchan),
dbesc(datetime_convert()),
- dbesc($arr['chat_text'])
+ dbesc(str_rot47(base64url_encode($arr['chat_text'])))
);
$ret['success'] = true;
diff --git a/Zotlabs/Lib/Enotify.php b/Zotlabs/Lib/Enotify.php
index 61c98c881..05ea67ea5 100644
--- a/Zotlabs/Lib/Enotify.php
+++ b/Zotlabs/Lib/Enotify.php
@@ -115,6 +115,9 @@ class Enotify {
$always_show_in_notices = get_pconfig($recip['channel_id'],'system','always_show_in_notices');
+ $vnotify = get_pconfig($recip['channel_id'],'system','vnotify');
+
+ $salutation = $recip['channel_name'];
// e.g. "your post", "David's photo", etc.
$possess_desc = t('%s <!item_type!>');
@@ -123,7 +126,7 @@ class Enotify {
logger('notification: mail');
$subject = sprintf( t('[$Projectname:Notify] New mail received at %s'),$sitename);
- $preamble = sprintf( t('%1$s, %2$s sent you a new private message at %3$s.'),$recip['channel_name'], $sender['xchan_name'],$sitename);
+ $preamble = sprintf( t('%1$s sent you a new private message at %2$s.'), $sender['xchan_name'],$sitename);
$epreamble = sprintf( t('%1$s sent you %2$s.'),'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]', '[zrl=$itemlink]' . t('a private message') . '[/zrl]');
$sitelink = t('Please visit %s to view and/or reply to your private messages.');
$tsitelink = sprintf( $sitelink, $siteurl . '/mail/' . $params['item']['id'] );
@@ -142,7 +145,7 @@ class Enotify {
if(array_key_exists('item',$params) && in_array($params['item']['verb'], [ACTIVITY_LIKE, ACTIVITY_DISLIKE])) {
- if(! $always_show_in_notices) {
+ if(! $always_show_in_notices || !($vnotify & VNOTIFY_LIKE)) {
logger('notification: not a visible activity. Ignoring.');
pop_lang();
return;
@@ -195,8 +198,7 @@ class Enotify {
//$possess_desc = str_replace('<!item_type!>',$possess_desc);
// "a post"
- $dest_str = sprintf(t('%1$s, %2$s %3$s [zrl=%4$s]a %5$s[/zrl]'),
- $recip['channel_name'],
+ $dest_str = sprintf(t('%1$s %2$s [zrl=%3$s]a %4$s[/zrl]'),
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$action,
$itemlink,
@@ -204,8 +206,7 @@ class Enotify {
// "George Bull's post"
if($p)
- $dest_str = sprintf(t('%1$s, %2$s %3$s [zrl=%4$s]%5$s\'s %6$s[/zrl]'),
- $recip['channel_name'],
+ $dest_str = sprintf(t('%1$s %2$s [zrl=%3$s]%4$s\'s %5$s[/zrl]'),
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$action,
$itemlink,
@@ -214,8 +215,7 @@ class Enotify {
// "your post"
if($p[0]['owner']['xchan_name'] == $p[0]['author']['xchan_name'] && intval($p[0]['item_wall']))
- $dest_str = sprintf(t('%1$s, %2$s %3$s [zrl=%4$s]your %5$s[/zrl]'),
- $recip['channel_name'],
+ $dest_str = sprintf(t('%1$s %2$s [zrl=%3$s]your %4$s[/zrl]'),
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$action,
$itemlink,
@@ -230,7 +230,7 @@ class Enotify {
$subject = sprintf( t('[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s'), $parent_id, $sender['xchan_name']);
else
$subject = sprintf( t('[$Projectname:Notify] Comment to conversation #%1$d by %2$s'), $parent_id, $sender['xchan_name']);
- $preamble = sprintf( t('%1$s, %2$s commented on an item/conversation you have been following.'), $recip['channel_name'], $sender['xchan_name']);
+ $preamble = sprintf( t('%1$s commented on an item/conversation you have been following.'), $sender['xchan_name']);
$epreamble = $dest_str;
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
@@ -249,7 +249,7 @@ class Enotify {
$itemlink = $params['link'];
if (array_key_exists('item',$params) && (! activity_match($params['item']['verb'],ACTIVITY_LIKE))) {
- if(! $always_show_in_notices) {
+ if(! $always_show_in_notices || !($vnotify & VNOTIFY_LIKE)) {
logger('notification: not a visible activity. Ignoring.');
pop_lang();
return;
@@ -296,8 +296,7 @@ class Enotify {
// "your post"
if($p[0]['owner']['xchan_name'] == $p[0]['author']['xchan_name'] && intval($p[0]['item_wall']))
- $dest_str = sprintf(t('%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]'),
- $recip['channel_name'],
+ $dest_str = sprintf(t('%1$s liked [zrl=%2$s]your %3$s[/zrl]'),
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink,
$item_post_type);
@@ -312,7 +311,7 @@ class Enotify {
// differents subjects for messages on the same thread.
$subject = sprintf( t('[$Projectname:Notify] Like received to conversation #%1$d by %2$s'), $parent_id, $sender['xchan_name']);
- $preamble = sprintf( t('%1$s, %2$s liked an item/conversation you created.'), $recip['channel_name'], $sender['xchan_name']);
+ $preamble = sprintf( t('%1$s liked an item/conversation you created.'), $sender['xchan_name']);
$epreamble = $dest_str;
$sitelink = t('Please visit %s to view and/or reply to the conversation.');
@@ -325,10 +324,9 @@ class Enotify {
if($params['type'] == NOTIFY_WALL) {
$subject = sprintf( t('[$Projectname:Notify] %s posted to your profile wall') , $sender['xchan_name']);
- $preamble = sprintf( t('%1$s, %2$s posted to your profile wall at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
+ $preamble = sprintf( t('%1$s posted to your profile wall at %2$s') , $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]') ,
- $recip['channel_name'],
+ $epreamble = sprintf( t('%1$s posted to [zrl=%2$s]your wall[/zrl]') ,
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
@@ -352,9 +350,8 @@ class Enotify {
}
$subject = sprintf( t('[$Projectname:Notify] %s tagged you') , $sender['xchan_name']);
- $preamble = sprintf( t('%1$s, %2$s tagged you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s, %2$s [zrl=%3$s]tagged you[/zrl].') ,
- $recip['channel_name'],
+ $preamble = sprintf( t('%1$s tagged you at %2$s') , $sender['xchan_name'], $sitename);
+ $epreamble = sprintf( t('%1$s [zrl=%2$s]tagged you[/zrl].') ,
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
@@ -366,9 +363,8 @@ class Enotify {
if ($params['type'] == NOTIFY_POKE) {
$subject = sprintf( t('[$Projectname:Notify] %1$s poked you') , $sender['xchan_name']);
- $preamble = sprintf( t('%1$s, %2$s poked you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s, %2$s [zrl=%2$s]poked you[/zrl].') ,
- $recip['channel_name'],
+ $preamble = sprintf( t('%1$s poked you at %2$s') , $sender['xchan_name'], $sitename);
+ $epreamble = sprintf( t('%1$s [zrl=%2$s]poked you[/zrl].') ,
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$params['link']);
@@ -384,9 +380,8 @@ class Enotify {
if ($params['type'] == NOTIFY_TAGSHARE) {
$subject = sprintf( t('[$Projectname:Notify] %s tagged your post') , $sender['xchan_name']);
- $preamble = sprintf( t('%1$s, %2$s tagged your post at %3$s') , $recip['channel_name'],$sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]') ,
- $recip['channel_name'],
+ $preamble = sprintf( t('%1$s tagged your post at %2$s'),$sender['xchan_name'], $sitename);
+ $epreamble = sprintf( t('%1$s tagged [zrl=%2$s]your post[/zrl]') ,
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
$itemlink);
@@ -398,9 +393,8 @@ class Enotify {
if ($params['type'] == NOTIFY_INTRO) {
$subject = sprintf( t('[$Projectname:Notify] Introduction received'));
- $preamble = sprintf( t('%1$s, you\'ve received an new connection request from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a new connection request[/zrl] from %3$s.'),
- $recip['channel_name'],
+ $preamble = sprintf( t('You\'ve received an new connection request from \'%1$s\' at %2$s'), $sender['xchan_name'], $sitename);
+ $epreamble = sprintf( t('You\'ve received [zrl=%1$s]a new connection request[/zrl] from %2$s.'),
$siteurl . '/connections/ifpending',
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]');
$body = sprintf( t('You may visit their profile at %s'),$sender['xchan_url']);
@@ -413,9 +407,8 @@ class Enotify {
if ($params['type'] == NOTIFY_SUGGEST) {
$subject = sprintf( t('[$Projectname:Notify] Friend suggestion received'));
- $preamble = sprintf( t('%1$s, you\'ve received a friend suggestion from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
- $epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s.'),
- $recip['channel_name'],
+ $preamble = sprintf( t('You\'ve received a friend suggestion from \'%1$s\' at %2$s'), $sender['xchan_name'], $sitename);
+ $epreamble = sprintf( t('You\'ve received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s.'),
$itemlink,
'[zrl=' . $params['item']['url'] . ']' . $params['item']['name'] . '[/zrl]',
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]');
@@ -664,7 +657,7 @@ class Enotify {
'$banner' => $datarray['banner'],
'$notify_icon' => \Zotlabs\Lib\System::get_notify_icon(),
'$product' => $datarray['product'],
- '$preamble' => $datarray['preamble'],
+ '$preamble' => $salutation . '<br><br>' . $datarray['preamble'],
'$sitename' => $datarray['sitename'],
'$siteurl' => $datarray['siteurl'],
'$source_name' => $datarray['source_name'],
@@ -686,7 +679,7 @@ class Enotify {
$email_text_body = replace_macros($tpl, array(
'$banner' => $datarray['banner'],
'$product' => $datarray['product'],
- '$preamble' => $datarray['preamble'],
+ '$preamble' => $salutation . "\n\n" . $datarray['preamble'],
'$sitename' => $datarray['sitename'],
'$siteurl' => $datarray['siteurl'],
'$source_name' => $datarray['source_name'],
diff --git a/Zotlabs/Lib/NativeWiki.php b/Zotlabs/Lib/NativeWiki.php
index 7642dbb3e..6f916216e 100644
--- a/Zotlabs/Lib/NativeWiki.php
+++ b/Zotlabs/Lib/NativeWiki.php
@@ -171,16 +171,23 @@ class NativeWiki {
dbesc(NWIKI_ITEM_RESOURCE_TYPE),
dbesc($resource_id)
);
+
if($r) {
$q = q("select * from item where resource_type = 'nwikipage' and resource_id = '%s'",
- dbesc($r[0]['resource_type'])
+ dbesc($r[0]['resource_id'])
);
if($q) {
$r = array_merge($r,$q);
}
xchan_query($r);
$sync_item = fetch_post_tags($r);
- build_sync_packet($uid,array('wiki' => array(encode_item($sync_item[0],true))));
+ if($sync_item) {
+ $pkt = [];
+ foreach($sync_item as $w) {
+ $pkt[] = encode_item($w,true);
+ }
+ build_sync_packet($uid,array('wiki' => $pkt));
+ }
}
}
diff --git a/Zotlabs/Lib/Share.php b/Zotlabs/Lib/Share.php
index b5341e662..e9e4d23c4 100644
--- a/Zotlabs/Lib/Share.php
+++ b/Zotlabs/Lib/Share.php
@@ -123,11 +123,13 @@ class Share {
$bb = substr($this->item['body'], $pos);
} else {
$bb = "[share author='".urlencode($this->item['author']['xchan_name']).
- "' profile='".$this->item['author']['xchan_url'] .
- "' avatar='".$this->item['author']['xchan_photo_s'].
- "' link='".$this->item['plink'].
- "' posted='".$this->item['created'].
- "' message_id='".$this->item['mid']."']";
+ "' profile='" . $this->item['author']['xchan_url'] .
+ "' avatar='" . $this->item['author']['xchan_photo_s'] .
+ "' link='" . $this->item['plink'] .
+ "' auth='" . (($this->item['author']['network'] === 'zot') ? 'true' : 'false') .
+ "' posted='" . $this->item['created'] .
+ "' message_id='" . $this->item['mid'] .
+ "']";
if($this->item['title'])
$bb .= '[b]'.$this->item['title'].'[/b]'."\r\n";
$bb .= (($is_photo) ? $photo_bb . "\r\n" . $this->item['body'] : $this->item['body']);
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php
index d35d4732a..61a012f9d 100644
--- a/Zotlabs/Lib/ThreadItem.php
+++ b/Zotlabs/Lib/ThreadItem.php
@@ -238,9 +238,9 @@ class ThreadItem {
'do' => t("Add Star"),
'undo' => t("Remove Star"),
'toggle' => t("Toggle Star Status"),
- 'classdo' => (intval($item['item_starred']) ? "hidden" : ""),
- 'classundo' => (intval($item['item_starred']) ? "" : "hidden"),
- 'isstarred' => (intval($item['item_starred']) ? "starred fa-star" : "unstarred fa-star-o"),
+ 'classdo' => ((intval($item['item_starred'])) ? "hidden" : ""),
+ 'classundo' => ((intval($item['item_starred'])) ? "" : "hidden"),
+ 'isstarred' => ((intval($item['item_starred'])) ? true : false),
'starred' => t('starred'),
);
@@ -733,6 +733,8 @@ class ThreadItem {
$arr = array('comment_buttons' => '','id' => $this->get_id());
call_hooks('comment_buttons',$arr);
$comment_buttons = $arr['comment_buttons'];
+
+ $feature_auto_save_draft = ((feature_enabled($conv->get_profile_owner(), 'auto_save_draft')) ? "true" : "false");
$comment_box = replace_macros($template,array(
'$return_path' => '',
@@ -768,7 +770,8 @@ class ThreadItem {
'$anoncomments' => ((($conv->get_mode() === 'channel' || $conv->get_mode() === 'display') && perm_is_allowed($conv->get_profile_owner(),'','post_comments')) ? true : false),
'$anonname' => [ 'anonname', t('Your full name (required)') ],
'$anonmail' => [ 'anonmail', t('Your email address (required)') ],
- '$anonurl' => [ 'anonurl', t('Your website URL (optional)') ]
+ '$anonurl' => [ 'anonurl', t('Your website URL (optional)') ],
+ '$auto_save_draft' => $feature_auto_save_draft,
));
return $comment_box;
diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php
index fae7e2e44..4c5883e88 100644
--- a/Zotlabs/Module/Acl.php
+++ b/Zotlabs/Module/Acl.php
@@ -24,7 +24,7 @@ class Acl extends \Zotlabs\Web\Controller {
function init() {
- logger('mod_acl: ' . print_r($_REQUEST,true));
+ logger('mod_acl: ' . print_r($_REQUEST,true),LOGGER_DATA);
$start = (x($_REQUEST,'start') ? $_REQUEST['start'] : 0);
$count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 500);
@@ -82,7 +82,7 @@ class Acl extends \Zotlabs\Web\Controller {
if($search) {
$sql_extra = " AND groups.gname LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
- $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc($search) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
+ $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
// This horrible mess is needed because position also returns 0 if nothing is found.
// Would be MUCH easier if it instead returned a very large value
@@ -92,10 +92,10 @@ class Acl extends \Zotlabs\Web\Controller {
$order_extra2 = "CASE WHEN xchan_name LIKE "
. protect_sprintf( "'%" . dbesc($search) . "%'" )
. " then POSITION('" . protect_sprintf(dbesc($search))
- . "' IN xchan_name) else position('" . protect_sprintf(dbesc($search)) . "' IN xchan_addr) end, ";
+ . "' IN xchan_name) else position('" . protect_sprintf(dbesc(punify($search))) . "' IN xchan_addr) end, ";
$col = ((strpos($search,'@') !== false) ? 'xchan_addr' : 'xchan_name' );
- $sql_extra3 = "AND $col like " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
+ $sql_extra3 = "AND $col like " . protect_sprintf( "'%" . dbesc(($col === 'xchan_addr') ? punify($search) : $search) . "%'" ) . " ";
}
else {
@@ -435,7 +435,7 @@ class Acl extends \Zotlabs\Web\Controller {
$count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100);
if($url) {
$query = $url . '?f=' . (($token) ? '&t=' . urlencode($token) : '');
- $query .= '&name=' . urlencode($search) . "&limit=$count" . (($address) ? '&address=' . urlencode($search) : '');
+ $query .= '&name=' . urlencode($search) . "&limit=$count" . (($address) ? '&address=' . urlencode(punify($search)) : '');
$x = z_fetch_url($query);
if($x['success']) {
diff --git a/Zotlabs/Module/Admin/Accounts.php b/Zotlabs/Module/Admin/Accounts.php
index 2e417edd1..0c7e089be 100644
--- a/Zotlabs/Module/Admin/Accounts.php
+++ b/Zotlabs/Module/Admin/Accounts.php
@@ -133,12 +133,13 @@ class Accounts {
$base = z_root() . '/admin/accounts?f=';
$odir = (($dir === 'asc') ? '0' : '1');
-
+
$users = q("SELECT account_id , account_email, account_lastlog, account_created, account_expires, account_service_class, ( account_flags & %d ) > 0 as blocked,
(SELECT %s FROM channel as ch WHERE ch.channel_account_id = ac.account_id and ch.channel_removed = 0 ) as channels FROM account as ac
- where true $serviceclass order by $key $dir limit %d offset %d ",
+ where true $serviceclass and account_flags != %d order by $key $dir limit %d offset %d ",
intval(ACCOUNT_BLOCKED),
db_concat('ch.channel_address', ' '),
+ intval(ACCOUNT_BLOCKED | ACCOUNT_PENDING),
intval(\App::$pager['itemspage']),
intval(\App::$pager['start'])
);
@@ -203,4 +204,4 @@ class Accounts {
}
-} \ No newline at end of file
+}
diff --git a/Zotlabs/Module/Admin/Profs.php b/Zotlabs/Module/Admin/Profs.php
index b3da09cb7..eb2501d43 100644
--- a/Zotlabs/Module/Admin/Profs.php
+++ b/Zotlabs/Module/Admin/Profs.php
@@ -9,17 +9,37 @@ class Profs {
if(array_key_exists('basic',$_REQUEST)) {
$arr = explode(',',$_REQUEST['basic']);
- for($x = 0; $x < count($arr); $x ++)
- if(trim($arr[$x]))
- $arr[$x] = trim($arr[$x]);
- set_config('system','profile_fields_basic',$arr);
-
+ array_walk($arr,'array_trim');
+ $narr = [];
+ if(count($arr)) {
+ foreach($arr as $a) {
+ if(strlen($a)) {
+ $narr[] = $a;
+ }
+ }
+ }
+ if(! $narr)
+ del_config('system','profile_fields_basic');
+ else
+ set_config('system','profile_fields_basic',$narr);
+
+
if(array_key_exists('advanced',$_REQUEST)) {
$arr = explode(',',$_REQUEST['advanced']);
- for($x = 0; $x < count($arr); $x ++)
- if(trim($arr[$x]))
- $arr[$x] = trim($arr[$x]);
- set_config('system','profile_fields_advanced',$arr);
+ array_walk($arr,'array_trim');
+ $narr = [];
+ if(count($arr)) {
+ foreach($arr as $a) {
+ if(strlen($a)) {
+ $narr[] = $a;
+ }
+ }
+ }
+ if(! $narr)
+ del_config('system','profile_fields_advanced');
+ else
+ set_config('system','profile_fields_advanced',$narr);
+
}
goaway(z_root() . '/admin/profs');
}
@@ -98,6 +118,7 @@ class Profs {
$basic = '';
$barr = array();
$fields = get_profile_fields_basic();
+
if(! $fields)
$fields = get_profile_fields_basic(1);
if($fields) {
diff --git a/Zotlabs/Module/Admin/Site.php b/Zotlabs/Module/Admin/Site.php
index 880dbbe4b..656770ad9 100644
--- a/Zotlabs/Module/Admin/Site.php
+++ b/Zotlabs/Module/Admin/Site.php
@@ -24,7 +24,7 @@ class Site {
$siteinfo = ((x($_POST,'siteinfo')) ? trim($_POST['siteinfo']) : '');
$language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
$theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : '');
- $theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
+// $theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
// $site_channel = ((x($_POST,'site_channel')) ? notags(trim($_POST['site_channel'])) : '');
$maximagesize = ((x($_POST,'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0);
@@ -38,7 +38,12 @@ class Site {
$site_sellpage = ((x($_POST,'site_sellpage')) ? notags(trim($_POST['site_sellpage'])) : '');
$site_location = ((x($_POST,'site_location')) ? notags(trim($_POST['site_location'])) : '');
$frontpage = ((x($_POST,'frontpage')) ? notags(trim($_POST['frontpage'])) : '');
- $firstpage = ((x(trim($_POST,'firstpage'))) ? notags(trim($_POST['firstpage'])) : 'profiles');
+ $firstpage = ((x($_POST,'firstpage')) ? notags(trim($_POST['firstpage'])) : 'profiles');
+ $first_page = ((x($_POST,'first_page')) ? notags(trim($_POST['first_page'])) : 'profiles');
+ // check value after trim
+ if(! $first_page) {
+ $first_page = 'profiles';
+ }
$mirror_frontpage = ((x($_POST,'mirror_frontpage')) ? intval(trim($_POST['mirror_frontpage'])) : 0);
$directory_server = ((x($_POST,'directory_server')) ? trim($_POST['directory_server']) : '');
$allowed_sites = ((x($_POST,'allowed_sites')) ? notags(trim($_POST['allowed_sites'])) : '');
@@ -51,6 +56,7 @@ class Site {
$global_directory = ((x($_POST,'directory_submit_url')) ? notags(trim($_POST['directory_submit_url'])) : '');
$no_community_page = !((x($_POST,'no_community_page')) ? True : False);
$default_expire_days = ((array_key_exists('default_expire_days',$_POST)) ? intval($_POST['default_expire_days']) : 0);
+ $active_expire_days = ((array_key_exists('active_expire_days',$_POST)) ? intval($_POST['active_expire_days']) : 7);
$reply_address = ((array_key_exists('reply_address',$_POST) && trim($_POST['reply_address'])) ? trim($_POST['reply_address']) : 'noreply@' . \App::get_hostname());
$from_email = ((array_key_exists('from_email',$_POST) && trim($_POST['from_email'])) ? trim($_POST['from_email']) : 'Administrator@' . \App::get_hostname());
@@ -82,7 +88,7 @@ class Site {
set_config('system', 'maxloadavg', $maxloadavg);
set_config('system', 'frontpage', $frontpage);
set_config('system', 'sellpage', $site_sellpage);
- set_config('system', 'workflow_channel_next', $firstpage);
+ set_config('system', 'workflow_channel_next', $first_page);
set_config('system', 'site_location', $site_location);
set_config('system', 'mirror_frontpage', $mirror_frontpage);
set_config('system', 'sitename', $sitename);
@@ -90,6 +96,7 @@ class Site {
set_config('system', 'enable_context_help', $enable_context_help);
set_config('system', 'verify_email', $verify_email);
set_config('system', 'default_expire_days', $default_expire_days);
+ set_config('system', 'active_expire_days', $active_expire_days);
set_config('system', 'reply_address', $reply_address);
set_config('system', 'from_email', $from_email);
set_config('system', 'from_email_name' , $from_email_name);
@@ -122,11 +129,11 @@ class Site {
set_config('system','siteinfo',$siteinfo);
set_config('system', 'language', $language);
set_config('system', 'theme', $theme);
- if ( $theme_mobile === '---' ) {
- del_config('system', 'mobile_theme');
- } else {
- set_config('system', 'mobile_theme', $theme_mobile);
- }
+// if ( $theme_mobile === '---' ) {
+// del_config('system', 'mobile_theme');
+// } else {
+// set_config('system', 'mobile_theme', $theme_mobile);
+// }
// set_config('system','site_channel', $site_channel);
set_config('system','maximagesize', $maximagesize);
@@ -305,7 +312,7 @@ class Site {
'$siteinfo' => array('siteinfo', t('Site Information'), get_config('system','siteinfo'), t("Publicly visible description of this site. Displayed on siteinfo page. BBCode can be used here")),
'$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
'$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
- '$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile),
+// '$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile),
// '$site_channel' => array('site_channel', t("Channel to use for this website's static pages"), get_config('system','site_channel'), t("Site Channel")),
'$feed_contacts' => array('feed_contacts', t('Allow Feeds as Connections'),get_config('system','feed_contacts'),t('(Heavy system resource usage)')),
'$maximagesize' => array('maximagesize', t("Maximum image size"), intval(get_config('system','maximagesize')), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")),
@@ -343,9 +350,10 @@ class Site {
'$thumbnail_security' => array('thumbnail_security', t("Allow SVG thumbnails in file browser"), get_config('system','thumbnail_security',0), t("WARNING: SVG images may contain malicious code.")),
'$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
'$default_expire_days' => array('default_expire_days', t('Expiration period in days for imported (grid/network) content'), intval(get_config('system','default_expire_days')), t('0 for no expiration of imported content')),
+ '$active_expire_days' => array('active_expire_days', t('Do not expire any posts which have comments less than this many days ago'), intval(get_config('system','active_expire_days',7)), ''),
'$sellpage' => array('site_sellpage', t('Public servers: Optional landing (marketing) webpage for new registrants'), get_config('system','sellpage',''), sprintf( t('Create this page first. Default is %s/register'),z_root())),
- '$firstpage' => array('firstpage', t('Page to display after creating a new channel'), get_config('system','workflow_channel_next','profiles'), t('Recommend: profiles, go, or settings')),
+ '$first_page' => array('first_page', t('Page to display after creating a new channel'), get_config('system','workflow_channel_next','profiles'), t('Recommend: profiles, go, or settings')),
'$location' => array('site_location', t('Optional: site location'), get_config('system','site_location',''), t('Region or country')),
diff --git a/Zotlabs/Module/Appman.php b/Zotlabs/Module/Appman.php
index 64d4628ae..3ebafafa4 100644
--- a/Zotlabs/Module/Appman.php
+++ b/Zotlabs/Module/Appman.php
@@ -25,6 +25,7 @@ class Appman extends \Zotlabs\Web\Controller {
'photo' => escape_tags($_REQUEST['photo']),
'version' => escape_tags($_REQUEST['version']),
'price' => escape_tags($_REQUEST['price']),
+ 'page' => escape_tags($_REQUEST['page']),
'requires' => escape_tags($_REQUEST['requires']),
'system' => intval($_REQUEST['system']),
'plugin' => escape_tags($_REQUEST['plugin']),
diff --git a/Zotlabs/Module/Articles.php b/Zotlabs/Module/Articles.php
index e2e0fed5d..284868241 100644
--- a/Zotlabs/Module/Articles.php
+++ b/Zotlabs/Module/Articles.php
@@ -127,21 +127,26 @@ class Articles extends \Zotlabs\Web\Controller {
$editor = '';
}
+ $itemspage = get_pconfig(local_channel(),'system','itemspage');
+ \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
+
$sql_extra = item_permissions_sql($owner);
+ $sql_item = '';
if($selected_card) {
$r = q("select * from iconfig where iconfig.cat = 'system' and iconfig.k = 'ARTICLE' and iconfig.v = '%s' limit 1",
dbesc($selected_card)
);
if($r) {
- $sql_extra .= "and item.id = " . intval($r[0]['iid']) . " ";
+ $sql_item = "and item.id = " . intval($r[0]['iid']) . " ";
}
}
$r = q("select * from item
where item.uid = %d and item_type = %d
- $sql_extra order by item.created desc",
+ $sql_extra $sql_item order by item.created desc $pager_sql",
intval($owner),
intval(ITEM_TYPE_ARTICLE)
);
@@ -152,6 +157,8 @@ class Articles extends \Zotlabs\Web\Controller {
if($r) {
+ $pager_total = count($r);
+
$parents_str = ids_to_querystr($r,'id');
$items = q("SELECT item.*, item.id AS item_id
@@ -173,13 +180,18 @@ class Articles extends \Zotlabs\Web\Controller {
$mode = 'articles';
- $content = conversation($items,$mode,false,'traditional');
+ if(get_pconfig(local_channel(),'system','articles_list_mode') && (! $selected_card))
+ $page_mode = 'pager_list';
+ else
+ $page_mode = 'traditional';
+
+ $content = conversation($items,$mode,false,$page_mode);
$o = replace_macros(get_markup_template('cards.tpl'), [
'$title' => t('Articles'),
'$editor' => $editor,
'$content' => $content,
- '$pager' => alt_pager($a,count($items))
+ '$pager' => alt_pager($pager_total)
]);
return $o;
diff --git a/Zotlabs/Module/Authorize.php b/Zotlabs/Module/Authorize.php
index 254700b4e..bfb76150f 100644
--- a/Zotlabs/Module/Authorize.php
+++ b/Zotlabs/Module/Authorize.php
@@ -4,60 +4,89 @@ namespace Zotlabs\Module;
use Zotlabs\Identity\OAuth2Storage;
-
class Authorize extends \Zotlabs\Web\Controller {
- function init() {
-
- // workaround for HTTP-auth in CGI mode
- if (x($_SERVER, 'REDIRECT_REMOTE_USER')) {
- $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"], 6)) ;
- if(strlen($userpass)) {
- list($name, $password) = explode(':', $userpass);
- $_SERVER['PHP_AUTH_USER'] = $name;
- $_SERVER['PHP_AUTH_PW'] = $password;
- }
+ function get() {
+ if (!local_channel()) {
+ return login();
+ } else {
+ // TODO: Fully implement the dynamic client registration protocol:
+ // OpenID Connect Dynamic Client Registration 1.0 Client Metadata
+ // http://openid.net/specs/openid-connect-registration-1_0.html
+ $app = array(
+ 'name' => (x($_REQUEST, 'client_name') ? urldecode($_REQUEST['client_name']) : t('Unknown App')),
+ 'icon' => (x($_REQUEST, 'logo_uri') ? urldecode($_REQUEST['logo_uri']) : z_root() . '/images/icons/plugin.png'),
+ 'url' => (x($_REQUEST, 'client_uri') ? urldecode($_REQUEST['client_uri']) : ''),
+ );
+ $o .= replace_macros(get_markup_template('oauth_authorize.tpl'), array(
+ '$title' => t('Authorize'),
+ '$authorize' => sprintf( t('Do you authorize the app %s to access your channel data?'), '<a style="float: none;" href="' . $app['url'] . '">' . $app['name'] . '</a> '),
+ '$app' => $app,
+ '$yes' => t('Allow'),
+ '$no' => t('Deny'),
+ '$client_id' => (x($_REQUEST, 'client_id') ? $_REQUEST['client_id'] : ''),
+ '$redirect_uri' => (x($_REQUEST, 'redirect_uri') ? $_REQUEST['redirect_uri'] : ''),
+ '$state' => (x($_REQUEST, 'state') ? $_REQUEST['state'] : ''),
+ ));
+ return $o;
}
+ }
- if (x($_SERVER, 'HTTP_AUTHORIZATION')) {
- $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6)) ;
- if(strlen($userpass)) {
- list($name, $password) = explode(':', $userpass);
- $_SERVER['PHP_AUTH_USER'] = $name;
- $_SERVER['PHP_AUTH_PW'] = $password;
- }
+ function post() {
+ if (! local_channel()) {
+ return;
}
- $s = new \Zotlabs\Identity\OAuth2Server(new OAuth2Storage(\DBA::$dba->db));
+ $storage = new OAuth2Storage(\DBA::$dba->db);
+ $s = new \Zotlabs\Identity\OAuth2Server($storage);
+
+ // TODO: The automatic client registration protocol below should adhere more
+ // closely to "OAuth 2.0 Dynamic Client Registration Protocol" defined
+ // at https://tools.ietf.org/html/rfc7591
+
+ // If no client_id was provided, generate a new one.
+ if (x($_POST, 'client_id')) {
+ $client_id = $_POST['client_id'];
+ } else {
+ $client_id = $_POST['client_id'] = random_string(16);
+ }
+ // If no redirect_uri was provided, generate a fake one.
+ if (x($_POST, 'redirect_uri')) {
+ $redirect_uri = $_POST['redirect_uri'];
+ } else {
+ $redirect_uri = $_POST['redirect_uri'] = 'https://fake.example.com/oauth';
+ }
$request = \OAuth2\Request::createFromGlobals();
$response = new \OAuth2\Response();
- // validate the authorize request
- if (! $s->validateAuthorizeRequest($request, $response)) {
+ // If the client is not registered, add to the database
+ if (!$client = $storage->getClientDetails($client_id)) {
+ $client_secret = random_string(16);
+ // Client apps are registered per channel
+ $user_id = local_channel();
+ $storage->setClientDetails($client_id, $client_secret, $redirect_uri, 'authorization_code', null, $user_id);
+
+ }
+ if (!$client = $storage->getClientDetails($client_id)) {
+ // There was an error registering the client.
$response->send();
killme();
}
+ $response->setParameter('client_secret', $client['client_secret']);
- // display an authorization form
- if (empty($_POST)) {
-
- return '
-<form method="post">
- <label>Do You Authorize TestClient?</label><br />
- <input type="submit" name="authorized" value="yes">
- <input type="submit" name="authorized" value="no">
-</form>';
+ // validate the authorize request
+ if (!$s->validateAuthorizeRequest($request, $response)) {
+ $response->send();
+ killme();
}
// print the authorization code if the user has authorized your client
- $is_authorized = ($_POST['authorized'] === 'yes');
+ $is_authorized = ($_POST['authorize'] === 'allow');
$s->handleAuthorizeRequest($request, $response, $is_authorized, local_channel());
if ($is_authorized) {
- // this is only here so that you get to see your code in the cURL request. Otherwise,
- // we'd redirect back to the client
- $code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=')+5, 40);
- echo("SUCCESS! Authorization Code: $code");
+ $code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=') + 5, 40);
+ logger('Authorization Code: ' . $code);
}
$response->send();
diff --git a/Zotlabs/Module/Cards.php b/Zotlabs/Module/Cards.php
index f87988183..f196988a2 100644
--- a/Zotlabs/Module/Cards.php
+++ b/Zotlabs/Module/Cards.php
@@ -131,20 +131,26 @@ class Cards extends \Zotlabs\Web\Controller {
}
+ $itemspage = get_pconfig(local_channel(),'system','itemspage');
+ \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
+
+
$sql_extra = item_permissions_sql($owner);
+ $sql_item = '';
if($selected_card) {
$r = q("select * from iconfig where iconfig.cat = 'system' and iconfig.k = 'CARD' and iconfig.v = '%s' limit 1",
dbesc($selected_card)
);
if($r) {
- $sql_extra .= "and item.id = " . intval($r[0]['iid']) . " ";
+ $sql_item = "and item.id = " . intval($r[0]['iid']) . " ";
}
}
$r = q("select * from item
where uid = %d and item_type = %d
- $sql_extra order by item.created desc",
+ $sql_extra $sql_item order by item.created desc $pager_sql",
intval($owner),
intval(ITEM_TYPE_CARD)
);
@@ -156,6 +162,8 @@ class Cards extends \Zotlabs\Web\Controller {
$items_result = [];
if($r) {
+ $pager_total = count($r);
+
$parents_str = ids_to_querystr($r, 'id');
$items = q("SELECT item.*, item.id AS item_id
@@ -175,13 +183,18 @@ class Cards extends \Zotlabs\Web\Controller {
$mode = 'cards';
- $content = conversation($items_result, $mode, false, 'traditional');
+ if(get_pconfig(local_channel(),'system','articles_list_mode') && (! $selected_card))
+ $page_mode = 'pager_list';
+ else
+ $page_mode = 'traditional';
+
+ $content = conversation($items_result, $mode, false, $page_mode);
$o = replace_macros(get_markup_template('cards.tpl'), [
'$title' => t('Cards'),
'$editor' => $editor,
'$content' => $content,
- '$pager' => alt_pager($a, count($items_result))
+ '$pager' => alt_pager($pager_total)
]);
return $o;
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index 3d3eb2a85..953f87f11 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -204,7 +204,7 @@ class Channel extends \Zotlabs\Web\Controller {
$_SESSION['loadtime'] = datetime_convert();
}
else {
- $r = q("SELECT distinct parent AS item_id from item
+ $r = q("SELECT parent AS item_id from item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
WHERE uid = %d $item_normal_update
AND item_wall = 1 $simple_update
@@ -380,7 +380,7 @@ class Channel extends \Zotlabs\Web\Controller {
}
if((! $update) || ($checkjs->disabled())) {
- $o .= alt_pager($a,count($items));
+ $o .= alt_pager(count($items));
if ($mid && $items[0]['title'])
\App::$page['title'] = $items[0]['title'] . " - " . \App::$page['title'];
}
diff --git a/Zotlabs/Module/Chanview.php b/Zotlabs/Module/Chanview.php
index 24ab9b022..779c7e646 100644
--- a/Zotlabs/Module/Chanview.php
+++ b/Zotlabs/Module/Chanview.php
@@ -19,7 +19,7 @@ class Chanview extends \Zotlabs\Web\Controller {
}
if($_REQUEST['address']) {
$r = q("select * from xchan where xchan_addr = '%s' limit 1",
- dbesc($_REQUEST['address'])
+ dbesc(punify($_REQUEST['address']))
);
}
elseif(local_channel() && intval($_REQUEST['cid'])) {
diff --git a/Zotlabs/Module/Chatsvc.php b/Zotlabs/Module/Chatsvc.php
index 0f79e3b4c..b4657e84d 100644
--- a/Zotlabs/Module/Chatsvc.php
+++ b/Zotlabs/Module/Chatsvc.php
@@ -60,7 +60,7 @@ class Chatsvc extends \Zotlabs\Web\Controller {
intval(\App::$data['chat']['room_id']),
dbesc(get_observer_hash()),
dbesc(datetime_convert()),
- dbesc($arr['chat_text'])
+ dbesc(str_rot47(base64url_encode($arr['chat_text'])))
);
$ret['success'] = true;
@@ -157,7 +157,7 @@ class Chatsvc extends \Zotlabs\Web\Controller {
'name' => $rr['xchan_name'],
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $rr['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $rr['created'], 'r'),
- 'text' => zidify_links(smilies(bbcode($rr['chat_text']))),
+ 'text' => zidify_links(smilies(bbcode(base64url_decode(str_rot47($rr['chat_text']))))),
'self' => ((get_observer_hash() == $rr['chat_xchan']) ? 'self' : '')
);
}
diff --git a/Zotlabs/Module/Cloud.php b/Zotlabs/Module/Cloud.php
index 8b5476efc..34397d275 100644
--- a/Zotlabs/Module/Cloud.php
+++ b/Zotlabs/Module/Cloud.php
@@ -60,6 +60,12 @@ class Cloud extends \Zotlabs\Web\Controller {
// if we arrived at this path with any query parameters in the url, build a clean url without
// them and redirect.
+ if(! array_key_exists('cloud_sort',$_SESSION)) {
+ $_SESSION['cloud_sort'] = 'name';
+ }
+
+ $_SESSION['cloud_sort'] = (($_REQUEST['sort']) ? trim(notags($_REQUEST['sort'])) : $_SESSION['cloud_sort']);
+
$x = clean_query_string();
if($x !== \App::$query_string)
goaway(z_root() . '/' . $x);
diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php
index 55e716ace..3bbdbf326 100644
--- a/Zotlabs/Module/Connections.php
+++ b/Zotlabs/Module/Connections.php
@@ -32,6 +32,7 @@ class Connections extends \Zotlabs\Web\Controller {
nav_set_selected('Connections');
+ $active = false;
$blocked = false;
$hidden = false;
$ignored = false;
@@ -44,11 +45,16 @@ class Connections extends \Zotlabs\Web\Controller {
if(! $_REQUEST['aj'])
$_SESSION['return_url'] = \App::$query_string;
- $search_flags = '';
+ $search_flags = "";
$head = '';
if(argc() == 2) {
switch(argv(1)) {
+ case 'active':
+ $search_flags = " and abook_blocked = 0 and abook_ignored = 0 and abook_hidden = 0 and abook_archived = 0 AND abook_not_here = 0 ";
+ $head = t('Active');
+ $active = true;
+ break;
case 'blocked':
$search_flags = " and abook_blocked = 1 ";
$head = t('Blocked');
@@ -101,8 +107,9 @@ class Connections extends \Zotlabs\Web\Controller {
case 'all':
$head = t('All');
default:
- $search_flags = '';
- $all = true;
+ $search_flags = " and abook_blocked = 0 and abook_ignored = 0 and abook_hidden = 0 and abook_archived = 0 and abook_not_here = 0 ";
+ $active = true;
+ $head = t('Active');
break;
}
@@ -129,6 +136,13 @@ class Connections extends \Zotlabs\Web\Controller {
),
*/
+ 'active' => array(
+ 'label' => t('Active Connections'),
+ 'url' => z_root() . '/connections/active',
+ 'sel' => ($active) ? 'active' : '',
+ 'title' => t('Show active connections'),
+ ),
+
'pending' => array(
'label' => t('New Connections'),
'url' => z_root() . '/connections/pending',
@@ -136,12 +150,6 @@ class Connections extends \Zotlabs\Web\Controller {
'title' => t('Show pending (new) connections'),
),
- 'all' => array(
- 'label' => t('All Connections'),
- 'url' => z_root() . '/connections/all',
- 'sel' => ($all) ? 'active' : '',
- 'title' => t('Show all connections'),
- ),
/*
array(
@@ -187,6 +195,13 @@ class Connections extends \Zotlabs\Web\Controller {
// 'title' => t('Only show one-way connections'),
// ),
+
+ 'all' => array(
+ 'label' => t('All Connections'),
+ 'url' => z_root() . '/connections',
+ 'sel' => ($all) ? 'active' : '',
+ 'title' => t('Show all connections'),
+ ),
);
@@ -238,6 +253,7 @@ class Connections extends \Zotlabs\Web\Controller {
$status_str = '';
$status = array(
+ ((intval($rr['abook_active'])) ? t('Active') : ''),
((intval($rr['abook_pending'])) ? t('Pending approval') : ''),
((intval($rr['abook_archived'])) ? t('Archived') : ''),
((intval($rr['abook_hidden'])) ? t('Hidden') : ''),
diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php
index f359175c1..cb9c19cf0 100644
--- a/Zotlabs/Module/Connedit.php
+++ b/Zotlabs/Module/Connedit.php
@@ -828,7 +828,7 @@ class Connedit extends \Zotlabs\Web\Controller {
$locstr = locations_by_netid($contact['xchan_hash']);
if(! $locstr)
- $locstr = $contact['xchan_url'];
+ $locstr = unpunify($contact['xchan_url']);
$clone_warn = '';
$clonable = (in_array($contact['xchan_network'],['zot','rss']) ? true : false);
@@ -852,8 +852,8 @@ class Connedit extends \Zotlabs\Web\Controller {
'$permcat' => [ 'permcat', t('Permission role'), '', '<span class="loading invisible">' . t('Loading') . '<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span></span>',$permcats ],
'$permcat_new' => t('Add permission role'),
'$permcat_enable' => feature_enabled(local_channel(),'permcats'),
- '$addr' => $contact['xchan_addr'],
- '$primeurl' => $contact['xchan_url'],
+ '$addr' => unpunify($contact['xchan_addr']),
+ '$primeurl' => unpunify($contact['xchan_url']),
'$section' => $section,
'$sections' => $sections,
'$vcard' => $vcard,
diff --git a/Zotlabs/Module/Cover_photo.php b/Zotlabs/Module/Cover_photo.php
index 047bcf3d4..d76c1b408 100644
--- a/Zotlabs/Module/Cover_photo.php
+++ b/Zotlabs/Module/Cover_photo.php
@@ -207,7 +207,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
}
}
- $imagedata = (($os_storage) ? @file_get_contents($imagedata) : $imagedata);
+ $imagedata = (($os_storage) ? @file_get_contents(dbunescbin($imagedata)) : dbunescbin($imagedata));
$ph = photo_factory($imagedata, $filetype);
if(! $ph->is_valid()) {
@@ -355,6 +355,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
$o .= replace_macros($tpl,array(
'$user' => \App::$channel['channel_address'],
+ '$existing' => get_cover_photo(local_channel(),'array',PHOTO_RES_COVER_850),
'$lbl_upfile' => t('Upload File:'),
'$lbl_profiles' => t('Select a profile:'),
'$title' => t('Change Cover Photo'),
@@ -364,6 +365,12 @@ class Cover_photo extends \Zotlabs\Web\Controller {
'$embedPhotosModalTitle' => t('Use a photo from your albums'),
'$embedPhotosModalCancel' => t('Cancel'),
'$embedPhotosModalOK' => t('OK'),
+ '$modalchooseimages' => t('Choose images to embed'),
+ '$modalchoosealbum' => t('Choose an album'),
+ '$modaldiffalbum' => t('Choose a different album'),
+ '$modalerrorlist' => t('Error getting album list'),
+ '$modalerrorlink' => t('Error getting photo link'),
+ '$modalerroralbum' => t('Error getting album'),
'$form_security_token' => get_form_security_token("cover_photo"),
/// @FIXME - yuk
'$select' => t('Select existing photo'),
diff --git a/Zotlabs/Module/Directory.php b/Zotlabs/Module/Directory.php
index b1552a694..f2673fa1a 100644
--- a/Zotlabs/Module/Directory.php
+++ b/Zotlabs/Module/Directory.php
@@ -17,7 +17,7 @@ class Directory extends \Zotlabs\Web\Controller {
intval(local_channel()),
dbesc($_GET['ignore'])
);
- goaway(z_root() . '/directory?suggest=1');
+ goaway(z_root() . '/directory?f=&suggest=1');
}
$observer = get_observer_hash();
@@ -101,6 +101,11 @@ class Directory extends \Zotlabs\Web\Controller {
if($suggest) {
$r = suggestion_query(local_channel(),get_observer_hash());
+
+ if(! $r) {
+ notice( t('No default suggestions were found.') . EOL);
+ return;
+ }
// Remember in which order the suggestions were
$addresses = array();
@@ -294,9 +299,9 @@ class Directory extends \Zotlabs\Web\Controller {
if(strlen($out))
$out .= ', ';
if($marr && in_arrayi($k,$marr))
- $out .= '<strong>' . $k . '</strong>';
+ $out .= '<a href="' . z_root() . '/directory/f=&keywords=' . urlencode($k) .'"><strong>' . $k . '</strong></a>';
else
- $out .= $k;
+ $out .= '<a href="' . z_root() . '/directory/f=&keywords=' . urlencode($k) .'">' . $k . '</a>';
}
}
@@ -399,7 +404,7 @@ class Directory extends \Zotlabs\Web\Controller {
'$entries' => $entries,
'$dirlbl' => $suggest ? t('Channel Suggestions') : $dirtitle,
'$submit' => t('Find'),
- '$next' => alt_pager($a,$j['records'], t('next page'), t('previous page')),
+ '$next' => alt_pager($j['records'], t('next page'), t('previous page')),
'$sort' => t('Sort options'),
'$normal' => t('Alphabetic'),
'$reverse' => t('Reverse Alphabetic'),
diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php
index 8e8a1ed24..06c9479b2 100644
--- a/Zotlabs/Module/Display.php
+++ b/Zotlabs/Module/Display.php
@@ -102,7 +102,7 @@ class Display extends \Zotlabs\Web\Controller {
if($decoded)
$item_hash = $decoded;
- $r = q("select id, uid, mid, parent_mid, thr_parent, verb, item_type, item_deleted, item_blocked from item where mid like '%s' limit 1",
+ $r = q("select id, uid, mid, parent_mid, thr_parent, verb, item_type, item_deleted, author_xchan, item_blocked from item where mid like '%s' limit 1",
dbesc($item_hash . '%')
);
@@ -110,6 +110,14 @@ class Display extends \Zotlabs\Web\Controller {
$target_item = $r[0];
}
+ $x = q("select * from xchan where xchan_hash = '%s' limit 1",
+ dbesc($target_item['author_xchan'])
+ );
+ if($x) {
+// not yet ready for prime time
+// \App::$poi = $x[0];
+ }
+
//if the item is to be moderated redirect to /moderate
if($target_item['item_blocked'] == ITEM_MODERATED) {
goaway(z_root() . '/moderate/' . $target_item['id']);
@@ -124,7 +132,7 @@ class Display extends \Zotlabs\Web\Controller {
$y = q("select * from iconfig left join item on iconfig.iid = item.id
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item.id = %d limit 1",
intval($target_item['uid']),
- intval($target_item['id'])
+ intval($target_item['parent'])
);
if($x && $y) {
goaway(z_root() . '/page/' . $x[0]['channel_address'] . '/' . $y[0]['v']);
@@ -134,6 +142,41 @@ class Display extends \Zotlabs\Web\Controller {
return '';
}
}
+ if($target_item['item_type'] == ITEM_TYPE_ARTICLE) {
+ $x = q("select * from channel where channel_id = %d limit 1",
+ intval($target_item['uid'])
+ );
+ $y = q("select * from iconfig left join item on iconfig.iid = item.id
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'ARTICLE' and item.id = %d limit 1",
+ intval($target_item['uid']),
+ intval($target_item['parent'])
+ );
+ if($x && $y) {
+ goaway(z_root() . '/articles/' . $x[0]['channel_address'] . '/' . $y[0]['v']);
+ }
+ else {
+ notice( t('Page not found.') . EOL);
+ return '';
+ }
+ }
+ if($target_item['item_type'] == ITEM_TYPE_CARD) {
+ $x = q("select * from channel where channel_id = %d limit 1",
+ intval($target_item['uid'])
+ );
+ $y = q("select * from iconfig left join item on iconfig.iid = item.id
+ where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'CARD' and item.id = %d limit 1",
+ intval($target_item['uid']),
+ intval($target_item['parent'])
+ );
+ if($x && $y) {
+ goaway(z_root() . '/cards/' . $x[0]['channel_address'] . '/' . $y[0]['v']);
+ }
+ else {
+ notice( t('Page not found.') . EOL);
+ return '';
+ }
+ }
+
$static = ((array_key_exists('static',$_REQUEST)) ? intval($_REQUEST['static']) : 0);
diff --git a/Zotlabs/Module/Editpost.php b/Zotlabs/Module/Editpost.php
index a54c42e7f..57a4cb97f 100644
--- a/Zotlabs/Module/Editpost.php
+++ b/Zotlabs/Module/Editpost.php
@@ -82,7 +82,7 @@ class Editpost extends \Zotlabs\Web\Controller {
'editor_autocomplete'=> true,
'bbco_autocomplete'=> 'bbcode',
'return_path' => $_SESSION['return_url'],
- 'button' => t('Edit'),
+ 'button' => t('Submit'),
'hide_voting' => true,
'hide_future' => true,
'hide_location' => true,
diff --git a/Zotlabs/Module/Follow.php b/Zotlabs/Module/Follow.php
index d8a86d0ce..cbf9d62c5 100644
--- a/Zotlabs/Module/Follow.php
+++ b/Zotlabs/Module/Follow.php
@@ -14,21 +14,26 @@ class Follow extends \Zotlabs\Web\Controller {
}
$uid = local_channel();
- $url = notags(trim($_REQUEST['url']));
+ $url = notags(trim(punify($_REQUEST['url'])));
$return_url = $_SESSION['return_url'];
$confirm = intval($_REQUEST['confirm']);
-
+ $interactive = (($_REQUEST['interactive']) ? intval($_REQUEST['interactive']) : 1);
$channel = \App::get_channel();
- $result = new_contact($uid,$url,$channel,true,$confirm);
+ $result = new_contact($uid,$url,$channel,$interactive,$confirm);
if($result['success'] == false) {
if($result['message'])
notice($result['message']);
- goaway($return_url);
+ if($interactive) {
+ goaway($return_url);
+ }
+ else {
+ json_return_and_die($result);
+ }
}
- info( t('Channel added.') . EOL);
+ info( t('Connection added.') . EOL);
$clone = array();
foreach($result['abook'] as $k => $v) {
@@ -53,7 +58,12 @@ class Follow extends \Zotlabs\Web\Controller {
if(($can_view_stream) || ($result['abook']['xchan_network'] === 'rss'))
\Zotlabs\Daemon\Master::Summon(array('Onepoll',$result['abook']['abook_id']));
- goaway(z_root() . '/connedit/' . $result['abook']['abook_id'] . '?f=&follow=1');
+ if($interactive) {
+ goaway(z_root() . '/connedit/' . $result['abook']['abook_id'] . '?f=&follow=1');
+ }
+ else {
+ json_return_and_die([ 'success' => true ]);
+ }
}
diff --git a/Zotlabs/Module/Hashtags.php b/Zotlabs/Module/Hashtags.php
new file mode 100644
index 000000000..300485196
--- /dev/null
+++ b/Zotlabs/Module/Hashtags.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Zotlabs\Module;
+
+
+class Hashtags extends \Zotlabs\Web\Controller {
+
+ function init() {
+ $result = [];
+
+ $t = escape_tags($_REQUEST['t']);
+ if(! $t)
+ json_return_and_die($result);
+
+ $r = q("select distinct(term) from term where term like '%s' and ttype = %d order by term",
+ dbesc($t . '%'),
+ intval(TERM_HASHTAG)
+ );
+ if($r) {
+ foreach($r as $rv) {
+ $result[] = [ 'text' => $rv['term'] ];
+ }
+ }
+
+ json_return_and_die($result);
+ }
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php
index 36bd72310..81c405f00 100644
--- a/Zotlabs/Module/Import.php
+++ b/Zotlabs/Module/Import.php
@@ -114,15 +114,16 @@ class Import extends \Zotlabs\Web\Controller {
return;
}
- if(array_key_exists('compatibility',$data) && array_key_exists('database',$data['compatibility'])) {
- $v1 = substr($data['compatibility']['database'],-4);
- $v2 = substr(DB_UPDATE_VERSION,-4);
- if($v2 > $v1) {
- $t = sprintf( t('Warning: Database versions differ by %1$d updates.'), $v2 - $v1 );
- notice($t);
- }
-
- }
+// This is only an info message but it is alarming to folks who then report failure with this as the cause, when in fact we ignore this completely.
+// if(array_key_exists('compatibility',$data) && array_key_exists('database',$data['compatibility'])) {
+// $v1 = substr($data['compatibility']['database'],-4);
+// $v2 = substr(DB_UPDATE_VERSION,-4);
+// if($v2 > $v1) {
+// $t = sprintf( t('Warning: Database versions differ by %1$d updates.'), $v2 - $v1 );
+// notice($t);
+// }
+//
+// }
if($moving)
$seize = 1;
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 3f857030b..bba1dc02d 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -468,6 +468,7 @@ class Item extends \Zotlabs\Web\Controller {
$private = intval($acl->is_private() || $parent_item['item_private']);
$public_policy = $parent_item['public_policy'];
$owner_hash = $parent_item['owner_xchan'];
+ $webpage = $parent_item['item_type'];
}
if((! $allow_empty) && (! strlen($body))) {
@@ -542,7 +543,7 @@ class Item extends \Zotlabs\Web\Controller {
// Look for tags and linkify them
$results = linkify_tags($a, $body, ($uid) ? $uid : $profile_uid);
-
+
if($results) {
// Set permissions based on tag replacements
@@ -830,6 +831,12 @@ class Item extends \Zotlabs\Web\Controller {
$datarray['plink'] = $plink;
$datarray['route'] = $route;
+
+ // A specific ACL over-rides public_policy completely
+
+ if(! empty_acl($datarray))
+ $datarray['public_policy'] = '';
+
if($iconfig)
$datarray['iconfig'] = $iconfig;
diff --git a/Zotlabs/Module/Like.php b/Zotlabs/Module/Like.php
index 6d9fde17c..4e216f08b 100644
--- a/Zotlabs/Module/Like.php
+++ b/Zotlabs/Module/Like.php
@@ -296,10 +296,11 @@ class Like extends \Zotlabs\Web\Controller {
notice( t('Permission denied') . EOL);
killme();
}
-
+
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($item['owner_xchan'])
);
+
if($r)
$thread_owner = $r[0];
else
@@ -418,6 +419,7 @@ class Like extends \Zotlabs\Web\Controller {
$arr['item_origin'] = 1;
$arr['item_notshown'] = 1;
+ $arr['item_type'] = $item['item_type'];
if(intval($item['item_wall']))
$arr['item_wall'] = 1;
diff --git a/Zotlabs/Module/Logout.php b/Zotlabs/Module/Logout.php
index f06e7278b..d11ce54ac 100644
--- a/Zotlabs/Module/Logout.php
+++ b/Zotlabs/Module/Logout.php
@@ -5,7 +5,12 @@ namespace Zotlabs\Module;
class Logout extends \Zotlabs\Web\Controller {
function init() {
- \App::$session->nuke();
+ if($_SESSION['delegate'] && $_SESSION['delegate_push']) {
+ $_SESSION = $_SESSION['delegate_push'];
+ }
+ else {
+ \App::$session->nuke();
+ }
goaway(z_root());
}
diff --git a/Zotlabs/Module/Magic.php b/Zotlabs/Module/Magic.php
index 15e5cedcf..4b3a223ba 100644
--- a/Zotlabs/Module/Magic.php
+++ b/Zotlabs/Module/Magic.php
@@ -112,6 +112,8 @@ class Magic extends \Zotlabs\Web\Controller {
if($r && intval($r[0]['channel_id'])) {
$allowed = perm_is_allowed($r[0]['channel_id'],get_observer_hash(),'delegate');
if($allowed) {
+ $tmp = $_SESSION;
+ $_SESSION['delegate_push'] = $tmp;
$_SESSION['delegate_channel'] = $r[0]['channel_id'];
$_SESSION['delegate'] = get_observer_hash();
$_SESSION['account_id'] = intval($r[0]['channel_account_id']);
diff --git a/Zotlabs/Module/Mail.php b/Zotlabs/Module/Mail.php
index b58b169d0..ca183f644 100644
--- a/Zotlabs/Module/Mail.php
+++ b/Zotlabs/Module/Mail.php
@@ -67,14 +67,14 @@ class Mail extends \Zotlabs\Web\Controller {
if(! $recipient) {
$channel = \App::get_channel();
- $j = \Zotlabs\Zot\Finger::run($rstr,$channel);
+ $j = \Zotlabs\Zot\Finger::run(punify($rstr),$channel);
if(! $j['success']) {
notice( t('Unable to lookup recipient.') . EOL);
return;
}
- logger('message_post: lookup: ' . $url . ' ' . print_r($j,true));
+ logger('message_post: lookup: ' . $rstr . ' ' . print_r($j,true));
if(! $j['guid']) {
notice( t('Unable to communicate with requested channel.'));
diff --git a/Zotlabs/Module/Message.php b/Zotlabs/Module/Message.php
index 7494f4bf4..5856bfbdf 100644
--- a/Zotlabs/Module/Message.php
+++ b/Zotlabs/Module/Message.php
@@ -93,7 +93,7 @@ class Message extends \Zotlabs\Web\Controller {
));
- $o .= alt_pager($a,count($r));
+ $o .= alt_pager(count($r));
return $o;
diff --git a/Zotlabs/Module/Moderate.php b/Zotlabs/Module/Moderate.php
index cf1625a6b..a7c98e05e 100644
--- a/Zotlabs/Module/Moderate.php
+++ b/Zotlabs/Module/Moderate.php
@@ -14,9 +14,12 @@ class Moderate extends \Zotlabs\Web\Controller {
return;
}
+ \App::set_pager_itemspage(60);
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
+
//show all items
if(argc() == 1) {
- $r = q("select item.id as item_id, item.* from item where item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc limit 60",
+ $r = q("select item.id as item_id, item.* from item where item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc $pager_sql",
intval(local_channel()),
intval(ITEM_MODERATED)
);
@@ -26,7 +29,7 @@ class Moderate extends \Zotlabs\Web\Controller {
if(argc() == 2) {
$post_id = intval(argv(1));
- $r = q("select item.id as item_id, item.* from item where item.id = %d and item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc limit 60",
+ $r = q("select item.id as item_id, item.* from item where item.id = %d and item.uid = %d and item_blocked = %d and item_deleted = 0 order by created desc $pager_sql",
intval($post_id),
intval(local_channel()),
intval(ITEM_MODERATED)
@@ -47,17 +50,26 @@ class Moderate extends \Zotlabs\Web\Controller {
);
if($r) {
+ $item = $r[0];
+
if($action === 'approve') {
q("update item set item_blocked = 0 where uid = %d and id = %d",
intval(local_channel()),
intval($post_id)
);
+
+ $item['item_blocked'] = 0;
+
+ item_update_parent_commented($item);
+
notice( t('Comment approved') . EOL);
}
elseif($action === 'drop') {
drop_item($post_id,false);
notice( t('Comment deleted') . EOL);
}
+
+ // refetch the item after changes have been made
$r = q("select * from item where id = %d",
intval($post_id)
@@ -83,6 +95,7 @@ class Moderate extends \Zotlabs\Web\Controller {
}
$o = conversation($items,'moderate',false,'traditional');
+ $o .= alt_pager(count($items));
return $o;
}
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index 6e961dc36..8d017207b 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -210,10 +210,9 @@ class Network extends \Zotlabs\Web\Controller {
$sql_nets = '';
- $distinct = '';
$item_thread_top = ' AND item_thread_top = 1 ';
- $sql_extra = $sql_options;
+ $sql_extra = '';
if($group) {
$contact_str = '';
@@ -229,7 +228,6 @@ class Network extends \Zotlabs\Web\Controller {
$contact_str = ' 0 ';
info( t('Privacy group is empty'));
}
- $distinct = ' distinct ';
$item_thread_top = '';
$sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent $item_normal ) ";
@@ -254,7 +252,6 @@ class Network extends \Zotlabs\Web\Controller {
intval(local_channel())
);
if($r) {
- $distinct = ' distinct ';
$item_thread_top = '';
$sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_channel()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) $item_normal ) ";
$title = replace_macros(get_markup_template("section_title.tpl"),array(
@@ -274,7 +271,6 @@ class Network extends \Zotlabs\Web\Controller {
dbesc($xchan)
);
if($r) {
- $distinct = ' distinct ';
$item_thread_top = '';
$sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_channel()) . " AND ( author_xchan = '" . dbesc($xchan) . "' or owner_xchan = '" . dbesc($xchan) . "' ) $item_normal ) ";
$title = replace_macros(get_markup_template("section_title.tpl"),array(
@@ -381,7 +377,6 @@ class Network extends \Zotlabs\Web\Controller {
}
if($conv) {
- $distinct = ' distinct ';
$item_thread_top = '';
$sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or item_mentionsme = 1 )) ",
dbesc(protect_sprintf($channel['channel_hash']))
@@ -464,7 +459,7 @@ class Network extends \Zotlabs\Web\Controller {
WHERE true $uids $item_normal
and (abook.abook_blocked = 0 or abook.abook_flags is null)
$simple_update
- $sql_extra $sql_nets
+ $sql_extra $sql_options $sql_nets
$net_query2
ORDER BY item.received DESC $pager_sql "
);
@@ -487,13 +482,13 @@ class Network extends \Zotlabs\Web\Controller {
if($load) {
// Fetch a page full of parent items for this page
- $r = q("SELECT $distinct item.parent AS item_id FROM item
+ $r = q("SELECT item.parent AS item_id FROM item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
$net_query
WHERE true $uids $item_thread_top $item_normal
AND item.mid = item.parent_mid
and (abook.abook_blocked = 0 or abook.abook_flags is null)
- $sql_extra3 $sql_extra $sql_nets
+ $sql_extra3 $sql_extra $sql_options $sql_nets
$net_query2
ORDER BY $ordering DESC $pager_sql "
);
@@ -506,7 +501,7 @@ class Network extends \Zotlabs\Web\Controller {
$net_query
WHERE true $uids $item_normal_update $simple_update
and (abook.abook_blocked = 0 or abook.abook_flags is null)
- $sql_extra3 $sql_extra $sql_nets $net_query2"
+ $sql_extra3 $sql_extra $sql_options $sql_nets $net_query2"
);
$_SESSION['loadtime'] = datetime_convert();
}
@@ -570,7 +565,7 @@ class Network extends \Zotlabs\Web\Controller {
$o .= conversation($items,$mode,$update,$page_mode);
if(($items) && (! $update))
- $o .= alt_pager($a,count($items));
+ $o .= alt_pager(count($items));
return $o;
}
diff --git a/Zotlabs/Module/New_channel.php b/Zotlabs/Module/New_channel.php
index 548f28c4f..d9becbc22 100644
--- a/Zotlabs/Module/New_channel.php
+++ b/Zotlabs/Module/New_channel.php
@@ -16,8 +16,15 @@ class New_channel extends \Zotlabs\Web\Controller {
require_once('library/urlify/URLify.php');
$result = array('error' => false, 'message' => '');
$n = trim($_REQUEST['name']);
-
- $x = strtolower(\URLify::transliterate($n));
+
+ $x = false;
+
+ if(get_config('system','unicode_usernames')) {
+ $x = punify(mb_strtolower($n));
+ }
+
+ if((! $x) || strlen($x) > 64)
+ $x = strtolower(\URLify::transliterate($n));
$test = array();
@@ -43,7 +50,14 @@ class New_channel extends \Zotlabs\Web\Controller {
$result = array('error' => false, 'message' => '');
$n = trim($_REQUEST['nick']);
- $x = strtolower(\URLify::transliterate($n));
+ $x = false;
+
+ if(get_config('system','unicode_usernames')) {
+ $x = punify(mb_strtolower($n));
+ }
+
+ if((! $x) || strlen($x) > 64)
+ $x = strtolower(\URLify::transliterate($n));
$test = array();
@@ -132,14 +146,14 @@ class New_channel extends \Zotlabs\Web\Controller {
$name = array('name', t('Name or caption'), ((x($_REQUEST,'name')) ? $_REQUEST['name'] : ''), t('Examples: "Bob Jameson", "Lisa and her Horses", "Soccer", "Aviation Group"'), "*");
$nickhub = '@' . \App::get_hostname();
$nickname = array('nickname', t('Choose a short nickname'), ((x($_REQUEST,'nickname')) ? $_REQUEST['nickname'] : ''), sprintf( t('Your nickname will be used to create an easy to remember channel address e.g. nickname%s'), $nickhub), "*");
- $role = array('permissions_role' , t('Channel role and privacy'), ($privacy_role) ? $privacy_role : 'social', t('Select a channel role with your privacy requirements.') . ' <a href="help/member/member_guide#Account_Permission_Roles" target="_blank">' . t('Read more about roles') . '</a>',$perm_roles);
+ $role = array('permissions_role' , t('Channel role and privacy'), ($privacy_role) ? $privacy_role : 'social', t('Select a channel role with your privacy requirements.') . ' <a href="help/member/member_guide#Channel_Permission_Roles" target="_blank">' . t('Read more about roles') . '</a>',$perm_roles);
$o = replace_macros(get_markup_template('new_channel.tpl'), array(
'$title' => t('Create Channel'),
- '$desc' => t('A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions.'),
+ '$desc' => t('A channel is a unique network identity. It can represent a person (social network profile), a forum (group), a business or celebrity page, a newsfeed, and many other things. Channels can make connections with other channels to share information with each other.') . ' ' . t('The type of channel you create affects the basic privacy settings, the permissions that are granted to connections/friends, and also the channel\'s visibility across the network.'),
'$label_import' => t('or <a href="import">import an existing channel</a> from another location.'),
'$name' => $name,
- '$role' => $role,
+ '$role' => $role,
'$default_role' => $default_role,
'$nickname' => $nickname,
'$validate' => t('Validate'),
diff --git a/Zotlabs/Module/Oauth2testvehicle.php b/Zotlabs/Module/Oauth2testvehicle.php
new file mode 100644
index 000000000..5ae278e8c
--- /dev/null
+++ b/Zotlabs/Module/Oauth2testvehicle.php
@@ -0,0 +1,151 @@
+<?php
+
+namespace Zotlabs\Module;
+
+/**
+ * The OAuth2TestVehicle class is a way to test the registration of an OAuth2
+ * client app. It allows you to walk through the steps of registering a client,
+ * requesting an authorization code for that client, and then requesting an
+ * access token for use in authentication against the Hubzilla API endpoints.
+ */
+class OAuth2TestVehicle extends \Zotlabs\Web\Controller {
+
+ function init() {
+
+ killme();
+
+ // If there is a 'code' and 'state' parameter then this is a client app
+ // callback issued after the authorization code request
+ // TODO: Check state value and compare to original sent value
+ // "You should first compare this state value to ensure it matches the
+ // one you started with. You can typically store the state value in a
+ // cookie, and compare it when the user comes back. This ensures your
+ // redirection endpoint isn't able to be tricked into attempting to
+ // exchange arbitrary authorization codes."
+ $_SESSION['redirect_uri'] = z_root() . '/oauth2testvehicle';
+ $_SESSION['authorization_code'] = (x($_REQUEST, 'code') ? $_REQUEST['code'] : $_SESSION['authorization_code']);
+ $_SESSION['state'] = (x($_REQUEST, 'state') ? $_REQUEST['state'] : $_SESSION['state'] );
+ $_SESSION['client_id'] = (x($_REQUEST, 'client_id') ? $_REQUEST['client_id'] : $_SESSION['client_id'] );
+ $_SESSION['client_secret'] = (x($_REQUEST, 'client_secret') ? $_REQUEST['client_secret'] : $_SESSION['client_secret']);
+ $_SESSION['access_token'] = (x($_REQUEST, 'access_token') ? $_REQUEST['access_token'] : $_SESSION['access_token'] );
+ $_SESSION['api_response'] = (x($_SESSION, 'api_response') ? $_SESSION['api_response'] : '');
+ }
+ function get() {
+
+ $o .= replace_macros(get_markup_template('oauth2testvehicle.tpl'), array(
+ '$baseurl' => z_root(),
+ '$api_response' => $_SESSION['api_response'],
+ /*
+ endpoints => array(
+ array(
+ 'path_to_endpoint',
+ array(
+ array('field_name_1', 'value'),
+ array('field_name_2', 'value'),
+ ...
+ ),
+ 'submit_button_name',
+ 'Description of API action'
+ )
+ )
+ */
+ '$endpoints' => array(
+ array(
+ 'authorize',
+ array(
+ array('response_type', 'code'),
+ array('client_id', (x($_REQUEST, 'client_id') ? $_REQUEST['client_id'] : 'oauth2_test_app')),
+ array('redirect_uri', $_SESSION['redirect_uri']),
+ array('state', 'xyz'),
+ // OpenID Connect Dynamic Client Registration 1.0 Client Metadata
+ // http://openid.net/specs/openid-connect-registration-1_0.html
+ array('client_name', 'OAuth2 Test App'),
+ array('logo_uri', urlencode(z_root() . '/images/icons/plugin.png')),
+ array('client_uri', urlencode('https://client.example.com/website')),
+ array('application_type', 'web'), // would be 'native' for mobile app
+ ),
+ 'oauth_authorize',
+ 'Authorize a test client app',
+ 'GET',
+ (($_REQUEST['code'] && $_REQUEST['state']) ? true : false),
+ ),
+ array(
+ 'oauth2testvehicle',
+ array(
+ array('action', 'request_token'),
+ array('grant_type', 'authorization_code'),
+ array('code', $_SESSION['authorization_code']),
+ array('redirect_uri', $_SESSION['redirect_uri']),
+ array('client_id', ($_SESSION['client_id'] ? $_SESSION['client_id'] : 'oauth2_test_app')),
+ array('client_secret', $_SESSION['client_secret']),
+ ),
+ 'oauth_token_request',
+ 'Request a token',
+ 'POST',
+ ($_SESSION['success'] === 'request_token'),
+ ),
+ array(
+ 'oauth2testvehicle',
+ array(
+ array('action', 'api_files'),
+ array('access_token', $_SESSION['access_token']),
+ ),
+ 'oauth_api_files',
+ 'API: Get channel files',
+ 'POST',
+ ($_SESSION['success'] === 'api_files'),
+ )
+ )
+ ));
+ $_SESSION['success'] = '';
+ return $o;
+ }
+
+ function post() {
+
+ switch ($_POST['action']) {
+ case 'api_files':
+ $access_token = $_SESSION['access_token'];
+ $url = z_root() . '/api/z/1.0/files/';
+ $headers = [];
+ $headers[] = 'Authorization: Bearer ' . $access_token;
+ $post = z_fetch_url($url, false, 0, array(
+ 'custom' => 'GET',
+ 'headers' => $headers,
+ ));
+ logger(json_encode($post, JSON_PRETTY_PRINT), LOGGER_DEBUG);
+ $response = json_decode($post['body'], true);
+ $_SESSION['api_response'] = json_encode($response, JSON_PRETTY_PRINT);
+ break;
+ case 'request_token':
+ $grant_type = (x($_POST, 'grant_type') ? $_POST['grant_type'] : '');
+ $redirect_uri = (x($_POST, 'redirect_uri') ? $_POST['redirect_uri'] : '');
+ $client_id = (x($_POST, 'client_id') ? $_POST['client_id'] : '');
+ $code = (x($_POST, 'code') ? $_POST['code'] : '');
+ $client_secret = (x($_POST, 'client_secret') ? $_POST['client_secret'] : '');
+ $url = z_root() . '/token/';
+ $params = http_build_query(array(
+ 'grant_type' => $grant_type,
+ 'redirect_uri' => urlencode($redirect_uri),
+ 'client_id' => $client_id,
+ 'code' => $code,
+ ));
+ $post = z_post_url($url, $params, 0, array(
+ 'http_auth' => $client_id . ':' . $client_secret,
+ ));
+ logger(json_encode($post, JSON_PRETTY_PRINT), LOGGER_DEBUG);
+ $response = json_decode($post['body'], true);
+ logger(json_encode($response, JSON_PRETTY_PRINT), LOGGER_DEBUG);
+ if($response['access_token']) {
+ info('Access token received: ' . $response['access_token'] . EOL);
+ $_SESSION['success'] = 'request_token';
+ $_SESSION['access_token'] = $response['access_token'];
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+
+}
diff --git a/Zotlabs/Module/Ochannel.php b/Zotlabs/Module/Ochannel.php
new file mode 100644
index 000000000..508be1408
--- /dev/null
+++ b/Zotlabs/Module/Ochannel.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace Zotlabs\Module;
+
+require_once('include/contact_widgets.php');
+require_once('include/items.php');
+require_once("include/bbcode.php");
+require_once('include/security.php');
+require_once('include/conversation.php');
+require_once('include/acl_selectors.php');
+require_once('include/permissions.php');
+
+/**
+ * @brief Channel Controller for broken OStatus implementations
+ *
+ */
+class Ochannel extends \Zotlabs\Web\Controller {
+
+ function init() {
+
+ $which = null;
+ if(argc() > 1)
+ $which = argv(1);
+ if(! $which) {
+ if(local_channel()) {
+ $channel = \App::get_channel();
+ if($channel && $channel['channel_address'])
+ $which = $channel['channel_address'];
+ }
+ }
+ if(! $which) {
+ notice( t('You must be logged in to see this page.') . EOL );
+ return;
+ }
+
+ $profile = 0;
+ $channel = \App::get_channel();
+
+ if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
+ $which = $channel['channel_address'];
+ $profile = argv(1);
+ }
+
+ head_add_link( [
+ 'rel' => 'alternate',
+ 'type' => 'application/atom+xml',
+ 'href' => z_root() . '/ofeed/' . $which
+ ]);
+
+
+ // Run profile_load() here to make sure the theme is set before
+ // we start loading content
+
+ profile_load($which,$profile);
+ }
+
+ function get($update = 0, $load = false) {
+
+ if(argc() < 2)
+ return;
+
+ if($load)
+ $_SESSION['loadtime'] = datetime_convert();
+
+ return '<script>window.location.href = "' . z_root() . '/' . str_replace('ochannel/','channel/',\App::$query_string) . '";</script>';
+
+ }
+
+}
diff --git a/Zotlabs/Module/Oep.php b/Zotlabs/Module/Oep.php
index bb3a13b56..ec40bf9db 100644
--- a/Zotlabs/Module/Oep.php
+++ b/Zotlabs/Module/Oep.php
@@ -125,6 +125,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
+ "' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])
@@ -209,6 +210,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
+ "' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])
@@ -292,6 +294,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
+ "' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])
@@ -366,6 +369,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
+ "' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])
diff --git a/Zotlabs/Module/Owa.php b/Zotlabs/Module/Owa.php
index e62fc9592..da26748b3 100644
--- a/Zotlabs/Module/Owa.php
+++ b/Zotlabs/Module/Owa.php
@@ -34,6 +34,15 @@ class Owa extends \Zotlabs\Web\Controller {
where hubloc_addr = '%s' ",
dbesc(str_replace('acct:','',$keyId))
);
+ if(! $r) {
+ $found = discover_by_webbie(str_replace('acct:','',$keyId));
+ if($found) {
+ $r = q("select * from hubloc left join xchan on hubloc_hash = xchan_hash
+ where hubloc_addr = '%s' ",
+ dbesc(str_replace('acct:','',$keyId))
+ );
+ }
+ }
if($r) {
foreach($r as $hubloc) {
$verified = \Zotlabs\Web\HTTPSig::verify('',$hubloc['xchan_pubkey']);
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php
index 81af607ec..fa22c3f26 100644
--- a/Zotlabs/Module/Photos.php
+++ b/Zotlabs/Module/Photos.php
@@ -695,8 +695,8 @@ class Photos extends \Zotlabs\Web\Controller {
'$newalbum_label' => t('Enter an album name'),
'$newalbum_placeholder' => t('or select an existing album (doubleclick)'),
'$visible' => array('visible', t('Create a status post for this upload'), 0,'', array(t('No'), t('Yes')), 'onclick="showHideBodyTextarea();"'),
- '$caption' => array('description', t('Caption (optional):')),
- '$body' => array('body', t('Description (optional):'),'', 'Description will only appear in the status post'),
+ '$caption' => array('description', t('Title (optional)')),
+ '$body' => array('body', t('Description (optional)'),'', 'Description will only appear in the status post'),
'$albums' => $albums['albums'],
'$selname' => $selname,
'$permissions' => t('Permissions'),
@@ -841,7 +841,7 @@ class Photos extends \Zotlabs\Web\Controller {
'$album_id' => $datum,
'$album_edit' => array(t('Edit Album'), $album_edit),
'$can_post' => $can_post,
- '$upload' => array(t('Upload'), z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/upload/' . $datum),
+ '$upload' => array(t('Add Photos'), z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/upload/' . $datum),
'$order' => $order,
'$upload_form' => $upload_form,
'$usage' => $usage_message
@@ -1065,7 +1065,7 @@ class Photos extends \Zotlabs\Web\Controller {
'newalbum_placeholder' => t('or select an existing one (doubleclick)'),
'nickname' => \App::$data['channel']['channel_address'],
'resource_id' => $ph[0]['resource_id'],
- 'capt_label' => t('Caption'),
+ 'capt_label' => t('Title (optional)'),
'caption' => $caption_e,
'tag_label' => t('Add a Tag'),
'permissions' => t('Permissions'),
@@ -1378,7 +1378,7 @@ class Photos extends \Zotlabs\Web\Controller {
'$title' => t('Recent Photos'),
'$album_id' => bin2hex(t('Recent Photos')),
'$can_post' => $can_post,
- '$upload' => array(t('Upload'), z_root().'/photos/'.\App::$data['channel']['channel_address'].'/upload'),
+ '$upload' => array(t('Add Photos'), z_root().'/photos/'.\App::$data['channel']['channel_address'].'/upload'),
'$photos' => $photos,
'$upload_form' => $upload_form,
'$usage' => $usage_message
diff --git a/Zotlabs/Module/Ping.php b/Zotlabs/Module/Ping.php
index eab49d69e..87f9ee78a 100644
--- a/Zotlabs/Module/Ping.php
+++ b/Zotlabs/Module/Ping.php
@@ -140,7 +140,13 @@ class Ping extends \Zotlabs\Web\Controller {
db_utcnow(), db_quoteinterval('3 MINUTE')
);
- $discover_tab_on = ((get_config('system','disable_discover_tab') || get_config('system','disable_discover_tab') === false) ? false : true);
+
+ $sql_extra = '';
+ if(! ($vnotify & VNOTIFY_LIKE))
+ $sql_extra = ' AND verb NOT IN ("' . dbesc(ACTIVITY_LIKE) . '", "' . dbesc(ACTIVITY_DISLIKE) . '") ';
+
+ $discover_tab_on = can_view_public_stream();
+
$notify_pubs = ((local_channel()) ? ($vnotify & VNOTIFY_PUBS) && $discover_tab_on : $discover_tab_on);
if($notify_pubs) {
@@ -151,7 +157,8 @@ class Ping extends \Zotlabs\Web\Controller {
AND item_unseen = 1
AND author_xchan != '%s'
AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
- $item_normal",
+ $item_normal
+ $sql_extra",
intval($sys['channel_id']),
dbesc(get_observer_hash())
);
@@ -160,6 +167,8 @@ class Ping extends \Zotlabs\Web\Controller {
$result['pubs'] = intval($pubs[0]['total']);
}
+
+
if((argc() > 1) && (argv(1) === 'pubs') && ($notify_pubs)) {
$sys = get_sys_channel();
$result = array();
@@ -170,6 +179,7 @@ class Ping extends \Zotlabs\Web\Controller {
AND author_xchan != '%s'
AND created > '" . datetime_convert('UTC','UTC',$_SESSION['static_loadtime']) . "'
$item_normal
+ $sql_extra
ORDER BY created DESC
LIMIT 300",
intval($sys['channel_id']),
@@ -275,10 +285,10 @@ class Ping extends \Zotlabs\Web\Controller {
intval(local_channel())
);
- $b64mid = ((strpos($r[0]['thr_parent'], 'b64.' === 0)) ? $r[0]['thr_parent'] : 'b64.' . base64url_encode($r[0]['thr_parent']));
+ $b64mid = ((strpos($r[0]['thr_parent'], 'b64.') === 0) ? $r[0]['thr_parent'] : 'b64.' . base64url_encode($r[0]['thr_parent']));
}
else {
- $b64mid = ((strpos($mid, 'b64.' === 0)) ? $mid : 'b64.' . base64url_encode($mid));
+ $b64mid = ((strpos($mid, 'b64.') === 0) ? $mid : 'b64.' . base64url_encode($mid));
}
$notifs[] = array(
@@ -334,6 +344,7 @@ class Ping extends \Zotlabs\Web\Controller {
AND item_unseen = 1
AND author_xchan != '%s'
$item_normal
+ $sql_extra
ORDER BY created DESC
LIMIT 300",
intval(local_channel()),
@@ -508,6 +519,7 @@ class Ping extends \Zotlabs\Web\Controller {
$r = q("SELECT id, item_wall FROM item
WHERE uid = %d and item_unseen = 1
$item_normal
+ $sql_extra
AND author_xchan != '%s'",
intval(local_channel()),
dbesc($ob_hash)
diff --git a/Zotlabs/Module/Profile_photo.php b/Zotlabs/Module/Profile_photo.php
index 44b7c18c6..2ce8686b9 100644
--- a/Zotlabs/Module/Profile_photo.php
+++ b/Zotlabs/Module/Profile_photo.php
@@ -463,6 +463,12 @@ class Profile_photo extends \Zotlabs\Web\Controller {
'$embedPhotosModalTitle' => t('Use a photo from your albums'),
'$embedPhotosModalCancel' => t('Cancel'),
'$embedPhotosModalOK' => t('OK'),
+ '$modalchooseimages' => t('Choose images to embed'),
+ '$modalchoosealbum' => t('Choose an album'),
+ '$modaldiffalbum' => t('Choose a different album'),
+ '$modalerrorlist' => t('Error getting album list'),
+ '$modalerrorlink' => t('Error getting photo link'),
+ '$modalerroralbum' => t('Error getting album'),
'$form_security_token' => get_form_security_token("profile_photo"),
'$select' => t('Select existing photo'),
));
diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php
index b1cf9596c..202ee462a 100644
--- a/Zotlabs/Module/Profiles.php
+++ b/Zotlabs/Module/Profiles.php
@@ -655,7 +655,7 @@ class Profiles extends \Zotlabs\Web\Controller {
intval($id),
intval(local_channel())
);
- if(! count($r)) {
+ if(! $r) {
notice( t('Profile not found.') . EOL);
return;
}
@@ -712,13 +712,10 @@ class Profiles extends \Zotlabs\Web\Controller {
$tpl = get_markup_template("profile_edit.tpl");
$o .= replace_macros($tpl,array(
-
+ '$multi_profiles' => ((feature_enabled(local_channel(),'multi_profiles')) ? true : false),
'$form_security_token' => get_form_security_token("profile_edit"),
- '$profile_clone_link' => ((feature_enabled(local_channel(),'multi_profiles')) ? 'profiles/clone/' . $r[0]['id'] . '?t='
- . get_form_security_token("profile_clone") : ''),
- '$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t='
- . get_form_security_token("profile_drop"),
-
+ '$profile_clone_link' => 'profiles/clone/' . $r[0]['id'] . '?t=' . get_form_security_token("profile_clone"),
+ '$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t=' . get_form_security_token("profile_drop"),
'$fields' => $fields,
'$vcard' => $vcard,
'$guid' => $r[0]['profile_guid'],
@@ -735,7 +732,7 @@ class Profiles extends \Zotlabs\Web\Controller {
'$addthing' => t('Add profile things'),
'$personal' => t('Personal'),
'$location' => t('Location'),
- '$relation' => t('Relation'),
+ '$relation' => t('Relationship'),
'$miscellaneous'=> t('Miscellaneous'),
'$exportable' => feature_enabled(local_channel(),'profile_export'),
'$lbl_import' => t('Import profile from file'),
@@ -786,22 +783,22 @@ class Profiles extends \Zotlabs\Web\Controller {
'$channels' => array('channels', t('My other channels'), $r[0]['channels']),
'$extra_fields' => $extra_fields,
'$comms' => t('Communications'),
- '$tel_label' => t('Phone'),
- '$email_label' => t('Email'),
- '$impp_label' => t('Instant messenger'),
- '$url_label' => t('Website'),
- '$adr_label' => t('Address'),
- '$note_label' => t('Note'),
- '$mobile' => t('Mobile'),
- '$home' => t('Home'),
- '$work' => t('Work'),
- '$other' => t('Other'),
- '$add_card' => t('Add Contact'),
- '$add_field' => t('Add Field'),
- '$create' => t('Create'),
- '$update' => t('Update'),
- '$delete' => t('Delete'),
- '$cancel' => t('Cancel'),
+ '$tel_label' => t('Phone'),
+ '$email_label' => t('Email'),
+ '$impp_label' => t('Instant messenger'),
+ '$url_label' => t('Website'),
+ '$adr_label' => t('Address'),
+ '$note_label' => t('Note'),
+ '$mobile' => t('Mobile'),
+ '$home' => t('Home'),
+ '$work' => t('Work'),
+ '$other' => t('Other'),
+ '$add_card' => t('Add Contact'),
+ '$add_field' => t('Add Field'),
+ '$create' => t('Create'),
+ '$update' => t('Update'),
+ '$delete' => t('Delete'),
+ '$cancel' => t('Cancel'),
));
$arr = array('profile' => $r[0], 'entry' => $o);
diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php
index 79f205a22..571118201 100644
--- a/Zotlabs/Module/Pubstream.php
+++ b/Zotlabs/Module/Pubstream.php
@@ -34,6 +34,8 @@ class Pubstream extends \Zotlabs\Web\Controller {
}
$mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : '');
+ $hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
+
if(strpos($mid,'b64.') === 0)
$decoded = @base64url_decode(substr($mid,4));
@@ -133,7 +135,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
'$order' => 'comment',
'$file' => '',
'$cats' => '',
- '$tags' => '',
+ '$tags' => $hashtags,
'$dend' => '',
'$mid' => $mid,
'$verb' => '',
@@ -170,6 +172,10 @@ class Pubstream extends \Zotlabs\Web\Controller {
$page_mode = 'client';
+ if(x($hashtags)) {
+ $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG));
+ }
+
$net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : '');
$net_query2 = (($net) ? " and xchan_network = '" . protect_sprintf(dbesc($net)) . "' " : '');
@@ -224,7 +230,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
);
}
else {
- $r = q("SELECT distinct parent AS item_id, $ordering FROM item
+ $r = q("SELECT parent AS item_id FROM item
left join abook on item.author_xchan = abook.abook_xchan
$net_query
WHERE true $uids $item_normal_update
@@ -273,7 +279,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
$o .= '<div id="content-complete"></div>';
if(($items) && (! $update))
- $o .= alt_pager($a,count($items));
+ $o .= alt_pager(count($items));
return $o;
diff --git a/Zotlabs/Module/React.php b/Zotlabs/Module/React.php
index 6473317c7..fbb760786 100644
--- a/Zotlabs/Module/React.php
+++ b/Zotlabs/Module/React.php
@@ -49,6 +49,7 @@ class React extends \Zotlabs\Web\Controller {
$n['aid'] = $channel['channel_account_id'];
$n['uid'] = $channel['channel_id'];
$n['item_origin'] = true;
+ $n['item_type'] = $i[0]['item_type'];
$n['parent'] = $postid;
$n['parent_mid'] = $i[0]['mid'];
$n['mid'] = item_message_id();
diff --git a/Zotlabs/Module/Regmod.php b/Zotlabs/Module/Regmod.php
index c7e5c44aa..70635d707 100644
--- a/Zotlabs/Module/Regmod.php
+++ b/Zotlabs/Module/Regmod.php
@@ -35,6 +35,8 @@ class Regmod extends \Zotlabs\Web\Controller {
if($cmd === 'allow') {
if (! account_allow($hash)) killme();
}
+
+ goaway('/admin/accounts');
}
}
diff --git a/Zotlabs/Module/Rpost.php b/Zotlabs/Module/Rpost.php
index 5d2f0d7e8..f0c4a06b9 100644
--- a/Zotlabs/Module/Rpost.php
+++ b/Zotlabs/Module/Rpost.php
@@ -45,7 +45,9 @@ class Rpost extends \Zotlabs\Web\Controller {
$url = get_rpost_path(\App::get_observer());
// make sure we're not looping to our own hub
if(($url) && (! stristr($url, \App::get_hostname()))) {
- foreach($_REQUEST as $key => $arg) {
+ foreach($_GET as $key => $arg) {
+ if($key === 'q')
+ continue;
$url .= '&' . $key . '=' . $arg;
}
goaway($url);
@@ -111,43 +113,7 @@ class Rpost extends \Zotlabs\Web\Controller {
}
if($_REQUEST['post_id']) {
- $r = q("SELECT * from item WHERE id = %d LIMIT 1",
- intval($_REQUEST['post_id'])
- );
- if(($r) && (! intval($r[0]['item_private']))) {
- $sql_extra = item_permissions_sql($r[0]['uid']);
-
- $r = q("select * from item where id = %d $sql_extra",
- intval($_REQUEST['post_id'])
- );
- if($r && $r[0]['mimetype'] === 'text/bbcode') {
-
- xchan_query($r);
-
- $is_photo = (($r[0]['obj_type'] === ACTIVITY_OBJ_PHOTO) ? true : false);
- if($is_photo) {
- $object = json_decode($r[0]['obj'],true);
- $photo_bb = $object['body'];
- }
-
- if (strpos($r[0]['body'], "[/share]") !== false) {
- $pos = strpos($r[0]['body'], "[share");
- $i = substr($r[0]['body'], $pos);
- } else {
- $i = "[share author='".urlencode($r[0]['author']['xchan_name']).
- "' profile='".$r[0]['author']['xchan_url'] .
- "' avatar='".$r[0]['author']['xchan_photo_s'].
- "' link='".$r[0]['plink'].
- "' posted='".$r[0]['created'].
- "' message_id='".$r[0]['mid']."']";
- if($r[0]['title'])
- $i .= '[b]'.$r[0]['title'].'[/b]'."\r\n";
- $i .= (($is_photo) ? $photo_bb . "\r\n" . $r[0]['body'] : $r[0]['body']);
- $i .= "[/share]";
- }
- }
- }
- $_REQUEST['body'] = $_REQUEST['body'] . $i;
+ $_REQUEST['body'] .= '[share=' . intval($_REQUEST['post_id']) . '][/share]';
}
$x = array(
diff --git a/Zotlabs/Module/Search.php b/Zotlabs/Module/Search.php
index 55e0e746f..43464ad8b 100644
--- a/Zotlabs/Module/Search.php
+++ b/Zotlabs/Module/Search.php
@@ -66,6 +66,10 @@ class Search extends \Zotlabs\Web\Controller {
$search = substr($search,1);
goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
}
+ if(strpos($search,'!') === 0) {
+ $search = substr($search,1);
+ goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
+ }
if(strpos($search,'?') === 0) {
$search = substr($search,1);
goaway(z_root() . '/help' . '?f=1&navsearch=1&search=' . $search);
diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php
index fb8284d2e..3e928ec58 100644
--- a/Zotlabs/Module/Settings/Channel.php
+++ b/Zotlabs/Module/Settings/Channel.php
@@ -202,12 +202,14 @@ class Channel {
$vnotify += intval($_POST['vnotify9']);
if(x($_POST,'vnotify10'))
$vnotify += intval($_POST['vnotify10']);
- if(x($_POST,'vnotify11'))
+ if(x($_POST,'vnotify11') && is_site_admin())
$vnotify += intval($_POST['vnotify11']);
if(x($_POST,'vnotify12'))
$vnotify += intval($_POST['vnotify12']);
if(x($_POST,'vnotify13'))
$vnotify += intval($_POST['vnotify13']);
+ if(x($_POST,'vnotify14'))
+ $vnotify += intval($_POST['vnotify14']);
$always_show_in_notices = x($_POST,'always_show_in_notices') ? 1 : 0;
@@ -412,12 +414,16 @@ class Channel {
));
$subdir = ((strlen(\App::get_path())) ? '<br />' . t('or') . ' ' . z_root() . '/channel/' . $nickname : '');
+
+ $webbie = $nickname . '@' . \App::get_hostname();
+ $intl_nickname = unpunify($nickname) . '@' . unpunify(\App::get_hostname());
+
$tpl_addr = get_markup_template("settings_nick_set.tpl");
$prof_addr = replace_macros($tpl_addr,array(
'$desc' => t('Your channel address is'),
- '$nickname' => $nickname,
+ '$nickname' => (($intl_nickname === $webbie) ? $webbie : $intl_nickname . '&nbsp;(' . $webbie . ')'),
'$subdir' => $subdir,
'$davdesc' => t('Your files/photos are accessible via WebDAV at'),
'$davpath' => ((get_account_techlevel() > 3) ? z_root() . '/dav/' . $nickname : ''),
@@ -480,7 +486,8 @@ class Channel {
$plugin = [ 'basic' => '', 'security' => '', 'notify' => '', 'misc' => '' ];
call_hooks('channel_settings',$plugin);
- $disable_discover_tab = get_config('system','disable_discover_tab') || get_config('system','disable_discover_tab') === false;
+ $disable_discover_tab = intval(get_config('system','disable_discover_tab',1)) == 1;
+ $site_firehose = intval(get_config('system','site_firehose',0)) == 1;
$o .= replace_macros($stpl,array(
'$ptitle' => t('Channel Settings'),
@@ -529,7 +536,7 @@ class Channel {
'$deny_gid' => acl2json($perm_defaults['deny_gid']),
'$suggestme' => $suggestme,
'$group_select' => $group_select,
- '$role' => array('permissions_role' , t('Channel permissions category:'), $permissions_role, '', $perm_roles),
+ '$role' => array('permissions_role' , t('Channel role and privacy'), $permissions_role, '', $perm_roles),
'$defpermcat' => [ 'defpermcat', t('Default Permissions Group'), $default_permcat, '', $permcats ],
'$permcat_enable' => feature_enabled(local_channel(),'permcats'),
'$profile_in_dir' => $profile_in_dir,
@@ -569,11 +576,12 @@ class Channel {
'$vnotify8' => array('vnotify8', t('System info messages'), ($vnotify & VNOTIFY_INFO), VNOTIFY_INFO, t('Recommended'), $yes_no),
'$vnotify9' => array('vnotify9', t('System critical alerts'), ($vnotify & VNOTIFY_ALERT), VNOTIFY_ALERT, t('Recommended'), $yes_no),
'$vnotify10' => array('vnotify10', t('New connections'), ($vnotify & VNOTIFY_INTRO), VNOTIFY_INTRO, t('Recommended'), $yes_no),
- '$vnotify11' => array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no),
+ '$vnotify11' => ((is_site_admin()) ? array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no) : array()),
'$vnotify12' => array('vnotify12', t('Unseen shared files'), ($vnotify & VNOTIFY_FILES), VNOTIFY_FILES, '', $yes_no),
- '$vnotify13' => (($disable_discover_tab) ? array() : array('vnotify13', t('Unseen public activity'), ($vnotify & VNOTIFY_PUBS), VNOTIFY_PUBS, '', $yes_no)),
+ '$vnotify13' => (($disable_discover_tab && !$site_firehose) ? array() : array('vnotify13', t('Unseen public activity'), ($vnotify & VNOTIFY_PUBS), VNOTIFY_PUBS, '', $yes_no)),
+ '$vnotify14' => array('vnotify14', t('Unseen likes and dislikes'), ($vnotify & VNOTIFY_LIKE), VNOTIFY_LIKE, '', $yes_no),
'$mailhost' => [ 'mailhost', t('Email notification hub (hostname)'), get_pconfig(local_channel(),'system','email_notify_host',\App::get_hostname()), sprintf( t('If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s'),\App::get_hostname()) ],
- '$always_show_in_notices' => array('always_show_in_notices', t('Also show new wall posts, private messages and connections under Notices'), $always_show_in_notices, 1, '', $yes_no),
+ '$always_show_in_notices' => array('always_show_in_notices', t('Show new wall posts, private messages and connections under Notices'), $always_show_in_notices, 1, '', $yes_no),
'$evdays' => array('evdays', t('Notify me of events this many days in advance'), $evdays, t('Must be greater than 0')),
'$basic_addon' => $plugin['basic'],
diff --git a/Zotlabs/Module/Settings/Featured.php b/Zotlabs/Module/Settings/Featured.php
index 1da139206..542a05363 100644
--- a/Zotlabs/Module/Settings/Featured.php
+++ b/Zotlabs/Module/Settings/Featured.php
@@ -57,7 +57,10 @@ class Featured {
}
call_hooks('feature_settings', $settings_addons);
-
+
+ $this->sortpanels($settings_addons);
+
+
$tpl = get_markup_template("settings_addons.tpl");
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_featured"),
@@ -67,5 +70,15 @@ class Featured {
));
return $o;
}
-
-} \ No newline at end of file
+
+ function sortpanels(&$s) {
+ $a = explode('<div class="panel">',$s);
+ if($a) {
+ usort($a,'featured_sort');
+ $s = implode('<div class="panel">',$a);
+ }
+ }
+
+}
+
+
diff --git a/Zotlabs/Module/Settings/Features.php b/Zotlabs/Module/Settings/Features.php
index 5b642acc3..888032c28 100644
--- a/Zotlabs/Module/Settings/Features.php
+++ b/Zotlabs/Module/Settings/Features.php
@@ -8,43 +8,75 @@ class Features {
function post() {
check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
- // Build list of features and check which are set
- // We will not create any settings for features that are above our techlevel
-
- $features = get_features();
- $all_features = array();
- foreach($features as $k => $v) {
- foreach($v as $f)
- $all_features[] = $f[0];
- }
- foreach($all_features as $k) {
- if(x($_POST,"feature_$k"))
- set_pconfig(local_channel(),'feature',$k, 1);
- else
- set_pconfig(local_channel(),'feature',$k, 0);
+ $features = get_features(false);
+
+ foreach($features as $fname => $fdata) {
+ foreach(array_slice($fdata,1) as $f) {
+ $k = $f[0];
+ if(array_key_exists("feature_$k",$_POST))
+ set_pconfig(local_channel(),'feature',$k, (string) $_POST["feature_$k"]);
+ else
+ set_pconfig(local_channel(),'feature', $k, '');
+ }
}
build_sync_packet();
return;
}
function get() {
- $arr = array();
- $features = get_features();
-
+
+ $arr = [];
+ $harr = [];
+
+ if(intval($_REQUEST['techlevel']))
+ $level = intval($_REQUEST['techlevel']);
+ else {
+ $level = get_account_techlevel();
+ }
+
+ if(! intval($level)) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ $techlevels = \Zotlabs\Lib\Techlevels::levels();
+
+ // This page isn't accessible at techlevel 0
+
+ unset($techlevels[0]);
+
+ $def_techlevel = (($level > 0) ? $level : 1);
+ $techlock = get_config('system','techlevel_lock');
+
+ $all_features_raw = get_features(false);
+
+ foreach($all_features_raw as $fname => $fdata) {
+ foreach(array_slice($fdata,1) as $f) {
+ $harr[$f[0]] = ((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : '');
+ }
+ }
+
+ $features = get_features(true,$level);
+
foreach($features as $fname => $fdata) {
$arr[$fname] = array();
$arr[$fname][0] = $fdata[0];
foreach(array_slice($fdata,1) as $f) {
- $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
+ $arr[$fname][1][] = array('feature_' . $f[0],$f[1],((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
+ unset($harr[$f[0]]);
}
}
$tpl = get_markup_template("settings_features.tpl");
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_features"),
- '$title' => t('Additional Features'),
- '$features' => $arr,
- '$submit' => t('Submit'),
+ '$title' => t('Additional Features'),
+ '$techlevel' => [ 'techlevel', t('Your technical skill level'), $def_techlevel, t('Used to provide a member experience and additional features consistent with your comfort level'), $techlevels ],
+ '$techlock' => $techlock,
+ '$features' => $arr,
+ '$hiddens' => $harr,
+ '$baseurl' => z_root(),
+ '$submit' => t('Submit'),
));
return $o;
diff --git a/Zotlabs/Module/Settings/Oauth.php b/Zotlabs/Module/Settings/Oauth.php
index c612c7667..d6576c6de 100644
--- a/Zotlabs/Module/Settings/Oauth.php
+++ b/Zotlabs/Module/Settings/Oauth.php
@@ -23,11 +23,12 @@ class Oauth {
check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth');
- $name = ((x($_POST,'name')) ? $_POST['name'] : '');
- $key = ((x($_POST,'key')) ? $_POST['key'] : '');
- $secret = ((x($_POST,'secret')) ? $_POST['secret'] : '');
- $redirect = ((x($_POST,'redirect')) ? $_POST['redirect'] : '');
- $icon = ((x($_POST,'icon')) ? $_POST['icon'] : '');
+ $name = ((x($_POST,'name')) ? escape_tags($_POST['name']) : '');
+ $key = ((x($_POST,'key')) ? escape_tags($_POST['key']) : '');
+ $secret = ((x($_POST,'secret')) ? escape_tags($_POST['secret']) : '');
+ $redirect = ((x($_POST,'redirect')) ? escape_tags($_POST['redirect']) : '');
+ $icon = ((x($_POST,'icon')) ? escape_tags($_POST['icon']) : '');
+ $oauth2 = ((x($_POST,'oauth2')) ? intval($_POST['oauth2']) : 0);
$ok = true;
if($name == '') {
$ok = false;
diff --git a/Zotlabs/Module/Settings/Oauth2.php b/Zotlabs/Module/Settings/Oauth2.php
new file mode 100644
index 000000000..88bbea3b8
--- /dev/null
+++ b/Zotlabs/Module/Settings/Oauth2.php
@@ -0,0 +1,160 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Oauth2 {
+
+
+ function post() {
+
+ if(x($_POST,'remove')){
+ check_form_security_token_redirectOnErr('/settings/oauth2', 'settings_oauth2');
+
+ $key = $_POST['remove'];
+ q("DELETE FROM tokens WHERE id='%s' AND uid=%d",
+ dbesc($key),
+ local_channel());
+ goaway(z_root()."/settings/oauth2/");
+ return;
+ }
+
+ if((argc() > 2) && (argv(2) === 'edit' || argv(2) === 'add') && x($_POST,'submit')) {
+
+ check_form_security_token_redirectOnErr('/settings/oauth2', 'settings_oauth2');
+
+ $name = ((x($_POST,'name')) ? escape_tags(trim($_POST['name'])) : '');
+ $secret = ((x($_POST,'secret')) ? escape_tags(trim($_POST['secret'])) : '');
+ $redirect = ((x($_POST,'redirect')) ? escape_tags(trim($_POST['redirect'])) : '');
+ $grant = ((x($_POST,'grant')) ? escape_tags(trim($_POST['grant'])) : '');
+ $scope = ((x($_POST,'scope')) ? escape_tags(trim($_POST['scope'])) : '');
+
+ $ok = true;
+ if($name == '' || $secret == '') {
+ $ok = false;
+ notice( t('Name and Secret are required') . EOL);
+ }
+
+ if($ok) {
+ if ($_POST['submit']==t("Update")){
+ $r = q("UPDATE oauth_clients SET
+ client_id = '%s',
+ client_secret = '%s',
+ redirect_uri = '%s',
+ grant_types = '%s',
+ scope = '%s',
+ user_id = '%s'
+ WHERE client_id='%s'",
+ dbesc($name),
+ dbesc($secret),
+ dbesc($redirect),
+ dbesc($grant),
+ dbesc($scope),
+ dbesc(local_channel()),
+ dbesc($name));
+ } else {
+ $r = q("INSERT INTO oauth_clients (client_id, client_secret, redirect_uri, grant_types, scope, user_id)
+ VALUES ('%s','%s','%s','%s','%s','%s')",
+ dbesc($name),
+ dbesc($secret),
+ dbesc($redirect),
+ dbesc($grant),
+ dbesc($scope),
+ dbesc(local_channel())
+ );
+ $r = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ",
+ dbesc($name),
+ intval(local_channel()),
+ dbesc('all')
+ );
+ }
+ }
+ goaway(z_root()."/settings/oauth2/");
+ return;
+ }
+ }
+
+ function get() {
+
+ if((argc() > 2) && (argv(2) === 'add')) {
+ $tpl = get_markup_template("settings_oauth2_edit.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_oauth2"),
+ '$title' => t('Add OAuth2 application'),
+ '$submit' => t('Submit'),
+ '$cancel' => t('Cancel'),
+ '$name' => array('name', t('Name'), '', t('Name of application')),
+ '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')),
+ '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')),
+ '$grant' => array('grant', t('Grant Types'), '', t('leave blank unless your application sepcifically requires this')),
+ '$scope' => array('scope', t('Authorization scope'), '', t('leave blank unless your application sepcifically requires this')),
+ ));
+ return $o;
+ }
+
+ if((argc() > 3) && (argv(2) === 'edit')) {
+ $r = q("SELECT * FROM oauth_clients WHERE client_id='%s' AND user_id= '%s'",
+ dbesc(argv(3)),
+ dbesc(local_channel())
+ );
+
+ if (! $r){
+ notice(t('OAuth2 Application not found.'));
+ return;
+ }
+
+ $app = $r[0];
+
+ $tpl = get_markup_template("settings_oauth2_edit.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_oauth2"),
+ '$title' => t('Add application'),
+ '$submit' => t('Update'),
+ '$cancel' => t('Cancel'),
+ '$name' => array('name', t('Name'), $app['client_id'], t('Name of application')),
+ '$secret' => array('secret', t('Consumer Secret'), $app['client_secret'], t('Automatically generated - change if desired. Max length 20')),
+ '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], t('Redirect URI - leave blank unless your application specifically requires this')),
+ '$grant' => array('grant', t('Grant Types'), $app['grant_types'], t('leave blank unless your application sepcifically requires this')),
+ '$scope' => array('scope', t('Authorization scope'), $app['scope'], t('leave blank unless your application sepcifically requires this')),
+ ));
+ return $o;
+ }
+
+ if((argc() > 3) && (argv(2) === 'delete')) {
+ check_form_security_token_redirectOnErr('/settings/oauth2', 'settings_oauth2', 't');
+
+ $r = q("DELETE FROM oauth_clients WHERE client_id = '%s' AND user_id = '%s'",
+ dbesc(argv(3)),
+ dbesc(local_channel())
+ );
+ goaway(z_root()."/settings/oauth2/");
+ return;
+ }
+
+
+ $r = q("SELECT oauth_clients.*, oauth_access_tokens.access_token as oauth_token, (oauth_clients.user_id = '%s') AS my
+ FROM oauth_clients
+ LEFT JOIN oauth_access_tokens ON oauth_clients.client_id=oauth_access_tokens.client_id
+ WHERE oauth_clients.user_id IN ('%s',0)",
+ dbesc(local_channel()),
+ dbesc(local_channel())
+ );
+
+ $tpl = get_markup_template("settings_oauth2.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_oauth2"),
+ '$baseurl' => z_root(),
+ '$title' => t('Connected OAuth2 Apps'),
+ '$add' => t('Add application'),
+ '$edit' => t('Edit'),
+ '$delete' => t('Delete'),
+ '$consumerkey' => t('Client key starts with'),
+ '$noname' => t('No name'),
+ '$remove' => t('Remove authorization'),
+ '$apps' => $r,
+ ));
+ return $o;
+
+ }
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Settings/Permcats.php b/Zotlabs/Module/Settings/Permcats.php
index 535399083..40641c3f2 100644
--- a/Zotlabs/Module/Settings/Permcats.php
+++ b/Zotlabs/Module/Settings/Permcats.php
@@ -19,6 +19,11 @@ class Permcats {
$all_perms = \Zotlabs\Access\Permissions::Perms();
$name = escape_tags(trim($_POST['name']));
+ if(! $name) {
+ notice( t('Permission Name is required.') . EOL);
+ return;
+ }
+
$pcarr = [];
diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php
index 8e7fbbddf..a3832d156 100644
--- a/Zotlabs/Module/Setup.php
+++ b/Zotlabs/Module/Setup.php
@@ -563,16 +563,20 @@ class Setup extends \Zotlabs\Web\Controller {
$status = true;
$help = '';
- if( (file_exists('.htconfig.php') && !is_writable('.htconfig.php')) ||
- (!file_exists('.htconfig.php') && !is_writable('.')) ) {
- $status = false;
- $help = t('The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.') .EOL;
- $help .= t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.').EOL;
- $help .= t('At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder.').EOL;
- $help .= t('You can alternatively skip this procedure and perform a manual installation. Please see the file "install/INSTALL.txt" for instructions.').EOL;
+ $fname = '.htconfig.php';
+
+ if((file_exists($fname) && is_writable($fname)) ||
+ (! (file_exists($fname) && is_writable('.')))) {
+ $this->check_add($checks, t('.htconfig.php is writable'), $status, true, $help);
+ return;
}
- $this->check_add($checks, t('.htconfig.php is writable'), $status, false, $help);
+ $status = false;
+ $help = t('The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.') .EOL;
+ $help .= t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.').EOL;
+ $help .= t('Please see install/INSTALL.txt for additional information.');
+
+ $this->check_add($checks, t('.htconfig.php is writable'), $status, true, $help);
}
/**
diff --git a/Zotlabs/Module/Share.php b/Zotlabs/Module/Share.php
index 7f4d8b1eb..c6d0be051 100644
--- a/Zotlabs/Module/Share.php
+++ b/Zotlabs/Module/Share.php
@@ -14,10 +14,15 @@ class Share extends \Zotlabs\Web\Controller {
if(! $post_id)
killme();
-
echo '[share=' . $post_id . '][/share]';
killme();
+
+ /**
+ * The remaining code is deprecated and handled in Zotlabs/Lib/Share.php at post
+ * submission time.
+ */
+
if(! (local_channel() || remote_channel()))
killme();
@@ -60,12 +65,14 @@ class Share extends \Zotlabs\Web\Controller {
$pos = strpos($r[0]['body'], "[share");
$o = substr($r[0]['body'], $pos);
} else {
- $o = "[share author='".urlencode($r[0]['author']['xchan_name']).
- "' profile='".$r[0]['author']['xchan_url'] .
- "' avatar='".$r[0]['author']['xchan_photo_s'].
- "' link='".$r[0]['plink'].
- "' posted='".$r[0]['created'].
- "' message_id='".$r[0]['mid']."']";
+ $o = "[share author='" . urlencode($r[0]['author']['xchan_name']) .
+ "' profile='" . $r[0]['author']['xchan_url'] .
+ "' avatar='" . $r[0]['author']['xchan_photo_s'] .
+ "' link='" . $r[0]['plink'] .
+ "' auth='" . (($r[0]['author']['network'] === 'zot') ? 'true' : 'false') .
+ "' posted='" . $r[0]['created'] .
+ "' message_id='" . $r[0]['mid'] .
+ "']";
if($r[0]['title'])
$o .= '[b]'.$r[0]['title'].'[/b]'."\r\n";
$o .= (($is_photo) ? $photo_bb . "\r\n" . $r[0]['body'] : $r[0]['body']);
diff --git a/Zotlabs/Module/Sitelist.php b/Zotlabs/Module/Sitelist.php
index e7d4187b7..2ac5ed1b8 100644
--- a/Zotlabs/Module/Sitelist.php
+++ b/Zotlabs/Module/Sitelist.php
@@ -32,7 +32,7 @@ class Sitelist extends \Zotlabs\Web\Controller {
$result = array('success' => false);
- $r = q("select count(site_url) as total from site where site_type = %d $sql_extra ",
+ $r = q("select count(site_url) as total from site where site_type = %d and site_dead = 0 $sql_extra ",
intval(SITE_TYPE_ZOT)
);
@@ -42,7 +42,7 @@ class Sitelist extends \Zotlabs\Web\Controller {
$result['start'] = $start;
$result['limit'] = $limit;
- $r = q("select * from site where site_type = %d $sql_extra $sql_order $sql_limit",
+ $r = q("select * from site where site_type = %d and site_dead = 0 $sql_extra $sql_order $sql_limit",
intval(SITE_TYPE_ZOT)
);
diff --git a/Zotlabs/Module/Tagger.php b/Zotlabs/Module/Tagger.php
index 603a95f2b..24adf1bde 100644
--- a/Zotlabs/Module/Tagger.php
+++ b/Zotlabs/Module/Tagger.php
@@ -80,6 +80,8 @@ class Tagger extends \Zotlabs\Web\Controller {
break;
}
+
+ $clean_term = trim($term,'"\' ');
$links = array(array('rel' => 'alternate','type' => 'text/html',
'href' => z_root() . '/display/' . gen_link_id($item['mid'])));
@@ -103,15 +105,15 @@ class Tagger extends \Zotlabs\Web\Controller {
),
));
- $tagid = z_root() . '/search?tag=' . $term;
+ $tagid = z_root() . '/search?tag=' . $clean_term;
$objtype = ACTIVITY_OBJ_TAGTERM;
$obj = json_encode(array(
'type' => $objtype,
'id' => $tagid,
'link' => array(array('rel' => 'alternate','type' => 'text/html', 'href' => $tagid)),
- 'title' => $term,
- 'content' => $term
+ 'title' => $clean_term,
+ 'content' => $clean_term
));
$bodyverb = t('%1$s tagged %2$s\'s %3$s with %4$s');
@@ -119,7 +121,7 @@ class Tagger extends \Zotlabs\Web\Controller {
// saving here for reference
// also check out x22d5 and x2317 and x0d6b and x0db8 and x24d0 and xff20 !!!
- $termlink = html_entity_decode('&#x22d5;') . '[zrl=' . z_root() . '/search?tag=' . urlencode($term) . ']'. $term . '[/zrl]';
+ $termlink = html_entity_decode('&#x22d5;') . '[zrl=' . z_root() . '/search?tag=' . urlencode($clean_term) . ']'. $clean_term . '[/zrl]';
$channel = \App::get_channel();
@@ -143,8 +145,7 @@ class Tagger extends \Zotlabs\Web\Controller {
$arr['obj_type'] = $objtype;
$arr['obj'] = $obj;
$arr['parent_mid'] = $item['mid'];
-
- store_item_tag($item['uid'],$item['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$term,$tagid);
+ store_item_tag($item['uid'],$item['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$clean_term,$tagid);
$ret = post_activity_item($arr);
if($ret['success']) {
diff --git a/Zotlabs/Module/Thing.php b/Zotlabs/Module/Thing.php
index f816632ab..c3d8ff802 100644
--- a/Zotlabs/Module/Thing.php
+++ b/Zotlabs/Module/Thing.php
@@ -20,6 +20,11 @@ class Thing extends \Zotlabs\Web\Controller {
$channel = \App::get_channel();
+ if($_SERVER['REQUEST_METHOD'] === 'GET' && argc() < 2) {
+ profile_load($channel['channel_address']);
+ }
+
+
$term_hash = (($_REQUEST['term_hash']) ? $_REQUEST['term_hash'] : '');
$name = escape_tags($_REQUEST['term']);
diff --git a/Zotlabs/Module/Token.php b/Zotlabs/Module/Token.php
index f7c074233..32cf95c61 100644
--- a/Zotlabs/Module/Token.php
+++ b/Zotlabs/Module/Token.php
@@ -29,7 +29,8 @@ class Token extends \Zotlabs\Web\Controller {
}
$s = new \Zotlabs\Identity\OAuth2Server(new OAuth2Storage(\DBA::$dba->db));
- $s->handleTokenRequest(\OAuth2\Request::createFromGlobals())->send();
+ $request = \OAuth2\Request::createFromGlobals();
+ $s->handleTokenRequest($request)->send();
killme();
}
diff --git a/Zotlabs/Module/Uexport.php b/Zotlabs/Module/Uexport.php
index 28c840ceb..9af1887dc 100644
--- a/Zotlabs/Module/Uexport.php
+++ b/Zotlabs/Module/Uexport.php
@@ -22,8 +22,8 @@ class Uexport extends \Zotlabs\Web\Controller {
$month = intval(argv(2));
}
- header('content-type: application/octet_stream');
- header('content-disposition: attachment; filename="' . $channel['channel_address'] . (($year) ? '-' . $year : '') . (($month) ? '-' . $month : '') . '.json"' );
+ header('content-type: application/json');
+ header('content-disposition: attachment; filename="' . $channel['channel_address'] . (($year) ? '-' . $year : '') . (($month) ? '-' . $month : '') . (($_REQUEST['sections']) ? '-' . $_REQUEST['sections'] : '') . '.json"' );
if($year) {
echo json_encode(identity_export_year(local_channel(),$year,$month));
diff --git a/Zotlabs/Module/Webfinger.php b/Zotlabs/Module/Webfinger.php
index c50680de7..0dafae23c 100644
--- a/Zotlabs/Module/Webfinger.php
+++ b/Zotlabs/Module/Webfinger.php
@@ -17,33 +17,15 @@ class Webfinger extends \Zotlabs\Web\Controller {
$o .= '<br /><br />';
- $old = false;
if(x($_GET,'addr')) {
$addr = trim($_GET['addr']);
- // if(strpos($addr,'@') !== false) {
- $res = webfinger_rfc7033($addr,true);
- if(! $res) {
- $res = old_webfinger($addr);
- $old = true;
- }
- // }
- // else {
- // if(function_exists('lrdd'))
- // $res = lrdd($addr);
- // }
-
- if($res && $old) {
- foreach($res as $r) {
- if($r['@attributes']['rel'] === 'http://microformats.org/profile/hcard') {
- $hcard = unamp($r['@attributes']['href']);
- require_once('library/HTML5/Parser.php');
- $res['vcard'] = scrape_vcard($hcard);
- break;
- }
- }
+
+ $res = webfinger_rfc7033($addr,true);
+ if(! $res) {
+ $res = old_webfinger($addr);
}
-
+
$o .= '<pre>';
$o .= str_replace("\n",'<br />',print_r($res,true));
$o .= '</pre>';
diff --git a/Zotlabs/Module/Well_known.php b/Zotlabs/Module/Well_known.php
index b57666bff..177de2323 100644
--- a/Zotlabs/Module/Well_known.php
+++ b/Zotlabs/Module/Well_known.php
@@ -26,7 +26,6 @@ class Well_known extends \Zotlabs\Web\Controller {
killme();
}
-
switch(argv(1)) {
case 'zot-info':
\App::$argc -= 1;
@@ -52,6 +51,10 @@ class Well_known extends \Zotlabs\Web\Controller {
$module->init();
break;
+ case 'dnt-policy.txt':
+ echo file_get_contents('doc/dnt-policy.txt');
+ killme();
+
default:
if(file_exists(\App::$cmd)) {
echo file_get_contents(\App::$cmd);
diff --git a/Zotlabs/Module/Wfinger.php b/Zotlabs/Module/Wfinger.php
index 753721d27..81d4beaed 100644
--- a/Zotlabs/Module/Wfinger.php
+++ b/Zotlabs/Module/Wfinger.php
@@ -123,7 +123,8 @@ class Wfinger extends \Zotlabs\Web\Controller {
$result['properties'] = [
'http://webfinger.net/ns/name' => $r[0]['channel_name'],
'http://xmlns.com/foaf/0.1/name' => $r[0]['channel_name'],
- 'https://w3id.org/security/v1#publicKeyPem' => $r[0]['xchan_pubkey']
+ 'https://w3id.org/security/v1#publicKeyPem' => $r[0]['xchan_pubkey'],
+ 'http://purl.org/zot/federation' => 'zot'
];
foreach($aliases as $alias)
diff --git a/Zotlabs/Module/Wiki.php b/Zotlabs/Module/Wiki.php
index ae543eb98..7dc8eb1bc 100644
--- a/Zotlabs/Module/Wiki.php
+++ b/Zotlabs/Module/Wiki.php
@@ -284,6 +284,8 @@ class Wiki extends \Zotlabs\Web\Controller {
$wikiheaderPage = urldecode($pageUrlName);
$renamePage = (($wikiheaderPage === 'Home') ? '' : t('Rename page'));
+ $sharePage = t('Share');
+
$p = [];
if(! $ignore_language) {
@@ -354,6 +356,8 @@ class Wiki extends \Zotlabs\Web\Controller {
'$wikiheaderName' => $wikiheaderName,
'$wikiheaderPage' => $wikiheaderPage,
'$renamePage' => $renamePage,
+ '$sharePage' => $sharePage,
+ '$shareLink' => urlencode('#^[zrl=' . z_root() . '/wiki/' . argv(1) . '/' . $wikiUrlName . '/' . $pageUrlName . ']' . '[ ' . $owner['channel_name'] . ' ] ' . $wikiheaderName . ' - ' . $wikiheaderPage . '[/zrl]'),
'$showPageControls' => $showPageControls,
'$editOrSourceLabel' => (($showPageControls) ? t('Edit') : t('Source')),
'$tools_label' => 'Page Tools',
diff --git a/Zotlabs/Storage/Browser.php b/Zotlabs/Storage/Browser.php
index f1c95802b..508c39d22 100644
--- a/Zotlabs/Storage/Browser.php
+++ b/Zotlabs/Storage/Browser.php
@@ -274,7 +274,7 @@ class Browser extends DAV\Browser\Plugin {
'$actionspanel' => $output,
'$shared' => t('Shared'),
'$create' => t('Create'),
- '$upload' => t('Upload'),
+ '$upload' => t('Add Files'),
'$is_owner' => $is_owner,
'$parentpath' => $parentpath,
'$cpath' => bin2hex(\App::$query_string),
diff --git a/Zotlabs/Storage/Directory.php b/Zotlabs/Storage/Directory.php
index 510d463c1..a2ae0fee8 100644
--- a/Zotlabs/Storage/Directory.php
+++ b/Zotlabs/Storage/Directory.php
@@ -680,7 +680,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo
throw new DAV\Exception\Forbidden('Permission denied.');
}
else {
- throw new DAV\Exception\NotFound('A component of the request file path could not be found.');
+ throw new DAV\Exception\NotFound('A component of the requested file path could not be found.');
}
}
@@ -691,7 +691,23 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo
}
$prefix = '';
- $suffix = ' order by is_dir desc, filename asc ';
+
+ if(! array_key_exists('cloud_sort',$_SESSION))
+ $_SESSION['cloud_sort'] = 'name';
+
+ switch($_SESSION['cloud_sort']) {
+ case 'size':
+ $suffix = ' order by is_dir desc, filesize asc ';
+ break;
+ // The following provides inconsistent results for directories because we re-calculate the date for directories based on the most recent change
+ case 'date':
+ $suffix = ' order by is_dir desc, edited asc ';
+ break;
+ case 'name':
+ default:
+ $suffix = ' order by is_dir desc, filename asc ';
+ break;
+ }
$r = q("select $prefix id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, created, edited from attach where folder = '%s' and uid = %d $perms $suffix",
dbesc($folder),
diff --git a/Zotlabs/Storage/ZotOauth2Pdo.php b/Zotlabs/Storage/ZotOauth2Pdo.php
new file mode 100644
index 000000000..b2c3ce228
--- /dev/null
+++ b/Zotlabs/Storage/ZotOauth2Pdo.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Zotlabs\Storage;
+
+class ZotOauth2Pdo extends \OAuth2\Storage\Pdo {
+ public function getConfig()
+ {
+ return $this->config;
+ }
+}
diff --git a/Zotlabs/Update/_1204.php b/Zotlabs/Update/_1204.php
index 93c2e4e3f..0b9204b9b 100644
--- a/Zotlabs/Update/_1204.php
+++ b/Zotlabs/Update/_1204.php
@@ -8,11 +8,11 @@ class _1204 {
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$r1 = q("ALTER TABLE poll ADD poll_guid text NOT NULL");
- $r2 = q("create index \"poll_guid_idx\" on poll \"poll_guid\"");
+ $r2 = q("create index \"poll_guid_idx\" on poll (\"poll_guid\")");
$r3 = q("ALTER TABLE poll_elm ADD pelm_guid text NOT NULL");
- $r4 = q("create index \"pelm_guid_idx\" on poll_elm \"pelm_guid\"");
+ $r4 = q("create index \"pelm_guid_idx\" on poll_elm (\"pelm_guid\")");
$r5 = q("ALTER TABLE vote ADD vote_guid text NOT NULL");
- $r6 = q("create index \"vote_guid_idx\" on vote \"vote_guid\"");
+ $r6 = q("create index \"vote_guid_idx\" on vote (\"vote_guid\")");
$r = ($r1 && $r2 && $r3 && $r4 && $r5 && $r6);
}
diff --git a/Zotlabs/Update/_1205.php b/Zotlabs/Update/_1205.php
index 5384f183e..968833726 100644
--- a/Zotlabs/Update/_1205.php
+++ b/Zotlabs/Update/_1205.php
@@ -7,6 +7,17 @@ class _1205 {
function run() {
if(ACTIVE_DBTYPE == DBTYPE_MYSQL) {
+
+ q("ALTER TABLE item DROP INDEX title");
+ q("ALTER TABLE item DROP INDEX body");
+ q("ALTER TABLE item DROP INDEX allow_cid");
+ q("ALTER TABLE item DROP INDEX allow_gid");
+ q("ALTER TABLE item DROP INDEX deny_cid");
+ q("ALTER TABLE item DROP INDEX deny_gid");
+ q("ALTER TABLE item DROP INDEX item_flags");
+ q("ALTER TABLE item DROP INDEX item_restrict");
+ q("ALTER TABLE item DROP INDEX aid");
+
$r = q("ALTER TABLE item
DROP INDEX item_private,
ADD INDEX uid_item_private (uid, item_private),
diff --git a/Zotlabs/Update/_1207.php b/Zotlabs/Update/_1207.php
new file mode 100644
index 000000000..f53bc46ae
--- /dev/null
+++ b/Zotlabs/Update/_1207.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1207 {
+
+ function run() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_MYSQL) {
+ $r = q("ALTER TABLE item
+ DROP INDEX resource_type
+ ");
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+ }
+ else {
+ return UPDATE_SUCCESS;
+ }
+
+ }
+
+}
diff --git a/Zotlabs/Update/_1208.php b/Zotlabs/Update/_1208.php
new file mode 100644
index 000000000..4cbcf4322
--- /dev/null
+++ b/Zotlabs/Update/_1208.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1208 {
+
+ function run() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("ALTER TABLE poll ADD poll_author text NOT NULL");
+ $r2 = q("create index \"poll_author_idx\" on poll \"poll_author\"");
+
+ $r = ($r1 && $r2);
+ }
+ else {
+ $r = q("ALTER TABLE `poll` ADD `poll_author` VARCHAR(191) NOT NULL AFTER `poll_votes`,
+ ADD INDEX `poll_author` (`poll_author`)");
+ }
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+ }
+
+}
diff --git a/Zotlabs/Update/_1209.php b/Zotlabs/Update/_1209.php
new file mode 100644
index 000000000..5ec449395
--- /dev/null
+++ b/Zotlabs/Update/_1209.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1209 {
+
+ function run() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("ALTER TABLE poll_elm ADD pelm_order numeric(6) NOT NULL DEFAULT '0' ");
+ $r2 = q("create index \"pelm_order_idx\" on poll_elm \"pelm_order\"");
+
+ $r = ($r1 && $r2);
+ }
+ else {
+ $r = q("ALTER TABLE `poll_elm` ADD `pelm_order` int(11) NOT NULL DEFAULT 0,
+ ADD INDEX `pelm_order` (`pelm_order`)");
+ }
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+ }
+
+}
diff --git a/Zotlabs/Update/_1210.php b/Zotlabs/Update/_1210.php
new file mode 100644
index 000000000..813e3fe82
--- /dev/null
+++ b/Zotlabs/Update/_1210.php
@@ -0,0 +1,78 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1210 {
+
+ function run() {
+
+ $sql = "CREATE TABLE oauth_clients (
+ client_id VARCHAR(80) NOT NULL,
+ client_secret VARCHAR(80),
+ redirect_uri VARCHAR(2000),
+ grant_types VARCHAR(80),
+ scope VARCHAR(4000),
+ user_id VARCHAR(80),
+ PRIMARY KEY (client_id)
+);
+
+CREATE TABLE oauth_access_tokens (
+ access_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (access_token)
+);
+
+CREATE TABLE oauth_authorization_codes (
+ authorization_code VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ redirect_uri VARCHAR(2000),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ id_token VARCHAR(1000),
+ PRIMARY KEY (authorization_code)
+);
+
+CREATE TABLE oauth_refresh_tokens (
+ refresh_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (refresh_token)
+);
+
+CREATE TABLE oauth_scopes (
+ scope VARCHAR(191) NOT NULL,
+ is_default SMALLINT,
+ PRIMARY KEY (scope)
+);
+
+CREATE TABLE oauth_jwt (
+ client_id VARCHAR(80) NOT NULL,
+ subject VARCHAR(80),
+ public_key VARCHAR(2000) NOT NULL
+);
+";
+
+ $arr = explode(';', $sql);
+ $errors = 0;
+ foreach($arr as $a) {
+ if(strlen(trim($a))) {
+ $r = dbq(trim($a));
+ if(! $r) {
+ $errors ++;
+ }
+ }
+ }
+
+ if(! $errors)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+ }
+
+}
diff --git a/Zotlabs/Update/_1211.php b/Zotlabs/Update/_1211.php
new file mode 100644
index 000000000..739a5670d
--- /dev/null
+++ b/Zotlabs/Update/_1211.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1211 {
+
+ function run() {
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("ALTER TABLE channel ADD channel_active timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
+ $r2 = q("create index \"channel_active\" on channel_active \"channel_active\"");
+
+ $r = ($r1 && $r2);
+ }
+ else {
+ $r = q("ALTER TABLE `channel` ADD `channel_active` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' ,
+ ADD INDEX `channel_active` (`channel_active`)");
+ }
+
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+
+ }
+
+}
diff --git a/Zotlabs/Update/_1212.php b/Zotlabs/Update/_1212.php
new file mode 100644
index 000000000..f15ba8a71
--- /dev/null
+++ b/Zotlabs/Update/_1212.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1212 {
+
+ function run() {
+
+ $r = q("select channel_id from channel where true");
+ if($r) {
+ foreach($r as $rv) {
+ $role = get_pconfig($rv['channel_id'],'system','permissions_role');
+ if($role !== 'custom') {
+ $role_permissions = \Zotlabs\Access\PermissionRoles::role_perms($role);
+ if(array_key_exists('limits',$role_permissions) && array_key_exists('post_comments',$role_permissions['limits'])) {
+ set_pconfig($rv['channel_id'],'perm_limits','post_comments',$role_permissions['limits']['post_comments']);
+ }
+ }
+ }
+ }
+
+ return UPDATE_SUCCESS;
+
+ }
+
+}
diff --git a/Zotlabs/Web/HTTPSig.php b/Zotlabs/Web/HTTPSig.php
index 9bcc2e5ec..df66ecf5c 100644
--- a/Zotlabs/Web/HTTPSig.php
+++ b/Zotlabs/Web/HTTPSig.php
@@ -59,6 +59,8 @@ class HTTPSig {
$headers['(request-target)'] =
strtolower($_SERVER['REQUEST_METHOD']) . ' ' .
$_SERVER['REQUEST_URI'];
+ $headers['content-type'] = $_SERVER['CONTENT_TYPE'];
+
foreach($_SERVER as $k => $v) {
if(strpos($k,'HTTP_') === 0) {
$field = str_replace('_','-',strtolower(substr($k,5)));
@@ -67,6 +69,10 @@ class HTTPSig {
}
}
+ // logger('SERVER: ' . print_r($_SERVER,true), LOGGER_ALL);
+
+ // logger('headers: ' . print_r($headers,true), LOGGER_ALL);
+
$sig_block = null;
if(array_key_exists('signature',$headers)) {
@@ -189,15 +195,17 @@ class HTTPSig {
if($x && $x[0]['xchan_pubkey']) {
return ($x[0]['xchan_pubkey']);
}
- $r = as_fetch($id);
+
+ if(function_exists('as_fetch'))
+ $r = as_fetch($id);
if($r) {
$j = json_decode($r,true);
- if($j['id'] !== $id)
- return false;
-
if(array_key_exists('publicKey',$j) && array_key_exists('publicKeyPem',$j['publicKey'])) {
+ if((array_key_exists('id',$j['publicKey']) && $j['publicKey']['id'] !== $id) && $j['id'] !== $id)
+ return false;
+
return($j['publicKey']['publicKeyPem']);
}
}
diff --git a/Zotlabs/Web/WebServer.php b/Zotlabs/Web/WebServer.php
index 5183fb2b0..1c3ea29d0 100644
--- a/Zotlabs/Web/WebServer.php
+++ b/Zotlabs/Web/WebServer.php
@@ -44,9 +44,9 @@ class WebServer {
* We have to do it here because the session was just now opened.
*/
- if(array_key_exists('system_language',$_POST)) {
- if(strlen($_POST['system_language']))
- $_SESSION['language'] = $_POST['system_language'];
+ if(array_key_exists('system_language',$_REQUEST)) {
+ if(strlen($_REQUEST['system_language']))
+ $_SESSION['language'] = $_REQUEST['system_language'];
else
unset($_SESSION['language']);
}
diff --git a/Zotlabs/Widget/Catcloud.php b/Zotlabs/Widget/Catcloud.php
new file mode 100644
index 000000000..c53f9bbf6
--- /dev/null
+++ b/Zotlabs/Widget/Catcloud.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace Zotlabs\Widget;
+
+class Catcloud {
+
+ function widget($arr) {
+
+ if((! \App::$profile['profile_uid']) || (! \App::$profile['channel_hash']))
+ return '';
+
+ $limit = ((array_key_exists('limit',$arr)) ? intval($arr['limit']) : 50);
+
+ if(array_key_exists('type',$arr)) {
+ switch($arr['type']) {
+
+ case 'cards':
+
+ if(! perm_is_allowed(\App::$profile['profile_uid'], get_observer_hash(), 'view_pages'))
+ return '';
+
+ return card_catblock(\App::$profile['profile_uid'], $limit, '', \App::$profile['channel_hash']);
+
+ case 'articles':
+
+ if(! perm_is_allowed(\App::$profile['profile_uid'], get_observer_hash(), 'view_pages'))
+ return '';
+
+ return article_catblock(\App::$profile['profile_uid'], $limit, '', \App::$profile['channel_hash']);
+
+
+ default:
+ break;
+ }
+ }
+
+
+ if(! perm_is_allowed(\App::$profile['profile_uid'], get_observer_hash(), 'view_stream'))
+ return '';
+
+ return catblock(\App::$profile['profile_uid'], $limit, '', \App::$profile['channel_hash']);
+
+
+ }
+
+}
diff --git a/Zotlabs/Widget/Design_tools.php b/Zotlabs/Widget/Design_tools.php
index 8ab6a235d..a15c0c98d 100644
--- a/Zotlabs/Widget/Design_tools.php
+++ b/Zotlabs/Widget/Design_tools.php
@@ -6,16 +6,9 @@ class Design_tools {
function widget($arr) {
- // mod menu doesn't load a profile. For any modules which load a profile, check it.
- // otherwise local_channel() is sufficient for permissions.
+ if(perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(),'write_pages') || (\App::$is_sys && is_site_admin()))
+ return design_tools();
- if(\App::$profile['profile_uid'])
- if((\App::$profile['profile_uid'] != local_channel()) && (! \App::$is_sys))
- return '';
-
- if(! local_channel())
- return '';
-
- return design_tools();
+ return EMPTY_STR;
}
} \ No newline at end of file
diff --git a/Zotlabs/Widget/Newmember.php b/Zotlabs/Widget/Newmember.php
index 898942ccc..1a4b575b9 100644
--- a/Zotlabs/Widget/Newmember.php
+++ b/Zotlabs/Widget/Newmember.php
@@ -13,22 +13,13 @@ class Newmember {
if(! $c)
return EMPTY_STR;
-
$a = \App::get_account();
if(! $a)
return EMPTY_STR;
-
- if(datetime_convert('UTC','UTC',$a['account_created']) < datetime_convert('UTC','UTC', 'now - 60 days'))
- return EMPTY_STR;
-
- // This could be a new account that was used to clone a very old channel
-
- $ob = \App::get_observer();
- if($ob && array_key_exists('xchan_name_date',$ob) && $ob['xchan_name_date'] < datetime_convert('UTC','UTC','now - 60 days'))
+ if(! feature_enabled(local_channel(),'start_menu'))
return EMPTY_STR;
-
$options = [
t('Profile Creation'),
[
@@ -39,14 +30,14 @@ class Newmember {
t('Find and Connect with others'),
[
- 'directory' => t('View the channel directory'),
- 'suggest' => t('View friend suggestions'),
- 'connections' => t('Manage your connections'),
+ 'directory' => t('View the directory'),
+ 'directory?f=&suggest=1' => t('View friend suggestions'),
+ 'connections' => t('Manage your connections'),
],
t('Communicate'),
[
- 'channel/' . $channel['channel_address'] => t('View your channel homepage'),
+ 'channel/' . $c['channel_address'] => t('View your channel homepage'),
'network' => t('View your network stream'),
],
@@ -64,7 +55,7 @@ class Newmember {
// hack to put this in the correct spot of the array
if($site_firehose || $net_firehose) {
- $options[5]['pubstream'] = t('View public stream. Warning: not moderated');
+ $options[5]['pubstream'] = t('View public stream');
}
$o = replace_macros(get_markup_template('new_member.tpl'), [
diff --git a/Zotlabs/Widget/Notifications.php b/Zotlabs/Widget/Notifications.php
index f2619c5cf..fc78a2a39 100644
--- a/Zotlabs/Widget/Notifications.php
+++ b/Zotlabs/Widget/Notifications.php
@@ -123,7 +123,7 @@ class Notifications {
];
}
- if(get_config('system', 'disable_discover_tab') != 1) {
+ if(can_view_public_stream()) {
$notifications[] = [
'type' => 'pubs',
'icon' => 'globe',
diff --git a/Zotlabs/Widget/Pubtagcloud.php b/Zotlabs/Widget/Pubtagcloud.php
new file mode 100644
index 000000000..826e3e6ae
--- /dev/null
+++ b/Zotlabs/Widget/Pubtagcloud.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace Zotlabs\Widget;
+
+class Pubtagcloud {
+
+ function widget($arr) {
+
+ $trending = ((array_key_exists('trending',$arr)) ? intval($arr['trending']) : 0);
+ if((observer_prohibited(true))) {
+ return EMPTY_STR;
+ }
+
+ if(! intval(get_config('system','open_pubstream',1))) {
+ if(! get_observer_hash()) {
+ return EMPTY_STR;
+ }
+ }
+
+ $site_firehose = ((intval(get_config('system','site_firehose',0))) ? true : false);
+ $net_firehose = ((get_config('system','disable_discover_tab',1)) ? false : true);
+
+ if(! ($site_firehose || $net_firehose)) {
+ return EMPTY_STR;
+ }
+
+ if($net_firehose) {
+ $site_firehose = false;
+ }
+
+ $safemode = get_xconfig(get_observer_hash(),'directory','safemode',1);
+
+
+
+ $limit = ((array_key_exists('limit', $arr)) ? intval($arr['limit']) : 75);
+
+ return pubtagblock($net_firehose,$site_firehose, $limit, $trending, $safemode);
+
+ return '';
+ }
+}
diff --git a/Zotlabs/Widget/Settings_menu.php b/Zotlabs/Widget/Settings_menu.php
index 455fdcb9b..9574becc3 100644
--- a/Zotlabs/Widget/Settings_menu.php
+++ b/Zotlabs/Widget/Settings_menu.php
@@ -81,12 +81,20 @@ class Settings_menu {
if(feature_enabled(local_channel(),'oauth_clients')) {
$tabs[] = array(
- 'label' => t('Connected apps'),
+ 'label' => t('OAuth1 apps'),
'url' => z_root() . '/settings/oauth',
'selected' => ((argv(1) === 'oauth') ? 'active' : ''),
);
}
+ if(feature_enabled(local_channel(),'oauth2_clients')) {
+ $tabs[] = array(
+ 'label' => t('OAuth2 apps'),
+ 'url' => z_root() . '/settings/oauth2',
+ 'selected' => ((argv(1) === 'oauth2') ? 'active' : ''),
+ );
+ }
+
if(feature_enabled(local_channel(),'access_tokens')) {
$tabs[] = array(
'label' => t('Guest Access Tokens'),
diff --git a/Zotlabs/Widget/Tagcloud.php b/Zotlabs/Widget/Tagcloud.php
index cf7a4932e..f79bd59ad 100644
--- a/Zotlabs/Widget/Tagcloud.php
+++ b/Zotlabs/Widget/Tagcloud.php
@@ -2,9 +2,6 @@
namespace Zotlabs\Widget;
-// @FIXME The problem with this widget is that we don't have a search function for webpages
-// that we can send the links to. Then we should also provide an option to search webpages
-// and conversations.
class Tagcloud {
@@ -14,15 +11,15 @@ class Tagcloud {
$uid = \App::$profile_uid;
$count = ((x($args,'count')) ? intval($args['count']) : 24);
$flags = 0;
- $type = TERM_CATEGORY;
+ $type = TERM_HASHTAG;
// @FIXME there exists no $authors variable
- $r = tagadelic($uid, $count, $authors, $owner, $flags, ITEM_TYPE_WEBPAGE, $type);
+ $r = tagadelic($uid, $count, $authors, $owner, $flags, 0, $type);
// @FIXME this should use a template
if($r) {
- $o = '<div class="tagblock widget"><h3>' . t('Categories') . '</h3><div class="tags" align="center">';
+ $o = '<div class="tagblock widget"><h3>' . t('Tags') . '</h3><div class="tags" align="center">';
foreach($r as $rv) {
$o .= '<span class="tag' . $rv[2] . '">' . $rv[0] .' </span> ' . "\r\n";
}
diff --git a/boot.php b/boot.php
index 534503966..eb2c1ddff 100755
--- a/boot.php
+++ b/boot.php
@@ -50,10 +50,11 @@ require_once('include/attach.php');
require_once('include/bbcode.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '3.3.1' );
-define ( 'ZOT_REVISION', '1.3' );
+define ( 'STD_VERSION', '3.5' );
+define ( 'ZOT_REVISION', '6.0a' );
-define ( 'DB_UPDATE_VERSION', 1206 );
+
+define ( 'DB_UPDATE_VERSION', 1212 );
define ( 'PROJECT_BASE', __DIR__ );
@@ -84,7 +85,8 @@ define ( 'DIRECTORY_FALLBACK_MASTER', 'https://gravizot.de');
$DIRECTORY_FALLBACK_SERVERS = array(
'https://hubzilla.zottel.net',
- 'https://gravizot.de'
+ 'https://gravizot.de',
+ 'https://zotadel.net'
);
@@ -402,6 +404,7 @@ define ( 'VNOTIFY_INTRO', 0x0200 );
define ( 'VNOTIFY_REGISTER', 0x0400 );
define ( 'VNOTIFY_FILES', 0x0800 );
define ( 'VNOTIFY_PUBS', 0x1000 );
+define ( 'VNOTIFY_LIKE', 0x2000 );
@@ -478,6 +481,7 @@ define ( 'ACTIVITY_ABSTAIN', NAMESPACE_ZOT . '/activity/abstain' );
define ( 'ACTIVITY_ATTEND', NAMESPACE_ZOT . '/activity/attendyes' );
define ( 'ACTIVITY_ATTENDNO', NAMESPACE_ZOT . '/activity/attendno' );
define ( 'ACTIVITY_ATTENDMAYBE', NAMESPACE_ZOT . '/activity/attendmaybe' );
+define ( 'ACTIVITY_POLLRESPONSE', NAMESPACE_ZOT . '/activity/pollresponse' );
define ( 'ACTIVITY_OBJ_HEART', NAMESPACE_ZOT . '/activity/heart' );
@@ -855,7 +859,7 @@ class App {
self::$scheme = 'https';
if(x($_SERVER,'SERVER_NAME')) {
- self::$hostname = $_SERVER['SERVER_NAME'];
+ self::$hostname = punify($_SERVER['SERVER_NAME']);
if(x($_SERVER,'SERVER_PORT') && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443)
self::$hostname .= ':' . $_SERVER['SERVER_PORT'];
@@ -952,6 +956,9 @@ class App {
&& is_array(self::$config['system'])
&& array_key_exists('baseurl',self::$config['system'])
&& strlen(self::$config['system']['baseurl'])) {
+ // get_baseurl() is a heavily used function.
+ // Do not use punify() here until we find a library that performs better than what we have now.
+ //$url = punify(self::$config['system']['baseurl']);
$url = self::$config['system']['baseurl'];
$url = trim($url,'\\/');
return $url;
@@ -959,7 +966,7 @@ class App {
$scheme = self::$scheme;
- self::$baseurl = $scheme . "://" . self::$hostname . ((isset(self::$path) && strlen(self::$path)) ? '/' . self::$path : '' );
+ self::$baseurl = $scheme . "://" . punify(self::$hostname) . ((isset(self::$path) && strlen(self::$path)) ? '/' . self::$path : '' );
return self::$baseurl;
}
@@ -970,7 +977,7 @@ class App {
&& is_array(self::$config['system'])
&& array_key_exists('baseurl',self::$config['system'])
&& strlen(self::$config['system']['baseurl'])) {
- $url = self::$config['system']['baseurl'];
+ $url = punify(self::$config['system']['baseurl']);
$url = trim($url,'\\/');
}
@@ -981,7 +988,7 @@ class App {
if($parsed !== false) {
self::$scheme = $parsed['scheme'];
- self::$hostname = $parsed['host'];
+ self::$hostname = punify($parsed['host']);
if(x($parsed,'port'))
self::$hostname .= ':' . $parsed['port'];
if(x($parsed,'path'))
diff --git a/composer.lock b/composer.lock
index 8ec0857f1..4a80d7d90 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "content-hash": "73ca170baa6ded94a989b8a1066e6a98",
+ "content-hash": "516114a0fbd804e5234ebeacbac30376",
"packages": [
{
"name": "bshaffer/oauth2-server-php",
@@ -66,16 +66,16 @@
},
{
"name": "commerceguys/intl",
- "version": "v0.7.4",
+ "version": "v0.7.5",
"source": {
"type": "git",
"url": "https://github.com/commerceguys/intl.git",
- "reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00"
+ "reference": "de1435502068393fae4061818e194e4ea61b98d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/commerceguys/intl/zipball/edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
- "reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/de1435502068393fae4061818e194e4ea61b98d6",
+ "reference": "de1435502068393fae4061818e194e4ea61b98d6",
"shasum": ""
},
"require": {
@@ -106,20 +106,20 @@
}
],
"description": "Internationalization library powered by CLDR data.",
- "time": "2016-12-13T12:33:19+00:00"
+ "time": "2017-12-29T00:13:05+00:00"
},
{
"name": "ezyang/htmlpurifier",
- "version": "v4.9.3",
+ "version": "v4.10.0",
"source": {
"type": "git",
"url": "https://github.com/ezyang/htmlpurifier.git",
- "reference": "95e1bae3182efc0f3422896a3236e991049dac69"
+ "reference": "d85d39da4576a6934b72480be6978fb10c860021"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
- "reference": "95e1bae3182efc0f3422896a3236e991049dac69",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021",
+ "reference": "d85d39da4576a6934b72480be6978fb10c860021",
"shasum": ""
},
"require": {
@@ -153,7 +153,7 @@
"keywords": [
"html"
],
- "time": "2017-06-03T02:28:16+00:00"
+ "time": "2018-02-23T01:58:20+00:00"
},
{
"name": "league/html-to-markdown",
@@ -256,30 +256,25 @@
},
{
"name": "michelf/php-markdown",
- "version": "1.7.0",
+ "version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/michelf/php-markdown.git",
- "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220"
+ "reference": "01ab082b355bf188d907b9929cd99b2923053495"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220",
- "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220",
+ "url": "https://api.github.com/repos/michelf/php-markdown/zipball/01ab082b355bf188d907b9929cd99b2923053495",
+ "reference": "01ab082b355bf188d907b9929cd99b2923053495",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-lib": "1.4.x-dev"
- }
- },
"autoload": {
- "psr-0": {
- "Michelf": ""
+ "psr-4": {
+ "Michelf\\": "Michelf/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -303,7 +298,7 @@
"keywords": [
"markdown"
],
- "time": "2016-10-29T18:58:20+00:00"
+ "time": "2018-01-15T00:49:33+00:00"
},
{
"name": "pear/text_languagedetect",
@@ -538,16 +533,16 @@
},
{
"name": "sabre/http",
- "version": "4.2.3",
+ "version": "v4.2.4",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/http.git",
- "reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93"
+ "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/http/zipball/0295f9a3ee39be97e0898592fc19e42421e0cd93",
- "reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93",
+ "url": "https://api.github.com/repos/sabre-io/http/zipball/acccec4ba863959b2d10c1fa0fb902736c5c8956",
+ "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956",
"shasum": ""
},
"require": {
@@ -590,7 +585,7 @@
"keywords": [
"http"
],
- "time": "2017-06-12T07:53:04+00:00"
+ "time": "2018-02-23T11:10:29+00:00"
},
{
"name": "sabre/uri",
@@ -645,16 +640,16 @@
},
{
"name": "sabre/vobject",
- "version": "4.1.3",
+ "version": "4.1.5",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/vobject.git",
- "reference": "df9916813d1d83e4f761c4cba13361ee74196fac"
+ "reference": "0928660e92d46d2d24336a6db320636aa3a75414"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/vobject/zipball/df9916813d1d83e4f761c4cba13361ee74196fac",
- "reference": "df9916813d1d83e4f761c4cba13361ee74196fac",
+ "url": "https://api.github.com/repos/sabre-io/vobject/zipball/0928660e92d46d2d24336a6db320636aa3a75414",
+ "reference": "0928660e92d46d2d24336a6db320636aa3a75414",
"shasum": ""
},
"require": {
@@ -663,7 +658,7 @@
"sabre/xml": ">=1.5 <3.0"
},
"require-dev": {
- "phpunit/phpunit": "> 4.8, <6.0.0",
+ "phpunit/phpunit": "> 4.8.35, <6.0.0",
"sabre/cs": "^1.0.0"
},
"suggest": {
@@ -738,7 +733,7 @@
"xCal",
"xCard"
],
- "time": "2017-10-18T08:29:40+00:00"
+ "time": "2018-03-08T21:06:39+00:00"
},
{
"name": "sabre/xml",
@@ -1179,16 +1174,16 @@
},
{
"name": "behat/mink-extension",
- "version": "2.3.0",
+ "version": "2.3.1",
"source": {
"type": "git",
"url": "https://github.com/Behat/MinkExtension.git",
- "reference": "badc565b7a1d05c4a4bf49c789045bcf7af6c6de"
+ "reference": "80f7849ba53867181b7e412df9210e12fba50177"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/badc565b7a1d05c4a4bf49c789045bcf7af6c6de",
- "reference": "badc565b7a1d05c4a4bf49c789045bcf7af6c6de",
+ "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/80f7849ba53867181b7e412df9210e12fba50177",
+ "reference": "80f7849ba53867181b7e412df9210e12fba50177",
"shasum": ""
},
"require": {
@@ -1234,7 +1229,7 @@
"test",
"web"
],
- "time": "2017-11-24T19:30:49+00:00"
+ "time": "2018-02-06T15:36:30+00:00"
},
{
"name": "behat/mink-goutte-driver",
@@ -2024,35 +2019,29 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "4.2.0",
+ "version": "3.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "66465776cfc249844bde6d117abff1d22e06c2da"
+ "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da",
- "reference": "66465776cfc249844bde6d117abff1d22e06c2da",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2",
+ "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2",
"shasum": ""
},
"require": {
- "php": "^7.0",
+ "php": "^5.6 || ^7.0",
"phpdocumentor/reflection-common": "^1.0.0",
"phpdocumentor/type-resolver": "^0.4.0",
"webmozart/assert": "^1.0"
},
"require-dev": {
- "doctrine/instantiator": "~1.0.5",
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^6.4"
+ "mockery/mockery": "^0.9.4",
+ "phpunit/phpunit": "^4.4"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
"autoload": {
"psr-4": {
"phpDocumentor\\Reflection\\": [
@@ -2071,7 +2060,7 @@
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2017-11-27T17:38:31+00:00"
+ "time": "2017-11-10T14:09:06+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@@ -2122,16 +2111,16 @@
},
{
"name": "phpspec/prophecy",
- "version": "1.7.3",
+ "version": "1.7.5",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf"
+ "reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
- "reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/dfd6be44111a7c41c2e884a336cc4f461b3b2401",
+ "reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401",
"shasum": ""
},
"require": {
@@ -2143,7 +2132,7 @@
},
"require-dev": {
"phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7"
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
},
"type": "library",
"extra": {
@@ -2181,20 +2170,20 @@
"spy",
"stub"
],
- "time": "2017-11-24T13:59:53+00:00"
+ "time": "2018-02-19T10:16:54+00:00"
},
{
"name": "phpunit/dbunit",
- "version": "3.0.2",
+ "version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/dbunit.git",
- "reference": "403350339b6aca748ee0067d027d85621992e21f"
+ "reference": "0fa4329e490480ab957fe7b1185ea0996ca11f44"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/403350339b6aca748ee0067d027d85621992e21f",
- "reference": "403350339b6aca748ee0067d027d85621992e21f",
+ "url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/0fa4329e490480ab957fe7b1185ea0996ca11f44",
+ "reference": "0fa4329e490480ab957fe7b1185ea0996ca11f44",
"shasum": ""
},
"require": {
@@ -2233,7 +2222,7 @@
"testing",
"xunit"
],
- "time": "2017-11-18T17:40:34+00:00"
+ "time": "2018-01-23T13:32:26+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -2773,21 +2762,21 @@
},
{
"name": "sebastian/comparator",
- "version": "2.1.0",
+ "version": "2.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "1174d9018191e93cb9d719edec01257fc05f8158"
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1174d9018191e93cb9d719edec01257fc05f8158",
- "reference": "1174d9018191e93cb9d719edec01257fc05f8158",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
"shasum": ""
},
"require": {
"php": "^7.0",
- "sebastian/diff": "^2.0",
+ "sebastian/diff": "^2.0 || ^3.0",
"sebastian/exporter": "^3.1"
},
"require-dev": {
@@ -2833,7 +2822,7 @@
"compare",
"equality"
],
- "time": "2017-11-03T07:16:52+00:00"
+ "time": "2018-02-01T13:46:46+00:00"
},
{
"name": "sebastian/diff",
@@ -3287,16 +3276,16 @@
},
{
"name": "symfony/browser-kit",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "f761b4ecdd23a451c2cae6fba704d8b207cbb045"
+ "reference": "490f27762705c8489bd042fe3e9377a191dba9b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/f761b4ecdd23a451c2cae6fba704d8b207cbb045",
- "reference": "f761b4ecdd23a451c2cae6fba704d8b207cbb045",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/490f27762705c8489bd042fe3e9377a191dba9b4",
+ "reference": "490f27762705c8489bd042fe3e9377a191dba9b4",
"shasum": ""
},
"require": {
@@ -3340,20 +3329,20 @@
],
"description": "Symfony BrowserKit Component",
"homepage": "https://symfony.com",
- "time": "2017-12-11T22:06:16+00:00"
+ "time": "2018-01-03T07:37:34+00:00"
},
{
"name": "symfony/class-loader",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
- "reference": "e8d36a7b5568d232f5c3f8ef92665836b9f1e038"
+ "reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/class-loader/zipball/e8d36a7b5568d232f5c3f8ef92665836b9f1e038",
- "reference": "e8d36a7b5568d232f5c3f8ef92665836b9f1e038",
+ "url": "https://api.github.com/repos/symfony/class-loader/zipball/e63c12699822bb3b667e7216ba07fbcc3a3e203e",
+ "reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e",
"shasum": ""
},
"require": {
@@ -3396,20 +3385,20 @@
],
"description": "Symfony ClassLoader Component",
"homepage": "https://symfony.com",
- "time": "2017-11-05T16:10:10+00:00"
+ "time": "2018-01-03T07:37:34+00:00"
},
{
"name": "symfony/config",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "e57211b88aa889fefac1cb36866db04100b0f21c"
+ "reference": "05e10567b529476a006b00746c5f538f1636810e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/e57211b88aa889fefac1cb36866db04100b0f21c",
- "reference": "e57211b88aa889fefac1cb36866db04100b0f21c",
+ "url": "https://api.github.com/repos/symfony/config/zipball/05e10567b529476a006b00746c5f538f1636810e",
+ "reference": "05e10567b529476a006b00746c5f538f1636810e",
"shasum": ""
},
"require": {
@@ -3422,6 +3411,7 @@
},
"require-dev": {
"symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/event-dispatcher": "~3.3|~4.0",
"symfony/finder": "~3.3|~4.0",
"symfony/yaml": "~3.0|~4.0"
},
@@ -3458,20 +3448,20 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
- "time": "2017-12-14T19:40:10+00:00"
+ "time": "2018-02-14T10:03:57+00:00"
},
{
"name": "symfony/console",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "9f21adfb92a9315b73ae2ed43138988ee4913d4e"
+ "reference": "067339e9b8ec30d5f19f5950208893ff026b94f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/9f21adfb92a9315b73ae2ed43138988ee4913d4e",
- "reference": "9f21adfb92a9315b73ae2ed43138988ee4913d4e",
+ "url": "https://api.github.com/repos/symfony/console/zipball/067339e9b8ec30d5f19f5950208893ff026b94f7",
+ "reference": "067339e9b8ec30d5f19f5950208893ff026b94f7",
"shasum": ""
},
"require": {
@@ -3527,20 +3517,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2017-12-14T19:40:10+00:00"
+ "time": "2018-02-26T15:46:28+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "eac760b414cf1f64362c3dd047b989e4db121332"
+ "reference": "544655f1fc078a9cd839fdda2b7b1e64627c826a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/eac760b414cf1f64362c3dd047b989e4db121332",
- "reference": "eac760b414cf1f64362c3dd047b989e4db121332",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/544655f1fc078a9cd839fdda2b7b1e64627c826a",
+ "reference": "544655f1fc078a9cd839fdda2b7b1e64627c826a",
"shasum": ""
},
"require": {
@@ -3580,20 +3570,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
- "time": "2017-12-14T19:40:10+00:00"
+ "time": "2018-02-03T14:55:07+00:00"
},
{
"name": "symfony/debug",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
- "reference": "543deab3ffff94402440b326fc94153bae2dfa7a"
+ "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/543deab3ffff94402440b326fc94153bae2dfa7a",
- "reference": "543deab3ffff94402440b326fc94153bae2dfa7a",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/9b1071f86e79e1999b3d3675d2e0e7684268b9bc",
+ "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc",
"shasum": ""
},
"require": {
@@ -3636,20 +3626,20 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
- "time": "2017-12-12T08:27:14+00:00"
+ "time": "2018-02-28T21:49:22+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "5f81907ea43bfa971ac2c7fbac593ebe7cd7d333"
+ "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5f81907ea43bfa971ac2c7fbac593ebe7cd7d333",
- "reference": "5f81907ea43bfa971ac2c7fbac593ebe7cd7d333",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/12e901abc1cb0d637a0e5abe9923471361d96b07",
+ "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07",
"shasum": ""
},
"require": {
@@ -3707,20 +3697,20 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
- "time": "2017-12-14T19:40:10+00:00"
+ "time": "2018-03-04T03:54:53+00:00"
},
{
"name": "symfony/dom-crawler",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "dc847845c66fa68ad4522ed27e62b9b9dd12ab3b"
+ "reference": "2bb5d3101cc01f4fe580e536daf4f1959bc2d24d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dc847845c66fa68ad4522ed27e62b9b9dd12ab3b",
- "reference": "dc847845c66fa68ad4522ed27e62b9b9dd12ab3b",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/2bb5d3101cc01f4fe580e536daf4f1959bc2d24d",
+ "reference": "2bb5d3101cc01f4fe580e536daf4f1959bc2d24d",
"shasum": ""
},
"require": {
@@ -3763,20 +3753,20 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
- "time": "2017-12-14T19:40:10+00:00"
+ "time": "2018-02-22T10:48:49+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "b869cbf8a15ca6261689de2c28a7d7f2d0706835"
+ "reference": "58990682ac3fdc1f563b7e705452921372aad11d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b869cbf8a15ca6261689de2c28a7d7f2d0706835",
- "reference": "b869cbf8a15ca6261689de2c28a7d7f2d0706835",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/58990682ac3fdc1f563b7e705452921372aad11d",
+ "reference": "58990682ac3fdc1f563b7e705452921372aad11d",
"shasum": ""
},
"require": {
@@ -3826,20 +3816,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
- "time": "2017-12-14T19:40:10+00:00"
+ "time": "2018-02-14T10:03:57+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "25b135bea251829e3db6a77d773643408b575ed4"
+ "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/25b135bea251829e3db6a77d773643408b575ed4",
- "reference": "25b135bea251829e3db6a77d773643408b575ed4",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/253a4490b528597aa14d2bf5aeded6f5e5e4a541",
+ "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541",
"shasum": ""
},
"require": {
@@ -3875,20 +3865,20 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
- "time": "2017-12-14T19:40:10+00:00"
+ "time": "2018-02-22T10:48:49+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.6.0",
+ "version": "v1.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
- "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"shasum": ""
},
"require": {
@@ -3900,7 +3890,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.6-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
@@ -3934,20 +3924,20 @@
"portable",
"shim"
],
- "time": "2017-10-11T12:05:26+00:00"
+ "time": "2018-01-30T19:27:44+00:00"
},
{
"name": "symfony/translation",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "4c5d5582baf2829751a5207659329c1f52eedeb6"
+ "reference": "80e19eaf12cbb546ac40384e5c55c36306823e57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/4c5d5582baf2829751a5207659329c1f52eedeb6",
- "reference": "4c5d5582baf2829751a5207659329c1f52eedeb6",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/80e19eaf12cbb546ac40384e5c55c36306823e57",
+ "reference": "80e19eaf12cbb546ac40384e5c55c36306823e57",
"shasum": ""
},
"require": {
@@ -4002,20 +3992,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
- "time": "2017-12-12T08:27:14+00:00"
+ "time": "2018-02-22T06:28:18+00:00"
},
{
"name": "symfony/yaml",
- "version": "v3.4.2",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "afe0cd38486505c9703707707d91450cfc1bd536"
+ "reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/afe0cd38486505c9703707707d91450cfc1bd536",
- "reference": "afe0cd38486505c9703707707d91450cfc1bd536",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/6af42631dcf89e9c616242c900d6c52bd53bd1bb",
+ "reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb",
"shasum": ""
},
"require": {
@@ -4060,7 +4050,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2017-12-11T20:38:23+00:00"
+ "time": "2018-02-16T09:50:28+00:00"
},
{
"name": "theseer/tokenizer",
@@ -4171,6 +4161,6 @@
"ext-openssl": "*"
},
"platform-dev": {
- "php": ">=7.0"
+ "php": ">=5.6 || >=7.0"
}
}
diff --git a/doc/about/project.bb b/doc/about/project.bb
index f9bc920f8..fe90b4d36 100644
--- a/doc/about/project.bb
+++ b/doc/about/project.bb
@@ -116,7 +116,7 @@ even if we have had our occasional disagreements.
[li]Simon[/li]
[li]zottel[/li]
[li]Christian Vogeley[/li]
-[li]Jeroen van Riet Paap (jeroenpraat)[/li]
+[li]jeroenpraat[/li]
[li]Michael Vogel[/li]
[li]erik[/li]
[li]Zach Prezkuta[/li]
diff --git a/doc/context/fr/admin/logs/help.html b/doc/context/fr/admin/logs/help.html
new file mode 100644
index 000000000..53f8e65c3
--- /dev/null
+++ b/doc/context/fr/admin/logs/help.html
@@ -0,0 +1,8 @@
+<dl class="dl-horizontal">
+ <dt>Informations de base</dt>
+ <dd>Cette page vous permet d'ajuster les paramètres du journal d'événements et d'afficher le journal existant.</dd>.
+ <dt>Réglages du journal</dt>
+ <dd>Lorsque vous activez l'option "Débogage", les informations du journal système commenceront à s'ajouter au fichier spécifié dans la boîte "Fichier du journal" (le chemin est relatif à la racine du hub, par exemple /var/www). Notez que ce fichier doit être inscriptible par le serveur web.</dd>.
+ <dt>Niveau de journalisation</dt>
+ <dd>L'option "Niveau de journalisation" vous permet de définir la quantité d'informations ajoutées au fichier journal. Attention : Augmenter ce niveau peut rapidement gonfler la taille du fichier journal à >100MB, en particulier sur les hubs avec plusieurs membres.</dd>.
+</dl>
diff --git a/doc/context/fr/admin/queue/help.html b/doc/context/fr/admin/queue/help.html
new file mode 100644
index 000000000..836d81b92
--- /dev/null
+++ b/doc/context/fr/admin/queue/help.html
@@ -0,0 +1,4 @@
+<dl class="dl-horizontal">
+ <dt>Informations de base</dt>
+ <dd>Les statistiques de file d'attente affichent le nombre de messages dans la file d'attente pour livraison à d'autres centres. La priorité est liée au nombre de fois où la livraison a été tentée sans succès.</dd>
+</dl>
diff --git a/doc/context/fr/channel/help.html b/doc/context/fr/channel/help.html
new file mode 100644
index 000000000..b2cf958b9
--- /dev/null
+++ b/doc/context/fr/channel/help.html
@@ -0,0 +1,6 @@
+<dl class="dl-horizontal">
+ <dt>Informations de base<dt>
+ <dd>C'est la page d'accueil d'un canal. Il est similaire au "mur" de quelqu'un dans un contexte de réseau social. Les messages créés par le canal sont affichés en fonction des permissions de visualisation de l'observateur.</dd>
+<dt>Créer un message</dt>
+ <dd>Si vous avez la permission de créer des messages sur la page du canal, alors vous verrez l'éditeur de messages en haut de la page.</dd>
+</dl>
diff --git a/doc/context/fr/settings/features/help.html b/doc/context/fr/settings/features/help.html
new file mode 100644
index 000000000..2811c932e
--- /dev/null
+++ b/doc/context/fr/settings/features/help.html
@@ -0,0 +1,12 @@
+<dl class="dl-horizontal">
+ <dt>Informations de base</dt>
+ <dd>Cette page vous permet de configurer les paramètres pour les nombreuses fonctionnalités supplémentaires de Hubzilla.</dd>
+ <dt><a href='#' onclick='$("#general-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#general-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">Paramètres généraux</a></dt>
+ <dd>Les paramètres généraux des fonctionnalités incluent des options pertinentes pour votre canal, telles que la page web et l'hébergement wiki.</dd>
+ <dt><a href='#' onclick='$("#composition-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#composition-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">Fonctions de composition de messages</a></dt>
+ <dd>Les fonctions de composition de messages offrent des options et des capacités supplémentaires lors de la composition de nouveaux messages.</dd>
+ <dt><a href='#' onclick='$("#net_module-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#net_module-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">Filtrage des réseaux et des flux</a></dt>
+ <dd>Ces paramètres modifient les fonctions associées au filtrage et au contrôle de l'affichage des messages entrants.</dd>
+ <dt><a href='#' onclick='$("#tools-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#tools-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">Outils d'affichage et de commentaires</a></dt>
+ <dd>Ceux-ci fournissent des outils supplémentaires pour catégoriser les messages et permettre des méthodes de commentaires supplémentaires telles que l'emoji ou le balisage de la communauté.</dd>
+</dl>
diff --git a/doc/dnt-policy.txt b/doc/dnt-policy.txt
new file mode 100644
index 000000000..ad946d1f8
--- /dev/null
+++ b/doc/dnt-policy.txt
@@ -0,0 +1,218 @@
+Do Not Track Compliance Policy
+
+Version 1.0
+
+This domain complies with user opt-outs from tracking via the "Do Not Track"
+or "DNT" header [http://www.w3.org/TR/tracking-dnt/]. This file will always
+be posted via HTTPS at https://example-domain.com/.well-known/dnt-policy.txt
+to indicate this fact.
+
+SCOPE
+
+This policy document allows an operator of a Fully Qualified Domain Name
+("domain") to declare that it respects Do Not Track as a meaningful privacy
+opt-out of tracking, so that privacy-protecting software can better determine
+whether to block or anonymize communications with this domain. This policy is
+intended first and foremost to be posted on domains that publish ads, widgets,
+images, scripts and other third-party embedded hypertext (for instance on
+widgets.example.com), but it can be posted on any domain, including those users
+visit directly (such as www.example.com). The policy may be applied to some
+domains used by a company, site, or service, and not to others. Do Not Track
+may be sent by any client that uses the HTTP protocol, including websites,
+mobile apps, and smart devices like TVs. Do Not Track also works with all
+protocols able to read HTTP headers, including SPDY.
+
+NOTE: This policy contains both Requirements and Exceptions. Where possible
+terms are defined in the text, but a few additional definitions are included
+at the end.
+
+REQUIREMENTS
+
+When this domain receives Web requests from a user who enables DNT by actively
+choosing an opt-out setting in their browser or by installing software that is
+primarily designed to protect privacy ("DNT User"), we will take the following
+measures with respect to those users' data, subject to the Exceptions, also
+listed below:
+
+1. END USER IDENTIFIERS:
+
+ a. If a DNT User has logged in to our service, all user identifiers, such as
+ unique or nearly unique cookies, "supercookies" and fingerprints are
+ discarded as soon as the HTTP(S) response is issued.
+
+ Data structures which associate user identifiers with accounts may be
+ employed to recognize logged in users per Exception 4 below, but may not
+ be associated with records of the user's activities unless otherwise
+ excepted.
+
+ b. If a DNT User is not logged in to our service, we will take steps to ensure
+ that no user identifiers are transmitted to us at all.
+
+2. LOG RETENTION:
+
+ a. Logs with DNT Users' identifiers removed (but including IP addresses and
+ User Agent strings) may be retained for a period of 10 days or less,
+ unless an Exception (below) applies. This period of time balances privacy
+ concerns with the need to ensure that log processing systems have time to
+ operate; that operations engineers have time to monitor and fix technical
+ and performance problems; and that security and data aggregation systems
+ have time to operate.
+
+ b. These logs will not be used for any other purposes.
+
+3. OTHER DOMAINS:
+
+ a. If this domain transfers identifiable user data about DNT Users to
+ contractors, affiliates or other parties, or embeds from or posts data to
+ other domains, we will either:
+
+ b. ensure that the operators of those domains abide by this policy overall
+ by posting it at /.well-known/dnt-policy.txt via HTTPS on the domains in
+ question,
+
+ OR
+
+ ensure that the recipient's policies and practices require the recipient
+ to respect the policy for our DNT Users' data.
+
+ OR
+
+ obtain a contractual commitment from the recipient to respect this policy
+ for our DNT Users' data.
+
+ NOTE: if an “Other Domain†does not receive identifiable user information
+ from the domain because such information has been removed, because the
+ Other Domain does not log that information, or for some other reason, these
+ requirements do not apply.
+
+ c. "Identifiable" means any records which are not Anonymized or otherwise
+ covered by the Exceptions below.
+
+4. PERIODIC REASSERTION OF COMPLIANCE:
+
+ At least once every 12 months, we will take reasonable steps commensurate
+ with the size of our organization and the nature of our service to confirm
+ our ongoing compliance with this document, and we will publicly reassert our
+ compliance.
+
+5. USER NOTIFICATION:
+
+ a. If we are required by law to retain or disclose user identifiers, we will
+ attempt to provide the users with notice (unless we are prohibited or it
+ would be futile) that a request for their information has been made in
+ order to give the users an opportunity to object to the retention or
+ disclosure.
+
+ b. We will attempt to provide this notice by email, if the users have given
+ us an email address, and by postal mail if the users have provided a
+ postal address.
+
+ c. If the users do not challenge the disclosure request, we may be legally
+ required to turn over their information.
+
+ d. We may delay notice if we, in good faith, believe that an emergency
+ involving danger of death or serious physical injury to any person
+ requires disclosure without delay of information relating to the
+ emergency.
+
+EXCEPTIONS
+
+Data from DNT Users collected by this domain may be logged or retained only in
+the following specific situations:
+
+1. CONSENT / "OPT BACK IN"
+
+ a. DNT Users are opting out from tracking across the Web. It is possible
+ that for some feature or functionality, we will need to ask a DNT User to
+ "opt back in" to be tracked by us across the entire Web.
+
+ b. If we do that, we will take reasonable steps to verify that the users who
+ select this option have genuinely intended to opt back in to tracking.
+ One way to do this is by performing scientifically reasonable user
+ studies with a representative sample of our users, but smaller
+ organizations can satisfy this requirement by other means.
+
+ c. Where we believe that we have opt back in consent, our server will
+ send a tracking value status header "Tk: C" as described in section 6.2
+ of the W3C Tracking Preference Expression draft:
+
+ http://www.w3.org/TR/tracking-dnt/#tracking-status-value
+
+2. TRANSACTIONS
+
+ If a DNT User actively and knowingly enters a transaction with our
+ services (for instance, clicking on a clearly-labeled advertisement,
+ posting content to a widget, or purchasing an item), we will retain
+ necessary data for as long as required to perform the transaction. This
+ may for example include keeping auditing information for clicks on
+ advertising links; keeping a copy of posted content and the name of the
+ posting user; keeping server-side session IDs to recognize logged in
+ users; or keeping a copy of the physical address to which a purchased
+ item will be shipped. By their nature, some transactions will require data
+ to be retained indefinitely.
+
+3. TECHNICAL AND SECURITY LOGGING:
+
+ a. If, during the processing of the initial request (for unique identifiers)
+ or during the subsequent 10 days (for IP addresses and User Agent strings),
+ we obtain specific information that causes our employees or systems to
+ believe that a request is, or is likely to be, part of a security attack,
+ spam submission, or fraudulent transaction, then logs of those requests
+ are not subject to this policy.
+
+ b. If we encounter technical problems with our site, then, in rare
+ circumstances, we may retain logs for longer than 10 days, if that is
+ necessary to diagnose and fix those problems, but this practice will not be
+ routinized and we will strive to delete such logs as soon as possible.
+
+4. AGGREGATION:
+
+ a. We may retain and share anonymized datasets, such as aggregate records of
+ readership patterns; statistical models of user behavior; graphs of system
+ variables; data structures to count active users on monthly or yearly
+ bases; database tables mapping authentication cookies to logged in
+ accounts; non-unique data structures constructed within browsers for tasks
+ such as ad frequency capping or conversion tracking; or logs with truncated
+ and/or encrypted IP addresses and simplified User Agent strings.
+
+ b. "Anonymized" means we have conducted risk mitigation to ensure
+ that the dataset, plus any additional information that is in our
+ possession or likely to be available to us, does not allow the
+ reconstruction of reading habits, online or offline activity of groups of
+ fewer than 5000 individuals or devices.
+
+ c. If we generate anonymized datasets under this exception we will publicly
+ document our anonymization methods in sufficient detail to allow outside
+ experts to evaluate the effectiveness of those methods.
+
+5. ERRORS:
+
+From time to time, there may be errors by which user data is temporarily
+logged or retained in violation of this policy. If such errors are
+inadvertent, rare, and made in good faith, they do not constitute a breach
+of this policy. We will delete such data as soon as practicable after we
+become aware of any error and take steps to ensure that it is deleted by any
+third-party who may have had access to the data.
+
+ADDITIONAL DEFINITIONS
+
+"Fully Qualified Domain Name" means a domain name that addresses a computer
+connected to the Internet. For instance, example1.com; www.example1.com;
+ads.example1.com; and widgets.example2.com are all distinct FQDNs.
+
+"Supercookie" means any technology other than an HTTP Cookie which can be used
+by a server to associate identifiers with the clients that visit it. Examples
+of supercookies include Flash LSO cookies, DOM storage, HTML5 storage, or
+tricks to store information in caches or etags.
+
+"Risk mitigation" means an engineering process that evaluates the possibility
+and likelihood of various adverse outcomes, considers the available methods of
+making those adverse outcomes less likely, and deploys sufficient mitigations
+to bring the probability and harm from adverse outcomes below an acceptable
+threshold.
+
+"Reading habits" includes amongst other things lists of visited DNS names, if
+those domains pertain to specific topics or activities, but records of visited
+DNS names are not reading habits if those domain names serve content of a very
+diverse and general nature, thereby revealing minimal information about the
+opinions, interests or activities of the user.
diff --git a/doc/feature/additional/access.md b/doc/feature/additional/access.md
new file mode 100644
index 000000000..3581ca11d
--- /dev/null
+++ b/doc/feature/additional/access.md
@@ -0,0 +1,41 @@
+## Access Control and Permissions
+
+
+### Privacy Groups
+
+Enable management and selection of privacy groups.
+<!-- TODO: full description for Privacy Groups -->
+
+Minimum required technical skill level to see this feature: 0
+
+
+### Multiple Profiles
+
+Ability to create multiple profiles.
+<!-- TODO: full description for Multiple Profiles -->
+
+Minimum required technical skill level to see this feature: 3
+
+
+### Permission Groups
+
+Provide alternate connection permission roles.
+<!-- TODO: full description for Permission Groups -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### OAuth Clients
+
+Manage authenticatication tokens for mobile and remote apps.
+<!-- TODO: full description for OAuth Clients -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Access Tokens
+
+Create access tokens so that non-members can access private content.
+<!-- TODO: full description for Access Tokens -->
+
+Minimum required technical skill level to see this feature: 2
diff --git a/doc/feature/additional/composition.md b/doc/feature/additional/composition.md
new file mode 100644
index 000000000..1256f7501
--- /dev/null
+++ b/doc/feature/additional/composition.md
@@ -0,0 +1,67 @@
+## Post Composition Features
+
+
+### Large Photos
+
+Include large (1024px) photo thumbnails in posts.
+If not enabled, use small (640px) photo thumbnails
+<!-- TODO: full description for Large Photos -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Channel Sources
+
+Automatically import channel content from other channels or feeds
+<!-- TODO: full description for Channel Sources -->
+
+Minimum required technical skill level to see this feature: 3
+
+
+### Even More Encryption
+
+Allow optional encryption of content end-to-end with a shared secret key
+<!-- TODO: full description for Even More Encryption -->
+
+Minimum required technical skill level to see this feature: 3
+
+
+### Enable Voting Tools
+
+Provide a class of post which others can vote on
+<!-- TODO: full description for Enable Voting Tools -->
+
+Minimum required technical skill level to see this feature: 3
+
+
+### Disable Comments
+
+Provide the option to disable comments for a post
+<!-- TODO: full description for Disable Comments -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Delayed Posting
+
+Allow posts to be published at a later date
+<!-- TODO: full description for Delayed Posting -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Content Expiration
+
+Remove posts/comments and/or private messages at a future time
+<!-- TODO: full description for Content Expiration -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Suppress Duplicate Posts/Comments
+
+Prevent posts with identical content to be published
+with less than two minutes in between submissions.
+<!-- TODO: full description for Suppress Duplicate Posts/Comments -->
+
+Minimum required technical skill level to see this feature: 1
diff --git a/doc/feature/additional/filtering.md b/doc/feature/additional/filtering.md
new file mode 100644
index 000000000..ba8e1e29f
--- /dev/null
+++ b/doc/feature/additional/filtering.md
@@ -0,0 +1,57 @@
+## Network and Stream Filtering
+
+
+### Search by Date
+
+Ability to select posts by date ranges
+<!-- TODO: full description for Search by Date -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Saved Searches
+
+Save search terms for re-use
+<!-- TODO: full description for Saved Searches -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Network Personal Tab
+
+Enable tab to display only Network posts that you've interacted on
+<!-- TODO: full description for Network Personal Tab -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Network New Tab
+
+Enable tab to display all new Network activity
+<!-- TODO: full description for Network New Tab -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Affinity Tool
+
+Filter stream activity by depth of relationships
+<!-- TODO: full description for Affinity Tool -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Suggest Channels
+
+Show friend and connection suggestions
+<!-- TODO: full description for Suggest Channels -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Connection Filtering
+
+Filter incoming posts from connections based on keywords/content
+<!-- TODO: full description for Connection Filtering -->
+
+Minimum required technical skill level to see this feature: 3
diff --git a/doc/feature/additional/general.md b/doc/feature/additional/general.md
new file mode 100644
index 000000000..a1b712b12
--- /dev/null
+++ b/doc/feature/additional/general.md
@@ -0,0 +1,130 @@
+## General Features
+
+
+### New Member Links
+
+Display new member quick links menu.
+<!-- TODO: full description for New Member Links -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Advanced Profiles
+
+Additional profile sections and selections
+<!-- TODO: full description for Advanced Profiles -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Profile Import/Export
+
+Save and load profile details across sites/channels
+<!-- TODO: full description for Profile Import/Export -->
+
+Minimum required technical skill level to see this feature: 3
+
+
+### Web Pages
+
+Provide managed web pages on your channel
+<!-- TODO: full description for Web Pages -->
+
+Minimum required technical skill level to see this feature: 3
+
+
+### Wiki
+
+Provide a wiki for your channel
+<!-- TODO: full description for Wiki -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Private Notes
+
+Enables a tool to store notes and reminders (note: not encrypted)
+<!-- TODO: full description for Private Notes -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Cards
+
+Create personal planning cards
+<!-- TODO: full description for Cards -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Articles
+
+Create interactive articles
+<!-- TODO: full description for Articles -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Navigation Channel Select
+
+Change channels directly from within the navigation dropdown menu
+<!-- TODO: full description for Navigation Channel Select -->
+
+Minimum required technical skill level to see this feature: 3
+
+
+### Photo Location
+
+If location data is available on uploaded photos, link this to a map.
+<!-- TODO: full description for Photo Location -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Access Controlled Chatrooms
+
+Provide chatrooms and chat services with access control.
+<!-- TODO: full description for Access Controlled Chatrooms -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Smart Birthdays
+
+Make birthday events timezone aware in case your friends are scattered across the planet.
+<!-- TODO: full description for Smart Birthdays -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Event Timezone Selection
+
+Allow event creation in timezones other than your own.
+<!-- TODO: full description for Event Timezone Selection -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Premium Channel
+
+Allows you to set restrictions and terms
+on those that connect with your channel
+<!-- TODO: full description for Premium Channel -->
+
+Minimum required technical skill level to see this feature: 4
+
+
+### Advanced Directory Search
+
+Allows creation of complex directory search queries
+<!-- TODO: full description for Advanced Directory Search -->
+
+Minimum required technical skill level to see this feature: 4
+
+
+### Advanced Theme and Layout Settings
+
+Allows fine tuning of themes and page layouts
+<!-- TODO: full description for Advanced Theme and Layout Settings -->
+
+Minimum required technical skill level to see this feature: 4
diff --git a/doc/feature/additional/overview.md b/doc/feature/additional/overview.md
new file mode 100644
index 000000000..b51f60bcd
--- /dev/null
+++ b/doc/feature/additional/overview.md
@@ -0,0 +1,33 @@
+[chset]: /settings "Channel Settings"
+[ftset]: /settings/features "Additional Features Settings"
+[ftgen]: /help/feature/additional/general "General Features"
+[ftacc]: /help/feature/additional/access "Access Control and Permissions"
+[ftcom]: /help/feature/additional/composition "Post Composition Features"
+[ftfil]: /help/feature/additional/filtering "Network and Stream Filtering"
+[ftpos]: /help/feature/additional/posts "Post/Comment Tools"
+
+
+# Additional Features
+
+<!-- TODO: Introduction to additional features -->
+
+<!-- TODO: Short info and crosslink on techlevels -->
+
+You can switch the features on and off from the
+[Additional Features][ftset] link in the [Channel Settings][chset].
+
+<!-- TODO: Infos about feature visibility and causes/dependencies -->
+
+The following pages decribe all the available features
+grouped in the same way as they are with the accordion tabs on the
+[Additional Features][ftset] settings page:
+
+[General Features][ftgen]
+
+[Access Control and Permissions][ftacc]
+
+[Post Composition Features][ftcom]
+
+[Network and Stream Filtering][ftfil]
+
+[Post/Comment Tools][ftpos]
diff --git a/doc/feature/additional/posts.md b/doc/feature/additional/posts.md
new file mode 100644
index 000000000..d3f6b37db
--- /dev/null
+++ b/doc/feature/additional/posts.md
@@ -0,0 +1,57 @@
+## Post/Comment Tools
+
+
+### Community Tagging
+
+Ability to tag existing posts
+<!-- TODO: full description for Community Tagging -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Post Categories
+
+Add categories to your posts
+<!-- TODO: full description for Post Categories -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Emoji Reactions
+
+Add emoji reaction ability to posts
+<!-- TODO: full description for Emoji Reactions -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Saved Folders
+
+Ability to file posts under folders
+<!-- TODO: full description for Saved Folders -->
+
+Minimum required technical skill level to see this feature: 2
+
+
+### Dislike Posts
+
+Ability to dislike posts/comments
+<!-- TODO: full description for Dislike Posts -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Star Posts
+
+Ability to mark special posts with a star indicator
+<!-- TODO: full description for Star Posts -->
+
+Minimum required technical skill level to see this feature: 1
+
+
+### Tag Cloud
+
+Provide a personal tag cloud on your channel page
+<!-- TODO: full description for Tag Cloud -->
+
+Minimum required technical skill level to see this feature: 2
diff --git a/doc/fr/about.bb b/doc/fr/about.bb
deleted file mode 100644
index 7988c777e..000000000
--- a/doc/fr/about.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-
-$Projectname est un réseau de communication décentralisé, qui a pour but de proposer un moyen de communication qui est résistant à la censure, respecte la confidentialité et qui est indépendant des grandes companies mondiales. Ces companies géantes fonctionnent comme des espions. Ce sont des monopoles centralisés sur internet. A l'orignie internet ne fonctionnait pas ainsi, il était décentralisé.
-
-$Projectname est libre et open source. Il est conçu pour pouvoir monter en charge depuis un petite Raspberry Pi jusqu'à un serveur puissant à plusieurs coeurs. Il peut être utilisé pour servir de moyen de communication entre quelques individus mais peut monter pour héberger plusieurs milliers d'utilisateurs.
-
-$Projectname a pour but d'être utilisable sans documentation. Il est facile à utiliser pour un usage quotidien pour un utilisateur moyen mais aussi par des administrateurs système ou des développeurs.
-
-Comment utiliser ? Cela dépend de ce que vous voulez en faire.
-
-Il est écrit en php. Cela le rend facile à installer sur des hébergement actuels.
-
-It is written in the PHP scripting language, thus making it trivial to install on any hosting platform in use today comme par exemple [url=http://mediatemple.com/]Media Temple[/url] ou bien [url=http://www.dreamhost.com/r.cgi?455365/]Dreamhost[/url] ou bien encore [url=https://www.linode.com]Linode[/url], [url=http://greenqloud.com]GreenQloud[/url] ou [url=https://aws.amazon.com]Amazon AWS[/url]. Il fonctionne aussi trés bien sur un VPS de OVH.
-
-En d'autres mots, $Projectname peut tourner sur n'importe quelle plateforme qui a un serveur web, une base de donnée mysql et du php.
-
-
-En plus, $Projectname offre un grand nombre de suppléments :
-
-[b]Identification en un clic :[/b] cela signifie que vous pouvez accéder à d'autres sits $Projectname simplement en cliquant sur un lien. L'authentificaiton se fera alors automatiquement sans mot de passe. Oubliez le temps ou il vous fallait un grand nom de mot de passe pour aller sur différents sites.
-
-[b]Clone :[/b] Votre présence en ligne n'a plus besoin d'être faite sur un seul et unique site. Vous pouvez cloner ou importer votre identité (on peut aussi dire votre canal) sur un autre serveur (hub). Si votre serveur principal a des problème et s'arrête, pas de problème, vos contacts, vos messages seront continueront automatiquement à être accessible grĉe à votre canal clone. [i](*: Pour le moment seul les messages sont clonés)[/i]
-
-[b]Confidentialité :[/b] Votre identité $Projectname (Zot IDs) peut être supprimé, sauvegardé ou cloné. L'utilisateur à le total contrôle sur ses donnés. Et si vous décidez de supprimer totalement votre compte avec tous le contenu, tout ce que vous avez à faire est de cliquer sur le bouton de suppression du compte. C'est immédiat. Aucune question ne vous sera posé sur la raion. Vous être libre de le faire quand vous voulez.
-
-#include doc/macros/main_footer.bb;
diff --git a/doc/fr/about/about.bb b/doc/fr/about/about.bb
new file mode 100644
index 000000000..de736bff2
--- /dev/null
+++ b/doc/fr/about/about.bb
@@ -0,0 +1,198 @@
+[h3]Qu'est-ce que $Projectname ?[/h3]
+Le nom du projet est un ensemble [b]libre et open source[/b] d'applications et de services web fonctionnant sur un type particulier de serveur web, appelé "hub" (nœud), qui peut se connecter à d'autres hub dans un réseau décentralisé que nous aimons appeler "la grille", fournissant des services sophistiqués de communication, d'identité et de contrôle d'accès qui fonctionnent ensemble de manière transparente à travers les domaines et les sites web indépendants. Il permet à n'importe qui de publier publiquement ou de [b]manière privée[/b] du contenu via des "canaux", qui sont les identités fondamentales, cryptographiquement sécurisées qui fournissent l'authentification indépendamment des hubs qui les hébergent. Cette libération révolutionnaire de l'identité en ligne à partir de serveurs et domaines individuels est appelée "identité nomade", et elle est alimentée par le protocole Zot, un nouveau cadre pour le contrôle d'accès décentralisé avec des permissions extensibles et à finement configurables.
+
+[h3]D'accord... alors qu'est-ce que $Projectname ?[/h3]
+Du point de vue pratique des membres du hub qui utilisent le logiciel, $Projectname offre une variété d'applications et de services Web familiers et intégrés, y compris :
+[ul]
+[li]fils de discussion sur les réseaux sociaux[/li]
+[li]Stockage de fichiers dans le cloud[/li]
+[li]calendrier et contacts (avec support CalDAV et CardDAV)[/li]
+[li]Hébergement de pages web avec un système de gestion de contenu[/li]
+[li]wiki[/li]
+[li] et plus....[/li]
+[/ul]
+Alors que toutes ces applications et services peuvent être trouvés dans d'autres progiciels, seul $Projectname vous permet de définir des permissions pour des groupes et des individus qui n'ont peut-être même pas de comptes sur votre hub ! Dans les applications web typiques, si vous voulez partager des choses en privé sur Internet, les personnes avec qui vous partagez doivent avoir des comptes sur le serveur hébergeant vos données ; autrement, il n'y a pas de moyen robuste pour votre serveur [i]d'authentifier[/i] les visiteurs du site pour savoir s'ils doivent leur accorder l'accès. $Projectname résout ce problème avec un système avancé [i]d'authentification à distance[/i] qui valide l'identité des visiteurs en employant des techniques qui incluent la cryptographie à clé publique.
+
+[h3]Pile logicielle[/h3].
+La pile logicielle $Projectname est une application serveur web relativement standard écrite principalement en PHP/MySQL et [url=https://github.com/redmatrix/hubzilla/blob/master/install/INSTALL.txt] nécessitant un peu plus qu'un serveur web, une base de données compatible MySQL, et le langage de script PHP[/url]. Il est conçu pour être facilement installable par ceux qui ont des compétences de base en administration de sites Web sur des plates-formes d'hébergement mutualisé typiques avec une large gamme de matériel informatique. Il est aussi facilement extensible via des plugins et des thèmes et d'autres outils tiers.
+
+[h3]Glossaire[/h3].
+[dl terms="b"]
+[*= Hub] Une instance de ce logiciel s'exécutant sur un serveur web standard.
+
+[*=Grille] Le réseau global de hubs qui échangent des informations entre eux en utilisant le protocole Zot.
+
+[*=Canaux] L'identité fondamentale sur la grille. Un canal peut représenter une personne, un blog ou un forum pour n'en nommer que quelques-uns. Les canaux peuvent établir des connexions avec d'autres canaux pour partager des informations avec des permissions très détaillées.
+
+[*=Clone] Les canaux peuvent avoir des clones associés à des comptes séparés et non liés sur des hubs indépendants. Les communications partagées avec un canal sont synchronisées entre les clones de canal, ce qui permet à un canal d'envoyer et de recevoir des messages et d'accéder au contenu partagé à partir de plusieurs concentrateurs. Cela fournit une résilience contre les pannes de réseau et de matériel, ce qui peut être un problème important pour les serveurs Web hébergés ou à ressources limitées. Le clonage vous permet de déplacer complètement un canal d'un hub à un autre, emportant avec vous vos données et vos connexions. Voir identité nomade.
+
+[*=Identité nomade] La capacité d'authentifier et de migrer facilement une identité à travers des hubs indépendants et des domaines web. L'identité nomade fournit une véritable propriété d'une identité en ligne, car les identités des canaux contrôlés par un compte sur un hub ne sont pas liées au hub lui-même. Un hub est plus comme un "host" pour les chaînes. Avec Hubzilla, vous n'avez pas de "compte" sur un serveur comme vous le faites sur des sites web typiques ; vous possédez une identité que vous pouvez emporter avec vous à travers la grille en utilisant des clones.
+
+[*= [url=[baseurl]/help/developer/zot_protocol]Zot[/url]] Le nouveau protocole basé sur JSON pour la mise en œuvre de communications et de services décentralisés sécurisés. Il diffère de nombreux autres protocoles de communication en construisant les communications sur un cadre décentralisé d'identité et d'authentification. Le composant d'authentification est similaire à OpenID sur le plan conceptuel, mais il est isolé des identités basées sur le DNS. Dans la mesure du possible, l'authentification à distance est silencieuse et invisible. Il s'agit d'un mécanisme discret de contrôle d'accès distribué à l'échelle de l'Internet.
+[/dl]
+
+[h3]Caractéristiques[/h3]
+Cette page énumère quelques-unes des fonctionnalités de base de $Projectname qui sont regroupées avec la version officielle. Le nom du projet est une plate-forme hautement extensible, ce qui permet d'ajouter plus de fonctionnalités et de fonctionnalités via des thèmes et des plugins supplémentaires.
+
+[h4]Curseur d'affinité[/h4]
+
+Lors de l'ajout de connexions dans $Projectname, les membres ont la possibilité d'assigner des niveaux d'"affinité" (à quel point votre amitié est proche) à la nouvelle connexion. Par exemple, lorsque vous ajoutez quelqu'un qui se trouve être une personne dont vous suivez le blog, vous pourriez assigner à son canal un niveau d'affinité de &quot;Connaissances&quot;.
+
+D'autre part, lors de l'ajout du canal d'un ami, ils pourraient être placés sous le niveau d'affinité &quot;d'Amis&quot;.
+
+A ce stade, l'outil $Projectname [i]curseur d'affinité[/i], qui apparaît généralement en haut de votre page &quot;Matrix&quot ;, ajuste le contenu de la page pour inclure ceux qui se situent dans la plage d'affinité désirée. Les canaux en dehors de cette plage ne seront pas affichés, à moins que vous n'ajustiez le curseur pour les inclure.
+
+Le curseur d'affinité permet de filtrer instantanément de grandes quantités de contenu, regroupées par niveaux de proximité.
+
+[h4]Filtrage de connexion[/h4]
+
+Vous avez la possibilité de contrôler précisément ce qui apparaît dans votre flux en utilisant le "Filtre de connexion" en option. Lorsqu'il est activé, l'éditeur de connexion fournit des entrées pour sélectionner les critères qui doivent être appariés afin d'inclure ou d'exclure un message spécifique d'un canal spécifique. Une fois qu'un message a été autorisé, tous les commentaires à ce message sont autorisés, qu'ils correspondent ou non aux critères de sélection. Vous pouvez sélectionner des mots qui, s'ils sont présents, bloquent le message ou s'assurent qu'il est inclus dans votre flux. Les expressions régulières peuvent être utilisées pour un contrôle encore plus fin, ainsi que les hashtags ou même la langue détectée du message.
+
+[h4]Listes de contrôle d'accès[/h4]
+
+Lors du partage de contenu, les membres ont l'option de restreindre la visibilité du contenu. En cliquant sur le cadenas sous la boîte de partage, on peut choisir les destinataires désirés du message, en sélectionnant leur nom.
+
+Une fois envoyé, le message ne sera visible que par l'expéditeur et les destinataires sélectionnés. En d'autres termes, le message n'apparaîtra sur aucun mur public.
+
+Les listes de contrôle d'accès peuvent être appliquées au contenu et aux messages, aux photos, aux événements, aux pages Web, aux salons de discussion et aux fichiers.
+
+[h4]Ouverture de session unique[/h4]
+
+Les listes de contrôle d'accès fonctionnent pour tous les canaux de la grille grâce à notre technologie unique d'ouverture de session unique. La plupart des liens internes fournissent un jeton d'identité qui peut être vérifié sur d'autres sites $Projectname et sert à contrôler l'accès aux ressources privées. Vous vous connectez une seule fois à votre hub d'origine. Après cela, l'authentification à toutes les ressources $Projectname est "magique".
+
+[h4]Stockage de fichiers avec WebDAV[/h4]
+
+Les fichiers peuvent être téléchargés dans votre espace de stockage personnel à l'aide des utilitaires de votre système d'exploitation (glisser-déposer dans la plupart des cas). Vous pouvez protéger ces fichiers avec des listes de contrôle d'accès à n'importe quelle combinaison de membres $Projectname (y compris certains membres tiers du réseau) ou les rendre publics.
+
+[h4]Albums de photos[/h4]
+
+Stockez vos photos dans des albums. Toutes vos photos peuvent être protégées par des listes de contrôle d'accès.
+
+[h4]Calendrier des événements[/h4]
+
+Créez et gérez des événements et tâches, qui peuvent également être protégés par des listes de contrôle d'accès. Les événements peuvent être importés et exportés vers d'autres logiciels en utilisant le format standard de l'industrie vcalendar/iCal pour être partagés avec d'autres. Les anniversaires sont automatiquement ajoutés par vos amis et convertis en votre fuseau horaire correct afin que vous sachiez précisément quand l'anniversaire se produit - peu importe où vous vous trouvez dans le monde par rapport à la personne fêtée. Les événements sont normalement créés avec des compteurs de présence afin que vos amis et vos connexions puissent répondre instantanément.
+
+[h4]Salons de discussion[/h4]
+
+Vous pouvez créer n'importe quel nombre de salles de chat personnelles et autoriser l'accès via des listes de contrôle d'accès. Ceux-ci sont généralement plus sûrs que XMPP, IRC et autres transports de messagerie instantanée, bien que nous autorisions également l'utilisation de ces autres services via des plugins.
+
+[h4]Création de pages Web[/h4]
+
+$Projectname dispose de nombreux outils de création de " Gestion de contenu " pour la création de pages Web, y compris l'édition de mise en page, les menus, les blocs, les widgets et les régions de pages et de contenu. Tous ces éléments peuvent être contrôlés de façon à ce que les pages qui en résultent soient privées pour le public auquel elles sont destinées.
+
+[h4]Les applications[/h4]
+
+Les applications peuvent être construites et distribuées par les membres. Ces applications sont différentes des applications " verrouillées par le fournisseur" traditionnelles parce qu'elles sont entièrement contrôlées par l'auteur - qui peut fournir un contrôle d'accès sur les pages de l'application de destination et facturer en conséquence pour cet accès. La plupart des applications de $Projectname sont gratuites et peuvent être créées facilement par ceux qui n'ont aucune connaissance en programmation.
+
+[h4]Mise en page[/h4]
+
+La mise en page est basée sur un langage de description appelé Comanche. $Projectname est lui-même rédigé avec des mises en page Comanche que vous pouvez modifier. Cela permet un niveau de personnalisation que vous ne trouverez pas dans d'autres environnements dits "multi-utilisateurs".
+
+[h4]Marque-pages[/h4]
+
+Partagez, sauvegardez et gérez les marque-pages à partir des liens fournis dans les conversations.
+
+[h4]Cryptage des messages privés et protection de la vie privée[/h4].
+
+Le courrier privé est stocké dans un format obscurci. Bien que cela ne soit pas à l'épreuve des balles, cela empêche généralement l'espionnage occasionnel par l'administrateur du site ou le fournisseur d'accès Internet.
+
+Chaque canal $Projectname possède son propre jeu unique de clés RSA 4096 bits privées et publiques associées, générées lors de la première création des canaux. Ceci est utilisé pour protéger les messages privés et les messages en transit.
+
+De plus, les messages peuvent être créés en utilisant un "chiffrement de bout en bout" qui ne peut pas être lu par les opérateurs $Projectname ou les FAI ou toute personne ne connaissant pas le code d'accès.
+
+Les messages publics ne sont généralement pas cryptés en transit ou en stockage.
+
+Les messages privés peuvent être retirés (non expédiés) bien qu'il n'y ait aucune garantie que le destinataire ne l'a pas encore lu.
+
+Posts et messages peuvent être créés avec une date d'expiration, date à laquelle ils seront supprimés/supprimés sur le site du destinataire.
+
+[h4]Fédération des services[/h4]
+
+En plus d'ajouter des greffons de connexion à une variété de réseaux alternatifs, il existe un support natif pour l'importation de contenu à partir de flux RSS/Atom pour créer des canaux spéciaux. Des plugins sont également disponibles pour communiquer avec d'autres personnes en utilisant les protocoles Diaspora et GNU-Social (OStatus). Ces réseaux ne prennent pas en charge l'identité nomade ou le contrôle d'accès inter-domaines ; cependant, les communications de base sont prises en charge par Diaspora, Friendica, GNU-Social, Mastodon et d'autres fournisseurs qui utilisent ces protocoles.
+
+Il existe également un support expérimental pour l'authentification OpenID qui peut être utilisé dans les listes de contrôle d'accès. Il s'agit d'un travail en cours. Votre hub $Projectname peut être utilisé en tant que fournisseur OpenID pour vous authentifier auprès des services externes qui utilisent cette technologie.
+
+Les canaux peuvent avoir la permission de devenir des "canaux dérivés" lorsque deux ou plusieurs canaux existants se combinent pour créer un nouveau canal topique.
+
+[h4]Groupes de protection de la vie privée[/h4]
+
+Notre mise en œuvre de groupes de protection de la vie privée est similaire à Google "Circles" et Diaspora "Aspects". Cela vous permet de filtrer votre flux entrant par groupes sélectionnés et de définir automatiquement la liste de contrôle d'accès sortant sur ceux de ce groupe de confidentialité lorsque vous postez un message. Vous pouvez l'annuler à tout moment (avant l'envoi du poste).
+
+[h4]Services d'annuaire[/h4]
+
+Nous fournissons un accès facile à un annuaire des membres et des outils décentralisés capables de fournir des "suggestions" d'amis. Les répertoires sont des sites $Projectname normaux qui ont choisi d'accepter le rôle de serveur d'annuaire. Cela nécessite plus de ressources que la plupart des sites typiques et n'est donc pas la valeur par défaut. Les annuaires sont synchronisés et mis en miroir de sorte qu'ils contiennent tous des informations à jour sur l'ensemble du réseau (sous réserve des délais de propagation normaux).
+
+[h4]TLS/SSL[/h4]
+
+Pour les hubs $Projectname qui utilisent TLS/SSL, les communications entre le client et le serveur sont cryptées via TLS/SSL. Étant donné les récentes révélations dans les médias concernant la surveillance mondiale et le contournement du chiffrement par la NSA et le GCHQ, il est raisonnable de supposer que les communications protégées par HTTPS peuvent être compromises de diverses façons. Les communications privées sont donc cryptées à un niveau supérieur avant l'envoi hors site.
+
+[h4]Réglages des canaux[/h4]
+
+Lorsqu'un canal est créé, un rôle est choisi qui applique un certain nombre de paramètres de sécurité et de confidentialité préconfigurés. Celles-ci sont choisies pour les meilleures pratiques afin de maintenir la protection de la vie privée aux niveaux requis.
+
+Si vous choisissez un rôle de confidentialité "personnalisé", chaque canal permet de définir des permissions finement définies pour divers aspects de la communication. Par exemple, sous la rubrique " Paramètres de sécurité et de confidentialité ", chaque aspect sur le côté gauche de la page comporte six (6) options de visualisation et d'accès possibles, qui peuvent être sélectionnées en cliquant sur le menu déroulant. Il existe également un certain nombre d'autres paramètres de confidentialité que vous pouvez modifier.
+
+Les options sont :
+
+ - Personne d'autre que vous-même.
+ - Seulement ceux que vous autorisez spécifiquement.
+ - N'importe qui dans votre carnet d'adresses.
+ - Toute personne sur ce site Web.
+ - N'importe qui dans ce réseau.
+ - Toute personne authentifiée.
+ - N'importe qui sur Internet.
+
+[h4]Forums publics et privés[/h4]
+
+Les forums sont généralement des canaux qui peuvent être ouverts à la participation de plusieurs auteurs. Il existe actuellement deux mécanismes pour poster sur les forums : 1) les messages " mur à mur " et 2) via les balises forum @mention. Les forums peuvent être créés par n'importe qui et utilisés à n'importe quelle fin. Le répertoire contient une option pour rechercher des forums publics. Les forums privés ne peuvent être affichés et souvent vus que par les membres.
+
+[h4]Clonage de compte[/h4].
+
+Les comptes en $Projectname sont désignés sous le nom de [i]identités nomades[/i], car l'identité d'un membre n'est pas liée à celle du hub où l'identité a été créée à l'origine. Par exemple, lorsque vous créez un compte Facebook ou Gmail, il est lié à ces services. Ils ne peuvent pas fonctionner sans Facebook.com ou Gmail.com.
+
+Par contre, disons que vous avez créé une identité $Projectname appelée [b]tina@$Projectnamehub.com[/b]. Vous pouvez le cloner dans un autre hub $Projectname en choisissant le même nom, ou un nom différent : [b]machin@quelquonque$ProjectnameHub.info[/b].
+
+Les deux canaux sont maintenant synchronisés, ce qui signifie que tous vos contacts et préférences seront dupliqués sur votre clone. Peu importe que vous envoyiez un courrier à partir de votre hub d'origine ou du nouveau hub. Les messages seront reflétés sur les deux comptes.
+
+C'est une caractéristique plutôt révolutionnaire, si l'on considère certains scénarios :
+
+Que se passe-t-il si le hub où une identité est basée se déconnecte soudainement ? Sans clonage, un membre ne pourra pas communiquer jusqu'à ce que ce hub revienne en ligne (sans aucun doute, beaucoup d'entre vous ont vu et maudit le Twitter "Fail Whale"). Avec le clonage, vous n'avez qu'à vous connecter à votre compte cloné, et la vie continue de manière joyeuse pour toujours.
+
+L'administrateur de votre hub n'a plus les moyens de payer son hub gratuit et public $Projectname. Il annonce que le hub sera fermé dans deux semaines. Cela vous donne amplement le temps de cloner votre (vos) identité(s) et de préserver vos relations $Projectname, vos amis et le contenu.
+
+Que faire si votre identité est soumise à la censure du gouvernement ? Votre fournisseur de concentrateur peut être contraint de supprimer votre compte, ainsi que les identités et les données associées. Avec le clonage, $Projectname offre [b]une résistance à la censure[/b]. Vous pouvez avoir des centaines de clones, si vous le souhaitez, tous nommés différemment, et existant sur de nombreux hubs différents, éparpillés sur Internet.
+
+Le nom du projet offre de nouvelles possibilités intéressantes pour la protection de la vie privée. Vous pouvez en lire plus à la page &lt;Meilleures pratiques en communications privées&gt;.
+
+Certaines mises en garde s'appliquent. Pour une explication complète du clonage d'identité, lisez la page &lt;Comment cloner mon identité&gt;.
+
+[h4]Sauvegarde de compte[/h4]
+
+Hubzilla offre une simple sauvegarde de votre compte en un seul clic, où vous pouvez télécharger une sauvegarde complète de votre (vos) profil(s). Les sauvegardes peuvent ensuite être utilisées pour cloner ou restaurer un profil.
+
+[h4]Suppression de compte[/h4]
+
+Les comptes peuvent être immédiatement supprimés en cliquant sur un lien. Voilà, c'est tout. Tout le contenu associé est ensuite supprimé de la grille (y compris les messages et tout autre contenu produit par le profil supprimé). Selon le nombre de connexions que vous avez, le processus de suppression du contenu distant peut prendre un certain temps, mais il est programmé pour se produire aussi rapidement que possible.
+
+[h4]Suppression de contenu[/h4]
+
+Tout contenu créé dans Hubzilla reste sous le contrôle du membre (ou du canal) qui l'a créé à l'origine. A tout moment, un membre peut supprimer un message ou une série de messages. Le processus de suppression garantit que le contenu est supprimé, qu'il ait été posté sur le hub d'origine d'un canal ou sur un autre hub, où le canal a été authentifié à distance via Zot (protocole de communication et d'authentification Hubzilla).
+
+[h4]Médias[/h4]
+
+Semblable à tout autre système moderne de blogging, réseau social ou service de micro-blogging, Hubzilla prend en charge le téléchargement de fichiers, l'intégration de vidéos, l'intégration de liens vers des pages web.
+
+[h4]Prévisualisation/Édition[/h4]
+
+Les messages et commentaires peuvent être prévisualisés avant l'envoi et édités après l'envoi.
+
+[h4]Vote/consensus[/h4]
+Les messages peuvent être transformés en éléments de "consensus", ce qui permet aux lecteurs d'offrir un retour d'information, qui est rassemblé en compteurs "d'accord", "en désaccord" et "abstention". Cela vous permet de mesurer l'intérêt pour les idées et de créer des sondages informels.
+
+[h4]Extension de Hubzilla[/h4]
+
+Hubzilla peut être étendu de plusieurs façons, par la personnalisation du site, la personnalisation personnelle, la définition d'options, de thèmes et dde greffons.
+
+[h4]API[/h4]
+
+Une API est disponible pour l'utilisation par des services tiers. Un plugin fournit également une implémentation de base de l'API Twitter (pour laquelle il existe des centaines d'outils tiers). L'accès peut être fourni par login/mot de passe ou OAuth, et l'enregistrement client des applications OAuth est fourni.
diff --git a/doc/fr/toc.html b/doc/fr/toc.html
new file mode 100644
index 000000000..95b9454c7
--- /dev/null
+++ b/doc/fr/toc.html
@@ -0,0 +1,73 @@
+<div class="" id="accordion">
+ <div class="">
+ <div class="">
+ <h3 class="panel-title">
+ A propos
+ </h3>
+ </div>
+ <div id="about" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/about/about">A propos</a>
+ <a class="nav-link" href="/help/about/project">Le projet</a>
+ <a class="nav-link" href="/help/about/about_hub">A propos de ce hub</a>
+ </div>
+ </div>
+ </div>
+ <div class="">
+ <div class="">
+ <h3 class="panel-title">
+ Membres
+ </h3>
+ </div>
+ <div id="members" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/member/member_guide">Guide</a>
+ <a class="nav-link" href="/help/member/bbcode">Référence du BBcode</a>
+ <a class="nav-link" href="/help/bugs">Signalement des bogues</a>
+ <a class="nav-link" href="/help/member/member_faq">FAQ</a>
+ </div>
+ </div>
+ </div>
+ <div class="panel">
+ <div class="">
+ <h3 class="panel-title">
+ Administrateurs
+ </h3>
+ </div>
+ <div id="administrators" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/admin/administrator_guide">Guide</a>
+ <a class="nav-link" href="/help/admin/hub_snapshots">Instantanés de Hub</a>
+ <a class="nav-link" href="/help/database">Tables de base de données</a>
+ </div>
+ </div>
+ </div>
+ <div class="panel">
+ <div class="">
+ <h3 class="panel-title">
+ Développeurs
+ </h3>
+ </div>
+ <div id="developers" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/developer/developer_guide">Guide</a>
+ <a class="nav-link" href="/help/developer/covenant">Code de conduite</a>
+ <a class="nav-link" href="/help/developer/zot_protocol">Zot Protocol</a>
+ <a class="nav-link" href="/help/developer/api_zot">Zot API</a>
+ <a class="nav-link" href="/help/hooklist">Hooks</a>
+ </div>
+ </div>
+ </div>
+ <div class="panel">
+ <div class="">
+ <h3 class="panel-title">
+ Tutoriels
+ </h3>
+ </div>
+ <div id="tutorials" class="doco-section">
+ <div class="flex-column">
+ <a class="nav-link" href="/help/tutorials/personal_channel">Canal personnel</a>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/doc/member/member_guide.bb b/doc/member/member_guide.bb
index 10ea4db57..e36e1c497 100644
--- a/doc/member/member_guide.bb
+++ b/doc/member/member_guide.bb
@@ -22,63 +22,41 @@ Click the link to read the site's [zrl=[baseurl]/help/TermsOfService]Terms of Se
Once you have provided the necessary details, click the 'Register' button. Some sites may require administrator approval before the registration is processed, and you will be alerted if this is the case. Please watch your email (including spam folders) for your registration approval.
-[b]Create a Channel[/b]
-Next, you will be presented with the &quot;Add a channel&quot; screen. Normally, your first channel will be one that represents you - so using your own name (or psuedonym) as the channel name is a good idea. The channel name should be thought of as a title, or brief description of your channel. The &quot;choose a short nickname&quot; box is similar to a &quot;username&quot; field. We will use whatever you enter here to create a channel address, which other people will use to connect to you, and you will use to log in to other sites. This looks like an email address, and takes the form nickname@siteyouregisteredat.xyz
-When your channel is created you will be taken straight to your settings page where you can define permissions, enable features, etc. All these things are covered in the appropriate section of the helpfiles.
-
-See Also
-[zrl=[baseurl]/help/accounts_profiles_channels_basics]The Basics about Identities within $Projectname[/zrl]
-[zrl=[baseurl]/help/accounts]Accounts[/zrl]
-[zrl=[baseurl]/help/profiles]Profiles[/zrl]
-[zrl=[baseurl]/help/permissions]Permissions[/zrl]
-[zrl=[baseurl]/help/remove_account]Remove Account[/zrl]
-
-[b]Profiles[/b]
-
-$Projectname has unlimited profiles. You may use different profiles to show different &quot;sides of yourself&quot; to different audiences. This is different to having different channels. Different channels allow for completely different sets of information. You may have a channel for yourself, a channel for your sports team, a channel for your website, or whatever else. A profile allows for finely graded &quot;sides&quot; of each channel. For example, your default public profile might say &quot;Hello, I'm Fred, and I like laughing&quot;. You may show your close friends a profile that adds &quot;and I also enjoy dwarf tossing&quot;.
-
-You always have a profile known as your &quot;default&quot; or &quot;public&quot; profile. This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). You may, and probably should restrict the information you make available on your public profile.
-
-That said, if you want other friends to be able to find you, it helps to have the following information in your public profile...
-
-[ul][*]Your real name or at least a nickname everybody knows
-[*]A photo of you
-[*]Your location on the planet, at least to a country level.[/ul]
-
-In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some &quot;Keywords&quot; to your profile. Such as &quot;music, linux, photography&quot; or whatever. You can add as many keywords as you like.
-
-To create an alternate profile, first go to [zrl=[baseurl]/settings/features]Settings &gt; Additional Features[/zrl] and enable &quot;Multiple Profiles&quot; there, otherwise you won't have the ability to use more than just your default profile.
+[h3]Channels[/h3]
-Then select &quot;Edit Profiles&quot; from the menu of your $Projectname site. You may edit an existing profile, change the profile photo, add things to a profile or create a new profile. You may also create a &quot;clone&quot; of an existing profile if you only wish to change a few items but don't wish to enter all the information again. To do that, click on the profile you want to clone and choose &quot;Clone this profile&quot; there.
+[h4]What are channels?[/h4]
-In the list of your profiles, you can also choose the contacts who can see a specific profile. Just click on &quot;Edit visibility&quot; next to the profile in question (only available for the profiles that are not your default profile) and then click on specific connections to add them to or remove them from the group of people who can see this profile.
+Channels are simply collections of content stored in one place. A channel can represent anything. It could represent you, a website, a forum, photo albums, anything. For most people, their first channel with be &quot;Me&quot;.
-Once a profile has been selected, when the person views your profile, they will see the private profile you have assigned. If they are not authenticated, they will see your public profile.
+The most important features for a channel that represents &quot;me&quot; are:
+[ul]
+[*]Secure and private &quot;spam free&quot; communications
-There is a setting which allows you to publish your profile to a directory and ensure that it can be found by others. You can change this setting on the &quot;Settings&quot; page.
+[*]Identity and &quot;single-signon&quot; across the entire network
-If you do not wish to be found be people unless you give them your channel address, you may leave your profile unpublished.
+[*]Privacy controls and permissions which extend to the entire network
-[b]Keywords and Directory Search[/b]
+[*]Directory services (like a phone book)
+[/ul]
+In short, a channel that represents yourself is &quot;me, on the internet&quot;.
-On the directory page, you may search for people with published profiles. Currently, only the name field and the keywords are searched. You may also include such keywords in your default profile - which may be used to search for common interests with other members. Keywords are used in the channel suggestion tool and although they aren't visible in the directory, they are shown if people visit your profile page.
-On your Connnections page and in the directory there is a link to &quot;Suggestions&quot; or &quot;Channel Suggestions&quot;, respectively. This will find channels who have matching and/or similar keywords. The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance.
-See Also
+[h3]Channel Permission Roles[/h3]
-[zrl=[baseurl]/help/AdvancedSearch]Advanced Searching[/zrl]
+When you create a new channel, you will be asked to select a permission role based on how you envision using this channel. The most popular permission roles are the Social Networking roles. You have many other choices, providing options which are analagous to Facebook Groups and Pages, collaborative spaces, newsfeeds, and more. These roles automatically configure several different system variables ranging from what permissions are granted to friends, to your default privacy settings and visibility choices. Advanced configurations are available to let you adjust each of these parameters to your needs, but we've found that most people prefer to "set it and forget it". Thew following describes some of the different roles which are currently available and how they impact your privacy and ability to interact.
-[h3]Account Permission Roles[/h3]
+[h4]Social[/h4]
+[b]Federation[/b]
-[h4]Social[/h4]
+The channel is a very permissive social networking profile which is compatible with other federated social networks. The permission policies are similar to Twitter and mostly compatible with Diaspora and Mastodon. Privacy is a lower priority than ease of access and connecting with others. Anybody in the network can comment on your public posts and send you private mail. By default posts and published items are public, but you can over-ride this when creating the item and restrict it. You are listed in the directory. Your online presence and connections are visible to others. This mode [i]may[/i] increase your exposure to undesired communications and spam. This role is not generally recommended [i]unless[/i] you need to interact regularly with members of other networks.
[b]Mostly Public[/b]
-The channel is a typical social networking profile. By default posts and published items are public, but one can over-ride this when creating the item and restrict it. You are listed in the directory. Your online presence and connections are visible to others.
+The channel is a typical social networking profile. By default posts and published items are public, but you can over-ride this when creating the item and restrict it. You are listed in the directory. Your online presence and connections are visible to others. Only your immediate connections can comment on your public posts and send you private mail. The permission policies are similar to Facebook.
[b]Restricted[/b]
@@ -94,16 +72,16 @@ By default all posts and published items are sent to your 'Friends' privacy grou
[b]Mostly Public[/b]
-The channel is a typical forum. By default posts and published items are public. Members may post by @mention+ or wall-to-wall post. Posting photos and other published items is blocked. The channel is visible in the directory. Members are added automatically.
+The channel is a typical forum. By default posts and published items are public. Members may post by !mention or wall-to-wall post. Posting photos and other published items is blocked. The channel is visible in the directory. Members are added automatically.
[b]Restricted[/b]
-By default all posts and published items are sent to the channel's 'Friends' privacy group. New friends are added to this privacy group. Members may post by @mention+ or wall-to-wall post, but posts and replies may also be seen by other receipients of the top-level post who are not members. The channel is visible in the directory. Members must be manually added by the forum owner.
+By default all posts and published items are sent to the channel's 'Friends' privacy group. New friends are added to this privacy group. Members may post by !mention or wall-to-wall post, but posts and replies may also be seen by other receipients of the top-level post who are not members. The channel is visible in the directory. Members must be manually added by the forum owner.
[b]Private[/b]
-By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. The owner can over-ride this and create a public post or public item if desired. Members cannot. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden. Members must be manually added by the forum owner. Posting by @mention+ is disabled. Posts can only be made via wall-to-wall posts, and sent to members of the 'Friends' privacy group. They are not publicly visible.
+By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. The owner can over-ride this and create a public post or public item if desired. Members cannot. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden. Members must be manually added by the forum owner. Posting by !mention is disabled. Posts can only be made via wall-to-wall posts, and sent to members of the 'Friends' privacy group. They are not publicly visible.
[h4]Feed[/h4]
@@ -136,33 +114,59 @@ A public forum which allows members to post files/photos/webpages.
Set all the privacy and permissions manually to suit your specific needs.
-[h3]Channels[/h3]
+[h3]Creating channels[/h3]
-[h4]What are channels?[/h4]
-Channels are simply collections of content stored in one place. A channel can represent anything. It could represent you, a website, a forum, photo albums, anything. For most people, their first channel with be &quot;Me&quot;.
+After creating your account, you will be presented with the &quot;Add a channel&quot; screen. Normally, your first channel will be one that represents you - so using your own name (or psuedonym) as the channel name is a good idea. The channel name should be thought of as a title, or brief description of your channel. The &quot;choose a short nickname&quot; box is similar to a &quot;username&quot; field. We will use whatever you enter here to create a channel address, which other people will use to connect to you, and you will use to log in to other sites. This looks like an email address, and takes the form nickname@siteyouregisteredat.xyz
-The most important features for a channel that represents &quot;me&quot; are:
-[ul]
-[*]Secure and private &quot;spam free&quot; communications
+See Also
+[zrl=[baseurl]/help/accounts_profiles_channels_basics]The Basics about Identities within $Projectname[/zrl]
+[zrl=[baseurl]/help/accounts]Accounts[/zrl]
+[zrl=[baseurl]/help/profiles]Profiles[/zrl]
+[zrl=[baseurl]/help/permissions]Permissions[/zrl]
+[zrl=[baseurl]/help/remove_account]Remove Account[/zrl]
-[*]Identity and &quot;single-signon&quot; across the entire network
-[*]Privacy controls and permissions which extend to the entire network
+You can create additonal channels from the &quot;Channel Manager&quot; link.
-[*]Directory services (like a phone book)
-[/ul]
-In short, a channel that represents yourself is &quot;me, on the internet&quot;.
+Once you have done this, your channel is ready to use. At [observer=1][observer.url][/observer][observer=0][baseurl]/channel/username[/observer] you will find your channel &quot;stream&quot;. This is where your recent activity will appear, in reverse chronological order. If you post in the box marked &quot;share&quot;, the entry will appear at the top of your stream. You will also find links to all the other communication areas for this channel here. The "hamburger" menu in most themes will provide you with navigation to other system components and apps. The Photos page contain photo albums, and the Events page contains events share by both yourself and your contacts.
+
+[b]Profiles[/b]
+
+$Projectname has unlimited profiles. You may use different profiles to show different &quot;sides of yourself&quot; to different audiences. This is different to having different channels. Different channels allow for completely different sets of information. You may have a channel for yourself, a channel for your sports team, a channel for your website, or whatever else. A profile allows for finely graded &quot;sides&quot; of each channel. For example, your default public profile might say &quot;Hello, I'm Fred, and I like laughing&quot;. You may show your close friends a profile that adds &quot;and I also enjoy dwarf tossing&quot;.
+
+You always have a profile known as your &quot;default&quot; or &quot;public&quot; profile. This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). You may, and probably should restrict the information you make available on your public profile.
+
+That said, if you want other friends to be able to find you, it helps to have the following information in your public profile...
+
+[ul][*]Your real name or at least a nickname everybody knows
+[*]A photo of you
+[*]Your location on the planet, at least to a country level.[/ul]
+
+In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some &quot;Keywords&quot; to your profile. Such as &quot;music, linux, photography&quot; or whatever. You can add as many keywords as you like.
+
+To create an alternate profile, first go to [zrl=[baseurl]/settings/features]Settings &gt; Additional Features[/zrl] and enable &quot;Multiple Profiles&quot; there, otherwise you won't have the ability to use more than just your default profile.
+
+Then select &quot;Edit Profiles&quot; from the menu of your $Projectname site. You may edit an existing profile, change the profile photo, add things to a profile or create a new profile. You may also create a &quot;clone&quot; of an existing profile if you only wish to change a few items but don't wish to enter all the information again. To do that, click on the profile you want to clone and choose &quot;Clone this profile&quot; there.
+
+In the list of your profiles, you can also choose the contacts who can see a specific profile. Just click on &quot;Edit visibility&quot; next to the profile in question (only available for the profiles that are not your default profile) and then click on specific connections to add them to or remove them from the group of people who can see this profile.
+
+Once a profile has been selected, when the person views your profile, they will see the private profile you have assigned. If they are not authenticated, they will see your public profile.
+
+There is a setting which allows you to publish your profile to a directory and ensure that it can be found by others. You can change this setting on the &quot;Settings&quot; page.
+
+If you do not wish to be found be people unless you give them your channel address, you may leave your profile unpublished.
+
+[b]Keywords and Directory Search[/b]
-[h4]Creating channels[/h4]
+On the directory page, you may search for people with published profiles. Currently, only the name field and the keywords are searched. You may also include such keywords in your default profile - which may be used to search for common interests with other members. Keywords are used in the channel suggestion tool and although they aren't visible in the directory, they are shown if people visit your profile page.
-You will be required to create your first channel as part of the sign up process. You can also create additonal channels from the &quot;Select channel&quot; link.
+On your Connnections page and in the directory there is a link to &quot;Suggestions&quot; or &quot;Channel Suggestions&quot;, respectively. This will find channels who have matching and/or similar keywords. The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance.
-You will be asked to provide a channel name, and a short nick name. For a channel that represents yourself, it is a good idea to use your real name here to ensure your friends can find you, and connect to your channel. The short nickname will be used to generate a &quot;webbie&quot;. This is a bit like a username, and will look like an email address, taking the form nickname@domain. You should put a little thought into what you want to use here. Imagine somebody asking for your webbie and having to tell them it is &quot;llamas-are_kewl.123&quot;. &quot;llamasarecool&quot; would be a much better choice.
+See Also
-Once you have created your channel, you will be taken to the settings page, where you can configure your channel, and set your default permissions.
+[zrl=[baseurl]/help/AdvancedSearch]Advanced Searching[/zrl]
-Once you have done this, your channel is ready to use. At [observer=1][observer.url][/observer][observer=0][baseurl]/channel/username[/observer] you will find your channel &quot;stream&quot;. This is where your recent activity will appear, in reverse chronological order. If you post in the box marked &quot;share&quot;, the entry will appear at the top of your stream. You will also find links to all the other communication areas for this channel here. The &quot;About&quot; tab contains your &quot;profile&quot;, the photos page contain photo albums, and the events page contains events share by both yourself and your contacts.
[h4]The grid, permissions and delegation[/h4]
@@ -195,7 +199,7 @@ The process for connecting to channels on other networks (such as GNU-Social, Ma
Some communications offer more than one protocol. If you wish to connect with somebody on Mastodon (for instance) they can use either the 'ostatus' or the 'activitypub' protocol for communication. Generally the 'activitypub' protocol will provide a better experience than 'ostatus', but $Projectname will often choose the first protocol it discovers and this may not be the one you want. You may connect with somebody over a specific protocol by prepending the protocol name in square brackets to their &quot;webbie&quot;. For example
[code]
-[activitypub]foobar@foo.bar
+[activitypub]https://foo.bar/foobar
[ostatus]foobar@foo.bar
[diaspora]foobar@foo.bar
[zot]foobar@foo.bar
@@ -360,12 +364,14 @@ Note: In previous releases, forums were delivered by using @forum+ with a plus s
[h4]Private Mentions[/h4]
If you wish to restrict a post to a single person or a number of people, you can do this by selecting channels or privacy groups from the privacy tool. You can also just tag them with a privacy tag. A privacy tag is a name preceded by the two characters @! - and in addition to tagging these channels, will also change the privacy permissions of the post to only include them. You can have more than one privacy tag, for instance @!bob and @!linda will send the post only to Bob and Linda. This mechanism over-rides the privacy selector.
+Forums may be mentioned in the same way. !!dogs will post to the dogs forum privately. The forum will redeliver the post to all the forum members, but your own followers will not see the post unless they are also members of the dogs forum.
+
You may also tag privacy groups which are "public". When you create or edit a privacy group, there is a checkbox to allow the group members to be seen by others. If this box is checked for a group and you tag (for instance) @!Friends - the post will be restricted to the Friends group. Check that the group is public before doing this - as there is no way to take back a post except to delete it. The group name will appear in the post and will alert members of that group that they are members of it.
[h4]Mentions and Comments[/h4]
The above mechanisms only apply to "top-level" posts you create. Mentioning a channel with any of the above mechanisms has no effect in comments, except that the mentioned channel may receive a notification if they were already included as a recipient in the conversation.
-[h4]Topical Tags[/h4]
+[h4]Topical Tags (also known as Hashtags)[/h4]
Topical tags are indicated by preceding the tag name with the # character. This will create a link in the post to a generalised site search for the term provided. For example, #[zrl=[baseurl]/search?tag=cars]cars[/zrl] will provide a search link for all posts mentioning 'cars' on your site. Topical tags are generally a minimum of three characters in length. Shorter search terms are not likely to yield any search results, although this depends on the database configuration.
Topical tags are also not linked if they are purely numeric, e.g. #1. If you wish to use a numeric hashtag, please add some descriptive text such as #2012-elections.
diff --git a/doc/toc.html b/doc/toc.html
index 1b7de3cb3..9c3d22ab8 100644
--- a/doc/toc.html
+++ b/doc/toc.html
@@ -2,14 +2,12 @@
<div class="">
<div class="">
<h3 class="panel-title">
- About
+ Tutorials
</h3>
</div>
- <div id="about" class="doco-section">
+ <div id="tutorials" class="doco-section">
<div class="flex-column">
- <a class="nav-link" href="/help/about/about">About</a>
- <a class="nav-link" href="/help/about/project">Project</a>
- <a class="nav-link" href="/help/about/about_hub">About this hub</a>
+ <a class="nav-link" href="/help/tutorials/personal_channel">Personal Channel</a>
</div>
</div>
</div>
@@ -23,7 +21,8 @@
<div class="flex-column">
<a class="nav-link" href="/help/member/member_guide">Guide</a>
<a class="nav-link" href="/help/member/bbcode">BBcode Reference</a>
- <a class="nav-link" href="/help/bugs">Reporting Bugs</a>
+ <a class="nav-link" href="/help/feature/additional/overview">Additional Features</a>
+ <a class="nav-link" href="/help/bugs">Reporting Bugs</a>
<a class="nav-link" href="/help/member/member_faq">FAQ</a>
</div>
</div>
@@ -61,12 +60,14 @@
<div class="panel">
<div class="">
<h3 class="panel-title">
- Tutorials
+ About
</h3>
</div>
- <div id="tutorials" class="doco-section">
+ <div id="about" class="doco-section">
<div class="flex-column">
- <a class="nav-link" href="/help/tutorials/personal_channel">Personal Channel</a>
+ <a class="nav-link" href="/help/about/about">About</a>
+ <a class="nav-link" href="/help/about/project">Project</a>
+ <a class="nav-link" href="/help/about/about_hub">About this hub</a>
</div>
</div>
</div>
diff --git a/doc/tutorials/personal_channel.html b/doc/tutorials/personal_channel.html
index 9dbc2aaec..bbf367571 100644
--- a/doc/tutorials/personal_channel.html
+++ b/doc/tutorials/personal_channel.html
@@ -13,8 +13,11 @@ to a personal channel in a natural way.</p>
<p>Enter your name and a nickname for the channel address, and select a "role".
Typically if this is a personal channel that represents you, select a <strong>Social</strong> role
with a level of default privacy that you are comfortable with. If you are unsure,
-select <strong>Social - Restricted</strong>.</p>
+select <strong>Social - Mostly public</strong> which allows easy interaction and provides privacy when you need it.
+Alternatively, <strong>Social - Restricted</strong> is very popular among privacy advocates, though it may require a bit more
+effort to meet people. Whichever setting you choose can be changed later if you decide you require more or less privacy than what is provided.</p>
+<!-- This section no longer applicable
<h3 id="Configure_your_channel_features">Configure your channel features</h3>
<p>When your new channel is created you are directed to the channel settings page.
@@ -26,17 +29,13 @@ enable various features. Remember to press the Submit button when you are done w
your selections.</p>
<p><img class="img-responsive" src="/help/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png" alt="image"><img class="img-responsive" src="/help/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png" alt="image"><img class="img-responsive" src="/help/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png" alt="image"><img class="img-responsive" src="/help/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png" alt="image"></p>
+-->
<h3 id="Add_a_profile_photo">Add a profile photo</h3>
-<p>Navigate to your channel home by clicking the "Home" icon on the left side of the
-navbar, and then select the <strong>About</strong> tab to view your profile.</p>
+<p>When your new channel is created, you will be directed to a page determined by your site admin. By default this is the <strong>Edit Profile</strong> page.
-<p>Press the <strong>Edit</strong> button on the right to edit your profile information.</p>
-
-<p><img class="img-responsive" src="/help/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png" alt="image"></p>
-
-<p>From the <strong>Profile Tools</strong> dropdown menu, select the <strong>Change profile photo</strong></p>
+<p>From the <strong>Profile Tools</strong> dropdown menu, select <strong>Change profile photo</strong> (or just click the profile photo).</p>
<p><img class="img-responsive" src="/help/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png" alt="image"></p>
@@ -44,7 +43,7 @@ navbar, and then select the <strong>About</strong> tab to view your profile.</p>
<p><img class="img-responsive" src="/help/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png" alt="image"></p>
-<p>When you press <strong>Submit</strong> you will be redirected back to the profile editor.
+<p>When you press <strong>Done Editing</strong> you will be redirected back to the profile editor.
(You might need to clear your browser cache if you have trouble seeing the new photo.)</p>
<p><img class="img-responsive" src="/help/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png" alt="image"></p>
diff --git a/images/emoji/2665.png b/images/emoji/2665.png
index 393c3ed52..638cb72dc 100644
--- a/images/emoji/2665.png
+++ b/images/emoji/2665.png
Binary files differ
diff --git a/include/account.php b/include/account.php
index 40cf281c3..2b24364f4 100644
--- a/include/account.php
+++ b/include/account.php
@@ -23,6 +23,7 @@ function get_account_by_id($account_id) {
function check_account_email($email) {
+ $email = punify($email);
$result = array('error' => false, 'message' => '');
// Caution: empty email isn't counted as an error in this function.
@@ -139,7 +140,7 @@ function create_account($arr) {
$result = array('success' => false, 'email' => '', 'password' => '', 'message' => '');
$invite_code = ((x($arr,'invite_code')) ? notags(trim($arr['invite_code'])) : '');
- $email = ((x($arr,'email')) ? notags(trim($arr['email'])) : '');
+ $email = ((x($arr,'email')) ? notags(punify(trim($arr['email']))) : '');
$password = ((x($arr,'password')) ? trim($arr['password']) : '');
$password2 = ((x($arr,'password2')) ? trim($arr['password2']) : '');
$parent = ((x($arr,'parent')) ? intval($arr['parent']) : 0 );
diff --git a/include/api.php b/include/api.php
index c91590070..6a05a40a5 100644
--- a/include/api.php
+++ b/include/api.php
@@ -193,26 +193,18 @@ require_once('include/api_zot.php');
$redirect = trim($_REQUEST['redirect_uris'][0]);
else
$redirect = trim($_REQUEST['redirect_uris']);
+ $grant_types = trim($_REQUEST['grant_types']);
+ $scope = trim($_REQUEST['scope']);
$icon = trim($_REQUEST['logo_uri']);
- if($oauth2) {
- $r = q("INSERT INTO oauth_clients (client_id, client_secret, redirect_uri, grant_types, scope, user_id)
- VALUES ( '%s', '%s', '%s', null, null, null ) ",
- dbesc($key),
- dbesc($secret),
- dbesc($redirect)
- );
- }
- else {
- $r = q("INSERT INTO clients (client_id, pw, clname, redirect_uri, icon, uid)
- VALUES ('%s','%s','%s','%s','%s',%d)",
- dbesc($key),
- dbesc($secret),
- dbesc($name),
- dbesc($redirect),
- dbesc($icon),
- intval(0)
- );
- }
+ $r = q("INSERT INTO oauth_clients (client_id, client_secret, redirect_uri, grant_types, scope, user_id)
+ VALUES ( '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ dbesc($key),
+ dbesc($secret),
+ dbesc($redirect),
+ dbesc($grant_types),
+ dbesc($scope),
+ dbesc((string) api_user())
+ );
$ret['client_id'] = $key;
$ret['client_secret'] = $secret;
diff --git a/include/api_auth.php b/include/api_auth.php
index 5c0bcb317..e2f7ab155 100644
--- a/include/api_auth.php
+++ b/include/api_auth.php
@@ -14,25 +14,58 @@ function api_login(&$a){
// login with oauth
try {
- $oauth = new ZotOAuth1();
- $req = OAuth1Request::from_request();
+ // OAuth 2.0
+ $storage = new \Zotlabs\Identity\OAuth2Storage(\DBA::$dba->db);
+ $server = new \Zotlabs\Identity\OAuth2Server($storage);
+ $request = \OAuth2\Request::createFromGlobals();
+ if ($server->verifyResourceRequest($request)) {
+ $token = $server->getAccessTokenData($request);
+ $uid = $token['user_id'];
+ $r = q("SELECT * FROM channel WHERE channel_id = %d LIMIT 1",
+ intval($uid)
+ );
+ if (count($r)) {
+ $record = $r[0];
+ } else {
+ header('HTTP/1.0 401 Unauthorized');
+ echo('This api requires login');
+ killme();
+ }
+
+ $_SESSION['uid'] = $record['channel_id'];
+ $_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
+
+ $x = q("select * from account where account_id = %d LIMIT 1",
+ intval($record['channel_account_id'])
+ );
+ if ($x) {
+ require_once('include/security.php');
+ authenticate_success($x[0], null, true, false, true, true);
+ $_SESSION['allow_api'] = true;
+ call_hooks('logged_in', App::$user);
+ return;
+ }
+ } else {
+ // OAuth 1.0
+ $oauth = new ZotOAuth1();
+ $req = OAuth1Request::from_request();
- list($consumer,$token) = $oauth->verify_request($req);
+ list($consumer, $token) = $oauth->verify_request($req);
- if (!is_null($token)){
- $oauth->loginUser($token->uid);
+ if (!is_null($token)) {
+ $oauth->loginUser($token->uid);
- App::set_oauth_key($consumer->key);
+ App::set_oauth_key($consumer->key);
- call_hooks('logged_in', App::$user);
- return;
+ call_hooks('logged_in', App::$user);
+ return;
+ }
+ killme();
}
- killme();
- }
- catch(Exception $e) {
+ } catch (Exception $e) {
logger($e->getMessage());
}
-
+
// workarounds for HTTP-auth in CGI mode
foreach([ 'REDIRECT_REMOTE_USER', 'HTTP_AUTHORIZATION' ] as $head) {
diff --git a/include/attach.php b/include/attach.php
index 39269eb03..363005029 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -948,6 +948,16 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
return $ret;
}
+ // Update the folder timestamp @todo recurse to the storage root folder
+
+ if($folder_hash) {
+ q("UPDATE attach set edited = '%s' where hash = '%s' and uid = %d and is_dir = 1",
+ dbesc($edited),
+ dbesc($folder_hash),
+ intval($channel_id)
+ );
+ }
+
// Caution: This re-uses $sql_options set further above
$r = q("select * from attach where uid = %d and hash = '%s' $sql_options limit 1",
diff --git a/include/auth.php b/include/auth.php
index 6f5e58361..c44eeb8fc 100644
--- a/include/auth.php
+++ b/include/auth.php
@@ -37,6 +37,7 @@ require_once('include/security.php');
function account_verify_password($login, $pass) {
$ret = [ 'account' => null, 'channel' => null, 'xchan' => null ];
+ $login = punify($login);
$email_verify = get_config('system', 'verify_email');
$register_policy = get_config('system', 'register_policy');
@@ -144,8 +145,17 @@ if((isset($_SESSION)) && (x($_SESSION, 'authenticated')) &&
// process logout request
$args = array('channel_id' => local_channel());
call_hooks('logging_out', $args);
- App::$session->nuke();
- info( t('Logged out.') . EOL);
+
+
+ if($_SESSION['delegate'] && $_SESSION['delegate_push']) {
+ $_SESSION = $_SESSION['delegate_push'];
+ info( t('Delegation session ended.') . EOL);
+ }
+ else {
+ App::$session->nuke();
+ info( t('Logged out.') . EOL);
+ }
+
goaway(z_root());
}
@@ -235,7 +245,7 @@ else {
$record = null;
$addon_auth = array(
- 'username' => trim($_POST['username']),
+ 'username' => punify(trim($_POST['username'])),
'password' => trim($_POST['password']),
'authenticated' => 0,
'user_record' => null
@@ -261,7 +271,7 @@ else {
$verify = account_verify_password($_POST['username'], $_POST['password']);
if($verify && array_key_exists('reason',$verify) && $verify['reason'] === 'unvalidated') {
notice( t('Email validation is incomplete. Please check your email.'));
- goaway(z_root() . '/email_validation/' . bin2hex(trim(escape_tags($_POST['username']))));
+ goaway(z_root() . '/email_validation/' . bin2hex(punify(trim(escape_tags($_POST['username'])))));
}
elseif($verify) {
$atoken = $verify['xchan'];
diff --git a/include/bbcode.php b/include/bbcode.php
index 03a46444b..340fe6b25 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -311,6 +311,19 @@ function bb_ShareAttributes($match) {
if ($matches[1] != "")
$posted = $matches[1];
+ $auth = "";
+ preg_match("/auth='(.*?)'/ism", $attributes, $matches);
+ if ($matches[1] != "") {
+ if($matches[1] === 'true')
+ $auth = true;
+ else
+ $auth = false;
+ }
+
+ if($auth === EMPTY_STR) {
+ $auth = is_matrix_url($profile);
+ }
+
// message_id is never used, do we still need it?
$message_id = "";
preg_match("/message_id='(.*?)'/ism", $attributes, $matches);
@@ -329,7 +342,7 @@ function bb_ShareAttributes($match) {
$headline = '<div class="shared_container"> <div class="shared_header">';
if ($avatar != "")
- $headline .= '<a href="' . zid($profile) . '" ><img src="' . $avatar . '" alt="' . $author . '" height="32" width="32" /></a>';
+ $headline .= '<a href="' . (($auth) ? zid($profile) : $profile) . '" ><img src="' . $avatar . '" alt="' . $author . '" height="32" width="32" /></a>';
if(strpos($link,'/cards/'))
$type = t('card');
@@ -341,8 +354,8 @@ function bb_ShareAttributes($match) {
// Bob Smith wrote the following post 2 hours ago
$fmt = sprintf( t('%1$s wrote the following %2$s %3$s'),
- '<a href="' . zid($profile) . '" >' . $author . '</a>',
- '<a href="' . zid($link) . '" >' . $type . '</a>',
+ '<a href="' . (($auth) ? zid($profile) : $profile) . '" >' . $author . '</a>',
+ '<a href="' . (($auth) ? zid($link) : $link) . '" >' . $type . '</a>',
$reldate
);
@@ -393,7 +406,7 @@ function bb_ShareAttributesSimple($match) {
if ($matches[1] != "")
$profile = $matches[1];
- $text = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' <a href="' . $profile . '">' . $author . '</a>: div class="reshared-content">' . $match[2] . '</div>';
+ $text = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' <a href="' . $profile . '">' . $author . '</a>: <div class="reshared-content">' . $match[2] . '</div>';
return($text);
}
@@ -668,6 +681,31 @@ function bb_fixtable_lf($match) {
}
+function bbtopoll($s) {
+
+ $pl = [];
+
+ $match = '';
+ if(! preg_match("/\[poll=(.*?)\](.*?)\[\/poll\]/ism",$s,$match)) {
+ return null;
+ }
+ $pl['poll_id'] = $match[1];
+ $pl['poll_question'] = $match[2];
+
+ $match = '';
+ if(preg_match_all("/\[poll\-answer=(.*?)\](.*?)\[\/poll\-answer\]/is",$s,$match,PREG_SET_ORDER)) {
+ $pl['answer'] = [];
+ foreach($match as $m) {
+ $ans = [ 'answer_id' => $m[1], 'answer_text' => $m[2] ];
+ $pl['answer'][] = $ans;
+ }
+ }
+
+ return $pl;
+
+}
+
+
function parseIdentityAwareHTML($Text) {
// Hide all [noparse] contained bbtags by spacefying them
@@ -742,10 +780,16 @@ function parseIdentityAwareHTML($Text) {
function bbcode($Text, $options = []) {
+ if(! is_array($options)) {
+ $options = [];
+ }
+
$preserve_nl = ((array_key_exists('preserve_nl',$options)) ? $options['preserve_nl'] : false);
$tryoembed = ((array_key_exists('tryoembed',$options)) ? $options['tryoembed'] : true);
$cache = ((array_key_exists('cache',$options)) ? $options['cache'] : false);
+ $newwin = ((array_key_exists('newwin',$options)) ? $options['newwin'] : true);
+ $target = (($newwin) ? ' target="_blank" ' : '');
call_hooks('bbcode_filter', $Text);
@@ -766,6 +810,11 @@ function bbcode($Text, $options = []) {
$ev = bbtoevent($Text);
+ // and the same with polls
+
+ $pl = bbtopoll($Text);
+
+
// process [observer] tags before we do anything else because we might
// be stripping away stuff that then doesn't need to be worked on anymore
@@ -891,7 +940,7 @@ function bbcode($Text, $options = []) {
if($tryoembed) {
$Text = preg_replace_callback("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ismu", 'tryoembed', $Text);
}
- $Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ismu", '$1<a href="$2" target="_blank" rel="nofollow noopener">$2</a>', $Text);
+ $Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ismu", '$1<a href="$2" ' . $target . ' rel="nofollow noopener">$2</a>', $Text);
}
if (strpos($Text,'[/share]') !== false) {
@@ -903,16 +952,16 @@ function bbcode($Text, $options = []) {
}
}
if (strpos($Text,'[/url]') !== false) {
- $Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
- $Text = preg_replace("/\#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" target="_blank" rel="nofollow noopener" >$2</a>', $Text);
- $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
- $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" target="_blank" rel="nofollow noopener" >$2</a>', $Text);
+ $Text = preg_replace("/\#\^\[url\]([$URLSearchString]*)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\#\^\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<span class="bookmark-identifier">#^</span><a class="bookmark" href="$1" ' . $target . ' rel="nofollow noopener" >$2</a>', $Text);
+ $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" ' . $target . ' rel="nofollow noopener" >$2</a>', $Text);
}
if (strpos($Text,'[/zrl]') !== false) {
- $Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
- $Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" target="_blank" rel="nofollow noopener" >$2</a>', $Text);
- $Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
- $Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_blank" rel="nofollow noopener" >$2</a>', $Text);
+ $Text = preg_replace("/\#\^\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\#\^\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<span class="bookmark-identifier">#^</span><a class="zrl bookmark" href="$1" ' . $target . ' rel="nofollow noopener" >$2</a>', $Text);
+ $Text = preg_replace("/\[zrl\]([$URLSearchString]*)\[\/zrl\]/ism", '<a class="zrl" href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" ' . $target . ' rel="nofollow noopener" >$2</a>', $Text);
}
if (get_account_techlevel() < 2)
@@ -920,8 +969,8 @@ function bbcode($Text, $options = []) {
// Perform MAIL Search
if (strpos($Text,'[/mail]') !== false) {
- $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
- $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1" target="_blank" rel="nofollow noopener" >$2</a>', $Text);
+ $Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1" ' . $target . ' rel="nofollow noopener" >$2</a>', $Text);
}
@@ -952,11 +1001,11 @@ function bbcode($Text, $options = []) {
}
// Check for strike-through text
if (strpos($Text,'[s]') !== false) {
- $Text = preg_replace("(\[s\](.*?)\[\/s\])ism", '<strike>$1</strike>', $Text);
+ $Text = preg_replace("(\[s\](.*?)\[\/s\])ism", '<span style="text-decoration: line-through;">$1</span>', $Text);
}
// Check for over-line text
if (strpos($Text,'[o]') !== false) {
- $Text = preg_replace("(\[o\](.*?)\[\/o\])ism", '<span class="overline">$1</span>', $Text);
+ $Text = preg_replace("(\[o\](.*?)\[\/o\])ism", '<span style="text-decoration: overline;">$1</span>', $Text);
}
if (strpos($Text,'[sup]') !== false) {
$Text = preg_replace("(\[sup\](.*?)\[\/sup\])ism", '<sup>$1</sup>', $Text);
@@ -1243,28 +1292,18 @@ function bbcode($Text, $options = []) {
// if video couldn't be embedded, link to it instead.
if (strpos($Text,'[/video]') !== false) {
- $Text = preg_replace("/\[video\](.*?)\[\/video\]/", '<a href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\[video\](.*?)\[\/video\]/", '<a href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
}
if (strpos($Text,'[/audio]') !== false) {
- $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '<a href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/", '<a href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
}
if (strpos($Text,'[/zvideo]') !== false) {
- $Text = preg_replace("/\[zvideo\](.*?)\[\/zvideo\]/", '<a class="zid" href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
+ $Text = preg_replace("/\[zvideo\](.*?)\[\/zvideo\]/", '<a class="zid" href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
}
if (strpos($Text,'[/zaudio]') !== false) {
- $Text = preg_replace("/\[zaudio\](.*?)\[\/zaudio\]/", '<a class="zid" href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
- }
-
-// if ($tryoembed){
-// if (strpos($Text,'[/iframe]') !== false) {
-// $Text = preg_replace_callback("/\[iframe\](.*?)\[\/iframe\]/ism", 'bb_iframe', $Text);
-// }
-// } else {
-// if (strpos($Text,'[/iframe]') !== false) {
-// $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '<a href="$1" target="_blank" rel="nofollow noopener" >$1</a>', $Text);
-// }
-// }
+ $Text = preg_replace("/\[zaudio\](.*?)\[\/zaudio\]/", '<a class="zid" href="$1" ' . $target . ' rel="nofollow noopener" >$1</a>', $Text);
+ }
// oembed tag
$Text = oembed_bbcode2html($Text);
diff --git a/include/channel.php b/include/channel.php
index a8ddfa978..4bf490bf0 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -780,7 +780,7 @@ function identity_basic_export($channel_id, $sections = null) {
}
}
- if(in_array('channel',$sections)) {
+ if(in_array('channel',$sections) || in_array('profile',$sections)) {
$r = q("select * from profile where uid = %d",
intval($channel_id)
);
@@ -1126,8 +1126,7 @@ function channel_export_items($channel_id, $start, $finish) {
/**
* @brief Loads a profile into the App structure.
*
- * The function requires a writeable copy of the main App structure, and the
- * nickname of a valid channel.
+ * The function requires the nickname of a valid channel.
*
* Permissions of the current observer are checked. If a restricted profile is available
* to the current observer, that will be loaded instead of the channel default profile.
@@ -1235,7 +1234,7 @@ function profile_load($nickname, $profile = '') {
);
if($z) {
$p[0]['picdate'] = $z[0]['xchan_photo_date'];
- $p[0]['reddress'] = str_replace('@','&#x40;',$z[0]['xchan_addr']);
+ $p[0]['reddress'] = str_replace('@','&#x40;',unpunify($z[0]['xchan_addr']));
}
// fetch user tags if this isn't the default profile
@@ -1256,7 +1255,7 @@ function profile_load($nickname, $profile = '') {
App::$profile = $p[0];
App::$profile_uid = $p[0]['profile_uid'];
- App::$page['title'] = App::$profile['channel_name'] . " - " . channel_reddress(App::$profile);
+ App::$page['title'] = App::$profile['channel_name'] . " - " . unpunify(channel_reddress(App::$profile));
App::$profile['permission_to_view'] = $can_view_profile;
@@ -1574,14 +1573,25 @@ function advanced_profile() {
$profile['howlong'] = relative_date(App::$profile['howlong'], t('for %1$d %2$s'));
}
+ if(App::$profile['keywords']) {
+ $keywords = str_replace(',',' ', App::$profile['keywords']);
+ $keywords = str_replace(' ',' ', $keywords);
+ $karr = explode(' ', $keywords);
+ if($karr) {
+ for($cnt = 0; $cnt < count($karr); $cnt ++) {
+ $karr[$cnt] = '<a href="' . z_root() . '/directory/f=&keywords=' . trim($karr[$cnt]) . '">' . $karr[$cnt] . '</a>';
+ }
+ }
+ $profile['keywords'] = array( t('Tags:'), implode(' ', $karr));
+ }
+
+
if(App::$profile['sexual']) $profile['sexual'] = array( t('Sexual Preference:'), App::$profile['sexual'] );
if(App::$profile['homepage']) $profile['homepage'] = array( t('Homepage:'), linkify(App::$profile['homepage']) );
if(App::$profile['hometown']) $profile['hometown'] = array( t('Hometown:'), linkify(App::$profile['hometown']) );
- if(App::$profile['keywords']) $profile['keywords'] = array( t('Tags:'), App::$profile['keywords']);
-
if(App::$profile['politic']) $profile['politic'] = array( t('Political Views:'), App::$profile['politic']);
if(App::$profile['religion']) $profile['religion'] = array( t('Religion:'), App::$profile['religion']);
@@ -1897,6 +1907,7 @@ function is_public_profile() {
function get_profile_fields_basic($filter = 0) {
$profile_fields_basic = (($filter == 0) ? get_config('system','profile_fields_basic') : null);
+
if(! $profile_fields_basic)
$profile_fields_basic = array('fullname','pdesc','chandesc','comms','gender','dob','dob_tz','region','country_name','marital','sexual','homepage','hometown','keywords','about','contact');
@@ -2552,7 +2563,7 @@ function channel_remove($channel_id, $local = true, $unset_session = false) {
q("DELETE FROM photo WHERE uid = %d", intval($channel_id));
q("DELETE FROM attach WHERE uid = %d", intval($channel_id));
q("DELETE FROM profile WHERE uid = %d", intval($channel_id));
- q("DELETE FROM src WHERE src_channel_id = %d", intval($channel_id));
+ q("DELETE FROM source WHERE src_channel_id = %d", intval($channel_id));
$r = q("select hash FROM attach WHERE uid = %d", intval($channel_id));
if($r) {
@@ -2714,7 +2725,7 @@ function anon_identity_init($reqvars) {
$hash = hash('md5',$anon_email);
- $x = q("select * from xchan where xchan_guid = '%s' and xchan_hash = '%s' and xchan_network = 'unknown' limit 1",
+ $x = q("select * from xchan where xchan_guid = '%s' and xchan_hash = '%s' and xchan_network = 'anon' limit 1",
dbesc($anon_email),
dbesc($hash)
);
@@ -2725,19 +2736,19 @@ function anon_identity_init($reqvars) {
'xchan_hash' => $hash,
'xchan_name' => $anon_name,
'xchan_url' => $anon_url,
- 'xchan_network' => 'unknown',
+ 'xchan_network' => 'anon',
'xchan_name_date' => datetime_convert()
]);
- $x = q("select * from xchan where xchan_guid = '%s' and xchan_hash = '%s' and xchan_network = 'unknown' limit 1",
+ $x = q("select * from xchan where xchan_guid = '%s' and xchan_hash = '%s' and xchan_network = 'anon' limit 1",
dbesc($anon_email),
dbesc($hash)
);
$photo = z_root() . '/' . get_default_profile_photo(300);
$photos = import_xchan_photo($photo,$hash);
- $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_guid = '%s' and xchan_hash = '%s' and xchan_network = 'unknown' ",
+ $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_guid = '%s' and xchan_hash = '%s' and xchan_network = 'anon' ",
dbesc(datetime_convert()),
dbesc($photos[0]),
dbesc($photos[1]),
diff --git a/include/connections.php b/include/connections.php
index e9d7daa2d..e5bf07d96 100644
--- a/include/connections.php
+++ b/include/connections.php
@@ -100,7 +100,6 @@ function vcard_from_xchan($xchan, $observer = null, $mode = '') {
if(! $xchan)
return;
-// FIXME - show connect button to observer if appropriate
$connect = false;
if(local_channel()) {
$r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
@@ -111,6 +110,12 @@ function vcard_from_xchan($xchan, $observer = null, $mode = '') {
$connect = t('Connect');
}
+ // don't provide a connect button for transient or one-way identities
+
+ if(in_array($xchan['xchan_network'],['rss','anon','unknown']) || strpos($xchan['xchan_addr'],'guest:') === 0) {
+ $connect = false;
+ }
+
if(array_key_exists('channel_id',$xchan))
App::$profile_uid = $xchan['channel_id'];
@@ -421,7 +426,10 @@ function random_profile() {
for($i = 0; $i < $retryrandom; $i++) {
- $r = q("select xchan_url, xchan_hash from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_hidden = 0 and xchan_system = 0 and hubloc_connected > %s - interval %s order by $randfunc limit 1",
+ $r = q("select xchan_url, xchan_hash from xchan left join hubloc on hubloc_hash = xchan_hash where
+ xchan_hidden = 0 and xchan_system = 0 and
+ xchan_network = 'zot' and xchan_deleted = 0 and
+ hubloc_connected > %s - interval %s order by $randfunc limit 1",
db_utcnow(),
db_quoteinterval('30 day')
);
diff --git a/include/conversation.php b/include/conversation.php
index 0bb9c769a..30acd6329 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -404,7 +404,7 @@ function count_descendants($item) {
* @return boolean
*/
function visible_activity($item) {
- $hidden_activities = [ ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE ];
+ $hidden_activities = [ ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE, ACTIVITY_POLLRESPONSE ];
if(intval($item['item_notshown']))
return false;
@@ -838,11 +838,11 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$item_object = new Zotlabs\Lib\ThreadItem($item);
$conv->add_thread($item_object);
- if($page_mode === 'list') {
+ if(($page_mode === 'list') || ($page_mode === 'pager_list')) {
$item_object->set_template('conv_list.tpl');
$item_object->set_display_mode('list');
}
- if($page_mode === 'cards') {
+ if($mode === 'cards' || $mode === 'articles') {
$item_object->set_reload($jsreload);
}
@@ -857,7 +857,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
}
}
- if($page_mode === 'traditional' || $page_mode === 'preview') {
+ if(in_array($page_mode, [ 'traditional', 'preview', 'pager_list'] )) {
$page_template = get_markup_template("threaded_conversation.tpl");
}
elseif($update) {
@@ -1005,7 +1005,7 @@ function thread_author_menu($item, $mode = '') {
$contact = App::$contacts[$item['author_xchan']];
else
if($local_channel && $item['author']['xchan_addr'])
- $follow_url = z_root() . '/follow/?f=&url=' . urlencode($item['author']['xchan_addr']);
+ $follow_url = z_root() . '/follow/?f=&url=' . urlencode($item['author']['xchan_addr']) . '&interactive=0';
if($item['uid'] > 0 && author_is_pmable($item['author'],$contact)) {
@@ -1039,7 +1039,7 @@ function thread_author_menu($item, $mode = '') {
if($posts_link) {
$menu[] = [
'menu' => 'view_posts',
- 'title' => t('Activity/Posts'),
+ 'title' => t('Recent Activity'),
'icon' => 'fw',
'action' => '',
'href' => $posts_link
@@ -1051,8 +1051,8 @@ function thread_author_menu($item, $mode = '') {
'menu' => 'follow',
'title' => t('Connect'),
'icon' => 'fw',
- 'action' => '',
- 'href' => $follow_url
+ 'action' => 'doFollowAuthor(\'' . $follow_url . '\'); return false;',
+ 'href' => '#',
];
}
@@ -1301,7 +1301,9 @@ function status_editor($a, $x, $popup = false) {
$id_select = '';
$webpage = ((x($x,'webpage')) ? $x['webpage'] : '');
-
+
+ $feature_auto_save_draft = ((feature_enabled($x['profile_uid'], 'auto_save_draft')) ? "true" : "false");
+
$tpl = get_markup_template('jot-header.tpl');
App::$page['htmlhead'] .= replace_macros($tpl, array(
@@ -1323,6 +1325,7 @@ function status_editor($a, $x, $popup = false) {
'$modalerroralbum' => t('Error getting album'),
'$nocomment_enabled' => t('Comments enabled'),
'$nocomment_disabled' => t('Comments disabled'),
+ '$auto_save_draft' => $feature_auto_save_draft,
));
$tpl = get_markup_template('jot.tpl');
@@ -1607,7 +1610,7 @@ function prepare_page($item) {
// prepare_body calls unobscure() as a side effect. Do it here so that
// the template will get passed an unobscured title.
- $body = prepare_body($item, true);
+ $body = prepare_body($item, [ 'newwin' => false ]);
if(App::$page['template'] == 'none') {
$tpl = 'page_display_empty.tpl';
@@ -1721,7 +1724,7 @@ function network_tabs() {
if(feature_enabled(local_channel(),'star_posts')) {
$tabs[] = array(
'label' => t('Starred'),
- 'url'=>z_root() . '/' . $cmd . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
+ 'url'=>z_root() . '/' . $cmd . '/?f=' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') . '&star=1',
'sel'=>$starred_active,
'title' => t('Favourite Posts'),
);
diff --git a/include/datetime.php b/include/datetime.php
index 766c90d16..3a07f1ccf 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -125,10 +125,16 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
*/
function dob($dob) {
+ $y = substr($dob,0,4);
+ if((! ctype_digit($y)) || ($y < 1900))
+ $ignore_year = true;
+ else
+ $ignore_year = false;
+
if ($dob === '0000-00-00' || $dob === '')
$value = '';
else
- $value = (($year) ? datetime_convert('UTC','UTC',$dob,'Y-m-d') : datetime_convert('UTC','UTC',$dob,'m-d'));
+ $value = (($ignore_year) ? datetime_convert('UTC','UTC',$dob,'m-d') : datetime_convert('UTC','UTC',$dob,'Y-m-d'));
$o = replace_macros(get_markup_template("field_input.tpl"), [
'$field' => [ 'dob', t('Birthday'), $value, ((intval($value)) ? t('Age: ') . age($value,App::$user['timezone'],App::$user['timezone']) : ''), '', 'placeholder="' . t('YYYY-MM-DD or MM-DD') .'"' ]
diff --git a/include/dba/dba_pdo.php b/include/dba/dba_pdo.php
index f24c5381a..5002f53e7 100755
--- a/include/dba/dba_pdo.php
+++ b/include/dba/dba_pdo.php
@@ -100,7 +100,9 @@ class dba_pdo extends dba_driver {
if($this->debug) {
db_logger('dba_pdo: DEBUG: ' . printable($sql) . ' returned ' . count($r) . ' results.', LOGGER_NORMAL, LOG_INFO);
- db_logger('dba_pdo: ' . printable(print_r($r,true)), LOGGER_NORMAL, LOG_INFO);
+ if(intval($this->debug) > 1) {
+ db_logger('dba_pdo: ' . printable(print_r($r,true)), LOGGER_NORMAL, LOG_INFO);
+ }
}
return (($this->error) ? false : $r);
diff --git a/include/event.php b/include/event.php
index 1077a3c64..84a16e8be 100644
--- a/include/event.php
+++ b/include/event.php
@@ -1322,3 +1322,25 @@ function translate_type($type) {
return [$type, t('Other') . ' (' . $type . ')'];
}
}
+
+
+function cal_store_lowlevel($arr) {
+
+ $store = [
+ 'cal_aid' => ((array_key_exists('cal_aid',$arr)) ? $arr['cal_aid'] : 0),
+ 'cal_uid' => ((array_key_exists('cal_uid',$arr)) ? $arr['cal_uid'] : 0),
+ 'cal_hash' => ((array_key_exists('cal_hash',$arr)) ? $arr['cal_hash'] : ''),
+ 'cal_name' => ((array_key_exists('cal_name',$arr)) ? $arr['cal_name'] : ''),
+ 'uri' => ((array_key_exists('uri',$arr)) ? $arr['uri'] : ''),
+ 'logname' => ((array_key_exists('logname',$arr)) ? $arr['logname'] : ''),
+ 'pass' => ((array_key_exists('pass',$arr)) ? $arr['pass'] : ''),
+ 'ctag' => ((array_key_exists('ctag',$arr)) ? $arr['ctag'] : ''),
+ 'synctoken' => ((array_key_exists('synctoken',$arr)) ? $arr['synctoken'] : ''),
+ 'cal_types' => ((array_key_exists('cal_types',$arr)) ? $arr['cal_types'] : ''),
+ ];
+
+ return create_table_from_array('cal', $store);
+
+}
+
+
diff --git a/include/features.php b/include/features.php
index 993266977..c865f6754 100644
--- a/include/features.php
+++ b/include/features.php
@@ -28,8 +28,9 @@ function get_feature_default($feature) {
$f = get_features(false);
foreach($f as $cat) {
foreach($cat as $feat) {
- if(is_array($feat) && $feat[0] === $feature)
+ if(is_array($feat) && $feat[0] === $feature) {
return $feat[3];
+ }
}
}
return false;
@@ -43,8 +44,9 @@ function feature_level($feature,$def) {
return $def;
}
-function get_features($filtered = true) {
+function get_features($filtered = true, $level = (-1)) {
+ $account = \App::get_account();
$arr = [
@@ -53,7 +55,14 @@ function get_features($filtered = true) {
t('General Features'),
-
+ [
+ 'start_menu',
+ t('New Member Links'),
+ t('Display new member quick links menu'),
+ (($account['account_created'] > datetime_convert('','','now - 60 days')) ? true : false),
+ get_config('feature_lock','start_menu'),
+ feature_level('start_menu',1),
+ ],
[
'advanced_profiles',
@@ -237,14 +246,23 @@ function get_features($filtered = true) {
[
'oauth_clients',
- t('OAuth Clients'),
- t('Manage authenticatication tokens for mobile and remote apps.'),
+ t('OAuth1 Clients'),
+ t('Manage OAuth1 authenticatication tokens for mobile and remote apps.'),
false,
get_config('feature_lock','oauth_clients'),
feature_level('oauth_clients',1),
],
[
+ 'oauth2_clients',
+ t('OAuth2 Clients'),
+ t('Manage OAuth2 authenticatication tokens for mobile and remote apps.'),
+ false,
+ get_config('feature_lock','oauth2_clients'),
+ feature_level('oauth2_clients',1),
+ ],
+
+ [
'access_tokens',
t('Access Tokens'),
t('Create access tokens so that non-members can access private content.'),
@@ -332,6 +350,15 @@ function get_features($filtered = true) {
feature_level('suppress_duplicates',1),
],
+ [
+ 'auto_save_draft',
+ t('Auto-save drafts of posts and comments'),
+ t('Automatically saves post and comment drafts in local browser storage to help prevent accidental loss of compositions'),
+ true,
+ get_config('feature_lock','auto_save_draft'),
+ feature_level('auto_save_draft',1),
+ ],
+
],
// Network Tools
@@ -481,7 +508,7 @@ function get_features($filtered = true) {
$arr = $x['features'];
- $techlevel = get_account_techlevel();
+ $techlevel = (($level >= 0) ? $level : get_account_techlevel());
// removed any locked features and remove the entire category if this makes it empty
diff --git a/include/feedutils.php b/include/feedutils.php
index 369193fce..023caaad6 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -668,6 +668,14 @@ function get_atom_elements($feed, $item) {
}
$termterm = notags(trim(unxmlify($term)));
+ // Mastodon auto generates an nsfw category tag for any 'content-warning' message.
+ // Most people use CW and use both summary/content as a spoiler and we honour that
+ // construct so the post will already be collapsed. The generated tag is almost
+ // always wrong and even if it isn't we would already be doing the right thing.
+
+ if($mastodon && $termterm === 'nsfw' && $summary && $res['body'])
+ continue;
+
if($termterm) {
$terms[] = array(
'otype' => TERM_OBJ_POST,
@@ -926,6 +934,7 @@ function feed_get_reshare(&$res,$item) {
"' profile='" . $share['profile'] .
"' avatar='" . $share['avatar'] .
"' link='" . $share['alternate'] .
+ "' auth='" . 'false' .
"' posted='" . $share['created'] .
"' message_id='" . $share['message_id'] . "']";
diff --git a/include/follow.php b/include/follow.php
index 0843802c5..d803afa3f 100644
--- a/include/follow.php
+++ b/include/follow.php
@@ -88,9 +88,18 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
// Premium channel, set confirm before callback to avoid recursion
- if(array_key_exists('connect_url',$j) && ($interactive) && (! $confirm))
- goaway(zid($j['connect_url']));
-
+ if(array_key_exists('connect_url',$j) && (! $confirm)) {
+ if($interactive) {
+ goaway(zid($j['connect_url']));
+ }
+ else {
+ $result['message'] = t('Premium channel - please visit:') . ' ' . zid($j['connect_url']);
+ logger('mod_follow: ' . $result['message']);
+ return $result;
+ }
+ }
+
+
// do we have an xchan and hubloc?
// If not, create them.
@@ -141,9 +150,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
// attempt network auto-discovery
- $d = discover_by_webbie($url,$protocol);
+ $wf = discover_by_webbie($url,$protocol);
- if((! $d) && ($is_http)) {
+ if((! $wf) && ($is_http)) {
// try RSS discovery
@@ -158,9 +167,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
}
}
- if($d) {
+ if($wf || $d) {
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
- dbesc($url),
+ dbesc(($wf) ? $wf : $url),
dbesc($url)
);
}
diff --git a/include/help.php b/include/help.php
index 0dc37e517..ce389b4db 100644
--- a/include/help.php
+++ b/include/help.php
@@ -306,7 +306,7 @@ function store_doc_file($s) {
require_once('include/html2plain.php');
- $item['body'] = html2plain(prepare_text(file_get_contents($s),$mimetype, true));
+ $item['body'] = html2plain(prepare_text(file_get_contents($s),$mimetype, [ 'cache' => true ]));
$item['mimetype'] = 'text/plain';
$item['plink'] = z_root() . '/' . str_replace('doc','help',$s);
diff --git a/include/html2bbcode.php b/include/html2bbcode.php
index 4166299db..1a03fbdaf 100644
--- a/include/html2bbcode.php
+++ b/include/html2bbcode.php
@@ -164,6 +164,7 @@ function html2bbcode($message)
node2bbcode($doc, 'b', array(), '[b]', '[/b]');
node2bbcode($doc, 'i', array(), '[i]', '[/i]');
node2bbcode($doc, 'u', array(), '[u]', '[/u]');
+ node2bbcode($doc, 's', array(), '[s]', '[/s]');
node2bbcode($doc, 'big', array(), "[size=large]", "[/size]");
node2bbcode($doc, 'small', array(), "[size=small]", "[/size]");
diff --git a/include/hubloc.php b/include/hubloc.php
index 0d1a2e560..33d5dcbb2 100644
--- a/include/hubloc.php
+++ b/include/hubloc.php
@@ -270,7 +270,8 @@ function locations_by_netid($netid) {
dbesc($netid)
);
- return array_elm_to_str($locs,'location',', ');
+
+ return array_elm_to_str($locs,'location',', ','trim_and_unpunify');
}
diff --git a/include/import.php b/include/import.php
index 9920df8be..0d3fb8c32 100644
--- a/include/import.php
+++ b/include/import.php
@@ -21,6 +21,11 @@ function import_channel($channel, $account_id, $seize) {
$channel['channel_removed'] = (($channel['channel_pageflags'] & 0x8000) ? 1 : 0);
}
+ if(intval($channel['channel_removed'])) {
+ notice( t('Unable to import a removed channel.') . EOL);
+ return false;
+ }
+
// Ignore the hash provided and re-calculate
$channel['channel_hash'] = make_xchan_hash($channel['channel_guid'],$channel['channel_guid_sig']);
@@ -94,7 +99,7 @@ function import_channel($channel, $account_id, $seize) {
}
if($clean) {
- create_table_from_array('channel',$clean);
+ channel_store_lowlevel($clean);
}
$r = q("select * from channel where channel_account_id = %d and channel_guid = '%s' limit 1",
@@ -175,7 +180,7 @@ function import_profiles($channel, $profiles) {
$profile['thumb'] = z_root() . '/photo/' . basename($profile['thumb']);
}
- create_table_from_array('profile', $profile);
+ profile_store_lowlevel($profile);
}
}
}
diff --git a/include/items.php b/include/items.php
index 790b91c88..8bc4595b6 100755
--- a/include/items.php
+++ b/include/items.php
@@ -969,6 +969,10 @@ function import_author_unknown($x) {
return false;
}
+function empty_acl($item) {
+ return (($item['allow_cid'] === EMPTY_STR && $item['allow_gid'] === EMPTY_STR && $item['deny_cid'] === EMPTY_STR && $item['deny_gid'] === EMPTY_STR) ? true : false);
+}
+
function encode_item($item,$mirror = false) {
$x = array();
$x['type'] = 'activity';
@@ -1412,6 +1416,13 @@ function get_mail_elements($x) {
}
else {
$arr['body'] = (($x['body']) ? htmlspecialchars($x['body'], ENT_COMPAT,'UTF-8',false) : '');
+
+ $maxlen = get_max_import_size();
+
+ if($maxlen && mb_strlen($arr['body']) > $maxlen) {
+ $arr['body'] = mb_substr($arr['body'],0,$maxlen,'UTF-8');
+ logger('message length exceeds max_import_size: truncated');
+ }
}
$arr['title'] = (($x['title'])? htmlspecialchars($x['title'],ENT_COMPAT,'UTF-8',false) : '');
@@ -1966,23 +1977,7 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
*/
call_hooks('post_remote_end', $arr);
- // update the commented timestamp on the parent - unless this is potentially a clone of an older item
- // which we don't wish to bring to the surface. As the queue only holds deliveries for 3 days, it's
- // suspected of being an older cloned item if the creation time is older than that.
-
- if($arr['created'] > datetime_convert('','','now - 4 days')) {
- $z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and item_delayed = 0 ",
- dbesc($arr['parent_mid']),
- intval($arr['uid'])
- );
-
- q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d",
- dbesc(($z) ? $z[0]['commented'] : (datetime_convert())),
- dbesc(datetime_convert()),
- intval($parent_id)
- );
- }
-
+ item_update_parent_commented($arr);
// If _creating_ a deleted item, don't propagate it further or send out notifications.
// We need to store the item details just in case the delete came in before the original post,
@@ -2313,6 +2308,36 @@ function item_store_update($arr, $allow_exec = false, $deliver = true) {
return $ret;
}
+function item_update_parent_commented($item) {
+
+
+ $update_parent = true;
+
+ // update the commented timestamp on the parent
+ // - unless this is a moderated comment or a potential clone of an older item
+ // which we don't wish to bring to the surface. As the queue only holds deliveries
+ // for 3 days, it's suspected of being an older cloned item if the creation time
+ //is older than that.
+
+ if(intval($item['item_blocked']) === ITEM_MODERATED)
+ $update_parent = false;
+
+ if($item['created'] < datetime_convert('','','now - 4 days'))
+ $update_parent = false;
+
+ if($update_parent) {
+ $z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and item_delayed = 0 ",
+ dbesc($item['parent_mid']),
+ intval($item['uid'])
+ );
+
+ q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d",
+ dbesc(($z) ? $z[0]['commented'] : datetime_convert()),
+ dbesc(datetime_convert()),
+ intval($item['parent'])
+ );
+ }
+}
function send_status_notifications($post_id,$item) {
@@ -2507,43 +2532,7 @@ function tag_deliver($uid, $item_id) {
*/
if($item['obj_type'] === ACTIVITY_OBJ_TAGTERM) {
-
- // We received a community tag activity for a post.
- // See if we are the owner of the parent item and have given permission to tag our posts.
- // If so tag the parent post.
-
- logger('tag_deliver: community tag activity received');
-
- if(($item['owner_xchan'] === $u[0]['channel_hash']) && (! get_pconfig($u[0]['channel_id'],'system','blocktags'))) {
- logger('tag_deliver: community tag recipient: ' . $u[0]['channel_name']);
- $j_tgt = json_decode($item['target'],true);
- if($j_tgt && $j_tgt['id']) {
- $p = q("select * from item where mid = '%s' and uid = %d limit 1",
- dbesc($j_tgt['id']),
- intval($u[0]['channel_id'])
- );
- if($p) {
- $j_obj = json_decode($item['obj'],true);
- logger('tag_deliver: tag object: ' . print_r($j_obj,true), LOGGER_DATA);
- if($j_obj && $j_obj['id'] && $j_obj['title']) {
- if(is_array($j_obj['link']))
- $taglink = get_rel_link($j_obj['link'],'alternate');
-
- store_item_tag($u[0]['channel_id'],$p[0]['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$j_obj['title'],$j_obj['id']);
- $x = q("update item set edited = '%s', received = '%s', changed = '%s' where mid = '%s' and uid = %d",
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc($j_tgt['id']),
- intval($u[0]['channel_id'])
- );
- Zotlabs\Daemon\Master::Summon(array('Notifier','edit_post',$p[0]['id']));
- }
- }
- }
- }
- else
- logger('Tag permission denied for ' . $u[0]['channel_address']);
+ item_community_tag($u[0],$item);
}
/*
@@ -2738,6 +2727,61 @@ function tag_deliver($uid, $item_id) {
}
+
+function item_community_tag($channel,$item) {
+
+
+ // We received a community tag activity for a post.
+ // See if we are the owner of the parent item and have given permission to tag our posts.
+ // If so tag the parent post.
+
+ logger('tag_deliver: community tag activity received: channel: ' . $channel['channel_name']);
+
+ $tag_the_post = false;
+ $p = null;
+
+ $j_obj = json_decode($item['obj'],true);
+ $j_tgt = json_decode($item['target'],true);
+ if($j_tgt && $j_tgt['id']) {
+ $p = q("select * from item where mid = '%s' and uid = %d limit 1",
+ dbesc($j_tgt['id']),
+ intval($channel['channel_id'])
+ );
+ }
+ if($p) {
+ xchan_query($p);
+ $items = fetch_post_tags($p,true);
+ $pitem = $items[0];
+ $auth = get_iconfig($item,'system','communitytagauth');
+ if($auth) {
+ if(rsa_verify('tagauth.' . $item['mid'],base64url_decode($auth),$pitem['owner']['xchan_pubkey']) || rsa_verify('tagauth.' . $item['mid'],base64url_decode($auth),$pitem['author']['xchan_pubkey'])) {
+ logger('tag_deliver: tagging the post: ' . $channel['channel_name']);
+ $tag_the_post = true;
+ }
+ }
+ else {
+ if(($pitem['owner_xchan'] === $channel['channel_hash']) && (! intval(get_pconfig($channel['channel_id'],'system','blocktags')))) {
+ logger('tag_deliver: community tag recipient: ' . $channel['channel_name']);
+ $tag_the_post = true;
+ $sig = rsa_sign('tagauth.' . $item['mid'],$channel['channel_prvkey']);
+ logger('tag_deliver: setting iconfig for ' . $item['id']);
+ set_iconfig($item['id'],'system','communitytagauth',base64url_encode($sig),1);
+ }
+ }
+
+ if($tag_the_post) {
+ store_item_tag($channel['channel_id'],$pitem['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$j_obj['title'],$j_obj['id']);
+ }
+ else {
+ logger('Tag permission denied for ' . $channel['channel_address']);
+ }
+ }
+
+}
+
+
+
+
/**
* @brief This function is called pre-deliver to see if a post matches the criteria to be tag delivered.
*
@@ -3460,11 +3504,14 @@ function item_getfeedattach($item) {
}
-function item_expire($uid,$days) {
+function item_expire($uid,$days,$comment_days = 7) {
if((! $uid) || ($days < 1))
return;
+ if(! $comment_days)
+ $comment_days = 7;
+
// $expire_network_only = save your own wall posts
// and just expire conversations started by others
// do not enable this until we can pass bulk delete messages through zot
@@ -3483,6 +3530,7 @@ function item_expire($uid,$days) {
$r = q("SELECT id FROM item
WHERE uid = %d
AND created < %s - INTERVAL %s
+ AND commented < %s - INTERVAL %s
AND item_retained = 0
AND item_thread_top = 1
AND resource_type = ''
@@ -3490,7 +3538,9 @@ function item_expire($uid,$days) {
$sql_extra $item_normal LIMIT $expire_limit ",
intval($uid),
db_utcnow(),
- db_quoteinterval(intval($days).' DAY')
+ db_quoteinterval(intval($days) . ' DAY'),
+ db_utcnow(),
+ db_quoteinterval(intval($comment_days) . ' DAY')
);
if(! $r)
diff --git a/include/markdown.php b/include/markdown.php
index e4a35e3c3..431ba84a4 100644
--- a/include/markdown.php
+++ b/include/markdown.php
@@ -207,7 +207,7 @@ function bb_to_markdown($Text, $options = []) {
$Text = bbcode($Text, [ 'tryoembed' => false ]);
// Markdownify does not preserve previously escaped html entities such as <> and &.
- $Text = str_replace(array('&lt;','&gt;','&amp;'),array('&_lt_;','&_gt_;','&_amp_;'),$Text);
+ //$Text = str_replace(array('&lt;','&gt;','&amp;'),array('&_lt_;','&_gt_;','&_amp_;'),$Text);
// Now convert HTML to Markdown
@@ -215,7 +215,7 @@ function bb_to_markdown($Text, $options = []) {
// It also adds backslashes to our attempt at getting around the html entity preservation for some weird reason.
- $Text = str_replace(array('&\\_lt\\_;','&\\_gt\\_;','&\\_amp\\_;'),array('&lt;','&gt;','&amp;'),$Text);
+ //$Text = str_replace(array('&\\_lt\\_;','&\\_gt\\_;','&\\_amp\\_;'),array('&lt;','&gt;','&amp;'),$Text);
// If the text going into bbcode() has a plain URL in it, i.e.
// with no [url] tags around it, it will come out of parseString()
diff --git a/include/nav.php b/include/nav.php
index df58ee96f..a443c58ff 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -176,7 +176,7 @@ EOT;
$nav['help'] = [$help_url, t('Help'), "", t('Help and documentation'), 'help_nav_btn', $context_help, $enable_context_help];
}
- $nav['search'] = ['search', t('Search'), "", t('Search site @name, #tag, ?docs, content')];
+ $nav['search'] = ['search', t('Search'), "", t('Search site @name, !forum, #tag, ?docs, content')];
/**
@@ -287,7 +287,7 @@ EOT;
'$is_owner' => $is_owner,
'$sel' => App::$nav_sel,
'$powered_by' => $powered_by,
- '$help' => t('@name, #tag, ?doc, content'),
+ '$help' => t('@name, !forum, #tag, ?doc, content'),
'$pleasewait' => t('Please wait...'),
'$nav_apps' => $nav_apps,
'$navbar_apps' => $navbar_apps,
diff --git a/include/network.php b/include/network.php
index f8cb68613..c41d87af0 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1192,9 +1192,10 @@ function discover_by_webbie($webbie, $protocol = '') {
logger('webfinger: ' . print_r($x,true), LOGGER_DATA, LOG_INFO);
$arr = [
- 'address' => $webbie,
- 'protocol' => $protocol,
- 'success' => false,
+ 'address' => $webbie,
+ 'protocol' => $protocol,
+ 'success' => false,
+ 'xchan' => '',
'webfinger' => $x
];
/**
@@ -1207,7 +1208,7 @@ function discover_by_webbie($webbie, $protocol = '') {
*/
call_hooks('discover_channel_webfinger', $arr);
if($arr['success'])
- return true;
+ return $arr['xchan'];
return false;
}
@@ -1240,16 +1241,9 @@ function webfinger_rfc7033($webbie, $zot = false) {
}
logger('fetching url from resource: ' . $rhs . ':' . $webbie);
- // The default curl Accept: header is */*, which is incorrectly handled by Mastodon servers
- // and results in a 406 (Not Acceptable) response, and will also incorrectly produce an XML
- // document if you use 'application/jrd+json, */*'. We could set this to application/jrd+json,
- // but some test webfinger servers may not explicitly set the content type and they would be
- // blocked. The best compromise until Mastodon is fixed is to remove the Accept header which is
- // accomplished by setting it to nothing.
-
$counter = 0;
$s = z_fetch_url('https://' . $rhs . '/.well-known/webfinger?f=&resource=' . $resource . (($zot) ? '&zot=1' : ''),
- false, $counter, [ 'headers' => [ 'Accept:' ] ]);
+ false, $counter, [ 'headers' => [ 'Accept: application/jrd+json, */*' ] ]);
if($s['success']) {
$j = json_decode($s['body'], true);
@@ -1607,6 +1601,7 @@ function get_site_info() {
'register_policy' => $register_policy[get_config('system','register_policy')],
'invitation_only' => (bool) intval(get_config('system','invitation_only')),
'directory_mode' => $directory_mode[get_config('system','directory_mode')],
+ 'directory_server' => get_config('system','directory_server'),
'language' => get_config('system','language'),
'rss_connections' => (bool) intval(get_config('system','feed_contacts')),
'expiration' => $site_expire,
@@ -1844,7 +1839,8 @@ function z_mail($params) {
$messageHeader =
$params['additionalMailHeader'] .
"From: $fromName <{$params['fromEmail']}>\n" .
- "Reply-To: $fromName <{$params['replyTo']}>";
+ "Reply-To: $fromName <{$params['replyTo']}>\n" .
+ "Content-Type: text/plain; charset=UTF-8";
// send the message
$res = mail(
@@ -1873,7 +1869,7 @@ function probe_api_path($host) {
foreach($paths as $path) {
$curpath = $scheme . '://' . $host . $path;
$x = z_fetch_url($curpath);
- if($x['success'] && ! strlen($x['body'], 'not implemented'))
+ if($x['success'] && ! strpos($x['body'], 'not implemented'))
return str_replace('version', '', $curpath);
}
}
diff --git a/include/oembed.php b/include/oembed.php
index c2bf0a0ed..eee53b6c1 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -32,6 +32,7 @@ function oembed_action($embedurl) {
$action = 'block';
}
}
+
if(strpos($embedurl,'.well-known') !== false)
$action = 'block';
diff --git a/include/permissions.php b/include/permissions.php
index f97142fab..185d37b6a 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -46,7 +46,7 @@ function get_all_perms($uid, $observer_xchan, $internal_use = true) {
// First find out what the channel owner declared permissions to be.
- $channel_perm = \Zotlabs\Access\PermissionLimits::Get($uid,$perm_name);
+ $channel_perm = intval(\Zotlabs\Access\PermissionLimits::Get($uid,$perm_name));
if(! $channel_checked) {
$r = q("select * from channel where channel_id = %d limit 1",
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 6af753195..2e2f5a758 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -75,6 +75,7 @@ abstract class photo_driver {
abstract function imageString();
+ abstract function clearexif();
public function __construct($data, $type='') {
$this->types = $this->supportedTypes();
@@ -273,7 +274,7 @@ abstract class photo_driver {
}
if($f) {
- return @exif_read_data($f);
+ return @exif_read_data($f,null,true);
}
return false;
@@ -289,12 +290,12 @@ abstract class photo_driver {
return false;
}
- $ort = $exif['IFD0']['Orientation'];
+ $ort = ((array_key_exists('IFD0',$exif)) ? $exif['IFD0']['Orientation'] : $exif['Orientation']);
if(! $ort) {
return false;
}
-
+
switch($ort) {
case 1: // nothing
break;
diff --git a/include/photo/photo_gd.php b/include/photo/photo_gd.php
index 24bdc204f..e98ac2827 100644
--- a/include/photo/photo_gd.php
+++ b/include/photo/photo_gd.php
@@ -35,6 +35,11 @@ class photo_gd extends photo_driver {
}
+ public function clearexif() {
+ return;
+ }
+
+
public function destroy() {
if($this->is_valid()) {
imagedestroy($this->image);
diff --git a/include/photo/photo_imagick.php b/include/photo/photo_imagick.php
index 32bb61342..89577e71e 100644
--- a/include/photo/photo_imagick.php
+++ b/include/photo/photo_imagick.php
@@ -96,6 +96,19 @@ class photo_imagick extends photo_driver {
}
+ public function clearexif() {
+
+ $profiles = $this->image->getImageProfiles("icc", true);
+
+ $this->image->stripImage();
+
+ if(!empty($profiles)) {
+ $this->image->profileImage("icc", $profiles['icc']);
+ }
+ }
+
+
+
public function getImage() {
if(!$this->is_valid())
return FALSE;
diff --git a/include/photos.php b/include/photos.php
index b1391f284..9ae0e6874 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -211,6 +211,10 @@ function photo_upload($channel, $observer, $args) {
$ph->orient($exif);
}
+
+ $ph->clearexif();
+
+
@unlink($src);
$max_length = get_config('system','max_image_length');
@@ -333,10 +337,17 @@ function photo_upload($channel, $observer, $args) {
$lat = $lon = null;
- if($exif && $exif['GPS']) {
- if(feature_enabled($channel_id,'photo_location')) {
- $lat = getGps($exif['GPS']['GPSLatitude'], $exif['GPS']['GPSLatitudeRef']);
- $lon = getGps($exif['GPS']['GPSLongitude'], $exif['GPS']['GPSLongitudeRef']);
+ if($exif && feature_enabled($channel_id,'photo_location')) {
+ $gps = null;
+ if(array_key_exists('GPS',$exif)) {
+ $gps = $exif['GPS'];
+ }
+ elseif(array_key_exists('GPSLatitude',$exif)) {
+ $gps = $exif;
+ }
+ if($gps) {
+ $lat = getGps($gps['GPSLatitude'], $gps['GPSLatitudeRef']);
+ $lon = getGps($gps['GPSLongitude'], $gps['GPSLongitudeRef']);
}
}
diff --git a/include/plugin.php b/include/plugin.php
index 62d443ab8..4545e1e8d 100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -7,6 +7,27 @@
/**
+ * @brief Handle errors in plugin calls
+ *
+ * @param string $plugin name of the addon
+ * @param string $error_text text of error
+ * @param bool $uninstall uninstall plugin
+ */
+function handleerrors_plugin($plugin,$notice,$log,$uninstall=false){
+ logger("Addons: [" . $plugin . "] Error: ".$log, LOGGER_ERROR);
+ if ($notice != '') {
+ notice("[" . $plugin . "] Error: ".$notice, LOGGER_ERROR);
+ }
+
+ if ($uninstall) {
+ $idx = array_search($plugin, \App::$plugins);
+ unset(\App::$plugins[$idx]);
+ uninstall_plugin($plugin);
+ set_config("system","addon", implode(", ",\App::$plugins));
+ }
+}
+
+/**
* @brief Unloads an addon.
*
* @param string $plugin name of the addon
@@ -17,7 +38,11 @@ function unload_plugin($plugin){
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
if(function_exists($plugin . '_unload')) {
$func = $plugin . '_unload';
- $func();
+ try {
+ $func();
+ } catch (Exception $e) {
+ handleerrors_plugin($plugin,"Unable to unload.",$e->getMessage());
+ }
}
}
@@ -38,7 +63,11 @@ function uninstall_plugin($plugin) {
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
if(function_exists($plugin . '_uninstall')) {
$func = $plugin . '_uninstall';
- $func();
+ try {
+ $func();
+ } catch (Exception $e) {
+ handleerrors_plugin($plugin,"Unable to uninstall.","Unable to run _uninstall : ".$e->getMessage());
+ }
}
q("DELETE FROM addon WHERE aname = '%s' ",
@@ -64,7 +93,12 @@ function install_plugin($plugin) {
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
if(function_exists($plugin . '_install')) {
$func = $plugin . '_install';
- $func();
+ try {
+ $func();
+ } catch (Exception $e) {
+ handleerrors_plugin($plugin,"Install failed.","Install failed : ".$e->getMessage());
+ return;
+ }
}
$plugin_admin = (function_exists($plugin . '_plugin_admin') ? 1 : 0);
@@ -94,7 +128,12 @@ function load_plugin($plugin) {
@include_once('addon/' . $plugin . '/' . $plugin . '.php');
if(function_exists($plugin . '_load')) {
$func = $plugin . '_load';
- $func();
+ try {
+ $func();
+ } catch (Exception $e) {
+ handleerrors_plugin($plugin,"Unable to load.","FAILED loading : ".$e->getMessage(),true);
+ return;
+ }
// we can add the following with the previous SQL
// once most site tables have been updated.
@@ -108,7 +147,7 @@ function load_plugin($plugin) {
return true;
}
else {
- logger("Addons: FAILED loading " . $plugin);
+ logger("Addons: FAILED loading " . $plugin . " (missing _load function)");
return false;
}
}
@@ -160,11 +199,21 @@ function reload_plugins() {
if(function_exists($pl . '_unload')) {
$func = $pl . '_unload';
- $func();
+ try {
+ $func();
+ } catch (Exception $e) {
+ handleerrors_plugin($plugin,"","UNLOAD FAILED (uninstalling) : ".$e->getMessage(),true);
+ continue;
+ }
}
if(function_exists($pl . '_load')) {
$func = $pl . '_load';
- $func();
+ try {
+ $func();
+ } catch (Exception $e) {
+ handleerrors_plugin($plugin,"","LOAD FAILED (uninstalling): ".$e->getMessage(),true);
+ continue;
+ }
}
q("UPDATE addon SET tstamp = %d WHERE id = %d",
intval($t),
diff --git a/include/queue_fn.php b/include/queue_fn.php
index 798ac36db..f05bac5b0 100644
--- a/include/queue_fn.php
+++ b/include/queue_fn.php
@@ -95,6 +95,12 @@ function queue_set_delivered($id,$channel = 0) {
function queue_insert($arr) {
+ // do not queue anything with no destination
+
+ if(! (array_key_exists('posturl',$arr) && trim($arr['posturl']))) {
+ return false;
+ }
+
$x = q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_priority,
outq_created, outq_updated, outq_scheduled, outq_notify, outq_msg )
values ( '%s', %d, %d, '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s' )",
diff --git a/include/security.php b/include/security.php
index 8b7e7d076..19278d5cb 100644
--- a/include/security.php
+++ b/include/security.php
@@ -266,6 +266,15 @@ function change_channel($change_channel) {
$_SESSION['mobile_theme'] = get_pconfig(local_channel(),'system', 'mobile_theme');
$_SESSION['cloud_tiles'] = get_pconfig(local_channel(),'system', 'cloud_tiles');
date_default_timezone_set($r[0]['channel_timezone']);
+
+ // Update the active timestamp at most once a day
+
+ if(substr($r[0]['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
+ $z = q("UPDATE channel SET channel_active = '%s' WHERE channel_id = %d",
+ dbesc(datetime_convert()),
+ intval($r[0]['channel_id'])
+ );
+ }
$ret = $r[0];
}
$x = q("select * from xchan where xchan_hash = '%s' limit 1",
diff --git a/include/socgraph.php b/include/socgraph.php
index 87a880202..6cddbbaac 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -52,7 +52,7 @@ function poco_load($xchan = '', $url = null) {
elseif($s['return_code'] == 404)
logger('poco_load: nothing found');
else
- logger('poco_load: returns ' . print_r($s,true));
+ logger('poco_load: returns ' . print_r($s,true), LOGGER_DATA);
return;
}
@@ -288,11 +288,14 @@ function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
function update_suggestions() {
- $dirmode = get_config('system', 'directory_mode');
- if($dirmode === false)
- $dirmode = DIRECTORY_MODE_NORMAL;
+ $dirmode = get_config('system', 'directory_mode', DIRECTORY_MODE_NORMAL);
- if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
+ if($dirmode == DIRECTORY_MODE_STANDALONE) {
+ poco_load('', z_root() . '/poco');
+ return;
+ }
+
+ if($dirmode == DIRECTORY_MODE_PRIMARY) {
$url = z_root() . '/sitelist';
}
else {
diff --git a/include/statistics_fns.php b/include/statistics_fns.php
index d213485bf..98b0efd41 100644
--- a/include/statistics_fns.php
+++ b/include/statistics_fns.php
@@ -17,23 +17,10 @@ function update_channels_active_halfyear_stat() {
db_utcnow(), db_quoteinterval('6 MONTH')
);
if($r) {
- $s = '';
- foreach($r as $rr) {
- if($s)
- $s .= ',';
- $s .= intval($rr['channel_id']);
- }
- $x = q("select uid from item where uid in ( $s ) and item_wall = 1 and created > %s - INTERVAL %s group by uid",
- db_utcnow(), db_quoteinterval('6 MONTH')
- );
- if($x) {
- $channels_active_halfyear_stat = count($x);
- set_config('system','channels_active_halfyear_stat',$channels_active_halfyear_stat);
- } else {
- set_config('system','channels_active_halfyear_stat',0);
- }
- } else {
- set_config('system','channels_active_halfyear_stat',0);
+ set_config('system','channels_active_halfyear_stat',count($r));
+ }
+ else {
+ set_config('system','channels_active_halfyear_stat','0');
}
}
@@ -43,28 +30,15 @@ function update_channels_active_monthly_stat() {
db_utcnow(), db_quoteinterval('1 MONTH')
);
if($r) {
- $s = '';
- foreach($r as $rr) {
- if($s)
- $s .= ',';
- $s .= intval($rr['channel_id']);
- }
- $x = q("select uid from item where uid in ( $s ) and item_wall = 1 and created > %s - INTERVAL %s group by uid",
- db_utcnow(), db_quoteinterval('1 MONTH')
- );
- if($x) {
- $channels_active_monthly_stat = count($x);
- set_config('system','channels_active_monthly_stat',$channels_active_monthly_stat);
- } else {
- set_config('system','channels_active_monthly_stat',0);
- }
- } else {
- set_config('system','channels_active_monthly_stat',0);
+ set_config('system','channels_active_monthly_stat',count($r));
+ }
+ else {
+ set_config('system','channels_active_monthly_stat','0');
}
}
function update_local_posts_stat() {
- $posts = q("SELECT COUNT(*) AS local_posts FROM item WHERE item_wall = 1 ");
+ $posts = q("SELECT COUNT(*) AS local_posts FROM item WHERE item_wall = 1 and id = parent");
if (is_array($posts)) {
$local_posts_stat = intval($posts[0]["local_posts"]);
set_config('system','local_posts_stat',$local_posts_stat);
diff --git a/include/taxonomy.php b/include/taxonomy.php
index 393b8718e..46d95458c 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -174,19 +174,17 @@ function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $re
if(! is_array($authors))
$authors = array($authors);
- stringify_array_elms($authors,true);
- $sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
+ $sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
}
if($owner) {
$sql_options .= " and owner_xchan = '" . dbesc($owner) . "' ";
}
-
// Fetch tags
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
where term.uid = %d and term.ttype = %d
- and otype = %d and item_type = %d and item_private = 0
+ and otype = %d and item_type = %d
$sql_options $item_normal
group by term order by total desc %s",
intval($uid),
@@ -196,6 +194,7 @@ function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $re
((intval($count)) ? "limit $count" : '')
);
+
if(! $r)
return array();
@@ -212,8 +211,9 @@ function card_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0
if(! perm_is_allowed($uid,get_observer_hash(),'view_pages'))
return array();
+ $item_normal = " and item.item_hidden = 0 and item.item_deleted = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_pending_remove = 0
+ and item.item_blocked = 0 and item.obj_type != 'http://purl.org/zot/activity/file' ";
- $item_normal = item_normal();
$sql_options = item_permissions_sql($uid);
$count = intval($count);
@@ -226,8 +226,7 @@ function card_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0
if(! is_array($authors))
$authors = array($authors);
- stringify_array_elms($authors,true);
- $sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
+ $sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
}
if($owner) {
@@ -236,15 +235,16 @@ function card_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0
// Fetch tags
+
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
where term.uid = %d and term.ttype = %d
- and otype = %d and item_type = %d and item_private = 0
+ and otype = %d and item_type = %d
$sql_options $item_normal
group by term order by total desc %s",
intval($uid),
intval($type),
intval(TERM_OBJ_POST),
- intval($restrict),
+ intval(ITEM_TYPE_CARD),
((intval($count)) ? "limit $count" : '')
);
@@ -263,7 +263,9 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
return array();
- $item_normal = item_normal();
+ $item_normal = " and item.item_hidden = 0 and item.item_deleted = 0 and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_pending_remove = 0
+ and item.item_blocked = 0 and item.obj_type != 'http://purl.org/zot/activity/file' ";
+
$sql_options = item_permissions_sql($uid);
$count = intval($count);
@@ -276,8 +278,7 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
if(! is_array($authors))
$authors = array($authors);
- stringify_array_elms($authors,true);
- $sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
+ $sql_options .= " and author_xchan in (" . stringify_array($authors,true) . ") ";
}
if($owner) {
@@ -288,13 +289,13 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
// Fetch tags
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
where term.uid = %d and term.ttype = %d
- and otype = %d and item_type = %d and item_private = 0
+ and otype = %d and item_type = %d
$sql_options $item_normal
group by term order by total desc %s",
intval($uid),
intval($type),
intval(TERM_OBJ_POST),
- intval($restrict),
+ intval(ITEM_TYPE_ARTICLE),
((intval($count)) ? "limit $count" : '')
);
@@ -308,6 +309,70 @@ function article_tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags
+function pubtagblock($net,$site,$limit,$recent = 0,$safemode = 1, $type = TERM_HASHTAG) {
+ $o = '';
+
+ $r = pub_tagadelic($net,$site,$limit,$recent,$safemode,$type);
+
+ $link = z_root() . '/pubstream';
+
+ if($r) {
+ $o = '<div class="tagblock widget"><h3>' . (($recent) ? t('Trending') : t('Tags')) . '</h3><div class="tags" align="center">';
+ foreach($r as $rr) {
+ $o .= '<span class="tag'.$rr[2].'">#</span><a href="'.$link .'/' . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
+ }
+ $o .= '</div></div>';
+ }
+
+ return $o;
+}
+
+function pub_tagadelic($net,$site,$limit,$recent,$safemode,$type) {
+
+
+ $item_normal = item_normal();
+ $count = intval($limit);
+
+ if($site) {
+ $uids = " and item.uid in ( " . stream_perms_api_uids(PERMS_PUBLIC) . " ) and item_private = 0 and item_wall = 1 ";
+ }
+ else {
+ $sys = get_sys_channel();
+ $uids = " and item.uid = " . intval($sys['channel_id']) . " ";
+ $sql_extra = " and item_private = 0 ";
+ }
+
+ if($recent)
+ $sql_extra .= " and item.created > '" . datetime_convert('UTC','UTC', 'now - ' . intval($recent) . ' days ') . "' ";
+
+
+ if($safemode) {
+ $unsafetags = get_config('system','unsafepubtags', [ 'boobs', 'bot', 'rss', 'girl','girls', 'nsfw', 'sexy', 'nude' ]);
+ if($unsafetags) {
+ $sql_extra .= " and not term.term in ( " . stringify_array($unsafetags,true) . ") ";
+ }
+ }
+
+
+ // Fetch tags
+ $r = q("select term, count(term) as total from term left join item on term.oid = item.id
+ where term.ttype = %d
+ and otype = %d and item_type = %d
+ $sql_extra $uids $item_normal
+ group by term order by total desc %s",
+ intval($type),
+ intval(TERM_OBJ_POST),
+ intval(ITEM_TYPE_POST),
+ ((intval($count)) ? "limit $count" : '')
+ );
+
+ if(! $r)
+ return array();
+
+ return Zotlabs\Text\Tagadelic::calc($r);
+
+}
+
function dir_tagadelic($count = 0, $hub = '') {
@@ -553,9 +618,8 @@ function get_things($profile_hash,$uid) {
if(! in_array($rr['obj_obj'],$profile_hashes))
$profile_hashes[] = $rr['obj_obj'];
}
- stringify_array_elms($profile_hashes);
if(! $profile_hash) {
- $exp = explode(',',$profile_hashes);
+ $exp = stringify_array($profile_hashes,true);
$p = q("select profile_guid as hash, profile_name as name from profile where profile_guid in ( $exp ) ");
if($p) {
foreach($r as $rr) {
diff --git a/include/text.php b/include/text.php
index c82fad517..55fc49560 100644
--- a/include/text.php
+++ b/include/text.php
@@ -531,7 +531,7 @@ function paginate(&$a) {
}
-function alt_pager(&$a, $i, $more = '', $less = '') {
+function alt_pager($i, $more = '', $less = '') {
if(! $more)
$more = t('older');
@@ -1491,7 +1491,7 @@ function format_hashtags(&$item) {
$term = htmlspecialchars($t['term'], ENT_COMPAT, 'UTF-8', false) ;
if(! trim($term))
continue;
- if(strpos($item['body'], $t['url']))
+ if($t['url'] && strpos($item['body'], $t['url']))
continue;
if($s)
$s .= ' ';
@@ -1588,7 +1588,7 @@ function generate_named_map($location) {
}
-function prepare_body(&$item,$attach = false) {
+function prepare_body(&$item,$attach = false,$opts = false) {
call_hooks('prepare_body_init', $item);
@@ -1616,7 +1616,7 @@ function prepare_body(&$item,$attach = false) {
$s .= prepare_binary($item);
}
else {
- $s .= prepare_text($item['body'],$item['mimetype'], false);
+ $s .= prepare_text($item['body'],$item['mimetype'], $opts);
}
$event = (($item['obj_type'] === ACTIVITY_OBJ_EVENT) ? format_event_obj($item['obj']) : false);
@@ -1698,7 +1698,8 @@ function prepare_binary($item) {
*
* @return string
*/
-function prepare_text($text, $content_type = 'text/bbcode', $cache = false) {
+function prepare_text($text, $content_type = 'text/bbcode', $opts = false) {
+
switch($content_type) {
case 'text/plain':
@@ -1742,7 +1743,7 @@ function prepare_text($text, $content_type = 'text/bbcode', $cache = false) {
if(stristr($text,'[nosmile]'))
$s = bbcode($text, [ 'cache' => $cache ]);
else
- $s = smilies(bbcode($text, [ 'cache' => $cache ]));
+ $s = smilies(bbcode($text, ((is_array($opts)) ? $opts : [] )));
$s = zidify_links($s);
@@ -2189,13 +2190,13 @@ function ids_to_querystr($arr,$idx = 'id',$quote = false) {
* @returns string
*/
-function array_elm_to_str($arr,$elm,$delim = ',') {
+function array_elm_to_str($arr,$elm,$delim = ',',$each = 'trim') {
$tmp = [];
if($arr && is_array($arr)) {
foreach($arr as $x) {
if(is_array($x) && array_key_exists($elm,$x)) {
- $z = trim($x[$elm]);
+ $z = $each($x[$elm]);
if(($z) && (! in_array($z,$tmp))) {
$tmp[] = $z;
}
@@ -2205,7 +2206,9 @@ function array_elm_to_str($arr,$elm,$delim = ',') {
return implode($delim,$tmp);
}
-
+function trim_and_unpunify($s) {
+ return unpunify(trim($s));
+}
/**
@@ -2248,7 +2251,7 @@ function xchan_query(&$items, $abook = true, $effective_uid = 0) {
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
where xchan_hash in (" . protect_sprintf(implode(',', $arr)) . ") and hubloc_primary = 1");
}
- $xchans = q("select * from xchan where xchan_hash in (" . protect_sprintf(implode(',',$arr)) . ") and xchan_network in ('rss','unknown')");
+ $xchans = q("select * from xchan where xchan_hash in (" . protect_sprintf(implode(',',$arr)) . ") and xchan_network in ('rss','unknown', 'anon')");
if(! $chans)
$chans = $xchans;
else
@@ -2321,6 +2324,23 @@ function stringify_array_elms(&$arr, $escape = false) {
$arr[$x] = "'" . (($escape) ? dbesc($arr[$x]) : $arr[$x]) . "'";
}
+
+/**
+ * @brief Similar to stringify_array_elms but returns a string. If $escape is true, dbesc() each element before adding quotes.
+ *
+ * @param array $arr
+ * @param boolean $escape (optional) default false
+ * @return string
+ */
+function stringify_array($arr, $escape = false) {
+ if($arr) {
+ stringify_array_elms($arr);
+ return(implode(',',$arr));
+ }
+ return EMPTY_STR;
+}
+
+
/**
* @brief Indents a flat JSON string to make it more human-readable.
*
@@ -2384,7 +2404,7 @@ function jindent($json) {
*/
function design_tools() {
- $channel = App::get_channel();
+ $channel = channelx_by_n(App::$profile['profile_uid']);
$sys = false;
if(App::$is_sys && is_site_admin()) {
@@ -2574,6 +2594,9 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag, $d
// The @! tag will alter permissions
$exclusive = (((! $grouptag) && (strpos($tag,'!') === 1) && (! $diaspora)) ? true : false);
+ if(($grouptag) && (strpos($tag,'!!') === 0)) {
+ $exclusive = true;
+ }
//is it already replaced?
if(strpos($tag,'[zrl='))
@@ -2746,8 +2769,8 @@ function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag, $d
$profile = str_replace(',','%2c',$profile);
$url = $profile;
if($grouptag) {
- $newtag = '!' . '[zrl=' . $profile . ']' . $newname . '[/zrl]';
- $body = str_replace('!' . $name, $newtag, $body);
+ $newtag = '!' . (($exclusive) ? '!' : '') . '[zrl=' . $profile . ']' . $newname . '[/zrl]';
+ $body = str_replace('!' . (($exclusive) ? '!' : '') . $name, $newtag, $body);
}
else {
$newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . $profile . ']' . $newname . (($forum && ! $trailing_plus_name) ? '+' : '') . '[/zrl]';
@@ -2797,6 +2820,7 @@ function linkify_tags($a, &$body, $uid, $diaspora = false) {
continue;
$success = handle_tag($a, $body, $access_tag, $str_tags, ($uid) ? $uid : App::$profile_uid , $tag, $diaspora);
+
$results[] = array('success' => $success, 'access_tag' => $access_tag);
if($success['replaced']) $tagged[] = $tag;
}
@@ -3311,4 +3335,26 @@ function purify_filename($s) {
return $s;
}
+// callback for sorting the settings/featured entries.
+
+function featured_sort($a,$b) {
+ $s1 = substr($a,strpos($a,'id='),20);
+ $s2 = substr($b,strpos($b,'id='),20);
+ return(strcmp($s1,$s2));
+}
+
+
+function punify($s) {
+ require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php');
+ $x = new idna_convert(['encoding' => 'utf8']);
+ return $x->encode($s);
+
+}
+
+function unpunify($s) {
+ require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php');
+ $x = new idna_convert(['encoding' => 'utf8']);
+ return $x->decode($s);
+
+}
diff --git a/include/zid.php b/include/zid.php
index 67c1d9f6c..5275c6d5a 100644
--- a/include/zid.php
+++ b/include/zid.php
@@ -53,13 +53,13 @@ function zid($s, $address = '') {
$mine = get_my_url();
$myaddr = (($address) ? $address : get_my_address());
- /**
- * @FIXME checking against our own channel url is no longer reliable. We may have a lot
- * of urls attached to our channel. Should probably match against our site, since we
- * will not need to remote authenticate on our own site anyway.
- */
+ $mine_parsed = parse_url($mine);
+ $s_parsed = parse_url($s);
- if ($mine && $myaddr && (! link_compare($mine,$s)))
+ if($mine_parsed['host'] === $s_parsed['host'])
+ $url_match = true;
+
+ if ($mine && $myaddr && (! $url_match))
$zurl = $s . (($num_slashes >= 3) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr);
else
$zurl = $s;
@@ -109,6 +109,7 @@ function clean_query_string($s = '') {
$x = strip_zids(($s) ? $s : \App::$query_string);
$x = strip_owt($x);
$x = strip_zats($x);
+ $x = strip_query_param($x,'sort');
return strip_query_param($x,'f');
}
@@ -346,4 +347,4 @@ function owt_init($token) {
info(sprintf( t('OpenWebAuth: %1$s welcomes %2$s'),\App::get_hostname(), $hubloc['xchan_name']));
logger('OpenWebAuth: auth success from ' . $hubloc['xchan_addr']);
-} \ No newline at end of file
+}
diff --git a/include/zot.php b/include/zot.php
index 25e30ccbc..c2b622277 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -589,13 +589,16 @@ function zot_refresh($them, $channel = null, $force = false) {
// If there is a default group for this channel, add this connection to it
-
- $default_group = $channel['channel_default_group'];
- if($default_group) {
- require_once('include/group.php');
- $g = group_rec_byhash($channel['channel_id'],$default_group);
- if($g)
- group_add_member($channel['channel_id'],'',$x['hash'],$g['id']);
+ // for pending connections this will happens at acceptance time.
+
+ if(! intval($new_connection[0]['abook_pending'])) {
+ $default_group = $channel['channel_default_group'];
+ if($default_group) {
+ require_once('include/group.php');
+ $g = group_rec_byhash($channel['channel_id'],$default_group);
+ if($g)
+ group_add_member($channel['channel_id'],'',$x['hash'],$g['id']);
+ }
}
unset($new_connection[0]['abook_id']);
@@ -2282,13 +2285,31 @@ function process_mail_delivery($sender, $arr, $deliveries) {
continue;
}
+
if(! perm_is_allowed($channel['channel_id'],$sender['hash'],'post_mail')) {
- logger("permission denied for mail delivery {$channel['channel_id']}");
- $DR->update('permission denied');
- $result[] = $DR->get();
- continue;
+
+ /*
+ * Always allow somebody to reply if you initiated the conversation. It's anti-social
+ * and a bit rude to send a private message to somebody and block their ability to respond.
+ * If you are being harrassed and want to put an end to it, delete the conversation.
+ */
+
+ $return = false;
+ if($arr['parent_mid']) {
+ $return = q("select * from mail where mid = '%s' and channel_id = %d limit 1",
+ dbesc($arr['parent_mid']),
+ intval($channel['channel_id'])
+ );
+ }
+ if(! $return) {
+ logger("permission denied for mail delivery {$channel['channel_id']}");
+ $DR->update('permission denied');
+ $result[] = $DR->get();
+ continue;
+ }
}
+
$r = q("select id from mail where mid = '%s' and channel_id = %d limit 1",
dbesc($arr['mid']),
intval($channel['channel_id'])
@@ -3187,6 +3208,9 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
$channel = $r[0];
+ // don't provide these in the export
+
+ unset($channel['channel_active']);
unset($channel['channel_password']);
unset($channel['channel_salt']);
@@ -3453,6 +3477,14 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
continue;
}
+ // if the clone is active, so are we
+
+ if(substr($channel['channel_active'],0,10) !== substr(datetime_convert(),0,10)) {
+ q("UPDATE channel set channel_active = '%s' where channel_id = %d",
+ dbesc(datetime_convert()),
+ intval($channel['channel_id'])
+ );
+ }
if(array_key_exists('config',$arr) && is_array($arr['config']) && count($arr['config'])) {
foreach($arr['config'] as $cat => $k) {
@@ -3834,11 +3866,14 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
intval($channel['channel_id'])
);
if(! $x) {
- q("insert into profile ( profile_guid, aid, uid ) values ('%s', %d, %d)",
- dbesc($profile['profile_guid']),
- intval($channel['channel_account_id']),
- intval($channel['channel_id'])
+ profile_store_lowlevel(
+ [
+ 'aid' => $channel['channel_account_id'],
+ 'uid' => $channel['channel_id'],
+ 'profile_guid' => $profile['profile_guid'],
+ ]
);
+
$x = q("select * from profile where profile_guid = '%s' and uid = %d limit 1",
dbesc($profile['profile_guid']),
intval($channel['channel_id'])
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index 5cd04467d..1e91619e3 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -259,6 +259,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_dirdate` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_lastpost` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_deleted` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `channel_active` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT 10,
`channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT 10,
`channel_expire_days` int(11) NOT NULL DEFAULT 0 ,
@@ -308,6 +309,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_hash` (`channel_hash`),
KEY `channel_expire_days` (`channel_expire_days`),
KEY `channel_deleted` (`channel_deleted`),
+ KEY `channel_active` (`channel_active`),
KEY `channel_dirdate` (`channel_dirdate`),
KEY `channel_removed` (`channel_removed`),
KEY `channel_system` (`channel_system`),
@@ -659,13 +661,10 @@ CREATE TABLE IF NOT EXISTS `item` (
KEY `uid_item_retained` (`uid`, `item_retained`),
KEY `uid_item_private` (`uid`, `item_private`),
KEY `uid_resource_type` (`uid`, `resource_type`),
- KEY `aid` (`aid`),
KEY `owner_xchan` (`owner_xchan`),
KEY `author_xchan` (`author_xchan`),
KEY `resource_id` (`resource_id`),
KEY `resource_type` (`resource_type`),
- KEY `item_restrict` (`item_restrict`),
- KEY `item_flags` (`item_flags`),
KEY `commented` (`commented`),
KEY `verb` (`verb`),
KEY `obj_type` (`obj_type`),
@@ -969,12 +968,14 @@ CREATE TABLE IF NOT EXISTS `poll` (
`poll_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`poll_guid` varchar(191) NOT NULL,
`poll_channel` int(10) unsigned NOT NULL DEFAULT 0 ,
+ `poll_author` varchar(191) NOT NULL,
`poll_desc` text NOT NULL,
`poll_flags` int(11) NOT NULL DEFAULT 0 ,
`poll_votes` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`poll_id`),
KEY `poll_guid` (`poll_guid`),
KEY `poll_channel` (`poll_channel`),
+ KEY `poll_author` (`poll_author`),
KEY `poll_flags` (`poll_flags`),
KEY `poll_votes` (`poll_votes`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
@@ -986,10 +987,12 @@ CREATE TABLE IF NOT EXISTS `poll_elm` (
`pelm_desc` text NOT NULL,
`pelm_flags` int(11) NOT NULL DEFAULT 0 ,
`pelm_result` float NOT NULL DEFAULT 0 ,
+ `pelm_order` int(11) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`pelm_id`),
KEY `pelm_guid` (`pelm_guid`),
KEY `pelm_poll` (`pelm_poll`),
- KEY `pelm_result` (`pelm_result`)
+ KEY `pelm_result` (`pelm_result`),
+ KEY `pelm_order` (`pelm_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `profdef` (
@@ -1596,3 +1599,55 @@ CREATE TABLE if not exists calendarinstances (
UNIQUE(calendarid, principaluri),
UNIQUE(calendarid, share_href)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+
+CREATE TABLE if not exists oauth_clients (
+ client_id VARCHAR(80) NOT NULL,
+ client_secret VARCHAR(80),
+ redirect_uri VARCHAR(2000),
+ grant_types VARCHAR(80),
+ scope VARCHAR(4000),
+ user_id VARCHAR(80),
+ PRIMARY KEY (client_id)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists oauth_access_tokens (
+ access_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (access_token)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists oauth_authorization_codes (
+ authorization_code VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ redirect_uri VARCHAR(2000),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ id_token VARCHAR(1000),
+ PRIMARY KEY (authorization_code)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists oauth_refresh_tokens (
+ refresh_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (refresh_token)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists oauth_scopes (
+ scope VARCHAR(191) NOT NULL,
+ is_default TINYINT(1),
+ PRIMARY KEY (scope)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE if not exists oauth_jwt (
+ client_id VARCHAR(80) NOT NULL,
+ subject VARCHAR(80),
+ public_key VARCHAR(2000) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index 84b6a554a..fb845ce9d 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -252,6 +252,7 @@ CREATE TABLE "channel" (
"channel_dirdate" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"channel_lastpost" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"channel_deleted" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "channel_active" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"channel_max_anon_mail" bigint NOT NULL DEFAULT '10',
"channel_max_friend_req" bigint NOT NULL DEFAULT '10',
"channel_expire_days" bigint NOT NULL DEFAULT '0',
@@ -284,6 +285,7 @@ create index "channel_guid" on channel ("channel_guid");
create index "channel_hash" on channel ("channel_hash");
create index "channel_expire_days" on channel ("channel_expire_days");
create index "channel_deleted" on channel ("channel_deleted");
+create index "channel_active" on channel ("channel_active");
create index "channel_dirdate" on channel ("channel_dirdate");
create index "channel_lastpost" on channel ("channel_lastpost");
create index "channel_removed" on channel ("channel_removed");
@@ -944,6 +946,7 @@ CREATE TABLE "poll" (
"poll_id" serial NOT NULL,
"poll_guid" text NOT NULL,
"poll_channel" bigint NOT NULL DEFAULT '0',
+ "poll_author" text NOT NULL,
"poll_desc" text NOT NULL,
"poll_flags" bigint NOT NULL DEFAULT '0',
"poll_votes" bigint NOT NULL DEFAULT '0',
@@ -952,6 +955,7 @@ CREATE TABLE "poll" (
);
create index "poll_guid" on poll ("poll_guid");
create index "poll_channel" on poll ("poll_channel");
+create index "poll_author" on poll ("poll_author");
create index "poll_flags" on poll ("poll_flags");
create index "poll_votes" on poll ("poll_votes");
CREATE TABLE "poll_elm" (
@@ -961,11 +965,13 @@ CREATE TABLE "poll_elm" (
"pelm_desc" text NOT NULL,
"pelm_flags" bigint NOT NULL DEFAULT '0',
"pelm_result" float NOT NULL DEFAULT '0',
+ "pelm_order" numeric(6) NOT NULL DEFAULT '0',
PRIMARY KEY ("pelm_id")
);
create index "pelm_guid" on poll_elm ("pelm_guid");
create index "pelm_poll" on poll_elm ("pelm_poll");
create index "pelm_result" on poll_elm ("pelm_result");
+create index "pelm_order" on poll_elm ("pelm_order");
CREATE TABLE "profdef" (
"id" serial NOT NULL,
@@ -1606,3 +1612,57 @@ ALTER TABLE ONLY users
CREATE UNIQUE INDEX users_ukey
ON users USING btree (username);
+
+
+CREATE TABLE oauth_clients (
+ client_id VARCHAR(80) NOT NULL,
+ client_secret VARCHAR(80),
+ redirect_uri VARCHAR(2000),
+ grant_types VARCHAR(80),
+ scope VARCHAR(4000),
+ user_id VARCHAR(80),
+ PRIMARY KEY (client_id)
+);
+
+CREATE TABLE oauth_access_tokens (
+ access_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (access_token)
+);
+
+CREATE TABLE oauth_authorization_codes (
+ authorization_code VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ redirect_uri VARCHAR(2000),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ id_token VARCHAR(1000),
+ PRIMARY KEY (authorization_code)
+);
+
+CREATE TABLE oauth_refresh_tokens (
+ refresh_token VARCHAR(40) NOT NULL,
+ client_id VARCHAR(80) NOT NULL,
+ user_id VARCHAR(255),
+ expires TIMESTAMP NOT NULL,
+ scope VARCHAR(4000),
+ PRIMARY KEY (refresh_token)
+);
+
+CREATE TABLE oauth_scopes (
+ scope VARCHAR(191) NOT NULL,
+ is_default SMALLINT,
+ PRIMARY KEY (scope)
+);
+
+CREATE TABLE oauth_jwt (
+ client_id VARCHAR(80) NOT NULL,
+ subject VARCHAR(80),
+ public_key VARCHAR(2000) NOT NULL
+);
+
+
diff --git a/library/IXR_Library.php b/library/IXR_Library.php
index c249c4845..cb27973bb 100644
--- a/library/IXR_Library.php
+++ b/library/IXR_Library.php
@@ -606,7 +606,7 @@ class IXR_Client
if (!$path) {
// Assume we have been given a URL instead
$bits = parse_url($server);
- $this->server = $bits['host'];
+ $this->server = $server;
$this->port = isset($bits['port']) ? $bits['port'] : 80;
$this->path = isset($bits['path']) ? $bits['path'] : '/';
@@ -634,64 +634,39 @@ class IXR_Client
$request = "POST {$this->path} HTTP/1.0$r";
// Merged from WP #8145 - allow custom headers
- $this->headers['Host'] = $this->server;
$this->headers['Content-Type'] = 'text/xml';
$this->headers['User-Agent'] = $this->useragent;
$this->headers['Content-Length']= $length;
+
+ $headers = [];
+
foreach( $this->headers as $header => $value ) {
- $request .= "{$header}: {$value}{$r}";
+ $headers[] .= "{$header}: {$value}";
}
- $request .= $r;
- $request .= $xml;
- // Now send the request
- if ($this->debug) {
- echo '<pre class="ixr_request">'.htmlspecialchars($request)."\n</pre>\n\n";
- }
+ //logger('server: ' . $this->server);
+ //logger('xml: ' . $xml);
+ //logger('headers: ' . print_r($headers,true));
- if ($this->timeout) {
- $fp = @fsockopen($this->server, $this->port, $errno, $errstr, $this->timeout);
- } else {
- $fp = @fsockopen($this->server, $this->port, $errno, $errstr);
- }
- if (!$fp) {
+
+ $retries = 0;
+ $result = z_post_url($this->server,$xml,$retries, [ 'headers' => $headers] );
+
+ // logger('result: ' . print_r($result,true));
+
+ if (! $result['success']) {
$this->error = new IXR_Error(-32300, 'transport error - could not open socket');
return false;
}
- fputs($fp, $request);
- $contents = '';
- $debugContents = '';
- $gotFirstLine = false;
- $gettingHeaders = true;
- while (!feof($fp)) {
- $line = fgets($fp, 4096);
- if (!$gotFirstLine) {
- // Check line for '200'
- if (strstr($line, '200') === false) {
- $this->error = new IXR_Error(-32300, 'transport error - HTTP status code was not 200');
- return false;
- }
- $gotFirstLine = true;
- }
- if (trim($line) == '') {
- $gettingHeaders = false;
- }
- if (!$gettingHeaders) {
- // merged from WP #12559 - remove trim
- $contents .= $line;
- }
- if ($this->debug) {
- $debugContents .= $line;
- }
- }
+
if ($this->debug) {
- echo '<pre class="ixr_response">'.htmlspecialchars($debugContents)."\n</pre>\n\n";
+ echo '<pre class="ixr_response">'.htmlspecialchars($result['header'] . "\n\n" . $result['body'])."\n</pre>\n\n";
}
// Now parse what we've got back
- $this->message = new IXR_Message($contents);
+ $this->message = new IXR_Message($result['body']);
if (!$this->message->parse()) {
// XML error
$this->error = new IXR_Error(-32700, 'parse error. not well formed');
diff --git a/library/bootstrap/css/bootstrap-grid.css b/library/bootstrap/css/bootstrap-grid.css
index 5a71a41aa..6798f23d2 100644
--- a/library/bootstrap/css/bootstrap-grid.css
+++ b/library/bootstrap/css/bootstrap-grid.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap Grid v4.0.0 (https://getbootstrap.com)
+ * Bootstrap Grid v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -60,7 +60,6 @@ html {
}
.row {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
@@ -96,14 +95,12 @@ html {
.col {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
@@ -111,175 +108,148 @@ html {
}
.col-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -332,162 +302,133 @@ html {
.col-sm {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-sm-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-sm-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-sm-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-sm-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-sm-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-sm-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-sm-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-sm-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-sm-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-sm-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-sm-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-sm-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-sm-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-sm-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-sm-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-sm-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -533,162 +474,133 @@ html {
.col-md {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-md-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-md-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-md-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-md-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-md-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-md-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-md-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-md-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-md-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-md-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-md-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-md-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-md-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-md-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-md-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-md-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -734,162 +646,133 @@ html {
.col-lg {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-lg-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-lg-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-lg-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-lg-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-lg-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-lg-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-lg-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-lg-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-lg-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-lg-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-lg-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-lg-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-lg-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-lg-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-lg-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-lg-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -935,162 +818,133 @@ html {
.col-xl {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-xl-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-xl-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-xl-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-xl-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-xl-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-xl-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-xl-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-xl-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-xl-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-xl-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-xl-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-xl-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-xl-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-xl-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-xl-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-xl-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -1161,13 +1015,11 @@ html {
}
.d-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -1195,12 +1047,10 @@ html {
display: table-cell !important;
}
.d-sm-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -1229,12 +1079,10 @@ html {
display: table-cell !important;
}
.d-md-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -1263,12 +1111,10 @@ html {
display: table-cell !important;
}
.d-lg-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -1297,12 +1143,10 @@ html {
display: table-cell !important;
}
.d-xl-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -1331,41 +1175,31 @@ html {
display: table-cell !important;
}
.d-print-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-print-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
}
.flex-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -1385,26 +1219,47 @@ html {
flex-wrap: wrap-reverse !important;
}
+.flex-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+}
+
+.flex-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+}
+
.justify-content-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -1415,31 +1270,26 @@ html {
}
.align-items-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -1506,26 +1356,18 @@ html {
@media (min-width: 576px) {
.flex-sm-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -1541,23 +1383,39 @@ html {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-sm-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-sm-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-sm-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-sm-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-sm-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-sm-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -1566,27 +1424,22 @@ html {
justify-content: space-around !important;
}
.align-items-sm-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -1642,26 +1495,18 @@ html {
@media (min-width: 768px) {
.flex-md-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -1677,23 +1522,39 @@ html {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-md-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-md-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-md-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-md-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-md-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-md-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -1702,27 +1563,22 @@ html {
justify-content: space-around !important;
}
.align-items-md-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -1778,26 +1634,18 @@ html {
@media (min-width: 992px) {
.flex-lg-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -1813,23 +1661,39 @@ html {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-lg-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-lg-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-lg-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-lg-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-lg-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-lg-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -1838,27 +1702,22 @@ html {
justify-content: space-around !important;
}
.align-items-lg-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -1914,26 +1773,18 @@ html {
@media (min-width: 1200px) {
.flex-xl-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -1949,23 +1800,39 @@ html {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-xl-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-xl-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-xl-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-xl-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-xl-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-xl-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -1974,27 +1841,22 @@ html {
justify-content: space-around !important;
}
.align-items-xl-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
diff --git a/library/bootstrap/css/bootstrap-grid.css.map b/library/bootstrap/css/bootstrap-grid.css.map
index c62a598a4..8922d4ce7 100644
--- a/library/bootstrap/css/bootstrap-grid.css.map
+++ b/library/bootstrap/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGD;EAAgB,oBAAmB;CCApC;;ADGD;EACE,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,oBAAmB;CACpB;;AEfC;ECAA,YAAW;EACX,oBAAuC;EACvC,mBAAsC;EACtC,mBAAkB;EAClB,kBAAiB;CDDhB;;AEoDC;EFvDF;ICYI,iBEuKK;GHhLR;CDyBF;;AG2BG;EFvDF;ICYI,iBEwKK;GHjLR;CD+BF;;AGqBG;EFvDF;ICYI,iBEyKK;GHlLR;CDqCF;;AGeG;EFvDF;ICYI,kBE0KM;GHnLT;CD2CF;;AClCC;ECZA,YAAW;EACX,oBAAuC;EACvC,mBAAsC;EACtC,mBAAkB;EAClB,kBAAiB;CDUhB;;AAQD;ECJA,qBAAa;EAAb,cAAa;EACb,oBAAe;EAAf,gBAAe;EACf,oBAAuC;EACvC,mBAAsC;CDGrC;;AAID;EACE,gBAAe;EACf,eAAc;CAOf;;AATD;;EAMI,iBAAgB;EAChB,gBAAe;CAChB;;AIlCH;;;;;;EACE,mBAAkB;EAClB,YAAW;EACX,gBAAe;EACf,oBAA4B;EAC5B,mBAA2B;CAC5B;;AAkBG;EACE,2BAAa;EAAb,cAAa;EACb,qBAAY;EAAZ,aAAY;EACZ,gBAAe;CAChB;;AACD;EACE,mBAAc;EAAd,eAAc;EACd,YAAW;EACX,gBAAe;CAChB;;AAGC;EHFN,wBAAsC;EAAtC,oBAAsC;EAItC,qBAAuC;CGAhC;;AAFD;EHFN,yBAAsC;EAAtC,qBAAsC;EAItC,sBAAuC;CGAhC;;AAFD;EHFN,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;CGAhC;;AAFD;EHFN,yBAAsC;EAAtC,qBAAsC;EAItC,sBAAuC;CGAhC;;AAFD;EHFN,yBAAsC;EAAtC,qBAAsC;EAItC,sBAAuC;CGAhC;;AAFD;EHFN,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;CGAhC;;AAFD;EHFN,yBAAsC;EAAtC,qBAAsC;EAItC,sBAAuC;CGAhC;;AAFD;EHFN,yBAAsC;EAAtC,qBAAsC;EAItC,sBAAuC;CGAhC;;AAFD;EHFN,kBAAsC;EAAtC,cAAsC;EAItC,eAAuC;CGAhC;;AAFD;EHFN,yBAAsC;EAAtC,qBAAsC;EAItC,sBAAuC;CGAhC;;AAFD;EHFN,yBAAsC;EAAtC,qBAAsC;EAItC,sBAAuC;CGAhC;;AAFD;EHFN,mBAAsC;EAAtC,eAAsC;EAItC,gBAAuC;CGAhC;;AAGH;EAAwB,mBAAS;EAAT,UAAS;CAAK;;AAEtC;EAAuB,mBAAmB;EAAnB,UAAmB;CAAI;;AAG5C;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,kBADZ;EACY,SADZ;CACyB;;AAArC;EAAwB,mBADZ;EACY,UADZ;CACyB;;AAArC;EAAwB,mBADZ;EACY,UADZ;CACyB;;AAArC;EAAwB,mBADZ;EACY,UADZ;CACyB;;AAMnC;EHTR,uBAA8C;CGWrC;;AAFD;EHTR,wBAA8C;CGWrC;;AAFD;EHTR,iBAA8C;CGWrC;;AAFD;EHTR,wBAA8C;CGWrC;;AAFD;EHTR,wBAA8C;CGWrC;;AAFD;EHTR,iBAA8C;CGWrC;;AAFD;EHTR,wBAA8C;CGWrC;;AAFD;EHTR,wBAA8C;CGWrC;;AAFD;EHTR,iBAA8C;CGWrC;;AAFD;EHTR,wBAA8C;CGWrC;;AAFD;EHTR,wBAA8C;CGWrC;;AFDP;EE7BE;IACE,2BAAa;IAAb,cAAa;IACb,qBAAY;IAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,mBAAc;IAAd,eAAc;IACd,YAAW;IACX,gBAAe;GAChB;EAGC;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,mBAAsC;IAAtC,eAAsC;IAItC,gBAAuC;GGAhC;EAGH;IAAwB,mBAAS;IAAT,UAAS;GAAK;EAEtC;IAAuB,mBAAmB;IAAnB,UAAmB;GAAI;EAG5C;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAMnC;IHTR,eAA4B;GGWnB;EAFD;IHTR,uBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;CL2VV;;AG5VG;EE7BE;IACE,2BAAa;IAAb,cAAa;IACb,qBAAY;IAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,mBAAc;IAAd,eAAc;IACd,YAAW;IACX,gBAAe;GAChB;EAGC;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,mBAAsC;IAAtC,eAAsC;IAItC,gBAAuC;GGAhC;EAGH;IAAwB,mBAAS;IAAT,UAAS;GAAK;EAEtC;IAAuB,mBAAmB;IAAnB,UAAmB;GAAI;EAG5C;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAMnC;IHTR,eAA4B;GGWnB;EAFD;IHTR,uBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;CLyeV;;AG1eG;EE7BE;IACE,2BAAa;IAAb,cAAa;IACb,qBAAY;IAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,mBAAc;IAAd,eAAc;IACd,YAAW;IACX,gBAAe;GAChB;EAGC;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,mBAAsC;IAAtC,eAAsC;IAItC,gBAAuC;GGAhC;EAGH;IAAwB,mBAAS;IAAT,UAAS;GAAK;EAEtC;IAAuB,mBAAmB;IAAnB,UAAmB;GAAI;EAG5C;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAMnC;IHTR,eAA4B;GGWnB;EAFD;IHTR,uBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;CLunBV;;AGxnBG;EE7BE;IACE,2BAAa;IAAb,cAAa;IACb,qBAAY;IAAZ,aAAY;IACZ,gBAAe;GAChB;EACD;IACE,mBAAc;IAAd,eAAc;IACd,YAAW;IACX,gBAAe;GAChB;EAGC;IHFN,wBAAsC;IAAtC,oBAAsC;IAItC,qBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,kBAAsC;IAAtC,cAAsC;IAItC,eAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,yBAAsC;IAAtC,qBAAsC;IAItC,sBAAuC;GGAhC;EAFD;IHFN,mBAAsC;IAAtC,eAAsC;IAItC,gBAAuC;GGAhC;EAGH;IAAwB,mBAAS;IAAT,UAAS;GAAK;EAEtC;IAAuB,mBAAmB;IAAnB,UAAmB;GAAI;EAG5C;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,kBADZ;IACY,SADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAArC;IAAwB,mBADZ;IACY,UADZ;GACyB;EAMnC;IHTR,eAA4B;GGWnB;EAFD;IHTR,uBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,iBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;EAFD;IHTR,wBAA8C;GGWrC;CLqwBV;;AMxzBG;EAA2B,yBAAwB;CAAK;;AACxD;EAA2B,2BAA0B;CAAK;;AAC1D;EAA2B,iCAAgC;CAAK;;AAChE;EAA2B,0BAAyB;CAAK;;AACzD;EAA2B,0BAAyB;CAAK;;AACzD;EAA2B,8BAA6B;CAAK;;AAC7D;EAA2B,+BAA8B;CAAK;;AAC9D;EAA2B,gCAAwB;EAAxB,yBAAwB;CAAK;;AACxD;EAA2B,uCAA+B;EAA/B,gCAA+B;CAAK;;AH0C/D;EGlDA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CNk3BlE;;AGx0BG;EGlDA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CNg5BlE;;AGt2BG;EGlDA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CN86BlE;;AGp4BG;EGlDA;IAA2B,yBAAwB;GAAK;EACxD;IAA2B,2BAA0B;GAAK;EAC1D;IAA2B,iCAAgC;GAAK;EAChE;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,0BAAyB;GAAK;EACzD;IAA2B,8BAA6B;GAAK;EAC7D;IAA2B,+BAA8B;GAAK;EAC9D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAK;EACxD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAK;CN48BlE;;AMn8BD;EACE;IAAwB,yBAAwB;GAAK;EACrD;IAAwB,2BAA0B;GAAK;EACvD;IAAwB,iCAAgC;GAAK;EAC7D;IAAwB,0BAAyB;GAAK;EACtD;IAAwB,0BAAyB;GAAK;EACtD;IAAwB,8BAA6B;GAAK;EAC1D;IAAwB,+BAA8B;GAAK;EAC3D;IAAwB,gCAAwB;IAAxB,yBAAwB;GAAK;EACrD;IAAwB,uCAA+B;IAA/B,gCAA+B;GAAK;CNw9B7D;;AOl/BG;EAAgC,mCAA8B;EAA9B,+BAA8B;CAAK;;AACnE;EAAgC,sCAAiC;EAAjC,kCAAiC;CAAK;;AACtE;EAAgC,2CAAsC;EAAtC,uCAAsC;CAAK;;AAC3E;EAAgC,8CAAyC;EAAzC,0CAAyC;CAAK;;AAE9E;EAA8B,+BAA0B;EAA1B,2BAA0B;CAAK;;AAC7D;EAA8B,iCAA4B;EAA5B,6BAA4B;CAAK;;AAC/D;EAA8B,uCAAkC;EAAlC,mCAAkC;CAAK;;AACrE;EAA8B,8BAAyB;EAAzB,0BAAyB;CAAK;;AAC5D;EAA8B,gCAAuB;EAAvB,wBAAuB;CAAK;;AAC1D;EAA8B,gCAAuB;EAAvB,wBAAuB;CAAK;;AAC1D;EAA8B,gCAAyB;EAAzB,0BAAyB;CAAK;;AAC5D;EAA8B,gCAAyB;EAAzB,0BAAyB;CAAK;;AAE5D;EAAoC,gCAAsC;EAAtC,uCAAsC;CAAK;;AAC/E;EAAoC,8BAAoC;EAApC,qCAAoC;CAAK;;AAC7E;EAAoC,iCAAkC;EAAlC,mCAAkC;CAAK;;AAC3E;EAAoC,kCAAyC;EAAzC,0CAAyC;CAAK;;AAClF;EAAoC,qCAAwC;EAAxC,yCAAwC;CAAK;;AAEjF;EAAiC,iCAAkC;EAAlC,mCAAkC;CAAK;;AACxE;EAAiC,+BAAgC;EAAhC,iCAAgC;CAAK;;AACtE;EAAiC,kCAA8B;EAA9B,+BAA8B;CAAK;;AACpE;EAAiC,oCAAgC;EAAhC,iCAAgC;CAAK;;AACtE;EAAiC,mCAA+B;EAA/B,gCAA+B;CAAK;;AAErE;EAAkC,qCAAoC;EAApC,qCAAoC;CAAK;;AAC3E;EAAkC,mCAAkC;EAAlC,mCAAkC;CAAK;;AACzE;EAAkC,sCAAgC;EAAhC,iCAAgC;CAAK;;AACvE;EAAkC,uCAAuC;EAAvC,wCAAuC;CAAK;;AAC9E;EAAkC,0CAAsC;EAAtC,uCAAsC;CAAK;;AAC7E;EAAkC,uCAAiC;EAAjC,kCAAiC;CAAK;;AAExE;EAAgC,qCAA2B;EAA3B,4BAA2B;CAAK;;AAChE;EAAgC,sCAAiC;EAAjC,kCAAiC;CAAK;;AACtE;EAAgC,oCAA+B;EAA/B,gCAA+B;CAAK;;AACpE;EAAgC,uCAA6B;EAA7B,8BAA6B;CAAK;;AAClE;EAAgC,yCAA+B;EAA/B,gCAA+B;CAAK;;AACpE;EAAgC,wCAA8B;EAA9B,+BAA8B;CAAK;;AJYnE;EIlDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAK;EACrE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAE5D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAK;CP6rCtE;;AGjrCG;EIlDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAK;EACrE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAE5D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAK;CPsyCtE;;AG1xCG;EIlDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAK;EACrE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAE5D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAK;CP+4CtE;;AGn4CG;EIlDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAK;EACnE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAK;EAC3E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAK;EAE9E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAK;EAC7D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAK;EAC/D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAK;EACrE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAK;EAC1D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAC5D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAK;EAE5D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAK;EAC/E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAK;EAC7E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAK;EAC3E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAK;EAClF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAK;EAEjF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAK;EACxE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAK;EACpE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAK;EACtE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAK;EAErE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAK;EAC3E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAK;EACzE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAK;EACvE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAK;EAC9E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAK;EAC7E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAK;EAExE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAK;EAChE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAK;EACtE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAK;EAClE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAK;EACpE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAK;CPw/CtE","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitons (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap-grid.min.css b/library/bootstrap/css/bootstrap-grid.min.css
index ea073e98a..79c746da5 100644
--- a/library/bootstrap/css/bootstrap-grid.min.css
+++ b/library/bootstrap/css/bootstrap-grid.min.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap Grid v4.0.0 (https://getbootstrap.com)
+ * Bootstrap Grid v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
+ */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}
/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap-grid.min.css.map b/library/bootstrap/css/bootstrap-grid.min.css.map
index ed4a87d42..62f971ad3 100644
--- a/library/bootstrap/css/bootstrap-grid.min.css.map
+++ b/library/bootstrap/css/bootstrap-grid.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap-reboot.css b/library/bootstrap/css/bootstrap-reboot.css
index 5a75a62b6..9f0f40ff1 100644
--- a/library/bootstrap/css/bootstrap-reboot.css
+++ b/library/bootstrap/css/bootstrap-reboot.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
+ * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -202,7 +202,7 @@ th {
label {
display: inline-block;
- margin-bottom: .5rem;
+ margin-bottom: 0.5rem;
}
button {
diff --git a/library/bootstrap/css/bootstrap-reboot.css.map b/library/bootstrap/css/bootstrap-reboot.css.map
index 3f1840671..ee4c73925 100644
--- a/library/bootstrap/css/bootstrap-reboot.css.map
+++ b/library/bootstrap/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","../../scss/_variables.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitons (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","/*!\n * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap-reboot.min.css b/library/bootstrap/css/bootstrap-reboot.min.css
index ced046825..eb965cc50 100644
--- a/library/bootstrap/css/bootstrap-reboot.min.css
+++ b/library/bootstrap/css/bootstrap-reboot.min.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
+ * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
diff --git a/library/bootstrap/css/bootstrap-reboot.min.css.map b/library/bootstrap/css/bootstrap-reboot.min.css.map
index 7212ab675..e5a961ac4 100644
--- a/library/bootstrap/css/bootstrap-reboot.min.css.map
+++ b/library/bootstrap/css/bootstrap-reboot.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACoBA,ECXA,QADA,SDeE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,qBAAA,KACA,mBAAA,UACA,4BAAA,YAKA,cACE,MAAA,aAMJ,QAAA,MAAA,OAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAWF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KEvBF,sBFgCE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAQF,EACE,WAAA,EACA,cAAA,KChDF,0BD0DA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCrDF,GDwDA,GCzDA,GD4DE,WAAA,EACA,cAAA,KAGF,MCxDA,MACA,MAFA,MD6DE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,IACE,WAAA,OAIF,EC1DA,OD4DE,YAAA,OAIF,MACE,UAAA,IAQF,IChEA,IDkEE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YACA,6BAAA,QG3LA,QH8LE,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KGvMA,oCAAA,oCH0ME,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EClEJ,KACA,ID2EA,IC1EA,KD8EE,YAAA,SAAA,CAAA,UACA,UAAA,IAIF,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAGA,mBAAA,UAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,eACE,SAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OACE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBC9GF,ODiHA,MC/GA,SADA,OAEA,SDmHE,OAAA,EACA,YAAA,QACA,UAAA,QACA,YAAA,QAGF,OCjHA,MDmHE,SAAA,QAGF,OCjHA,ODmHE,eAAA,KC7GF,aACA,cDkHA,OCpHA,mBDwHE,mBAAA,OCjHF,gCACA,+BACA,gCDmHA,yBAIE,QAAA,EACA,aAAA,KClHF,qBDqHA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCrHA,2BACA,kBAFA,iBD+HE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MACA,UAAA,OACA,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SEnIF,yCDEA,yCDuIE,OAAA,KEpIF,cF4IE,eAAA,KACA,mBAAA,KExIF,4CDEA,yCD+IE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KErJF,SF2JE,QAAA","sourcesContent":["/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACoBA,ECXA,QADA,SDeE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,qBAAA,KACA,mBAAA,UACA,4BAAA,YAKA,cACE,MAAA,aAMJ,QAAA,MAAA,OAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAWF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KEvBF,sBFgCE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAQF,EACE,WAAA,EACA,cAAA,KChDF,0BD0DA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCrDF,GDwDA,GCzDA,GD4DE,WAAA,EACA,cAAA,KAGF,MCxDA,MACA,MAFA,MD6DE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,IACE,WAAA,OAIF,EC1DA,OD4DE,YAAA,OAIF,MACE,UAAA,IAQF,IChEA,IDkEE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YACA,6BAAA,QG7LA,QHgME,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KGzMA,oCAAA,oCH4ME,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EClEJ,KACA,ID2EA,IC1EA,KD8EE,YAAA,SAAA,CAAA,UACA,UAAA,IAIF,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAGA,mBAAA,UAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,eACE,SAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OACE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBC9GF,ODiHA,MC/GA,SADA,OAEA,SDmHE,OAAA,EACA,YAAA,QACA,UAAA,QACA,YAAA,QAGF,OCjHA,MDmHE,SAAA,QAGF,OCjHA,ODmHE,eAAA,KC7GF,aACA,cDkHA,OCpHA,mBDwHE,mBAAA,OCjHF,gCACA,+BACA,gCDmHA,yBAIE,QAAA,EACA,aAAA,KClHF,qBDqHA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCrHA,2BACA,kBAFA,iBD+HE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MACA,UAAA,OACA,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SEnIF,yCDEA,yCDuIE,OAAA,KEpIF,cF4IE,eAAA,KACA,mBAAA,KExIF,4CDEA,yCD+IE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KErJF,SF2JE,QAAA","sourcesContent":["/*!\n * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.css b/library/bootstrap/css/bootstrap.css
index aa497136c..7220f3c05 100644
--- a/library/bootstrap/css/bootstrap.css
+++ b/library/bootstrap/css/bootstrap.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -232,7 +232,7 @@ th {
label {
display: inline-block;
- margin-bottom: .5rem;
+ margin-bottom: 0.5rem;
}
button {
@@ -594,7 +594,6 @@ pre code {
}
.row {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
@@ -630,14 +629,12 @@ pre code {
.col {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
@@ -645,175 +642,148 @@ pre code {
}
.col-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -866,162 +836,133 @@ pre code {
.col-sm {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-sm-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-sm-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-sm-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-sm-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-sm-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-sm-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-sm-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-sm-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-sm-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-sm-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-sm-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-sm-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-sm-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-sm-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-sm-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-sm-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-sm-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-sm-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-sm-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-sm-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-sm-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-sm-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-sm-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-sm-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-sm-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-sm-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-sm-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-sm-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -1067,162 +1008,133 @@ pre code {
.col-md {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-md-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-md-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-md-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-md-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-md-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-md-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-md-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-md-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-md-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-md-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-md-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-md-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-md-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-md-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-md-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-md-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-md-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-md-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-md-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-md-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-md-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-md-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-md-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-md-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-md-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-md-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-md-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-md-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -1268,162 +1180,133 @@ pre code {
.col-lg {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-lg-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-lg-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-lg-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-lg-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-lg-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-lg-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-lg-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-lg-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-lg-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-lg-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-lg-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-lg-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-lg-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-lg-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-lg-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-lg-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-lg-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-lg-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-lg-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-lg-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-lg-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-lg-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-lg-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-lg-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-lg-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-lg-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-lg-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-lg-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -1469,162 +1352,133 @@ pre code {
.col-xl {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%;
}
.col-xl-auto {
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: none;
}
.col-xl-1 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-xl-2 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-xl-3 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%;
}
.col-xl-4 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-xl-5 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-xl-6 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%;
}
.col-xl-7 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-xl-8 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-xl-9 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%;
}
.col-xl-10 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-xl-11 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-xl-12 {
- -webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%;
}
.order-xl-first {
- -webkit-box-ordinal-group: 0;
-ms-flex-order: -1;
order: -1;
}
.order-xl-last {
- -webkit-box-ordinal-group: 14;
-ms-flex-order: 13;
order: 13;
}
.order-xl-0 {
- -webkit-box-ordinal-group: 1;
-ms-flex-order: 0;
order: 0;
}
.order-xl-1 {
- -webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
}
.order-xl-2 {
- -webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.order-xl-3 {
- -webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.order-xl-4 {
- -webkit-box-ordinal-group: 5;
-ms-flex-order: 4;
order: 4;
}
.order-xl-5 {
- -webkit-box-ordinal-group: 6;
-ms-flex-order: 5;
order: 5;
}
.order-xl-6 {
- -webkit-box-ordinal-group: 7;
-ms-flex-order: 6;
order: 6;
}
.order-xl-7 {
- -webkit-box-ordinal-group: 8;
-ms-flex-order: 7;
order: 7;
}
.order-xl-8 {
- -webkit-box-ordinal-group: 9;
-ms-flex-order: 8;
order: 8;
}
.order-xl-9 {
- -webkit-box-ordinal-group: 10;
-ms-flex-order: 9;
order: 9;
}
.order-xl-10 {
- -webkit-box-ordinal-group: 11;
-ms-flex-order: 10;
order: 10;
}
.order-xl-11 {
- -webkit-box-ordinal-group: 12;
-ms-flex-order: 11;
order: 11;
}
.order-xl-12 {
- -webkit-box-ordinal-group: 13;
-ms-flex-order: 12;
order: 12;
}
@@ -1712,6 +1566,13 @@ pre code {
border-bottom-width: 2px;
}
+.table-borderless th,
+.table-borderless td,
+.table-borderless thead th,
+.table-borderless tbody + tbody {
+ border: 0;
+}
+
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.05);
}
@@ -1968,6 +1829,12 @@ pre code {
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
+@media screen and (prefers-reduced-motion: reduce) {
+ .form-control {
+ transition: none;
+ }
+}
+
.form-control::-ms-expand {
background-color: transparent;
border: 0;
@@ -2055,6 +1922,7 @@ select.form-control:focus::-ms-value {
padding-bottom: 0.375rem;
margin-bottom: 0;
line-height: 1.5;
+ color: #212529;
background-color: transparent;
border: solid transparent;
border-width: 1px 0;
@@ -2121,7 +1989,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
}
.form-row {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
@@ -2157,10 +2024,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
}
.form-check-inline {
- display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding-left: 0;
@@ -2369,14 +2234,10 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
}
.form-inline {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
@@ -2387,29 +2248,21 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
@media (min-width: 576px) {
.form-inline label {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
- -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 0;
}
.form-inline .form-group {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0;
@@ -2422,17 +2275,15 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
.form-inline .form-control-plaintext {
display: inline-block;
}
- .form-inline .input-group {
+ .form-inline .input-group,
+ .form-inline .custom-select {
width: auto;
}
.form-inline .form-check {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
- -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: auto;
@@ -2445,10 +2296,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
margin-left: 0;
}
.form-inline .custom-control {
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
- -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
@@ -2475,6 +2324,12 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
+@media screen and (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
+}
+
.btn:hover, .btn:focus {
text-decoration: none;
}
@@ -3066,6 +2921,7 @@ fieldset:disabled a.btn {
.btn-link:disabled, .btn-link.disabled {
color: #6c757d;
+ pointer-events: none;
}
.btn-lg, .btn-group-lg > .btn {
@@ -3098,28 +2954,21 @@ input[type="button"].btn-block {
}
.fade {
- opacity: 0;
transition: opacity 0.15s linear;
}
-.fade.show {
- opacity: 1;
-}
-
-.collapse {
- display: none;
-}
-
-.collapse.show {
- display: block;
+@media screen and (prefers-reduced-motion: reduce) {
+ .fade {
+ transition: none;
+ }
}
-tr.collapse.show {
- display: table-row;
+.fade:not(.show) {
+ opacity: 0;
}
-tbody.collapse.show {
- display: table-row-group;
+.collapse:not(.show) {
+ display: none;
}
.collapsing {
@@ -3129,8 +2978,16 @@ tbody.collapse.show {
transition: height 0.35s ease;
}
+@media screen and (prefers-reduced-motion: reduce) {
+ .collapsing {
+ transition: none;
+ }
+}
+
.dropup,
-.dropdown {
+.dropright,
+.dropdown,
+.dropleft {
position: relative;
}
@@ -3171,7 +3028,14 @@ tbody.collapse.show {
border-radius: 0.25rem;
}
+.dropdown-menu-right {
+ right: 0;
+ left: auto;
+}
+
.dropup .dropdown-menu {
+ top: auto;
+ bottom: 100%;
margin-top: 0;
margin-bottom: 0.125rem;
}
@@ -3194,6 +3058,9 @@ tbody.collapse.show {
}
.dropright .dropdown-menu {
+ top: 0;
+ right: auto;
+ left: 100%;
margin-top: 0;
margin-left: 0.125rem;
}
@@ -3206,6 +3073,7 @@ tbody.collapse.show {
vertical-align: 0.255em;
content: "";
border-top: 0.3em solid transparent;
+ border-right: 0;
border-bottom: 0.3em solid transparent;
border-left: 0.3em solid;
}
@@ -3219,6 +3087,9 @@ tbody.collapse.show {
}
.dropleft .dropdown-menu {
+ top: 0;
+ right: 100%;
+ left: auto;
margin-top: 0;
margin-right: 0.125rem;
}
@@ -3256,6 +3127,11 @@ tbody.collapse.show {
vertical-align: 0;
}
+.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
+ right: auto;
+ bottom: auto;
+}
+
.dropdown-divider {
height: 0;
margin: 0.5rem 0;
@@ -3306,10 +3182,15 @@ tbody.collapse.show {
white-space: nowrap;
}
+.dropdown-item-text {
+ display: block;
+ padding: 0.25rem 1.5rem;
+ color: #212529;
+}
+
.btn-group,
.btn-group-vertical {
position: relative;
- display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle;
@@ -3318,7 +3199,6 @@ tbody.collapse.show {
.btn-group > .btn,
.btn-group-vertical > .btn {
position: relative;
- -webkit-box-flex: 0;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
}
@@ -3347,12 +3227,10 @@ tbody.collapse.show {
}
.btn-toolbar {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
- -webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}
@@ -3382,10 +3260,16 @@ tbody.collapse.show {
padding-left: 0.5625rem;
}
-.dropdown-toggle-split::after {
+.dropdown-toggle-split::after,
+.dropup .dropdown-toggle-split::after,
+.dropright .dropdown-toggle-split::after {
margin-left: 0;
}
+.dropleft .dropdown-toggle-split::before {
+ margin-right: 0;
+}
+
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
padding-right: 0.375rem;
padding-left: 0.375rem;
@@ -3397,14 +3281,10 @@ tbody.collapse.show {
}
.btn-group-vertical {
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
- -webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
- -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
@@ -3450,12 +3330,10 @@ tbody.collapse.show {
.input-group {
position: relative;
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
- -webkit-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
width: 100%;
@@ -3465,7 +3343,6 @@ tbody.collapse.show {
.input-group > .custom-select,
.input-group > .custom-file {
position: relative;
- -webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
@@ -3503,29 +3380,26 @@ tbody.collapse.show {
}
.input-group > .custom-file {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label,
-.input-group > .custom-file:not(:last-child) .custom-file-label::before {
+.input-group > .custom-file:not(:last-child) .custom-file-label::after {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label,
-.input-group > .custom-file:not(:first-child) .custom-file-label::before {
+.input-group > .custom-file:not(:first-child) .custom-file-label::after {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group-prepend,
.input-group-append {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
@@ -3556,10 +3430,8 @@ tbody.collapse.show {
}
.input-group-text {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 0.375rem 0.75rem;
@@ -3608,7 +3480,6 @@ tbody.collapse.show {
}
.custom-control-inline {
- display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
margin-right: 1rem;
@@ -3793,12 +3664,12 @@ tbody.collapse.show {
opacity: 0;
}
-.custom-file-input:focus ~ .custom-file-control {
+.custom-file-input:focus ~ .custom-file-label {
border-color: #80bdff;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
-.custom-file-input:focus ~ .custom-file-control::before {
+.custom-file-input:focus ~ .custom-file-label::after {
border-color: #80bdff;
}
@@ -3838,8 +3709,122 @@ tbody.collapse.show {
border-radius: 0 0.25rem 0.25rem 0;
}
+.custom-range {
+ width: 100%;
+ padding-left: 0;
+ background-color: transparent;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+
+.custom-range:focus {
+ outline: none;
+}
+
+.custom-range::-moz-focus-outer {
+ border: 0;
+}
+
+.custom-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ background-color: #007bff;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-appearance: none;
+ appearance: none;
+}
+
+.custom-range::-webkit-slider-thumb:focus {
+ outline: none;
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range::-webkit-slider-thumb:active {
+ background-color: #b3d7ff;
+}
+
+.custom-range::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+
+.custom-range::-moz-range-thumb {
+ width: 1rem;
+ height: 1rem;
+ background-color: #007bff;
+ border: 0;
+ border-radius: 1rem;
+ -moz-appearance: none;
+ appearance: none;
+}
+
+.custom-range::-moz-range-thumb:focus {
+ outline: none;
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range::-moz-range-thumb:active {
+ background-color: #b3d7ff;
+}
+
+.custom-range::-moz-range-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+
+.custom-range::-ms-thumb {
+ width: 1rem;
+ height: 1rem;
+ background-color: #007bff;
+ border: 0;
+ border-radius: 1rem;
+ appearance: none;
+}
+
+.custom-range::-ms-thumb:focus {
+ outline: none;
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+}
+
+.custom-range::-ms-thumb:active {
+ background-color: #b3d7ff;
+}
+
+.custom-range::-ms-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: transparent;
+ border-color: transparent;
+ border-width: 0.5rem;
+}
+
+.custom-range::-ms-fill-lower {
+ background-color: #dee2e6;
+ border-radius: 1rem;
+}
+
+.custom-range::-ms-fill-upper {
+ margin-right: 15px;
+ background-color: #dee2e6;
+ border-radius: 1rem;
+}
+
.nav {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
@@ -3910,7 +3895,6 @@ tbody.collapse.show {
}
.nav-fill .nav-item {
- -webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
@@ -3919,7 +3903,6 @@ tbody.collapse.show {
.nav-justified .nav-item {
-ms-flex-preferred-size: 0;
flex-basis: 0;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
text-align: center;
@@ -3935,15 +3918,12 @@ tbody.collapse.show {
.navbar {
position: relative;
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
- -webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 0.5rem 1rem;
@@ -3951,15 +3931,12 @@ tbody.collapse.show {
.navbar > .container,
.navbar > .container-fluid {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
- -webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
@@ -3979,11 +3956,8 @@ tbody.collapse.show {
}
.navbar-nav {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
@@ -4010,10 +3984,8 @@ tbody.collapse.show {
.navbar-collapse {
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
- -webkit-box-flex: 1;
-ms-flex-positive: 1;
flex-grow: 1;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
@@ -4055,27 +4027,18 @@ tbody.collapse.show {
@media (min-width: 576px) {
.navbar-expand-sm {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
- -webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-sm .navbar-nav {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-sm .navbar-nav .dropdown-menu {
position: absolute;
}
- .navbar-expand-sm .navbar-nav .dropdown-menu-right {
- right: 0;
- left: auto;
- }
.navbar-expand-sm .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
@@ -4086,7 +4049,6 @@ tbody.collapse.show {
flex-wrap: nowrap;
}
.navbar-expand-sm .navbar-collapse {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-ms-flex-preferred-size: auto;
@@ -4095,10 +4057,6 @@ tbody.collapse.show {
.navbar-expand-sm .navbar-toggler {
display: none;
}
- .navbar-expand-sm .dropup .dropdown-menu {
- top: auto;
- bottom: 100%;
- }
}
@media (max-width: 767.98px) {
@@ -4111,27 +4069,18 @@ tbody.collapse.show {
@media (min-width: 768px) {
.navbar-expand-md {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
- -webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-md .navbar-nav {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-md .navbar-nav .dropdown-menu {
position: absolute;
}
- .navbar-expand-md .navbar-nav .dropdown-menu-right {
- right: 0;
- left: auto;
- }
.navbar-expand-md .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
@@ -4142,7 +4091,6 @@ tbody.collapse.show {
flex-wrap: nowrap;
}
.navbar-expand-md .navbar-collapse {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-ms-flex-preferred-size: auto;
@@ -4151,10 +4099,6 @@ tbody.collapse.show {
.navbar-expand-md .navbar-toggler {
display: none;
}
- .navbar-expand-md .dropup .dropdown-menu {
- top: auto;
- bottom: 100%;
- }
}
@media (max-width: 991.98px) {
@@ -4167,27 +4111,18 @@ tbody.collapse.show {
@media (min-width: 992px) {
.navbar-expand-lg {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
- -webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-lg .navbar-nav {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
position: absolute;
}
- .navbar-expand-lg .navbar-nav .dropdown-menu-right {
- right: 0;
- left: auto;
- }
.navbar-expand-lg .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
@@ -4198,7 +4133,6 @@ tbody.collapse.show {
flex-wrap: nowrap;
}
.navbar-expand-lg .navbar-collapse {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-ms-flex-preferred-size: auto;
@@ -4207,10 +4141,6 @@ tbody.collapse.show {
.navbar-expand-lg .navbar-toggler {
display: none;
}
- .navbar-expand-lg .dropup .dropdown-menu {
- top: auto;
- bottom: 100%;
- }
}
@media (max-width: 1199.98px) {
@@ -4223,27 +4153,18 @@ tbody.collapse.show {
@media (min-width: 1200px) {
.navbar-expand-xl {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
- -webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}
.navbar-expand-xl .navbar-nav {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
.navbar-expand-xl .navbar-nav .dropdown-menu {
position: absolute;
}
- .navbar-expand-xl .navbar-nav .dropdown-menu-right {
- right: 0;
- left: auto;
- }
.navbar-expand-xl .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
@@ -4254,7 +4175,6 @@ tbody.collapse.show {
flex-wrap: nowrap;
}
.navbar-expand-xl .navbar-collapse {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-ms-flex-preferred-size: auto;
@@ -4263,18 +4183,11 @@ tbody.collapse.show {
.navbar-expand-xl .navbar-toggler {
display: none;
}
- .navbar-expand-xl .dropup .dropdown-menu {
- top: auto;
- bottom: 100%;
- }
}
.navbar-expand {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
- -webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-start;
}
@@ -4286,8 +4199,6 @@ tbody.collapse.show {
}
.navbar-expand .navbar-nav {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
@@ -4296,11 +4207,6 @@ tbody.collapse.show {
position: absolute;
}
-.navbar-expand .navbar-nav .dropdown-menu-right {
- right: 0;
- left: auto;
-}
-
.navbar-expand .navbar-nav .nav-link {
padding-right: 0.5rem;
padding-left: 0.5rem;
@@ -4313,7 +4219,6 @@ tbody.collapse.show {
}
.navbar-expand .navbar-collapse {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
-ms-flex-preferred-size: auto;
@@ -4324,11 +4229,6 @@ tbody.collapse.show {
display: none;
}
-.navbar-expand .dropup .dropdown-menu {
- top: auto;
- bottom: 100%;
-}
-
.navbar-light .navbar-brand {
color: rgba(0, 0, 0, 0.9);
}
@@ -4427,11 +4327,8 @@ tbody.collapse.show {
.card {
position: relative;
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
min-width: 0;
@@ -4458,7 +4355,6 @@ tbody.collapse.show {
}
.card-body {
- -webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1.25rem;
@@ -4549,11 +4445,8 @@ tbody.collapse.show {
}
.card-deck {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
@@ -4564,22 +4457,16 @@ tbody.collapse.show {
@media (min-width: 576px) {
.card-deck {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
margin-right: -15px;
margin-left: -15px;
}
.card-deck .card {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-flex: 1;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
margin-right: 15px;
@@ -4589,11 +4476,8 @@ tbody.collapse.show {
}
.card-group {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
@@ -4604,13 +4488,10 @@ tbody.collapse.show {
@media (min-width: 576px) {
.card-group {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group > .card {
- -webkit-box-flex: 1;
-ms-flex: 1 0 0%;
flex: 1 0 0%;
margin-bottom: 0;
@@ -4679,6 +4560,8 @@ tbody.collapse.show {
-webkit-column-gap: 1.25rem;
-moz-column-gap: 1.25rem;
column-gap: 1.25rem;
+ orphans: 1;
+ widows: 1;
}
.card-columns .card {
display: inline-block;
@@ -4686,8 +4569,27 @@ tbody.collapse.show {
}
}
+.accordion .card:not(:first-of-type):not(:last-of-type) {
+ border-bottom: 0;
+ border-radius: 0;
+}
+
+.accordion .card:not(:first-of-type) .card-header:first-child {
+ border-radius: 0;
+}
+
+.accordion .card:first-of-type {
+ border-bottom: 0;
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.accordion .card:last-of-type {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
.breadcrumb {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
@@ -4699,10 +4601,13 @@ tbody.collapse.show {
border-radius: 0.25rem;
}
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: 0.5rem;
+}
+
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
padding-right: 0.5rem;
- padding-left: 0.5rem;
color: #6c757d;
content: "/";
}
@@ -4720,7 +4625,6 @@ tbody.collapse.show {
}
.pagination {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
padding-left: 0;
@@ -4740,6 +4644,7 @@ tbody.collapse.show {
}
.page-link:hover {
+ z-index: 2;
color: #0056b3;
text-decoration: none;
background-color: #e9ecef;
@@ -5107,7 +5012,6 @@ tbody.collapse.show {
}
.progress {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
height: 1rem;
@@ -5118,22 +5022,25 @@ tbody.collapse.show {
}
.progress-bar {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
- -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
color: #fff;
text-align: center;
+ white-space: nowrap;
background-color: #007bff;
transition: width 0.6s ease;
}
+@media screen and (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ transition: none;
+ }
+}
+
.progress-bar-striped {
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-size: 1rem 1rem;
@@ -5145,26 +5052,20 @@ tbody.collapse.show {
}
.media {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}
.media-body {
- -webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
}
.list-group {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
@@ -5430,16 +5331,20 @@ button.close {
transform: translate(0, -25%);
}
+@media screen and (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ transition: none;
+ }
+}
+
.modal.show .modal-dialog {
-webkit-transform: translate(0, 0);
transform: translate(0, 0);
}
.modal-dialog-centered {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
min-height: calc(100% - (0.5rem * 2));
@@ -5447,11 +5352,8 @@ button.close {
.modal-content {
position: relative;
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
width: 100%;
@@ -5482,13 +5384,10 @@ button.close {
}
.modal-header {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
- -webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 1rem;
@@ -5509,20 +5408,16 @@ button.close {
.modal-body {
position: relative;
- -webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1rem;
}
.modal-footer {
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
- -webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
padding: 1rem;
@@ -5862,7 +5757,6 @@ button.close {
.carousel-item {
position: relative;
display: none;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
width: 100%;
@@ -5875,6 +5769,12 @@ button.close {
perspective: 1000px;
}
+@media screen and (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
+ }
+}
+
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
@@ -5929,18 +5829,52 @@ button.close {
}
}
+.carousel-fade .carousel-item {
+ opacity: 0;
+ transition-duration: .6s;
+ transition-property: opacity;
+}
+
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-left,
+.carousel-fade .carousel-item-prev.carousel-item-right {
+ opacity: 1;
+}
+
+.carousel-fade .active.carousel-item-left,
+.carousel-fade .active.carousel-item-right {
+ opacity: 0;
+}
+
+.carousel-fade .carousel-item-next,
+.carousel-fade .carousel-item-prev,
+.carousel-fade .carousel-item.active,
+.carousel-fade .active.carousel-item-left,
+.carousel-fade .active.carousel-item-prev {
+ -webkit-transform: translateX(0);
+ transform: translateX(0);
+}
+
+@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
+ .carousel-fade .carousel-item-next,
+ .carousel-fade .carousel-item-prev,
+ .carousel-fade .carousel-item.active,
+ .carousel-fade .active.carousel-item-left,
+ .carousel-fade .active.carousel-item-prev {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
+
.carousel-control-prev,
.carousel-control-next {
position: absolute;
top: 0;
bottom: 0;
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
- -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
@@ -5989,10 +5923,8 @@ button.close {
bottom: 10px;
left: 0;
z-index: 15;
- display: -webkit-box;
display: -ms-flexbox;
display: flex;
- -webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
@@ -6003,7 +5935,6 @@ button.close {
.carousel-indicators li {
position: relative;
- -webkit-box-flex: 0;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
width: 30px;
@@ -6305,13 +6236,11 @@ button.bg-dark:focus {
}
.d-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -6339,12 +6268,10 @@ button.bg-dark:focus {
display: table-cell !important;
}
.d-sm-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-sm-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -6373,12 +6300,10 @@ button.bg-dark:focus {
display: table-cell !important;
}
.d-md-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-md-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -6407,12 +6332,10 @@ button.bg-dark:focus {
display: table-cell !important;
}
.d-lg-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-lg-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -6441,12 +6364,10 @@ button.bg-dark:focus {
display: table-cell !important;
}
.d-xl-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-xl-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -6475,12 +6396,10 @@ button.bg-dark:focus {
display: table-cell !important;
}
.d-print-flex {
- display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.d-print-inline-flex {
- display: -webkit-inline-box !important;
display: -ms-inline-flexbox !important;
display: inline-flex !important;
}
@@ -6530,29 +6449,21 @@ button.bg-dark:focus {
}
.flex-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -6572,26 +6483,47 @@ button.bg-dark:focus {
flex-wrap: wrap-reverse !important;
}
+.flex-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+}
+
+.flex-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+}
+
.justify-content-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -6602,31 +6534,26 @@ button.bg-dark:focus {
}
.align-items-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -6693,26 +6620,18 @@ button.bg-dark:focus {
@media (min-width: 576px) {
.flex-sm-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-sm-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-sm-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-sm-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -6728,23 +6647,39 @@ button.bg-dark:focus {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-sm-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-sm-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-sm-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-sm-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-sm-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-sm-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-sm-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-sm-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-sm-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -6753,27 +6688,22 @@ button.bg-dark:focus {
justify-content: space-around !important;
}
.align-items-sm-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-sm-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-sm-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-sm-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-sm-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -6829,26 +6759,18 @@ button.bg-dark:focus {
@media (min-width: 768px) {
.flex-md-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-md-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-md-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-md-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -6864,23 +6786,39 @@ button.bg-dark:focus {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-md-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-md-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-md-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-md-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-md-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-md-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-md-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-md-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-md-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -6889,27 +6827,22 @@ button.bg-dark:focus {
justify-content: space-around !important;
}
.align-items-md-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-md-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-md-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-md-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-md-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -6965,26 +6898,18 @@ button.bg-dark:focus {
@media (min-width: 992px) {
.flex-lg-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-lg-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-lg-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-lg-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -7000,23 +6925,39 @@ button.bg-dark:focus {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-lg-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-lg-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-lg-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-lg-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-lg-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-lg-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-lg-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-lg-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-lg-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -7025,27 +6966,22 @@ button.bg-dark:focus {
justify-content: space-around !important;
}
.align-items-lg-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-lg-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-lg-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-lg-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-lg-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -7101,26 +7037,18 @@ button.bg-dark:focus {
@media (min-width: 1200px) {
.flex-xl-row {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: row !important;
flex-direction: row !important;
}
.flex-xl-column {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: normal !important;
-ms-flex-direction: column !important;
flex-direction: column !important;
}
.flex-xl-row-reverse {
- -webkit-box-orient: horizontal !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: row-reverse !important;
flex-direction: row-reverse !important;
}
.flex-xl-column-reverse {
- -webkit-box-orient: vertical !important;
- -webkit-box-direction: reverse !important;
-ms-flex-direction: column-reverse !important;
flex-direction: column-reverse !important;
}
@@ -7136,23 +7064,39 @@ button.bg-dark:focus {
-ms-flex-wrap: wrap-reverse !important;
flex-wrap: wrap-reverse !important;
}
+ .flex-xl-fill {
+ -ms-flex: 1 1 auto !important;
+ flex: 1 1 auto !important;
+ }
+ .flex-xl-grow-0 {
+ -ms-flex-positive: 0 !important;
+ flex-grow: 0 !important;
+ }
+ .flex-xl-grow-1 {
+ -ms-flex-positive: 1 !important;
+ flex-grow: 1 !important;
+ }
+ .flex-xl-shrink-0 {
+ -ms-flex-negative: 0 !important;
+ flex-shrink: 0 !important;
+ }
+ .flex-xl-shrink-1 {
+ -ms-flex-negative: 1 !important;
+ flex-shrink: 1 !important;
+ }
.justify-content-xl-start {
- -webkit-box-pack: start !important;
-ms-flex-pack: start !important;
justify-content: flex-start !important;
}
.justify-content-xl-end {
- -webkit-box-pack: end !important;
-ms-flex-pack: end !important;
justify-content: flex-end !important;
}
.justify-content-xl-center {
- -webkit-box-pack: center !important;
-ms-flex-pack: center !important;
justify-content: center !important;
}
.justify-content-xl-between {
- -webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
@@ -7161,27 +7105,22 @@ button.bg-dark:focus {
justify-content: space-around !important;
}
.align-items-xl-start {
- -webkit-box-align: start !important;
-ms-flex-align: start !important;
align-items: flex-start !important;
}
.align-items-xl-end {
- -webkit-box-align: end !important;
-ms-flex-align: end !important;
align-items: flex-end !important;
}
.align-items-xl-center {
- -webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
.align-items-xl-baseline {
- -webkit-box-align: baseline !important;
-ms-flex-align: baseline !important;
align-items: baseline !important;
}
.align-items-xl-stretch {
- -webkit-box-align: stretch !important;
-ms-flex-align: stretch !important;
align-items: stretch !important;
}
@@ -7349,8 +7288,6 @@ button.bg-dark:focus {
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
- -webkit-clip-path: inset(50%);
- clip-path: inset(50%);
border: 0;
}
@@ -7361,8 +7298,22 @@ button.bg-dark:focus {
overflow: visible;
clip: auto;
white-space: normal;
- -webkit-clip-path: none;
- clip-path: none;
+}
+
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
+.shadow {
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
+}
+
+.shadow-lg {
+ box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
}
.w-25 {
@@ -7381,6 +7332,10 @@ button.bg-dark:focus {
width: 100% !important;
}
+.w-auto {
+ width: auto !important;
+}
+
.h-25 {
height: 25% !important;
}
@@ -7397,6 +7352,10 @@ button.bg-dark:focus {
height: 100% !important;
}
+.h-auto {
+ height: auto !important;
+}
+
.mw-100 {
max-width: 100% !important;
}
@@ -8717,6 +8676,10 @@ button.bg-dark:focus {
}
}
+.text-monospace {
+ font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+}
+
.text-justify {
text-align: justify !important;
}
@@ -8887,10 +8850,22 @@ a.text-dark:hover, a.text-dark:focus {
color: #1d2124 !important;
}
+.text-body {
+ color: #212529 !important;
+}
+
.text-muted {
color: #6c757d !important;
}
+.text-black-50 {
+ color: rgba(0, 0, 0, 0.5) !important;
+}
+
+.text-white-50 {
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
.text-hide {
font: 0/0 a;
color: transparent;
@@ -8925,7 +8900,7 @@ a.text-dark:hover, a.text-dark:focus {
}
pre,
blockquote {
- border: 1px solid #999;
+ border: 1px solid #adb5bd;
page-break-inside: avoid;
}
thead {
@@ -8969,7 +8944,7 @@ a.text-dark:hover, a.text-dark:focus {
}
.table-bordered th,
.table-bordered td {
- border: 1px solid #ddd !important;
+ border: 1px solid #dee2e6 !important;
}
}
/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.css.map b/library/bootstrap/css/bootstrap.css.map
index a4532ecc7..e75d56a9c 100644
--- a/library/bootstrap/css/bootstrap.css.map
+++ b/library/bootstrap/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","bootstrap.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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AAkB;IAClB,cAAa;IACb,sBf+GwC;Ie9GxC,eAAc;GACf;EA5DL;IA+DM,0BAAmB;IAAnB,uBAAmB;IAAnB,oBAAmB;IACnB,yBAAuB;IAAvB,sBAAuB;IAAvB,wBAAuB;GACxB;EAjEL;IAmEM,iBAAgB;GACjB;ChByuDJ;;AoB7iED;EACE,sBAAqB;EACrB,iBnBsO+B;EmBrO/B,mBAAkB;EAClB,oBAAmB;EACnB,uBAAsB;EACtB,0BAAiB;EAAjB,uBAAiB;EAAjB,sBAAiB;EAAjB,kBAAiB;EACjB,8BAA2C;ECsF3C,0BpBkOkC;EoBjOlC,gBpBqIgC;EoBpIhC,iBpB6I+B;EoB1I7B,uBpByGgC;EgB5M9B,sIhBoX6I;CmBxUlJ;;AlB/BC;EkBCE,sBAAqB;ClBEtB;;AkBfH;EAkBI,WAAU;EACV,iDnBWa;CmBVd;;AApBH;EAyBI,cnB8U6B;CmB5U9B;;AA3BH;EA+BI,gBAAe;CAChB;;AAhCH;EAoCI,uBAAsB;CAMvB;;AAIH;;EAEE,qBAAoB;CACrB;;AAQC;ECzDA,YpBKa;EkBLX,0BlB8Ba;EoB5Bf,sBpB4Be;CmB6Bd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBaW;CoBXd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBKa;EoBJb,sBpBIa;CoBHd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBdS;CoBgBZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBWc;EoBThB,sBpBSgB;CmBgDf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,kDpBNY;CoBQf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBdc;EoBed,sBpBfc;CoBgBf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDpBjCU;CoBmCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBqCa;EoBnCf,sBpBmCe;CmBsBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBoBW;CoBlBd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBYa;EoBXb,sBpBWa;CoBVd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBPS;CoBSZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBuCa;EoBrCf,sBpBqCe;CmBoBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,iDpBsBW;CoBpBd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBca;EoBbb,sBpBaa;CoBZd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,iDpBLS;CoBOZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBoCa;EoBlCf,sBpBkCe;CmBuBd;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBmBW;CoBjBd;;AAGD;EAEE,epBVc;EoBWd,0BpBWa;EoBVb,sBpBUa;CoBTd;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBRS;CoBUZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBkCa;EoBhCf,sBpBgCe;CmByBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,gDpBiBW;CoBfd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBSa;EoBRb,sBpBQa;CoBPd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDpBVS;CoBYZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBMc;EoBJhB,sBpBIgB;CmBqDf;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,kDpBXY;CoBaf;;AAGD;EAEE,epBVc;EoBWd,0BpBnBc;EoBoBd,sBpBpBc;CoBqBf;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDpBtCU;CoBwCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBac;EoBXhB,sBpBWgB;CmB8Cf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,+CpBJY;CoBMf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBZc;EoBad,sBpBbc;CoBcf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,+CpB/BU;CoBiCb;;ADiBH;ECZA,epBrBe;EoBsBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBxBe;CmBmCd;;ACTD;EACE,YpBpDW;EoBqDX,0BpB5Ba;EoB6Bb,sBpB7Ba;CoB8Bd;;AAED;EAEE,gDpBlCa;CoBmCd;;AAED;EAEE,epBvCa;EoBwCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB/Ca;EoBgDb,sBpBhDa;CoB0Dd;;AARC;;EAKI,gDpBvDS;CoByDZ;;ADxBH;ECZA,epBxCgB;EoByChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpB3CgB;CmBsDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB/Cc;EoBgDd,sBpBhDc;CoBiDf;;AAED;EAEE,kDpBrDc;CoBsDf;;AAED;EAEE,epB1Dc;EoB2Dd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBlEc;EoBmEd,sBpBnEc;CoB6Ef;;AARC;;EAKI,kDpB1EU;CoB4Eb;;ADxBH;ECZA,epBde;EoBef,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBjBe;CmB4Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBrBa;EoBsBb,sBpBtBa;CoBuBd;;AAED;EAEE,gDpB3Ba;CoB4Bd;;AAED;EAEE,epBhCa;EoBiCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBxCa;EoByCb,sBpBzCa;CoBmDd;;AARC;;EAKI,gDpBhDS;CoBkDZ;;ADxBH;ECZA,epBZe;EoBaf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBfe;CmB0Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBnBa;EoBoBb,sBpBpBa;CoBqBd;;AAED;EAEE,iDpBzBa;CoB0Bd;;AAED;EAEE,epB9Ba;EoB+Bb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBtCa;EoBuCb,sBpBvCa;CoBiDd;;AARC;;EAKI,iDpB9CS;CoBgDZ;;ADxBH;ECZA,epBfe;EoBgBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBlBe;CmB6Bd;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBtBa;EoBuBb,sBpBvBa;CoBwBd;;AAED;EAEE,gDpB5Ba;CoB6Bd;;AAED;EAEE,epBjCa;EoBkCb,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBzCa;EoB0Cb,sBpB1Ca;CoBoDd;;AARC;;EAKI,gDpBjDS;CoBmDZ;;ADxBH;ECZA,epBjBe;EoBkBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBpBe;CmB+Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBxBa;EoByBb,sBpBzBa;CoB0Bd;;AAED;EAEE,gDpB9Ba;CoB+Bd;;AAED;EAEE,epBnCa;EoBoCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB3Ca;EoB4Cb,sBpB5Ca;CoBsDd;;AARC;;EAKI,gDpBnDS;CoBqDZ;;ADxBH;ECZA,epB7CgB;EoB8ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBhDgB;CmB2Df;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBpDc;EoBqDd,sBpBrDc;CoBsDf;;AAED;EAEE,kDpB1Dc;CoB2Df;;AAED;EAEE,epB/Dc;EoBgEd,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBvEc;EoBwEd,sBpBxEc;CoBkFf;;AARC;;EAKI,kDpB/EU;CoBiFb;;ADxBH;ECZA,epBtCgB;EoBuChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBzCgB;CmBoDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB7Cc;EoB8Cd,sBpB9Cc;CoB+Cf;;AAED;EAEE,+CpBnDc;CoBoDf;;AAED;EAEE,epBxDc;EoByDd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoB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wBhCqmBwC;EgCpmBxC,kBhCoM+B;EgCnM/B,kBhCwmBsC;EgCvmBtC,ehCwBe;EgCvBf,uBhCFa;EgCGb,0BhCAgB;CgCmBjB;;AA3BD;EAWI,ehCsIgD;EgCrIhD,sBAAqB;EACrB,0BhCNc;EgCOd,sBhCNc;CgCOf;;AAfH;EAkBI,WAAU;EACV,WAAU;EACV,iDhCUa;CgCTd;;AArBH;EAyBI,gBAAe;CAChB;;AAGH;EAGM,eAAc;E1BPhB,gCNkLgC;EMjLhC,mCNiLgC;CgCzK/B;;AALL;E1BlBI,iCNgMgC;EM/LhC,oCN+LgC;CgCpK/B;;AAVL;EAcI,WAAU;EACV,YhCvCW;EgCwCX,0BhCfa;EgCgBb,sBhChBa;CgCiBd;;AAlBH;EAqBI,ehCvCc;EgCwCd,qBAAoB;EAEpB,aAAY;EACZ,uBhCjDW;EgCkDX,sBhC/Cc;CgCgDf;;AC3DD;EACE,wBjC8mBsC;EiC7mBtC,mBjCqOkD;EiCpOlD,iBjCqM6B;CiCpM9B;;AAIG;E3BoBF,+BNmL+B;EMlL/B,kCNkL+B;CiCrM5B;;AAGD;E3BCF,gCNiM+B;EMhM/B,mCNgM+B;CiChM5B;;AAfL;EACE,wBjC4mBqC;EiC3mBrC,oBjCsOkD;EiCrOlD,iBjCsM6B;CiCrM9B;;AAIG;E3BoBF,+BNoL+B;EMnL/B,kCNmL+B;CiCtM5B;;AAGD;E3BCF,gCNkM+B;EMjM/B,mCNiM+B;CiCjM5B;;ACbP;EACE,sBAAqB;EACrB,sBlC6sBsC;EkC5sBtC,elCysBqC;EkCxsBrC,iBlCsO+B;EkCrO/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBN6MgC;CkC7LnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBlCsrBsC;EkCrrBtC,oBlCqrBsC;EMntBpC,qBNstBqC;CkCtrBxC;;AAOC;EC1CA,YnCUa;EmCTb,0BnCkCe;CkCSd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCegB;CkC4Bf;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCyCe;CkCEd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnC2Ce;CkCAd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,enCmBgB;EmClBhB,0BnCwCe;CkCGd;;AjC3BD;EkCZI,enCcY;EmCbZ,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCsCe;CkCKd;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,enCmBgB;EmClBhB,0BnCUgB;CkCiCf;;AjC3BD;EkCZI,enCcY;EmCbZ,sBAAqB;EACrB,0BAAkC;ClCarC;;AiCsBD;EC1CA,YnCUa;EmCTb,0BnCiBgB;CkC0Bf;;AjC3BD;EkCZI,YnCKS;EmCJT,sBAAqB;EACrB,0BAAkC;ClCarC;;AmCrBH;EACE,mBAAoD;EACpD,oBpCyoBsC;EoCxoBtC,0BpCUgB;EMTd,sBN8M+B;CoCzMlC;;A1BmDG;E0B5DJ;IAOI,mBpCooBoC;GoCloBvC;CrC+yIA;;AqC7yID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBrC2vByC;EqC1vBzC,oBrC2vBsC;EqC1vBtC,8BAA6C;E/BJ3C,uBN6MgC;CqCvMnC;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,iBrC2N+B;CqC1NhC;;AAOD;EACE,oBAAwD;CAUzD;;AAXD;EAKI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,yBrC6tBuC;EqC5tBvC,eAAc;CACf;;AASD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;C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yCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCDD;EyCTM,e5B2E0D;E4B1E1D,0BAAyC;CzCW9C;;AyClBD;EAWM,YAAW;EACX,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;ACjBP;EACE,aAAY;EACZ,kB3Cq2BuD;E2Cp2BvD,iB3C4O+B;E2C3O/B,eAAc;EACd,Y3CgBa;E2Cfb,0B3CKa;E2CJb,YAAW;CAYZ;;A1CDC;E0CRE,Y3CWW;E2CVX,sBAAqB;EACrB,aAAY;C1CSb;;A0CrBH;EAiBI,gBAAe;CAChB;;AASH;EACE,WAAU;EACV,8BAA6B;EAC7B,UAAS;EACT,yBAAwB;CACzB;;ACzBD;EACE,iBAAgB;CACjB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c5CmiBsC;E4CliBtC,cAAa;EACb,iBAAgB;EAGhB,WAAU;CASX;;AAJC;EACE,mBA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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::before {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::before {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-control::before {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $white !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: \"/\" !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $yiq-text-dark;\n } @else {\n @return $yiq-text-light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, #000, #fff);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus();\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:not([size]):not([multiple]) {\n height: $input-height;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n font-size: inherit; // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: $input-padding-y;\n padding-bottom: $input-padding-y;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n padding: $input-padding-y-sm $input-padding-x-sm;\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n &:not([size]):not([multiple]) {\n height: $input-height-sm;\n }\n}\n\n.form-control-lg {\n padding: $input-padding-y-lg $input-padding-x-lg;\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n &:not([size]):not([multiple]) {\n height: $input-height-lg;\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba($color, .8);\n border-radius: .2rem;\n }\n\n .form-control,\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n background-color: lighten($color, 25%);\n }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-label {\n border-color: $color;\n\n &::before { border-color: inherit; }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .custom-file-label {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-weight: $btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n // Share hover and focus styles\n @include hover-focus {\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .btn elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n background-image: none;\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n background-color: transparent;\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n border-color: transparent;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n border-color: transparent;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n background-color: transparent;\n background-image: none;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @if $enable-rounded {\n border-radius: $border-radius;\n } @else {\n border-radius: 0;\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n opacity: 0;\n @include transition($transition-fade);\n\n &.show {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n &.show {\n display: block;\n }\n}\n\ntr {\n &.collapse.show {\n display: table-row;\n }\n}\n\ntbody {\n &.collapse.show {\n display: table-row-group;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle {\n // Generate the caret automatically\n @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n color: $body-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n @include hover-focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n font-size: $font-size-sm;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @if $direction == down {\n @include caret-down;\n } @else if $direction == up {\n @include caret-up;\n } @else if $direction == right {\n @include caret-right;\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @include caret-left;\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n height: 0;\n margin: ($spacer / 2) 0;\n overflow: hidden;\n border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 0 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n\n // Prevent double borders when buttons are next to each other\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -$btn-border-width;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n > .btn:first-child {\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after {\n margin-left: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n .btn,\n .btn-group {\n width: 100%;\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -$btn-border-width;\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n // Add width 1% and flex-basis auto to ensure that button will not wrap out\n // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n width: 1%;\n margin-bottom: 0;\n\n // Bring the \"active\" form control to the top of surrounding elements\n &:focus {\n z-index: 3;\n }\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::before { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label,\n &:not(:first-child) .custom-file-label::before { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n font-size: $font-size-base; // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n @extend .form-control-lg;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n @extend .form-control-sm;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: (1rem * $line-height-base);\n padding-left: $custom-control-gutter;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n\n &:active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of psuedo-elements.\n\n.custom-control-label {\n margin-bottom: 0;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: $custom-control-indicator-bg;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $custom-control-indicator-bg-size;\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-checked;\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-indeterminate;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-radio-indicator-icon-checked;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// http://primercss.io.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n background-size: $custom-select-bg-size;\n border: $custom-select-border-width solid $custom-select-border-color;\n @if $enable-rounded {\n border-radius: $custom-select-border-radius;\n } @else {\n border-radius: 0;\n }\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n box-shadow: $custom-select-focus-box-shadow;\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n opacity: 0;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-sm;\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-lg;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-control {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n\n &::before {\n border-color: $custom-file-focus-border-color;\n }\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(#{$custom-file-height} - #{$custom-file-border-width} * 2);\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properities so that content nested within behave properly.\n > .container,\n > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n font-size: $navbar-brand-font-size;\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n font-size: $navbar-toggler-font-size;\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .navbar-toggler elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n > .container,\n > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n > .container,\n > .container-fluid {\n flex-wrap: nowrap;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n\n .dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-light-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-dark-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-x;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -($card-spacer-y / 2);\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -($card-spacer-x / 2);\n margin-bottom: -$card-spacer-y;\n margin-left: -($card-spacer-x / 2);\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -($card-spacer-x / 2);\n margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:first-child {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-right-radius: 0;\n }\n }\n\n &:last-child {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-left-radius: 0;\n }\n }\n\n &:only-child {\n @include border-radius($card-border-radius);\n\n .card-img-top,\n .card-header {\n @include border-top-radius($card-border-radius);\n }\n .card-img-bottom,\n .card-footer {\n @include border-bottom-radius($card-border-radius);\n }\n }\n\n &:not(:first-child):not(:last-child):not(:only-child) {\n @include border-radius(0);\n\n .card-img-top,\n .card-img-bottom,\n .card-header,\n .card-footer {\n @include border-radius(0);\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n padding-left: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: \"#{$breadcrumb-divider}\";\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 2;\n outline: 0;\n box-shadow: $pagination-focus-box-shadow;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .page-link elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 1;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n font-size: $badge-font-size;\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n &[href] {\n @include hover-focus {\n color: color-yiq($bg);\n text-decoration: none;\n background-color: darken($bg, 10%);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: ($close-font-size + $alert-padding-x * 2);\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","@keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n font-size: $progress-font-size;\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus {\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -$list-group-border-width;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n\n @include hover-focus {\n z-index: 1; // Place hover/active items above their siblings for proper border styling\n text-decoration: none;\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n }\n\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: #fff;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n font-size: $close-font-size;\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n @include hover-focus {\n color: $close-color;\n text-decoration: none;\n opacity: .75;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .close elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n\n .modal-open & {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: translate(0, -25%);\n }\n .modal.show & {\n transform: translate(0, 0);\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (#{$modal-dialog-margin} * 2));\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($border-radius-lg);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($border-radius-lg);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when should there be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n // Easily place margin between footer elements\n > :not(:first-child) { margin-left: .25rem; }\n > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - (#{$modal-dialog-margin-y-sm-up} * 2));\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $tooltip-font-size;\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $popover-font-size;\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $border-radius-lg;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n .arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n bottom: 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n bottom: $popover-border-width;\n border-top-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n .arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n left: 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n left: $popover-border-width;\n border-right-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n .arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n }\n\n .arrow::before {\n top: 0;\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n top: $popover-border-width;\n border-bottom-color: $popover-arrow-color;\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: ($popover-arrow-width / -2);\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n .arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n }\n\n .arrow::before {\n right: 0;\n border-left-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n right: $popover-border-width;\n border-left-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n font-size: $font-size-base;\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n @include border-top-radius($offset-border-width);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n @include transition($carousel-transition);\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n// CSS3 transforms when supported by the browser\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n // We can't have a transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Hover/focus state\n @include hover-focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n position: relative;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n background-color: rgba($carousel-indicator-active-bg, .5);\n\n // Use pseudo classes to increase the hit area by 10px on top and bottom.\n &::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n &::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n }\n\n .active {\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: ((100% - $carousel-caption-width) / 2);\n bottom: 20px;\n left: ((100% - $carousel-caption-width) / 2);\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n border-radius: $border-radius !important;\n}\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n.embed-responsive-21by9 {\n &::before {\n padding-top: percentage(9 / 21);\n }\n}\n\n.embed-responsive-16by9 {\n &::before {\n padding-top: percentage(9 / 16);\n }\n}\n\n.embed-responsive-4by3 {\n &::before {\n padding-top: percentage(3 / 4);\n }\n}\n\n.embed-responsive-1by1 {\n &::before {\n padding-top: percentage(1 / 1);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { @include float-left; }\n .float#{$infix}-right { @include float-right; }\n .float#{$infix}-none { @include float-none; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n float: left !important;\n}\n@mixin float-right {\n float: right !important;\n}\n@mixin float-none {\n float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: #fff !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-muted { color: $text-muted !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n color: darken($color, 10%) !important;\n }\n }\n}\n","// CSS image replacement\n@mixin text-hide() {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n @include invisible(visible);\n}\n\n.invisible {\n @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// http://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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C;ECzDA,YrBKa;EmBLX,0BnB8Ba;EqB5Bf,sBrB4Be;CoB6Bd;;AlBrDD;EmBAE,YrBDW;EmBLX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBaW;CqBXd;;AAGD;EAEE,YrBnBW;EqBoBX,0BrBKa;EqBJb,sBrBIa;CqBHd;;AAED;;EAGE,YrB3BW;EqB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBdS;CqBgBZ;;ADWH;ECzDA,YrBKa;EmBLX,0BnBWc;EqBThB,sBrBSgB;CoBgDf;;AlBrDD;EmBAE,YrBDW;EmBLX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,kDrBNY;CqBQf;;AAGD;EAEE,YrBnBW;EqBoBX,0BrBdc;EqBed,sBrBfc;CqBgBf;;AAED;;EAGE,YrB3BW;EqB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDrBjCU;CqBmCb;;ADWH;ECzDA,YrBKa;EmBLX,0BnBqCa;EqBnCf,sBrBmCe;CoBsBd;;AlBrDD;EmBAE,YrBDW;EmBLX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBoBW;CqBlBd;;AAGD;EAEE,YrBnBW;EqBoBX,0BrBYa;EqBXb,sBrBWa;CqBVd;;AAED;;EAGE,YrB3BW;EqB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBPS;CqBSZ;;ADWH;ECzDA,YrBKa;EmBLX,0BnBuCa;EqBrCf,sBrBqCe;CoBoBd;;AlBrDD;EmBAE,YrBDW;EmBLX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,iDrBsBW;CqBpBd;;AAGD;EAEE,YrBnBW;EqBoBX,0BrBca;EqBbb,sBrBaa;CqBZd;;AAED;;EAGE,YrB3BW;EqB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,iDrBLS;CqBOZ;;ADWH;ECzDA,erBcgB;EmBdd,0BnBoCa;EqBlCf,sBrBkCe;CoBuBd;;AlBrDD;EmBAE,erBQc;EmBdd,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBmBW;CqBjBd;;AAGD;EAEE,erBVc;EqBWd,0BrBWa;EqBVb,sBrBUa;CqBTd;;AAED;;EAGE,erBlBc;EqBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBRS;CqBUZ;;ADWH;ECzDA,YrBKa;EmBLX,0BnBkCa;EqBhCf,sBrBgCe;CoByBd;;AlBrDD;EmBAE,YrBDW;EmBLX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBiBW;CqBfd;;AAGD;EAEE,YrBnBW;EqBoBX,0BrBSa;EqBRb,sBrBQa;CqBPd;;AAED;;EAGE,YrB3BW;EqB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBVS;CqBYZ;;ADWH;ECzDA,erBcgB;EmBdd,0BnBMc;EqBJhB,sBrBIgB;CoBqDf;;AlBrDD;EmBAE,erBQc;EmBdd,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,kDrBXY;CqBaf;;AAGD;EAEE,erBVc;EqBWd,0BrBnBc;EqBoBd,sBrBpBc;CqBqBf;;AAED;;EAGE,erBlBc;EqBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDrBtCU;CqBwCb;;ADWH;ECzDA,YrBKa;EmBLX,0BnBac;EqBXhB,sBrBWgB;CoB8Cf;;AlBrDD;EmBAE,YrBDW;EmBLX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,+CrBJY;CqBMf;;AAGD;EAEE,YrBnBW;EqBoBX,0BrBZc;EqBad,sBrBbc;CqBcf;;AAED;;EAGE,YrB3BW;EqB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,+CrB/BU;CqBiCb;;ADiBH;ECZA,erBrBe;EqBsBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBxBe;CoBmCd;;ACTD;EACE,YrBpDW;EqBqDX,0BrB5Ba;EqB6Bb,sBrB7Ba;CqB8Bd;;AAED;EAEE,gDrBlCa;CqBmCd;;AAED;EAEE,erBvCa;EqBwCb,8BAA6B;CAC9B;;AAED;;EAGE,YrBvEW;EqBwEX,0BrB/Ca;EqBgDb,sBrBhDa;CqB0Dd;;AARC;;EAKI,gDrBvDS;CqByDZ;;ADxBH;ECZA,erBxCgB;EqByChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrB3CgB;CoBsDf;;ACTD;EACE,YrBpDW;EqBqDX,0BrB/Cc;EqBgDd,sBrBhDc;CqBiDf;;AAED;EAEE,kDrBrDc;CqBsDf;;AAED;EAEE,erB1Dc;EqB2Dd,8BAA6B;CAC9B;;AAED;;EAGE,YrBvEW;EqBwEX,0BrBlEc;EqBmEd,sBrBnEc;CqB6Ef;;AARC;;EAKI,kDrB1EU;CqB4Eb;;ADxBH;ECZA,erBde;EqBef,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBjBe;CoB4Bd;;ACTD;EACE,YrBpDW;EqBqDX,0BrBrBa;EqBsBb,sBrBtBa;CqBuBd;;AAED;EAEE,gDrB3Ba;CqB4Bd;;AAED;EAEE,erBhCa;EqBiCb,8BAA6B;CAC9B;;AAED;;EAGE,YrBvEW;EqBwEX,0BrBxCa;EqByCb,sBrBzCa;CqBmDd;;AARC;;EAKI,gDrBhDS;CqBkDZ;;ADxBH;ECZA,erBZe;EqBaf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBfe;CoB0Bd;;ACTD;EACE,YrBpDW;EqBqDX,0BrBnBa;EqBoBb,sBrBpBa;CqBqBd;;AAED;EAEE,iDrBzBa;CqB0Bd;;AAED;EAEE,erB9Ba;EqB+Bb,8BAA6B;CAC9B;;AAED;;EAGE,YrBvEW;EqBwEX,0BrBtCa;EqBuCb,sBrBvCa;CqBiDd;;AARC;;EAKI,iDrB9CS;CqBgDZ;;ADxBH;ECZA,erBfe;EqBgBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBlBe;CoB6Bd;;ACTD;EACE,erB3Cc;EqB4Cd,0BrBtBa;EqBuBb,sBrBvBa;CqBwBd;;AAED;EAEE,gDrB5Ba;CqB6Bd;;AAED;EAEE,erBjCa;EqBkCb,8BAA6B;CAC9B;;AAED;;EAGE,erB9Dc;EqB+Dd,0BrBzCa;EqB0Cb,sBrB1Ca;CqBoDd;;AARC;;EAKI,gDrBjDS;CqBmDZ;;ADxBH;ECZA,erBjBe;EqBkBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBpBe;CoB+Bd;;ACTD;EACE,YrBpDW;EqBqDX,0BrBxBa;EqByBb,sBrBzBa;CqB0Bd;;AAED;EAEE,gDrB9Ba;CqB+Bd;;AAED;EAEE,erBnCa;EqBoCb,8BAA6B;CAC9B;;AAED;;EAGE,YrBvEW;EqBwEX,0BrB3Ca;EqB4Cb,sBrB5Ca;CqBsDd;;AARC;;EAKI,gDrBnDS;CqBqDZ;;ADxBH;ECZA,erB7CgB;EqB8ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBhDgB;CoB2Df;;ACTD;EACE,erB3Cc;EqB4Cd,0BrBpDc;EqBqDd,sBrBrDc;CqBsDf;;AAED;EAEE,kDrB1Dc;CqB2Df;;AAED;EAEE,erB/Dc;EqBgEd,8BAA6B;CAC9B;;AAED;;EAGE,erB9Dc;EqB+Dd,0BrBvEc;EqBwEd,sBrBxEc;CqBkFf;;AARC;;EAKI,kDrB/EU;CqBiFb;;ADxBH;ECZA,erBtCgB;EqBuChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBzCgB;CoBoDf;;ACTD;EACE,YrBpDW;EqBqDX,0BrB7Cc;EqB8Cd,sBrB9Cc;CqB+Cf;;AAED;EAEE,+CrBnDc;CqBoDf;;AAED;EAEE,erBxDc;EqByDd,8BAA6B;CAC9B;;AAED;;EAGE,YrBvEW;EqBwEX,0BrBhEc;EqBiEd,sBrBjEc;CqB2Ef;;AARC;;EAKI,+CrBxEU;CqB0Eb;;ADbL;EACE,iBpBkK+B;EoBjK/B,epB9Ce;EoB+Cf,8BAA6B;CAuB9B;;AlB9FC;EkB0EE,epBkEgD;EoBjEhD,2BpBkEiC;EoBjEjC,8BAA6B;EAC7B,0BAAyB;ClB7EL;;AkBoExB;EAcI,2BpB2DiC;EoB1DjC,0BAAyB;EACzB,iBAAgB;CACjB;;AAjBH;EAqBI,epBpFc;EoBqFd,qBAAoB;CACrB;;AAUH;ECdE,qBrBsPgC;EqBrPhC,mBrB2IoD;EqB1IpD,iBrBuG+B;EqBpG7B,sBrB2G+B;CoBhGlC;;AAED;EClBE,wBrBkPiC;EqBjPjC,oBrB4IoD;EqB3IpD,iBrBwG+B;EqBrG7B,sBrB4G+B;CoB7FlC;;AAOD;EACE,eAAc;EACd,YAAW;CAMZ;;AARD;EAMI,mBpBsP+B;CoBrPhC;;AAIH;;;EAII,YAAW;CACZ;;AE5IH;ELGM,iCjB2N2C;CsBxNhD;;ALCC;EKPF;ILQI,i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B2C7B,e5BhRc;E4BiRd,kBAAiB;ET7RjB,0BnBOc;E4BwRd,+B5BtRc;EOXd,mCqBkSgF;CACjF;;AASH;EACE,YAAW;EACX,gBAAe;EACf,8BAA6B;EAC7B,yBAAgB;EAAhB,sBAAgB;EAAhB,iBAAgB;CA+GjB;;AAnHD;EAOI,cAAa;CACd;;AARH;EAWI,UAAS;CACV;;AAZH;EAeI,Y5BuMsC;E4BtMtC,a5BsMsC;E4BrMtC,qBAA6C;ET3T7C,0BnB8Ba;E4B+Rb,U5BsMmC;EOrgBnC,oBPsgBsC;E4BpMtC,yBAAgB;EAAhB,iBAAgB;CAUjB;;AAhCH;EAyBM,cAAa;EACb,iE5BtSW;C4BuSZ;;AA3BL;ET1SI,0BnBugBoE;C4B9LnE;;AA/BL;EAmCI,Y5B4KoC;E4B3KpC,e5B4KqC;E4B3KrC,mBAAkB;EAClB,gB5B2KuC;E4B1KvC,0B5BzUc;E4B0Ud,0BAAyB;ErBpVzB,oBP+foC;C4BxKrC;;AA3CH;EA8CI,Y5BwKsC;E4BvKtC,a5BuKsC;EmBhgBtC,0BnB8Ba;E4B6Tb,U5BwKmC;EOrgBnC,oBPsgBsC;E4BtKtC,sBAAgB;EAAhB,iBAAgB;CAUjB;;AA9DH;EAuDM,cAAa;EACb,iE5BpUW;C4BqUZ;;AAzDL;ET1SI,0BnBugBoE;C4BhKnE;;AA7DL;EAiEI,Y5B8IoC;E4B7IpC,e5B8IqC;E4B7IrC,mBAAkB;EAClB,gB5B6IuC;E4B5IvC,0B5BvWc;E4BwWd,0BAAyB;ErBlXzB,oBP+foC;C4B1IrC;;AAzEH;EA4EI,Y5B0IsC;E4BzItC,a5ByIsC;EmBhgBtC,0BnB8Ba;E4B2Vb,U5B0ImC;EOrgBnC,oBPsgBsC;E4BxItC,iBAAgB;CAUjB;;AA5FH;EAqFM,cAAa;EACb,iE5BlWW;C4BmWZ;;AAvFL;ET1SI,0BnBugBoE;C4BlInE;;AA3FL;EA+FI,Y5BgHoC;E4B/GpC,e5BgHqC;E4B/GrC,mBAAkB;EAClB,gB5B+GuC;E4B9GvC,8BAA6B;EAC7B,0BAAyB;EACzB,qBAA+C;CAEhD;;AAvGH;EA0GI,0B5B5Yc;EOVd,oBP+foC;C4BvGrC;;AA5GH;EA+GI,mBAAkB;EAClB,0B5BlZc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iCPiMgC;EOhMhC,oCPgMgC;CiCpK/B;;AAVL;EAcI,WAAU;EACV,YjCxCW;EiCyCX,0BjChBa;EiCiBb,sBjCjBa;CiCkBd;;AAlBH;EAqBI,ejCxCc;EiCyCd,qBAAoB;EAEpB,aAAY;EACZ,uBjClDW;EiCmDX,sBjChDc;CiCiDf;;AC5DD;EACE,wBlC4oBsC;EkC3oBtC,mBlC0OkD;EkCzOlD,iBlCsM6B;CkCrM9B;;AAIG;E3BoBF,+BPoL+B;EOnL/B,kCPmL+B;CkCtM5B;;AAGD;E3BCF,gCPkM+B;EOjM/B,mCPiM+B;CkCjM5B;;AAfL;EACE,wBlC0oBqC;EkCzoBrC,oBlC2OkD;EkC1OlD,iBlCuM6B;CkCtM9B;;AAIG;E3BoBF,+BPqL+B;EOpL/B,kCPoL+B;CkCvM5B;;AAGD;E3BCF,gCPmM+B;EOlM/B,mCPkM+B;CkClM5B;;ACbP;EACE,sBAAqB;EACrB,sBnC4uBsC;EmC3uBtC,enCwuBqC;EmCvuBrC,iBnC2O+B;EmC1O/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBP8MgC;CmC9LnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBnCqtBsC;EmCptBtC,oBnCotBsC;EOlvBpC,qBPqvBqC;CmCrtBxC;;AAOC;EC1CA,YpCUa;EoCTb,0BpCkCe;CmCSd;;AjC7BD;EkCVI,YpCKS;EoCJT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCUa;EoCTb,0BpCegB;CmC4Bf;;AjC7BD;EkCVI,YpCKS;EoCJT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCUa;EoCTb,0BpCyCe;CmCEd;;AjC7BD;EkCVI,YpCKS;EoCJT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCUa;EoCTb,0BpC2Ce;CmCAd;;AjC7BD;EkCVI,YpCKS;EoCJT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,epCmBgB;EoClBhB,0BpCwCe;CmCGd;;AjC7BD;EkCVI,epCcY;EoCbZ,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCUa;EoCTb,0BpCsCe;CmCKd;;AjC7BD;EkCVI,YpCKS;EoCJT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,epCmBgB;EoClBhB,0BpCUgB;CmCiCf;;AjC7BD;EkCVI,epCcY;EoCbZ,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCUa;EoCTb,0BpCiBgB;CmC0Bf;;AjC7BD;EkCVI,YpCKS;EoCJT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AmCnBH;EACE,mBAAoD;EACpD,oBrCwqBsC;EqCvqBtC,0BrCUgB;EOTd,sBP+M+B;CqC1MlC;;A1BmDG;E0B5DJ;IAOI,mBrCmqBoC;GqCjqBvC;CpCo8IA;;AoCl8ID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBtC2xByC;EsC1xBzC,oBtC2xBsC;EsC1xBtC,8BAA6C;E/BJ3C,uBP8MgC;CsCxMnC;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,iBtCgO+B;CsC/NhC;;AAOD;EACE,oBAAwD;CAUzD;;AAXD;EAKI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,yBtC6vBuC;EsC5vBvC,eAAc;CACf;;AASD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,exBmFgE;EI9E9D,0BJ8E8D;EwBjFhE,sBxBiFgE;CuBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ACXH;EACE;IAAO,4BAAuC;GvCmmJ7C;EuClmJD;IAAK,yBAAwB;GvCqmJ5B;CACF;;AuCxmJD;EACE;IAAO,4BAAuC;GvCmmJ7C;EuClmJD;IAAK,yBAAwB;GvCqmJ5B;CACF;;AuCnmJD;EACE,qBAAa;EAAb,cAAa;EACb,axCuyBsC;EwCtyBtC,iBAAgB;EAChB,mBxCsyByD;EwCryBzD,0BxCGgB;EOTd,uBP8MgC;CwCrMnC;;AAED;EACE,qBAAa;EAAb,cAAa;EACb,2BAAsB;EAAtB,uBAAsB;EACtB,sBAAuB;EAAvB,wBAAuB;EACvB,YxCRa;EwCSb,mBAAkB;EAClB,oBAAmB;EACnB,0BxCce;EiB/BX,4BjBizB4C;CwC9xBjD;;AvBfC;EuBMF;IvBLI,iBAAgB;GuBcnB;CvC0mJA;;AuCxmJD;ErBiBE,sMAA6I;EqBf7I,2BxCkxBsC;CwCjxBvC;;AAED;EACE,2DxCqxBoD;EwCrxBpD,mDxCqxBoD;CwCpxBrD;;ACjCD;EACE,qBAAa;EAAb,cAAa;EACb,sBAAuB;EAAvB,wBAAuB;CACxB;;AAED;EACE,YAAO;EAAP,QAAO;CACR;;ACHD;EACE,qBAAa;EAAb,cAAa;EACb,2BAAsB;EAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,e1CHgB;E0CIhB,oBAAmB;CAapB;;AxCnBC;EwCUE,e1CRc;E0CSd,sBAAqB;EACrB,0B1ChBc;CEOf;;AwCAH;EAaI,e1CZc;E0Cad,0B1CpBc;C0CqBf;;AAQH;EACE,mBAAkB;EAClB,eAAc;EACd,yB1CmxByC;E0CjxBzC,oB1CgK+B;E0C/J/B,uB1CrCa;E0CsCb,uC1C5Ba;C0CyDd;;AApCD;EnChCI,gCPwMgC;EOvMhC,iCPuMgC;C0C7JjC;;AAXH;EAcI,iBAAgB;EnChChB,oCP0LgC;EOzLhC,mCPyLgC;C0CxJjC;;AxC1CD;EwC6CE,WAAU;EACV,sBAAqB;CxC3CtB;;AwCuBH;EAyBI,e1ClDc;E0CmDd,uB1CzDW;C0C0DZ;;AA3BH;EA+BI,WAAU;EACV,Y1C/DW;E0CgEX,0B1CvCa;E0CwCb,sB1CxCa;C0CyCd;;AASH;EAEI,gBAAe;EACf,eAAc;EnCrFd,iBmCsFwB;CACzB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;ACnGH;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CHO;E2CIP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CHO;E2CIP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CHO;E2CIP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CHO;E2CIP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CHO;E2CIP,0B5BqE0D;E4BpE1D,sB5Bo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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n// stylelint-disable\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n), $colors);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n), $theme-colors);\n// stylelint-enable\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// stylelint-disable\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n), $spacers);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n), $sizes);\n// stylelint-enable\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitons (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","/*!\n * Bootstrap v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::after {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-label::after {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n padding-left: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n appearance: none;\n}\n\n.custom-range::-webkit-slider-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n appearance: none;\n}\n\n.custom-range::-moz-range-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n appearance: none;\n}\n\n.custom-range::-ms-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n opacity: 0;\n}\n\n.carousel-fade .carousel-item-next,\n.carousel-fade .carousel-item-prev,\n.carousel-fade .carousel-item.active,\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-prev {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-fade .carousel-item-next,\n .carousel-fade .carousel-item-prev,\n .carousel-fade .carousel-item.active,\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-prev {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evalutating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $yiq-text-dark;\n } @else {\n @return $yiq-text-light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus();\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:not([size]):not([multiple]) {\n height: $input-height;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n font-size: inherit; // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: $input-padding-y;\n padding-bottom: $input-padding-y;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n padding: $input-padding-y-sm $input-padding-x-sm;\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n &:not([size]):not([multiple]) {\n height: $input-height-sm;\n }\n}\n\n.form-control-lg {\n padding: $input-padding-y-lg $input-padding-x-lg;\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n &:not([size]):not([multiple]) {\n height: $input-height-lg;\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n transition: none;\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: $white;\n background-color: rgba($color, .8);\n border-radius: .2rem;\n }\n\n .form-control,\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n background-color: lighten($color, 25%);\n }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-label {\n border-color: $color;\n\n &::before { border-color: inherit; }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .custom-file-label {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-weight: $btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n // Share hover and focus styles\n @include hover-focus {\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .btn elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n background-image: none;\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n background-color: transparent;\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n border-color: transparent;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n border-color: transparent;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n background-color: transparent;\n background-image: none;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @if $enable-rounded {\n border-radius: $border-radius;\n } @else {\n border-radius: 0;\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n // Generate the caret automatically\n @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n color: $body-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n// stylelint-enable no-duplicate-selectors\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n @include hover-focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n font-size: $font-size-sm;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @if $direction == down {\n @include caret-down;\n } @else if $direction == up {\n @include caret-up;\n } @else if $direction == right {\n @include caret-right;\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @include caret-left;\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 0 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n\n // Prevent double borders when buttons are next to each other\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -$btn-border-width;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n > .btn:first-child {\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n .btn,\n .btn-group {\n width: 100%;\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -$btn-border-width;\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n // Add width 1% and flex-basis auto to ensure that button will not wrap out\n // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n width: 1%;\n margin-bottom: 0;\n\n // Bring the \"active\" form control to the top of surrounding elements\n &:focus {\n z-index: 3;\n }\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label,\n &:not(:first-child) .custom-file-label::after { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n font-size: $font-size-base; // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n @extend .form-control-lg;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n @extend .form-control-sm;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: (1rem * $line-height-base);\n padding-left: $custom-control-gutter;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n\n &:active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of psuedo-elements.\n\n.custom-control-label {\n margin-bottom: 0;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: $custom-control-indicator-bg;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $custom-control-indicator-bg-size;\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-checked;\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-indeterminate;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-radio-indicator-icon-checked;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n background-size: $custom-select-bg-size;\n border: $custom-select-border-width solid $custom-select-border-color;\n @if $enable-rounded {\n border-radius: $custom-select-border-radius;\n } @else {\n border-radius: 0;\n }\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n box-shadow: $custom-select-focus-box-shadow;\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n opacity: 0;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-sm;\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-lg;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n\n &::after {\n border-color: $custom-file-focus-border-color;\n }\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(#{$custom-file-height} - #{$custom-file-border-width} * 2);\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for psuedo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n padding-left: 0; // Firefox specific\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: -($custom-range-thumb-width * .25); // Webkit specific?\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n appearance: none;\n\n &:focus {\n outline: none;\n box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility\n }\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n appearance: none;\n\n &:focus {\n outline: none;\n box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility\n }\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n appearance: none;\n\n &:focus {\n outline: none;\n box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility\n }\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: ($custom-range-thumb-height * .5);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properities so that content nested within behave properly.\n > .container,\n > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n font-size: $navbar-brand-font-size;\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n font-size: $navbar-toggler-font-size;\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .navbar-toggler elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n > .container,\n > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n > .container,\n > .container-fluid {\n flex-wrap: nowrap;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-light-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-dark-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-x;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -($card-spacer-y / 2);\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -($card-spacer-x / 2);\n margin-bottom: -$card-spacer-y;\n margin-left: -($card-spacer-x / 2);\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -($card-spacer-x / 2);\n margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:first-child {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-right-radius: 0;\n }\n }\n\n &:last-child {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-left-radius: 0;\n }\n }\n\n &:only-child {\n @include border-radius($card-border-radius);\n\n .card-img-top,\n .card-header {\n @include border-top-radius($card-border-radius);\n }\n .card-img-bottom,\n .card-footer {\n @include border-bottom-radius($card-border-radius);\n }\n }\n\n &:not(:first-child):not(:last-child):not(:only-child) {\n @include border-radius(0);\n\n .card-img-top,\n .card-img-bottom,\n .card-header,\n .card-footer {\n @include border-radius(0);\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n }\n\n .card:not(:first-of-type) {\n .card-header:first-child {\n border-radius: 0;\n }\n }\n\n .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: $breadcrumb-divider;\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 2;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .page-link elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 1;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n font-size: $badge-font-size;\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n &[href] {\n @include hover-focus {\n color: color-yiq($bg);\n text-decoration: none;\n background-color: darken($bg, 10%);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: ($close-font-size + $alert-padding-x * 2);\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","@keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n font-size: $progress-font-size;\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus {\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -$list-group-border-width;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n\n @include hover-focus {\n z-index: 1; // Place hover/active items above their siblings for proper border styling\n text-decoration: none;\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n }\n\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n font-size: $close-font-size;\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n @include hover-focus {\n color: $close-color;\n text-decoration: none;\n opacity: .75;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .close elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n\n .modal-open & {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: translate(0, -25%);\n }\n .modal.show & {\n transform: translate(0, 0);\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (#{$modal-dialog-margin} * 2));\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when should there be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n // Easily place margin between footer elements\n > :not(:first-child) { margin-left: .25rem; }\n > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - (#{$modal-dialog-margin-y-sm-up} * 2));\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $tooltip-font-size;\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $popover-font-size;\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $border-radius-lg;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n .arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n bottom: 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n bottom: $popover-border-width;\n border-top-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n .arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n left: 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n left: $popover-border-width;\n border-right-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n .arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n }\n\n .arrow::before {\n top: 0;\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n top: $popover-border-width;\n border-bottom-color: $popover-arrow-color;\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: ($popover-arrow-width / -2);\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n .arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n }\n\n .arrow::before {\n right: 0;\n border-left-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n right: $popover-border-width;\n border-left-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n font-size: $font-size-base;\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n @include border-top-radius($offset-border-width);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 2. .active.carousel-item is the current slide.\n// 3. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 4. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n @include transition($carousel-transition);\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n opacity: 0;\n }\n\n .carousel-item-next,\n .carousel-item-prev,\n .carousel-item.active,\n .active.carousel-item-left,\n .active.carousel-item-prev {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n // We can't have a transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Hover/focus state\n @include hover-focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n position: relative;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n background-color: rgba($carousel-indicator-active-bg, .5);\n\n // Use pseudo classes to increase the hit area by 10px on top and bottom.\n &::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n &::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n }\n\n .active {\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: ((100% - $carousel-caption-width) / 2);\n bottom: 20px;\n left: ((100% - $carousel-caption-width) / 2);\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n border-radius: $border-radius !important;\n}\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n.embed-responsive-21by9 {\n &::before {\n padding-top: percentage(9 / 21);\n }\n}\n\n.embed-responsive-16by9 {\n &::before {\n padding-top: percentage(9 / 16);\n }\n}\n\n.embed-responsive-4by3 {\n &::before {\n padding-top: percentage(3 / 4);\n }\n}\n\n.embed-responsive-1by1 {\n &::before {\n padding-top: percentage(1 / 1);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { @include float-left; }\n .float#{$infix}-right { @include float-right; }\n .float#{$infix}-none { @include float-none; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n float: left !important;\n}\n@mixin float-right {\n float: right !important;\n}\n@mixin float-none {\n float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n// stylelint-disable-next-line scss/dollar-variable-default\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n color: darken($color, 10%) !important;\n }\n }\n}\n","// CSS image replacement\n@mixin text-hide() {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @warn \"The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.\";\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n @include invisible(visible);\n}\n\n.invisible {\n @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.min.css b/library/bootstrap/css/bootstrap.min.css
index 6561b6f4c..e490fd02e 100644
--- a/library/bootstrap/css/bootstrap.min.css
+++ b/library/bootstrap/css/bootstrap.min.css
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::before{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::before{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-box;display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-control{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-control::before{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(calc(2.25rem + 2px) - 1px * 2);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;background-color:#007bff;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#6c757d!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}
+ */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::after{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(calc(2.25rem + 2px) - 1px * 2);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-appearance:none;appearance:none}.custom-range::-webkit-slider-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-appearance:none;appearance:none}.custom-range::-moz-range-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;appearance:none}.custom-range::-ms-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}@media screen and (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}}
/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.min.css.map b/library/bootstrap/css/bootstrap.min.css.map
index ee5c523cd..2d5a1494c 100644
--- a/library/bootstrap/css/bootstrap.min.css.map
+++ b/library/bootstrap/css/bootstrap.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: .5rem;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -webkit-box-flex: 0;\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -webkit-box-ordinal-group: 0;\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -webkit-box-ordinal-group: 14;\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -webkit-box-ordinal-group: 1;\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -webkit-box-ordinal-group: 2;\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -webkit-box-ordinal-group: 3;\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -webkit-box-ordinal-group: 4;\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -webkit-box-ordinal-group: 5;\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -webkit-box-ordinal-group: 6;\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -webkit-box-ordinal-group: 7;\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -webkit-box-ordinal-group: 8;\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -webkit-box-ordinal-group: 9;\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -webkit-box-ordinal-group: 10;\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -webkit-box-ordinal-group: 11;\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -webkit-box-ordinal-group: 12;\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -webkit-box-ordinal-group: 13;\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-flex: 0;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -webkit-box-flex: 0;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::before {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::before {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-control::before {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.nav {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-flex: 1;\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -webkit-box-flex: 1;\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n color: #fff;\n text-align: center;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n transition: -webkit-transform 0.6s ease;\n transition: transform 0.6s ease;\n transition: transform 0.6s ease, -webkit-transform 0.6s ease;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next,\n .active.carousel-item-right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-prev,\n .active.carousel-item-left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n -webkit-box-flex: 0;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -webkit-inline-box !important;\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: normal !important;\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -webkit-box-orient: horizontal !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -webkit-box-orient: vertical !important;\n -webkit-box-direction: reverse !important;\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n -webkit-box-pack: start !important;\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -webkit-box-pack: end !important;\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -webkit-box-pack: center !important;\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -webkit-box-pack: justify !important;\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -webkit-box-align: start !important;\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -webkit-box-align: end !important;\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -webkit-box-align: center !important;\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -webkit-box-align: baseline !important;\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -webkit-box-align: stretch !important;\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n -webkit-clip-path: none;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v4.0.0 (https://getbootstrap.com)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropup .dropdown-menu {\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::before {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::before {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-control {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-control::before {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-expand .dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable indentation\n\n// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS—an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus();\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:not([size]):not([multiple]) {\n height: $input-height;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n font-size: inherit; // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: $input-padding-y;\n padding-bottom: $input-padding-y;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n padding: $input-padding-y-sm $input-padding-x-sm;\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n &:not([size]):not([multiple]) {\n height: $input-height-sm;\n }\n}\n\n.form-control-lg {\n padding: $input-padding-y-lg $input-padding-x-lg;\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n &:not([size]):not([multiple]) {\n height: $input-height-lg;\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba($color, .8);\n border-radius: .2rem;\n }\n\n .form-control,\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n background-color: lighten($color, 25%);\n }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-label {\n border-color: $color;\n\n &::before { border-color: inherit; }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .custom-file-label {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-weight: $btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n // Share hover and focus styles\n @include hover-focus {\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .btn elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n background-image: none;\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n background-color: transparent;\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n border-color: transparent;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n border-color: transparent;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n background-color: transparent;\n background-image: none;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @if $enable-rounded {\n border-radius: $border-radius;\n } @else {\n border-radius: 0;\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n opacity: 0;\n @include transition($transition-fade);\n\n &.show {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n &.show {\n display: block;\n }\n}\n\ntr {\n &.collapse.show {\n display: table-row;\n }\n}\n\ntbody {\n &.collapse.show {\n display: table-row-group;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle {\n // Generate the caret automatically\n @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n color: $body-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n @include hover-focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n font-size: $font-size-sm;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @if $direction == down {\n @include caret-down;\n } @else if $direction == up {\n @include caret-up;\n } @else if $direction == right {\n @include caret-right;\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @include caret-left;\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n height: 0;\n margin: ($spacer / 2) 0;\n overflow: hidden;\n border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 0 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n\n // Prevent double borders when buttons are next to each other\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -$btn-border-width;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n > .btn:first-child {\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after {\n margin-left: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n .btn,\n .btn-group {\n width: 100%;\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -$btn-border-width;\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n // Add width 1% and flex-basis auto to ensure that button will not wrap out\n // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n width: 1%;\n margin-bottom: 0;\n\n // Bring the \"active\" form control to the top of surrounding elements\n &:focus {\n z-index: 3;\n }\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::before { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label,\n &:not(:first-child) .custom-file-label::before { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n font-size: $font-size-base; // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n @extend .form-control-lg;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n @extend .form-control-sm;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: (1rem * $line-height-base);\n padding-left: $custom-control-gutter;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n\n &:active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of psuedo-elements.\n\n.custom-control-label {\n margin-bottom: 0;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: $custom-control-indicator-bg;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $custom-control-indicator-bg-size;\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-checked;\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-indeterminate;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-radio-indicator-icon-checked;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// http://primercss.io.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n background-size: $custom-select-bg-size;\n border: $custom-select-border-width solid $custom-select-border-color;\n @if $enable-rounded {\n border-radius: $custom-select-border-radius;\n } @else {\n border-radius: 0;\n }\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n box-shadow: $custom-select-focus-box-shadow;\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n opacity: 0;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-sm;\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-lg;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-control {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n\n &::before {\n border-color: $custom-file-focus-border-color;\n }\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(#{$custom-file-height} - #{$custom-file-border-width} * 2);\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properities so that content nested within behave properly.\n > .container,\n > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n font-size: $navbar-brand-font-size;\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n font-size: $navbar-toggler-font-size;\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .navbar-toggler elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n > .container,\n > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n > .container,\n > .container-fluid {\n flex-wrap: nowrap;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n\n .dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-light-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-dark-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-x;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -($card-spacer-y / 2);\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -($card-spacer-x / 2);\n margin-bottom: -$card-spacer-y;\n margin-left: -($card-spacer-x / 2);\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -($card-spacer-x / 2);\n margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:first-child {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-right-radius: 0;\n }\n }\n\n &:last-child {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-left-radius: 0;\n }\n }\n\n &:only-child {\n @include border-radius($card-border-radius);\n\n .card-img-top,\n .card-header {\n @include border-top-radius($card-border-radius);\n }\n .card-img-bottom,\n .card-footer {\n @include border-bottom-radius($card-border-radius);\n }\n }\n\n &:not(:first-child):not(:last-child):not(:only-child) {\n @include border-radius(0);\n\n .card-img-top,\n .card-img-bottom,\n .card-header,\n .card-footer {\n @include border-radius(0);\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n padding-left: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: \"#{$breadcrumb-divider}\";\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 2;\n outline: 0;\n box-shadow: $pagination-focus-box-shadow;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .page-link elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 1;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n font-size: $badge-font-size;\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n &[href] {\n @include hover-focus {\n color: color-yiq($bg);\n text-decoration: none;\n background-color: darken($bg, 10%);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: ($close-font-size + $alert-padding-x * 2);\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","@keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n font-size: $progress-font-size;\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus {\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -$list-group-border-width;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n\n @include hover-focus {\n z-index: 1; // Place hover/active items above their siblings for proper border styling\n text-decoration: none;\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n }\n\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: #fff;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n font-size: $close-font-size;\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n @include hover-focus {\n color: $close-color;\n text-decoration: none;\n opacity: .75;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .close elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n\n .modal-open & {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: translate(0, -25%);\n }\n .modal.show & {\n transform: translate(0, 0);\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (#{$modal-dialog-margin} * 2));\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($border-radius-lg);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($border-radius-lg);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when should there be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n // Easily place margin between footer elements\n > :not(:first-child) { margin-left: .25rem; }\n > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - (#{$modal-dialog-margin-y-sm-up} * 2));\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $tooltip-font-size;\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $popover-font-size;\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $border-radius-lg;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n .arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n bottom: 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n bottom: $popover-border-width;\n border-top-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n .arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n left: 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n left: $popover-border-width;\n border-right-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n .arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n }\n\n .arrow::before {\n top: 0;\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n top: $popover-border-width;\n border-bottom-color: $popover-arrow-color;\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: ($popover-arrow-width / -2);\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n .arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n }\n\n .arrow::before {\n right: 0;\n border-left-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n right: $popover-border-width;\n border-left-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n font-size: $font-size-base;\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n @include border-top-radius($offset-border-width);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n @include transition($carousel-transition);\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n// CSS3 transforms when supported by the browser\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n // We can't have a transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Hover/focus state\n @include hover-focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n position: relative;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n background-color: rgba($carousel-indicator-active-bg, .5);\n\n // Use pseudo classes to increase the hit area by 10px on top and bottom.\n &::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n &::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n }\n\n .active {\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: ((100% - $carousel-caption-width) / 2);\n bottom: 20px;\n left: ((100% - $carousel-caption-width) / 2);\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n border-radius: $border-radius !important;\n}\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n.embed-responsive-21by9 {\n &::before {\n padding-top: percentage(9 / 21);\n }\n}\n\n.embed-responsive-16by9 {\n &::before {\n padding-top: percentage(9 / 16);\n }\n}\n\n.embed-responsive-4by3 {\n &::before {\n padding-top: percentage(3 / 4);\n }\n}\n\n.embed-responsive-1by1 {\n &::before {\n padding-top: percentage(1 / 1);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { @include float-left; }\n .float#{$infix}-right { @include float-right; }\n .float#{$infix}-none { @include float-none; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n float: left !important;\n}\n@mixin float-right {\n float: right !important;\n}\n@mixin float-none {\n float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: #fff !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-muted { color: $text-muted !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n color: darken($color, 10%) !important;\n }\n }\n}\n","// CSS image replacement\n@mixin text-hide() {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n @include invisible(visible);\n}\n\n.invisible {\n @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// http://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;ACAA,MAGI,OAAA,QAAA,SAAA,QAAA,SAAA,QAAA,OAAA,QAAA,MAAA,QAAA,SAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAAA,OAAA,QAAA,QAAA,KAAA,OAAA,QAAA,YAAA,QAIA,UAAA,QAAA,YAAA,QAAA,UAAA,QAAA,OAAA,QAAA,UAAA,QAAA,SAAA,QAAA,QAAA,QAAA,OAAA,QAIA,gBAAA,EAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,MAAA,gBAAA,OAKF,yBAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBACA,wBAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UCGF,ECmBA,QADA,SDfE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,qBAAA,KACA,mBAAA,UACA,4BAAA,YAKA,cACE,MAAA,aAMJ,QAAA,MAAA,OAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAWF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KEOF,sBFEE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAQF,EACE,WAAA,EACA,cAAA,KClBF,0BD4BA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QCvBF,GD0BA,GC3BA,GD8BE,WAAA,EACA,cAAA,KAGF,MC1BA,MACA,MAFA,MD+BE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,IACE,WAAA,OAIF,EC5BA,OD8BE,YAAA,OAIF,MACE,UAAA,IAQF,IClCA,IDoCE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YACA,6BAAA,QG7LA,QHgME,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KGzMA,oCAAA,oCH4ME,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,ECpCJ,KACA,ID6CA,IC5CA,KDgDE,YAAA,SAAA,CAAA,UACA,UAAA,IAIF,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAGA,mBAAA,UAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,eACE,SAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OACE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBChFF,ODmFA,MCjFA,SADA,OAEA,SDqFE,OAAA,EACA,YAAA,QACA,UAAA,QACA,YAAA,QAGF,OCnFA,MDqFE,SAAA,QAGF,OCnFA,ODqFE,eAAA,KC/EF,aACA,cDoFA,OCtFA,mBD0FE,mBAAA,OCnFF,gCACA,+BACA,gCDqFA,yBAIE,QAAA,EACA,aAAA,KCpFF,qBDuFA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCvFA,2BACA,kBAFA,iBDiGE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MACA,UAAA,OACA,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SErGF,yCDEA,yCDyGE,OAAA,KEtGF,cF8GE,eAAA,KACA,mBAAA,KE1GF,4CDEA,yCDiHE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KEvHF,SF6HE,QAAA,eCvHF,IAAK,IAAK,IAAK,IAAK,IAAK,IGnWzB,GAAA,GAAA,GAAA,GAAA,GAAA,GAEE,cAAA,MACA,YAAA,QACA,YAAA,IACA,YAAA,IACA,MAAA,QAGF,IAAA,GAAU,UAAA,OACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,QACV,IAAA,GAAU,UAAA,OACV,IAAA,GAAU,UAAA,QACV,IAAA,GAAU,UAAA,KAEV,MACE,UAAA,QACA,YAAA,IAIF,WACE,UAAA,KACA,YAAA,IACA,YAAA,IAEF,WACE,UAAA,OACA,YAAA,IACA,YAAA,IAEF,WACE,UAAA,OACA,YAAA,IACA,YAAA,IAEF,WACE,UAAA,OACA,YAAA,IACA,YAAA,IAQF,GACE,WAAA,KACA,cAAA,KACA,OAAA,EACA,WAAA,IAAA,MAAA,eHoXF,OG5WA,MAEE,UAAA,IACA,YAAA,IH+WF,MG5WA,KAEE,QAAA,KACA,iBAAA,QAQF,eC/EE,aAAA,EACA,WAAA,KDmFF,aCpFE,aAAA,EACA,WAAA,KDsFF,kBACE,QAAA,aADF,mCAII,aAAA,MAUJ,YACE,UAAA,IACA,eAAA,UAIF,YACE,cAAA,KACA,UAAA,QAGF,mBACE,QAAA,MACA,UAAA,IACA,MAAA,QAHF,2BAMI,QAAA,cEnHJ,WCIE,UAAA,KAGA,OAAA,KDDF,eACE,QAAA,OACA,iBAAA,KACA,OAAA,IAAA,MAAA,QEZE,cAAA,ODOF,UAAA,KAGA,OAAA,KDcF,QAEE,QAAA,aAGF,YACE,cAAA,MACA,YAAA,EAGF,gBACE,UAAA,IACA,MAAA,QGvCF,KR2fA,IACA,IACA,KQzfE,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UAIF,KACE,UAAA,MACA,MAAA,QACA,WAAA,WAGA,OACE,MAAA,QAKJ,IACE,QAAA,MAAA,MACA,UAAA,MACA,MAAA,KACA,iBAAA,QDrBE,cAAA,MCiBJ,QASI,QAAA,EACA,UAAA,KACA,YAAA,IAMJ,IACE,QAAA,MACA,UAAA,MACA,MAAA,QAHF,SAOI,UAAA,QACA,MAAA,QACA,WAAA,OAKJ,gBACE,WAAA,MACA,WAAA,OCjDA,WCAA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCmDE,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,0BFvDF,WCYI,UAAA,QDAJ,iBCZA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KDkBA,KCJA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDOA,YACE,aAAA,EACA,YAAA,EAFF,iBTikBF,0BS3jBM,cAAA,EACA,aAAA,EGjCJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OZimBF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aYpmBI,SAAA,SACA,MAAA,KACA,WAAA,IACA,cAAA,KACA,aAAA,KAmBE,KACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,UACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,OFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,aAAwB,eAAA,GAAA,MAAA,GAExB,YAAuB,eAAA,GAAA,MAAA,GAGrB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAMtB,UFTR,YAAA,UESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,WFTR,YAAA,WESQ,WFTR,YAAA,WCUE,yBC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCUE,yBC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCUE,yBC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCUE,0BC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YG9CF,OACE,MAAA,KACA,UAAA,KACA,cAAA,KACA,iBAAA,Ybk/CF,Uat/CA,UAQI,QAAA,OACA,eAAA,IACA,WAAA,IAAA,MAAA,QAVJ,gBAcI,eAAA,OACA,cAAA,IAAA,MAAA,QAfJ,mBAmBI,WAAA,IAAA,MAAA,QAnBJ,cAuBI,iBAAA,Kbm/CJ,aa1+CA,aAGI,QAAA,MASJ,gBACE,OAAA,IAAA,MAAA,Qbs+CF,mBav+CA,mBAKI,OAAA,IAAA,MAAA,Qbu+CJ,yBa5+CA,yBAWM,oBAAA,Ibw+CN,8BAFA,qBaj+CA,qBbk+CA,2Ba79CI,OAAA,EAQJ,yCAEI,iBAAA,gBASJ,4BAGM,iBAAA,iBCtFJ,ed4iDF,kBADA,kBcviDM,iBAAA,QAMJ,kCAKM,iBAAA,QALN,qCd2iDF,qCcliDU,iBAAA,QAnBR,iBd2jDF,oBADA,oBctjDM,iBAAA,QAMJ,oCAKM,iBAAA,QALN,uCd0jDF,uCcjjDU,iBAAA,QAnBR,ed0kDF,kBADA,kBcrkDM,iBAAA,QAMJ,kCAKM,iBAAA,QALN,qCdykDF,qCchkDU,iBAAA,QAnBR,YdylDF,eADA,ecplDM,iBAAA,QAMJ,+BAKM,iBAAA,QALN,kCdwlDF,kCc/kDU,iBAAA,QAnBR,edwmDF,kBADA,kBcnmDM,iBAAA,QAMJ,kCAKM,iBAAA,QALN,qCdumDF,qCc9lDU,iBAAA,QAnBR,cdunDF,iBADA,iBclnDM,iBAAA,QAMJ,iCAKM,iBAAA,QALN,oCdsnDF,oCc7mDU,iBAAA,QAnBR,adsoDF,gBADA,gBcjoDM,iBAAA,QAMJ,gCAKM,iBAAA,QALN,mCdqoDF,mCc5nDU,iBAAA,QAnBR,YdqpDF,eADA,echpDM,iBAAA,QAMJ,+BAKM,iBAAA,QALN,kCdopDF,kCc3oDU,iBAAA,QAnBR,cdoqDF,iBADA,iBc/pDM,iBAAA,iBAMJ,iCAKM,iBAAA,iBALN,oCdmqDF,oCc1pDU,iBAAA,iBD0FV,sBAGM,MAAA,KACA,iBAAA,QACA,aAAA,QALN,uBAWM,MAAA,QACA,iBAAA,QACA,aAAA,QAKN,YACE,MAAA,KACA,iBAAA,QbkkDF,eapkDA,ebqkDA,qBa9jDI,aAAA,QAPJ,2BAWI,OAAA,EAXJ,oDAgBM,iBAAA,sBAhBN,uCAuBQ,iBAAA,uBFlFJ,4BEmGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MACA,mBAAA,yBANJ,qCAUM,OAAA,GF7GN,4BEmGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MACA,mBAAA,yBANJ,qCAUM,OAAA,GF7GN,4BEmGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MACA,mBAAA,yBANJ,qCAUM,OAAA,GF7GN,6BEmGA,qBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MACA,mBAAA,yBANJ,qCAUM,OAAA,GAfV,kBAOQ,QAAA,MACA,MAAA,KACA,WAAA,KACA,2BAAA,MACA,mBAAA,yBAXR,kCAeU,OAAA,EEhLV,cACE,QAAA,MACA,MAAA,KACA,QAAA,QAAA,OACA,UAAA,KACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,QAKE,cAAA,OCfE,WAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIJ,kDDHF,cCII,WAAA,MDJJ,0BAyBI,iBAAA,YACA,OAAA,EEnBF,oBACE,MAAA,QACA,iBAAA,KACA,aAAA,QACA,QAAA,EAKE,WAAA,EAAA,EAAA,EAAA,MAAA,oBFhBN,yCAkCI,MAAA,QAEA,QAAA,EApCJ,gCAkCI,MAAA,QAEA,QAAA,EApCJ,oCAkCI,MAAA,QAEA,QAAA,EApCJ,qCAkCI,MAAA,QAEA,QAAA,EApCJ,2BAkCI,MAAA,QAEA,QAAA,EApCJ,uBAAA,wBA8CI,iBAAA,QAEA,QAAA,EAIJ,gDAEI,OAAA,oBAFJ,qCAWI,MAAA,QACA,iBAAA,KAKJ,mBfuxDA,oBerxDE,QAAA,MACA,MAAA,KAUF,gBACE,YAAA,oBACA,eAAA,oBACA,cAAA,EACA,UAAA,QACA,YAAA,IAGF,mBACE,YAAA,kBACA,eAAA,kBACA,UAAA,QACA,YAAA,IAGF,mBACE,YAAA,mBACA,eAAA,mBACA,UAAA,QACA,YAAA,IASF,wBACE,QAAA,MACA,MAAA,KACA,YAAA,QACA,eAAA,QACA,cAAA,EACA,YAAA,IACA,MAAA,QACA,iBAAA,YACA,OAAA,MAAA,YACA,aAAA,IAAA,EfgxDmE,wCe1xDrE,wCf0xD8G,qDAI9G,gEAFA,6EACA,iEAFA,8Ee3xDA,qDf0xDA,gEAFA,6EACA,iEAFA,8EezwDI,cAAA,EACA,aAAA,EAaJ,iBAAA,8Bf2wDA,yCAFA,sDACA,0CAFA,uDevwDE,QAAA,OAAA,MACA,UAAA,QACA,YAAA,IR/IE,cAAA,MPk6DJ,2EAFA,wFACA,4EAFA,yFe5wDA,gEAAA,mDAEI,OAAA,sBAIJ,iBAAA,8BfixDA,yCAFA,sDACA,0CAFA,uDe7wDE,QAAA,MAAA,KACA,UAAA,QACA,YAAA,IR5JE,cAAA,MPq7DJ,2EAFA,wFACA,4EAFA,yFelxDA,gEAAA,mDAEI,OAAA,qBAUJ,YACE,cAAA,KAGF,WACE,QAAA,MACA,WAAA,OAQF,UACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,KACA,YAAA,KAJF,efkxDA,wBe1wDI,cAAA,IACA,aAAA,IASJ,YACE,SAAA,SACA,QAAA,MACA,aAAA,QAGF,kBACE,SAAA,SACA,WAAA,MACA,YAAA,SAHF,6CAMI,MAAA,QAIJ,kBACE,cAAA,EAGF,mBACE,QAAA,mBAAA,QAAA,YACA,eAAA,OAAA,YAAA,OACA,aAAA,EACA,aAAA,OAJF,qCAQI,SAAA,OACA,WAAA,EACA,aAAA,SACA,YAAA,EElNF,gBACE,QAAA,KACA,MAAA,KACA,WAAA,OACA,UAAA,IACA,MAAA,QAGF,eACE,SAAA,SACA,IAAA,KACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,MACA,WAAA,MACA,UAAA,QACA,YAAA,EACA,MAAA,KACA,iBAAA,mBACA,cAAA,MjBi+DJ,wBiB59DI,uBAAA,oCAAA,mCAEE,aAAA,QjBg+DN,8BiBl+DI,6BAAA,0CAAA,yCAKI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBjBu+DR,wCACA,uCANqD,uCACrD,sCAAyC,oDAEzC,mDiB3+DI,mDjBw+DJ,kDiB79DQ,QAAA,MAMJ,6CAAA,yDAGI,MAAA,QjBm+DiD,2CACzD,0CiBv+DI,uDjBs+DJ,sDiB99DQ,QAAA,MAMJ,qDAAA,iEAGI,MAAA,QAHJ,6DAAA,yEAMM,iBAAA,QjBg+DmD,+CAC7D,8CiBv+DI,2DjBs+DJ,0DiB19DQ,QAAA,MAZJ,qEAAA,iFC/EA,iBAAA,QD+EA,mEAAA,+EAuBM,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAQN,+CAAA,2DAGI,aAAA,QAHJ,uDAAA,mEAKgB,aAAA,QjBw9DsC,4CAC1D,2CiB99DI,wDjB69DJ,uDiBn9DQ,QAAA,MAVJ,qDAAA,iEAeM,WAAA,EAAA,EAAA,EAAA,MAAA,oBAtGR,kBACE,QAAA,KACA,MAAA,KACA,WAAA,OACA,UAAA,IACA,MAAA,QAGF,iBACE,SAAA,SACA,IAAA,KACA,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,MACA,WAAA,MACA,UAAA,QACA,YAAA,EACA,MAAA,KACA,iBAAA,mBACA,cAAA,MjBkkEJ,0BiB7jEI,yBAAA,sCAAA,qCAEE,aAAA,QjBikEN,gCiBnkEI,+BAAA,4CAAA,2CAKI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBjBwkER,4CACA,2CANyD,2CACzD,0CAA6C,wDAE7C,uDiB5kEI,uDjBykEJ,sDiB9jEQ,QAAA,MAMJ,+CAAA,2DAGI,MAAA,QjBokEqD,+CAC7D,8CiBxkEI,2DjBukEJ,0DiB/jEQ,QAAA,MAMJ,uDAAA,mEAGI,MAAA,QAHJ,+DAAA,2EAMM,iBAAA,QjBikEuD,mDACjE,kDiBxkEI,+DjBukEJ,8DiB3jEQ,QAAA,MAZJ,uEAAA,mFC/EA,iBAAA,QD+EA,qEAAA,iFAuBM,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAQN,iDAAA,6DAGI,aAAA,QAHJ,yDAAA,qEAKgB,aAAA,QjByjE0C,gDAC9D,+CiB/jEI,4DjB8jEJ,2DiBpjEQ,QAAA,MAVJ,uDAAA,mEAeM,WAAA,EAAA,EAAA,EAAA,MAAA,oBFoIV,aACE,QAAA,YAAA,QAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,eAAA,OAAA,YAAA,OAHF,yBASI,MAAA,KJpNA,yBI2MJ,mBAeM,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,cAAA,EAlBN,yBAuBM,QAAA,YAAA,QAAA,KACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,EA3BN,2BAgCM,QAAA,aACA,MAAA,KACA,eAAA,OAlCN,qCAuCM,QAAA,afw7DJ,4Be/9DF,0BA4CM,MAAA,KA5CN,yBAkDM,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,KACA,aAAA,EAtDN,+BAyDM,SAAA,SACA,WAAA,EACA,aAAA,OACA,YAAA,EA5DN,6BAgEM,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OAjEN,mCAoEM,cAAA,GIrUN,KACE,QAAA,aACA,YAAA,IACA,WAAA,OACA,YAAA,OACA,eAAA,OACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KACA,OAAA,IAAA,MAAA,YCsFA,QAAA,QAAA,OACA,UAAA,KACA,YAAA,IAGE,cAAA,OJnGE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YAIJ,kDGHF,KHII,WAAA,MdMF,WAAA,WiBGE,gBAAA,KAbJ,WAAA,WAkBI,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAnBJ,cAAA,cAyBI,QAAA,IAzBJ,mCA+BI,OAAA,QA/BJ,0CAAA,0CAoCI,iBAAA,KAUJ,enB8vEA,wBmB5vEE,eAAA,KASA,aCzDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,sBAAA,sBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,kDAAA,kDpB0yEF,mCoBvyEI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDpBuyEJ,yCoBlyEQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDaN,eCzDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,qBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,qBAAA,qBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,qBAKJ,wBAAA,wBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,oDAAA,oDpB40EF,qCoBz0EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,0DAAA,0DpBy0EJ,2CoBp0EQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDaN,aCzDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,sBAAA,sBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,kDAAA,kDpB82EF,mCoB32EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDpB22EJ,yCoBt2EQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDaN,UCzDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,gBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,gBAAA,gBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,oBAKJ,mBAAA,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,+CAAA,+CpBg5EF,gCoB74EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,qDAAA,qDpB64EJ,sCoBx4EQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDaN,aCzDA,MAAA,QFAE,iBAAA,QEEF,aAAA,QlBIA,mBkBAE,MAAA,QFNA,iBAAA,QEQA,aAAA,QAGF,mBAAA,mBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,sBAAA,sBAEE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,kDAAA,kDpBk7EF,mCoB/6EI,MAAA,QACA,iBAAA,QAIA,aAAA,QAEA,wDAAA,wDpB+6EJ,yCoB16EQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDaN,YCzDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,kBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,kBAAA,kBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,mBAKJ,qBAAA,qBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,iDAAA,iDpBo9EF,kCoBj9EI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,uDAAA,uDpBi9EJ,wCoB58EQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDaN,WCzDA,MAAA,QFAE,iBAAA,QEEF,aAAA,QlBIA,iBkBAE,MAAA,QFNA,iBAAA,QEQA,aAAA,QAGF,iBAAA,iBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,qBAKJ,oBAAA,oBAEE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,gDAAA,gDpBs/EF,iCoBn/EI,MAAA,QACA,iBAAA,QAIA,aAAA,QAEA,sDAAA,sDpBm/EJ,uCoB9+EQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDaN,UCzDA,MAAA,KFAE,iBAAA,QEEF,aAAA,QlBIA,gBkBAE,MAAA,KFNA,iBAAA,QEQA,aAAA,QAGF,gBAAA,gBAMI,WAAA,EAAA,EAAA,EAAA,MAAA,kBAKJ,mBAAA,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,+CAAA,+CpBwhFF,gCoBrhFI,MAAA,KACA,iBAAA,QAIA,aAAA,QAEA,qDAAA,qDpBqhFJ,sCoBhhFQ,WAAA,EAAA,EAAA,EAAA,MAAA,kBDmBN,qBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,2BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DpB8gFF,2CoB3gFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gEpB8gFJ,iDoBzgFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDtBN,uBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,6BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,6BAAA,6BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAGF,gCAAA,gCAEE,MAAA,QACA,iBAAA,YAGF,4DAAA,4DpBgjFF,6CoB7iFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,kEAAA,kEpBgjFJ,mDoB3iFQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDtBN,qBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,2BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DpBklFF,2CoB/kFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gEpBklFJ,iDoB7kFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDtBN,kBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,wBACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wBAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,oBAGF,2BAAA,2BAEE,MAAA,QACA,iBAAA,YAGF,uDAAA,uDpBonFF,wCoBjnFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6DAAA,6DpBonFJ,8CoB/mFQ,WAAA,EAAA,EAAA,EAAA,MAAA,oBDtBN,qBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,2BACE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,0DAAA,0DpBspFF,2CoBnpFI,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,gEAAA,gEpBspFJ,iDoBjpFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDtBN,oBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,0BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,0BAAA,0BAEE,WAAA,EAAA,EAAA,EAAA,MAAA,mBAGF,6BAAA,6BAEE,MAAA,QACA,iBAAA,YAGF,yDAAA,yDpBwrFF,0CoBrrFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,+DAAA,+DpBwrFJ,gDoBnrFQ,WAAA,EAAA,EAAA,EAAA,MAAA,mBDtBN,mBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,yBACE,MAAA,QACA,iBAAA,QACA,aAAA,QAGF,yBAAA,yBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,qBAGF,4BAAA,4BAEE,MAAA,QACA,iBAAA,YAGF,wDAAA,wDpB0tFF,yCoBvtFI,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,8DAAA,8DpB0tFJ,+CoBrtFQ,WAAA,EAAA,EAAA,EAAA,MAAA,qBDtBN,kBCZA,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QAEA,wBACE,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wBAAA,wBAEE,WAAA,EAAA,EAAA,EAAA,MAAA,kBAGF,2BAAA,2BAEE,MAAA,QACA,iBAAA,YAGF,uDAAA,uDpB4vFF,wCoBzvFI,MAAA,KACA,iBAAA,QACA,aAAA,QAEA,6DAAA,6DpB4vFJ,8CoBvvFQ,WAAA,EAAA,EAAA,EAAA,MAAA,kBDXR,UACE,YAAA,IACA,MAAA,QACA,iBAAA,YjBvEA,gBiB0EE,MAAA,QACA,gBAAA,UACA,iBAAA,YACA,aAAA,YATJ,gBAAA,gBAcI,gBAAA,UACA,aAAA,YACA,WAAA,KAhBJ,mBAAA,mBAqBI,MAAA,QACA,eAAA,KAWJ,mBAAA,QCdE,QAAA,MAAA,KACA,UAAA,QACA,YAAA,IAGE,cAAA,MDaJ,mBAAA,QClBE,QAAA,OAAA,MACA,UAAA,QACA,YAAA,IAGE,cAAA,MDsBJ,WACE,QAAA,MACA,MAAA,KAFF,sBAMI,WAAA,MnBmwFJ,6BADA,4BmB7vFA,6BAII,MAAA,KE3IJ,MLGM,WAAA,QAAA,KAAA,OAIJ,kDKPF,MLQI,WAAA,MKRJ,iBAII,QAAA,EAIJ,qBAEI,QAAA,KAIJ,YACE,SAAA,SACA,OAAA,EACA,SAAA,OLdI,WAAA,OAAA,KAAA,KAIJ,kDKOF,YLNI,WAAA,MhBk6FJ,UACA,UAFA,WsB16FA,QAIE,SAAA,SCwBE,wBACE,QAAA,aACA,MAAA,EACA,OAAA,EACA,YAAA,OACA,eAAA,OACA,QAAA,GAlCJ,WAAA,KAAA,MACA,aAAA,KAAA,MAAA,YACA,cAAA,EACA,YAAA,KAAA,MAAA,YAyDE,8BACE,YAAA,EDhDN,eACE,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,UAAA,MACA,QAAA,MAAA,EACA,OAAA,QAAA,EAAA,EACA,UAAA,KACA,MAAA,QACA,WAAA,KACA,WAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,gBf1BE,cAAA,Oe+BJ,qBACE,MAAA,EACA,KAAA,KAKF,uBAEI,IAAA,KACA,OAAA,KACA,WAAA,EACA,cAAA,QALJ,gCCZM,QAAA,aACA,MAAA,EACA,OAAA,EACA,YAAA,OACA,eAAA,OACA,QAAA,GA3BJ,WAAA,EACA,aAAA,KAAA,MAAA,YACA,cAAA,KAAA,MACA,YAAA,KAAA,MAAA,YD+BF,sCCoBM,YAAA,EDPN,0BAEI,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,YAAA,QANJ,mCCzBM,QAAA,aACA,MAAA,EACA,OAAA,EACA,YAAA,OACA,eAAA,OACA,QAAA,GApBJ,WAAA,KAAA,MAAA,YACA,aAAA,EACA,cAAA,KAAA,MAAA,YACA,YAAA,KAAA,MDqCF,yCCOM,YAAA,EDPN,mCAYM,eAAA,EAKN,yBAEI,IAAA,EACA,MAAA,KACA,KAAA,KACA,WAAA,EACA,aAAA,QANJ,kCC1CM,QAAA,aACA,MAAA,EACA,OAAA,EACA,YAAA,OACA,eAAA,OACA,QAAA,GDqCN,kCCzBQ,QAAA,KDyBR,mCCrBQ,QAAA,aACA,MAAA,EACA,OAAA,EACA,aAAA,OACA,eAAA,OACA,QAAA,GAlCN,WAAA,KAAA,MAAA,YACA,aAAA,KAAA,MACA,cAAA,KAAA,MAAA,YDgDF,wCCVM,YAAA,EDUN,mCAYM,eAAA,EAON,oCAAA,kCAAA,mCAAA,iCAKI,MAAA,KACA,OAAA,KAMJ,kBElGE,OAAA,EACA,OAAA,MAAA,EACA,SAAA,OACA,WAAA,IAAA,MAAA,QFsGF,eACE,QAAA,MACA,MAAA,KACA,QAAA,OAAA,OACA,MAAA,KACA,YAAA,IACA,MAAA,QACA,WAAA,QACA,YAAA,OACA,iBAAA,YACA,OAAA,EpBxGA,qBAAA,qBoB2GE,MAAA,QACA,gBAAA,KJtHA,iBAAA,QIwGJ,sBAAA,sBAoBI,MAAA,KACA,gBAAA,KJ7HA,iBAAA,QIwGJ,wBAAA,wBA2BI,MAAA,QACA,iBAAA,YAQJ,oBACE,QAAA,MAIF,iBACE,QAAA,MACA,QAAA,MAAA,OACA,cAAA,EACA,UAAA,QACA,MAAA,QACA,YAAA,OAIF,oBACE,QAAA,MACA,QAAA,OAAA,OACA,MAAA,QGjKF,WzBonGA,oByBlnGE,SAAA,SACA,QAAA,mBAAA,QAAA,YACA,eAAA,OzBwnGF,yByB5nGA,gBAOI,SAAA,SACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KzB2nGJ,+ByBnoGA,sBAaM,QAAA,EzB6nGN,gCADA,gCADA,+ByBxoGA,uBAAA,uBAAA,sBAkBM,QAAA,EAlBN,qBzB+oGA,2BACA,2BACA,iCACA,8BACA,oCACA,oCACA,0CyB1nGI,YAAA,KAKJ,aACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,cAAA,MAAA,gBAAA,WAHF,0BAMI,MAAA,KAIJ,4BAEI,YAAA,EzB+nGJ,4CyBjoGA,uDlB5BI,wBAAA,EACA,2BAAA,EPkqGJ,6CyBvoGA,kClBdI,uBAAA,EACA,0BAAA,EkB0CJ,uBACE,cAAA,SACA,aAAA,SAFF,8BzBsnGA,yCADA,sCyB9mGI,YAAA,EAGF,yCACE,aAAA,EAIJ,0CAAA,+BACE,cAAA,QACA,aAAA,QAGF,0CAAA,+BACE,cAAA,OACA,aAAA,OAoBF,oBACE,mBAAA,OAAA,eAAA,OACA,eAAA,MAAA,YAAA,WACA,cAAA,OAAA,gBAAA,OAHF,yBzBwmGA,+ByBjmGI,MAAA,KAPJ,8BzB6mGA,oCACA,oCACA,0CyBjmGI,WAAA,KACA,YAAA,EzBsmGJ,qDyBrnGA,gElB5FI,2BAAA,EACA,0BAAA,EPstGJ,sDyB3nGA,2ClB1GI,uBAAA,EACA,wBAAA,EkBoJJ,uBzBslGA,kCyBnlGI,cAAA,EzBwlGJ,4CyB3lGA,yCzB6lGA,uDADA,oDyBrlGM,SAAA,SACA,KAAA,cACA,eAAA,KClKN,aACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,QAAA,YAAA,QACA,MAAA,K1BowGF,0BADA,4B0BxwGA,2BAUI,SAAA,SACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAGA,MAAA,GACA,cAAA,E1BowGJ,gCADA,kC0BlxGA,iCAmBM,QAAA,E1B4wGN,uCADA,yCADA,wCADA,yCADA,2CADA,0CADA,wCADA,0C0BxxGA,yCAyBM,YAAA,K1B2wGN,6C0BpyGA,4CnBWI,wBAAA,EACA,2BAAA,EP8xGJ,8C0B1yGA,6CnByBI,uBAAA,EACA,0BAAA,EmB1BJ,0BAsCI,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OAvCJ,8D1BuzGA,qEO5yGI,wBAAA,EACA,2BAAA,EmBZJ,+D1B6zGA,sEOpyGI,uBAAA,EACA,0BAAA,EPyyGJ,oB0B5wGA,qBAEE,QAAA,YAAA,QAAA,K1BgxGF,yB0BlxGA,0BAQI,SAAA,SACA,QAAA,E1BkxGJ,8BACA,2CAEA,2CADA,wD0B7xGA,+B1BwxGA,4CAEA,4CADA,yD0BzwGI,YAAA,KAIJ,qBAAuB,aAAA,KACvB,oBAAsB,YAAA,KAQtB,kBACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,QAAA,QAAA,OACA,cAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,OACA,YAAA,OACA,iBAAA,QACA,OAAA,IAAA,MAAA,QnBlGE,cAAA,OPs3GJ,uC0BhyGA,oCAkBI,WAAA,E1BsxGJ,wFACA,+EAHA,uDACA,oE0BnvGA,uC1BivGA,oDO92GI,wBAAA,EACA,2BAAA,EmBqIJ,sC1BkvGA,mDAGA,qEACA,kFAHA,yDACA,sEO52GI,uBAAA,EACA,0BAAA,EoBvBJ,gBACE,SAAA,SACA,QAAA,MACA,WAAA,OACA,aAAA,OAGF,uBACE,QAAA,mBAAA,QAAA,YACA,aAAA,KAGF,sBACE,SAAA,SACA,QAAA,GACA,QAAA,EAHF,4DAMI,MAAA,KTrBA,iBAAA,QSeJ,0DAaI,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAbJ,2DAiBI,MAAA,KACA,iBAAA,QAlBJ,qDAwBM,MAAA,QAxBN,6DA2BQ,iBAAA,QAUR,sBACE,cAAA,EADF,8BAKI,SAAA,SACA,IAAA,OACA,KAAA,EACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,eAAA,KACA,QAAA,GACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KACA,iBAAA,QAdJ,6BAoBI,SAAA,SACA,IAAA,OACA,KAAA,EACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,QAAA,GACA,kBAAA,UACA,oBAAA,OAAA,OACA,gBAAA,IAAA,IASJ,+CpB5FI,cAAA,OoB4FJ,6ET1FI,iBAAA,QS0FJ,4EAUM,iBAAA,yMAVN,mFT1FI,iBAAA,QS0FJ,kFAoBM,iBAAA,sJApBN,sFA0BM,iBAAA,mBA1BN,4FA6BM,iBAAA,mBASN,4CAEI,cAAA,IAFJ,0EThII,iBAAA,QSgIJ,yEAUM,iBAAA,mJAVN,mFAgBM,iBAAA,mBAYN,eACE,QAAA,aACA,MAAA,KACA,OAAA,oBACA,QAAA,QAAA,QAAA,QAAA,OACA,YAAA,IACA,MAAA,QACA,eAAA,OACA,WAAA,KAAA,uKAAA,UAAA,MAAA,OAAA,OACA,gBAAA,IAAA,KACA,OAAA,IAAA,MAAA,QAEE,cAAA,OAIF,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAhBF,qBAmBI,aAAA,QACA,QAAA,EACA,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,qBArBJ,gCA6BM,MAAA,QACA,iBAAA,KA9BN,yBAAA,qCAoCI,OAAA,KACA,cAAA,OACA,iBAAA,KAtCJ,wBA0CI,MAAA,QACA,iBAAA,QA3CJ,2BAgDI,QAAA,EAIJ,kBACE,OAAA,sBACA,YAAA,QACA,eAAA,QACA,UAAA,IAGF,kBACE,OAAA,qBACA,YAAA,QACA,eAAA,QACA,UAAA,KAQF,aACE,SAAA,SACA,QAAA,aACA,MAAA,KACA,OAAA,oBACA,cAAA,EAGF,mBACE,SAAA,SACA,QAAA,EACA,MAAA,KACA,OAAA,oBACA,OAAA,EACA,QAAA,EANF,4CASI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBAVJ,mDAaM,aAAA,QAbN,sDAmBM,QAAA,SAKN,mBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,EACA,OAAA,oBACA,QAAA,QAAA,OACA,YAAA,IACA,MAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,QpBhRE,cAAA,OoBqQJ,0BAgBI,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,QAAA,EACA,QAAA,MACA,OAAA,oCACA,QAAA,QAAA,OACA,YAAA,IACA,MAAA,QACA,QAAA,ST7RA,iBAAA,QS+RA,YAAA,IAAA,MAAA,QpBjSA,cAAA,EAAA,OAAA,OAAA,EoB4SJ,cACE,MAAA,KACA,aAAA,EACA,iBAAA,YACA,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAJF,oBAOI,QAAA,EAPJ,gCAWI,OAAA,EAXJ,oCAeI,MAAA,KACA,OAAA,KACA,WAAA,QT3TA,iBAAA,QS6TA,OAAA,EpB/TA,cAAA,KoBkUA,mBAAA,KAAA,WAAA,KAtBJ,0CAyBM,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBA1BN,2CT1SI,iBAAA,QS0SJ,6CAmCI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YpBpVA,cAAA,KoB4SJ,gCA8CI,MAAA,KACA,OAAA,KTzVA,iBAAA,QS2VA,OAAA,EpB7VA,cAAA,KoBgWA,gBAAA,KAAA,WAAA,KApDJ,sCAuDM,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAxDN,uCT1SI,iBAAA,QS0SJ,gCAiEI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,QACA,aAAA,YpBlXA,cAAA,KoB4SJ,yBA4EI,MAAA,KACA,OAAA,KTvXA,iBAAA,QSyXA,OAAA,EpB3XA,cAAA,KoB8XA,WAAA,KAlFJ,+BAqFM,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,MAAA,oBAtFN,gCT1SI,iBAAA,QS0SJ,yBA+FI,MAAA,KACA,OAAA,MACA,MAAA,YACA,OAAA,QACA,iBAAA,YACA,aAAA,YACA,aAAA,MArGJ,8BA0GI,iBAAA,QpBtZA,cAAA,KoB4SJ,8BA+GI,aAAA,KACA,iBAAA,QpB5ZA,cAAA,KqBCJ,KACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,EACA,cAAA,EACA,WAAA,KAGF,UACE,QAAA,MACA,QAAA,MAAA,K1BCA,gBAAA,gB0BEE,gBAAA,KALJ,mBAUI,MAAA,QAQJ,UACE,cAAA,IAAA,MAAA,QADF,oBAII,cAAA,KAJJ,oBAQI,OAAA,IAAA,MAAA,YrB7BA,uBAAA,OACA,wBAAA,OqBoBJ,0BAAA,0BAYM,aAAA,QAAA,QAAA,QAZN,6BAgBM,MAAA,QACA,iBAAA,YACA,aAAA,Y5BivHN,mC4BnwHA,2BAwBI,MAAA,QACA,iBAAA,KACA,aAAA,QAAA,QAAA,KA1BJ,yBA+BI,WAAA,KrBpDA,uBAAA,EACA,wBAAA,EqB8DJ,qBrBrEI,cAAA,OqBqEJ,4B5B0uHA,2B4BnuHI,MAAA,KACA,iBAAA,QASJ,oBAEI,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,WAAA,OAIJ,yBAEI,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,WAAA,OASJ,uBAEI,QAAA,KAFJ,qBAKI,QAAA,MClGJ,QACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,QAAA,gBAAA,cACA,QAAA,MAAA,KANF,mB7B20HA,yB6B/zHI,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,QAAA,gBAAA,cASJ,cACE,QAAA,aACA,YAAA,SACA,eAAA,SACA,aAAA,KACA,UAAA,QACA,YAAA,QACA,YAAA,O3BhCA,oBAAA,oB2BmCE,gBAAA,KASJ,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,aAAA,EACA,cAAA,EACA,WAAA,KALF,sBAQI,cAAA,EACA,aAAA,EATJ,2BAaI,SAAA,OACA,MAAA,KASJ,aACE,QAAA,aACA,YAAA,MACA,eAAA,MAYF,iBACE,wBAAA,KAAA,WAAA,KACA,kBAAA,EAAA,UAAA,EAGA,eAAA,OAAA,YAAA,OAIF,gBACE,QAAA,OAAA,OACA,UAAA,QACA,YAAA,EACA,iBAAA,YACA,OAAA,IAAA,MAAA,YtB5GE,cAAA,OLYF,sBAAA,sB2BoGE,gBAAA,KATJ,8CAcI,OAAA,QAMJ,qBACE,QAAA,aACA,MAAA,MACA,OAAA,MACA,eAAA,OACA,QAAA,GACA,WAAA,UAAA,OAAA,OACA,gBAAA,KAAA,KlB7DE,4BkBuEA,6B7BqyHF,mC6BjyHQ,cAAA,EACA,aAAA,GlBzFN,yBkBoFA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXJ,8BAcM,mBAAA,IAAA,eAAA,IAdN,6CAiBQ,SAAA,SAjBR,wCAqBQ,cAAA,MACA,aAAA,MAtBR,6B7B8zHF,mC6BjyHQ,cAAA,OAAA,UAAA,OA7BN,mCAiCM,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCN,kCAwCM,QAAA,MlB/GN,4BkBuEA,6B7B+0HF,mC6B30HQ,cAAA,EACA,aAAA,GlBzFN,yBkBoFA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXJ,8BAcM,mBAAA,IAAA,eAAA,IAdN,6CAiBQ,SAAA,SAjBR,wCAqBQ,cAAA,MACA,aAAA,MAtBR,6B7Bw2HF,mC6B30HQ,cAAA,OAAA,UAAA,OA7BN,mCAiCM,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCN,kCAwCM,QAAA,MlB/GN,4BkBuEA,6B7By3HF,mC6Br3HQ,cAAA,EACA,aAAA,GlBzFN,yBkBoFA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXJ,8BAcM,mBAAA,IAAA,eAAA,IAdN,6CAiBQ,SAAA,SAjBR,wCAqBQ,cAAA,MACA,aAAA,MAtBR,6B7Bk5HF,mC6Br3HQ,cAAA,OAAA,UAAA,OA7BN,mCAiCM,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCN,kCAwCM,QAAA,MlB/GN,6BkBuEA,6B7Bm6HF,mC6B/5HQ,cAAA,EACA,aAAA,GlBzFN,0BkBoFA,kBAUI,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAXJ,8BAcM,mBAAA,IAAA,eAAA,IAdN,6CAiBQ,SAAA,SAjBR,wCAqBQ,cAAA,MACA,aAAA,MAtBR,6B7B47HF,mC6B/5HQ,cAAA,OAAA,UAAA,OA7BN,mCAiCM,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KApCN,kCAwCM,QAAA,MA7CV,eAeQ,cAAA,IAAA,OAAA,UAAA,IAAA,OACA,cAAA,MAAA,gBAAA,WAhBR,0B7Bw9HA,gC6B/8HU,cAAA,EACA,aAAA,EAVV,2BAmBU,mBAAA,IAAA,eAAA,IAnBV,0CAsBY,SAAA,SAtBZ,qCA0BY,cAAA,MACA,aAAA,MA3BZ,0B7B4+HA,gC6B18HU,cAAA,OAAA,UAAA,OAlCV,gCAsCU,QAAA,sBAAA,QAAA,eAGA,wBAAA,KAAA,WAAA,KAzCV,+BA6CU,QAAA,KAaV,4BAEI,MAAA,eAFJ,kCAAA,kCAKM,MAAA,eALN,oCAWM,MAAA,eAXN,0CAAA,0CAcQ,MAAA,eAdR,6CAkBQ,MAAA,e7Bq8HR,4CAEA,2CADA,yC6Bx9HA,0CA0BM,MAAA,eA1BN,8BA+BI,MAAA,eACA,aAAA,eAhCJ,mCAoCI,iBAAA,oPApCJ,2BAwCI,MAAA,eAxCJ,6BA0CM,MAAA,eA1CN,mCAAA,mCA6CQ,MAAA,eAOR,2BAEI,MAAA,KAFJ,iCAAA,iCAKM,MAAA,KALN,mCAWM,MAAA,qBAXN,yCAAA,yCAcQ,MAAA,sBAdR,4CAkBQ,MAAA,sB7Bi8HR,2CAEA,0CADA,wC6Bp9HA,yCA0BM,MAAA,KA1BN,6BA+BI,MAAA,qBACA,aAAA,qBAhCJ,kCAoCI,iBAAA,0PApCJ,0BAwCI,MAAA,qBAxCJ,4BA0CM,MAAA,KA1CN,kCAAA,kCA6CQ,MAAA,KClSR,MACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,UAAA,EACA,UAAA,WACA,iBAAA,KACA,gBAAA,WACA,OAAA,IAAA,MAAA,iBvBRE,cAAA,OuBAJ,SAYI,aAAA,EACA,YAAA,EAbJ,2DvBMI,uBAAA,OACA,wBAAA,OuBPJ,yDvBoBI,2BAAA,OACA,0BAAA,OuBQJ,WAGE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,QAAA,QAGF,YACE,cAAA,OAGF,eACE,WAAA,SACA,cAAA,EAGF,sBACE,cAAA,E5BtCA,iB4B2CE,gBAAA,KAFJ,sBAMI,YAAA,QAQJ,aACE,QAAA,OAAA,QACA,cAAA,EACA,iBAAA,gBACA,cAAA,IAAA,MAAA,iBAJF,yBvB/DI,cAAA,mBAAA,mBAAA,EAAA,EuB+DJ,sDAYM,WAAA,EAKN,aACE,QAAA,OAAA,QACA,iBAAA,gBACA,WAAA,IAAA,MAAA,iBAHF,wBvBhFI,cAAA,EAAA,EAAA,mBAAA,mBuB+FJ,kBACE,aAAA,SACA,cAAA,QACA,YAAA,SACA,cAAA,EAGF,mBACE,aAAA,SACA,YAAA,SAIF,kBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,QAGF,UACE,MAAA,KvBtHE,cAAA,mBuB2HJ,cACE,MAAA,KvBtHE,uBAAA,mBACA,wBAAA,mBuByHJ,iBACE,MAAA,KvB7GE,2BAAA,mBACA,0BAAA,mBuBmHJ,WACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAFF,iBAKI,cAAA,KnBrFA,yBmBgFJ,WASI,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,aAAA,MACA,YAAA,MAXJ,iBAcM,QAAA,YAAA,QAAA,KAEA,SAAA,EAAA,EAAA,GAAA,KAAA,EAAA,EAAA,GACA,mBAAA,OAAA,eAAA,OACA,aAAA,KACA,cAAA,EACA,YAAA,MAUN,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAFF,kBAOI,cAAA,KnBrHA,yBmB8GJ,YAWI,cAAA,IAAA,KAAA,UAAA,IAAA,KAXJ,kBAgBM,SAAA,EAAA,EAAA,GAAA,KAAA,EAAA,EAAA,GACA,cAAA,EAjBN,wBAoBQ,YAAA,EACA,YAAA,EArBR,8BvBzJI,wBAAA,EACA,2BAAA,EPy4IF,2C8BjvIF,4CA+BY,wBAAA,E9BstIV,2C8BrvIF,+CAmCY,2BAAA,EAnCZ,6BvB3II,uBAAA,EACA,0BAAA,EPu4IF,0C8B7vIF,2CA4CY,uBAAA,E9BqtIV,0C8BjwIF,8CAgDY,0BAAA,EAhDZ,6BvBtKI,cAAA,OP86IF,0C8BxwIF,2CvBhKI,uBAAA,OACA,wBAAA,OP46IF,0C8B7wIF,8CvBlJI,2BAAA,OACA,0BAAA,OuBiJJ,sEvBtKI,cAAA,EP67IF,mFADA,mFADA,uF8BrxIF,oFvBtKI,cAAA,GuB2PJ,oBAEI,cAAA,OnBrMA,yBmBmMJ,cAMI,qBAAA,EAAA,kBAAA,EAAA,aAAA,EACA,mBAAA,QAAA,gBAAA,QAAA,WAAA,QACA,QAAA,EACA,OAAA,EATJ,oBAYM,QAAA,aACA,MAAA,MAUN,wDAEI,cAAA,EACA,cAAA,EAHJ,8DAQM,cAAA,EARN,+BAaI,cAAA,EACA,2BAAA,EACA,0BAAA,EAfJ,8BAmBI,uBAAA,EACA,wBAAA,EC1SJ,YACE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,QAAA,OAAA,KACA,cAAA,KACA,WAAA,KACA,iBAAA,QxBFE,cAAA,OwBMJ,kCAGI,aAAA,MAHJ,0CAMM,QAAA,aACA,cAAA,MACA,MAAA,QACA,QAAA,IATN,gDAoBI,gBAAA,UApBJ,gDAwBI,gBAAA,KAxBJ,wBA4BI,MAAA,QCtCJ,YACE,QAAA,YAAA,QAAA,K5BGA,aAAA,EACA,WAAA,KGDE,cAAA,OyBEJ,WACE,SAAA,SACA,QAAA,MACA,QAAA,MAAA,OACA,YAAA,KACA,YAAA,KACA,MAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,QARF,iBAWI,QAAA,EACA,MAAA,QACA,gBAAA,KACA,iBAAA,QACA,aAAA,QAfJ,iBAmBI,QAAA,EACA,QAAA,EACA,WAAA,EAAA,EAAA,EAAA,MAAA,oBArBJ,yCA0BI,OAAA,QAIJ,kCAGM,YAAA,EzBRF,uBAAA,OACA,0BAAA,OyBIJ,iCzBnBI,wBAAA,OACA,2BAAA,OyBkBJ,6BAcI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAjBJ,+BAqBI,MAAA,QACA,eAAA,KAEA,OAAA,KACA,iBAAA,KACA,aAAA,QC3DF,0BACE,QAAA,OAAA,OACA,UAAA,QACA,YAAA,IAKE,iD1BoBF,uBAAA,MACA,0BAAA,M0BhBE,gD1BCF,wBAAA,MACA,2BAAA,M0BfF,0BACE,QAAA,OAAA,MACA,UAAA,QACA,YAAA,IAKE,iD1BoBF,uBAAA,MACA,0BAAA,M0BhBE,gD1BCF,wBAAA,MACA,2BAAA,M2BbJ,OACE,QAAA,aACA,QAAA,MAAA,KACA,UAAA,IACA,YAAA,IACA,YAAA,EACA,WAAA,OACA,YAAA,OACA,eAAA,S3BTE,cAAA,O2BCJ,aAaI,QAAA,KAKJ,YACE,SAAA,SACA,IAAA,KAOF,YACE,cAAA,KACA,aAAA,K3B9BE,cAAA,M2BuCF,eC1CA,MAAA,KACA,iBAAA,QjCcA,2BAAA,2BiCVI,MAAA,KACA,gBAAA,KACA,iBAAA,QDmCJ,iBC1CA,MAAA,KACA,iBAAA,QjCcA,6BAAA,6BiCVI,MAAA,KACA,gBAAA,KACA,iBAAA,QDmCJ,eC1CA,MAAA,KACA,iBAAA,QjCcA,2BAAA,2BiCVI,MAAA,KACA,gBAAA,KACA,iBAAA,QDmCJ,YC1CA,MAAA,KACA,iBAAA,QjCcA,wBAAA,wBiCVI,MAAA,KACA,gBAAA,KACA,iBAAA,QDmCJ,eC1CA,MAAA,QACA,iBAAA,QjCcA,2BAAA,2BiCVI,MAAA,QACA,gBAAA,KACA,iBAAA,QDmCJ,cC1CA,MAAA,KACA,iBAAA,QjCcA,0BAAA,0BiCVI,MAAA,KACA,gBAAA,KACA,iBAAA,QDmCJ,aC1CA,MAAA,QACA,iBAAA,QjCcA,yBAAA,yBiCVI,MAAA,QACA,gBAAA,KACA,iBAAA,QDmCJ,YC1CA,MAAA,KACA,iBAAA,QjCcA,wBAAA,wBiCVI,MAAA,KACA,gBAAA,KACA,iBAAA,QCRN,WACE,QAAA,KAAA,KACA,cAAA,KACA,iBAAA,Q7BCE,cAAA,MIwDA,yByB5DJ,WAOI,QAAA,KAAA,MAIJ,iBACE,cAAA,EACA,aAAA,E7BTE,cAAA,E8BAJ,OACE,SAAA,SACA,QAAA,OAAA,QACA,cAAA,KACA,OAAA,IAAA,MAAA,Y9BJE,cAAA,O8BSJ,eAEE,MAAA,QAIF,YACE,YAAA,IAQF,mBACE,cAAA,KADF,0BAKI,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,OAAA,QACA,MAAA,QAUF,eC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDqCF,iBC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,oBACE,iBAAA,QAGF,6BACE,MAAA,QDqCF,eC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDqCF,YC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,eACE,iBAAA,QAGF,wBACE,MAAA,QDqCF,eC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,kBACE,iBAAA,QAGF,2BACE,MAAA,QDqCF,cC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,iBACE,iBAAA,QAGF,0BACE,MAAA,QDqCF,aC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,gBACE,iBAAA,QAGF,yBACE,MAAA,QDqCF,YC9CA,MAAA,QpBKE,iBAAA,QoBHF,aAAA,QAEA,eACE,iBAAA,QAGF,wBACE,MAAA,QCVJ,wCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAFP,gCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAGP,UACE,QAAA,YAAA,QAAA,KACA,OAAA,KACA,SAAA,OACA,UAAA,OACA,iBAAA,QhCNE,cAAA,OgCWJ,cACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,iBAAA,QvBjBI,WAAA,MAAA,IAAA,KAIJ,kDuBMF,cvBLI,WAAA,MuBgBJ,sBrBiBE,iBAAA,iKqBfA,gBAAA,KAAA,KAGF,uBACE,kBAAA,qBAAA,GAAA,OAAA,SAAA,UAAA,qBAAA,GAAA,OAAA,SChCF,OACE,QAAA,YAAA,QAAA,KACA,eAAA,MAAA,YAAA,WAGF,YACE,SAAA,EAAA,KAAA,ECFF,YACE,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OAGA,aAAA,EACA,cAAA,EASF,wBACE,MAAA,KACA,MAAA,QACA,WAAA,QvCNA,8BAAA,8BuCUE,MAAA,QACA,gBAAA,KACA,iBAAA,QATJ,+BAaI,MAAA,QACA,iBAAA,QASJ,iBACE,SAAA,SACA,QAAA,MACA,QAAA,OAAA,QAEA,cAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,iBAPF,6BlChCI,uBAAA,OACA,wBAAA,OkC+BJ,4BAcI,cAAA,ElChCA,2BAAA,OACA,0BAAA,OLTF,uBAAA,uBuC6CE,QAAA,EACA,gBAAA,KApBJ,0BAAA,0BAyBI,MAAA,QACA,iBAAA,KA1BJ,wBA+BI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAUJ,mCAEI,aAAA,EACA,YAAA,ElCrFA,cAAA,EkCkFJ,2DASM,WAAA,EATN,yDAeM,cAAA,EClGJ,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,2BACE,MAAA,QACA,iBAAA,QxCWF,wDAAA,wDwCPM,MAAA,QACA,iBAAA,QAPN,yDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,sBACE,MAAA,QACA,iBAAA,QxCWF,mDAAA,mDwCPM,MAAA,QACA,iBAAA,QAPN,oDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,yBACE,MAAA,QACA,iBAAA,QxCWF,sDAAA,sDwCPM,MAAA,QACA,iBAAA,QAPN,uDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,wBACE,MAAA,QACA,iBAAA,QxCWF,qDAAA,qDwCPM,MAAA,QACA,iBAAA,QAPN,sDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,uBACE,MAAA,QACA,iBAAA,QxCWF,oDAAA,oDwCPM,MAAA,QACA,iBAAA,QAPN,qDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QAbN,sBACE,MAAA,QACA,iBAAA,QxCWF,mDAAA,mDwCPM,MAAA,QACA,iBAAA,QAPN,oDAWM,MAAA,KACA,iBAAA,QACA,aAAA,QChBR,OACE,MAAA,MACA,UAAA,OACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,YAAA,EAAA,IAAA,EAAA,KACA,QAAA,GzCSA,aAAA,ayCNE,MAAA,KACA,gBAAA,KACA,QAAA,IAZJ,qCAiBI,OAAA,QAUJ,aACE,QAAA,EACA,iBAAA,YACA,OAAA,EACA,mBAAA,KCxBF,YACE,SAAA,OAIF,OACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,SAAA,OAGA,QAAA,EAKA,mBACE,WAAA,OACA,WAAA,KAKJ,cACE,SAAA,SACA,MAAA,KACA,OAAA,MAEA,eAAA,KAGA,0B5BtCI,WAAA,kBAAA,IAAA,SAAA,WAAA,UAAA,IAAA,SAAA,WAAA,UAAA,IAAA,QAAA,CAAA,kBAAA,IAAA,S4BwCF,kBAAA,kBAAA,UAAA,kB5BpCF,kD4BkCA,0B5BjCE,WAAA,M4BqCF,0BACE,kBAAA,eAAA,UAAA,eAIJ,uBACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,WAAA,yBAIF,eACE,SAAA,SACA,QAAA,YAAA,QAAA,KACA,mBAAA,OAAA,eAAA,OACA,MAAA,KAEA,eAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,erChEE,cAAA,MqCoEF,QAAA,EAIF,gBACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KACA,iBAAA,KAPF,qBAUW,QAAA,EAVX,qBAWW,QAAA,GAKX,cACE,QAAA,YAAA,QAAA,KACA,eAAA,MAAA,YAAA,WACA,cAAA,QAAA,gBAAA,cACA,QAAA,KACA,cAAA,IAAA,MAAA,QrCvFE,uBAAA,MACA,wBAAA,MqCiFJ,qBASI,QAAA,KAEA,OAAA,MAAA,MAAA,MAAA,KAKJ,aACE,cAAA,EACA,YAAA,IAKF,YACE,SAAA,SAGA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,QAAA,KAIF,cACE,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,IAAA,gBAAA,SACA,QAAA,KACA,WAAA,IAAA,MAAA,QALF,iCAQyB,YAAA,OARzB,gCASwB,aAAA,OAIxB,yBACE,SAAA,SACA,IAAA,QACA,MAAA,KACA,OAAA,KACA,SAAA,OjClFE,yBiCwFF,cACE,UAAA,MACA,OAAA,QAAA,KAGF,uBACE,WAAA,2BAOF,UAAY,UAAA,OjCrGV,yBiC0GF,UAAY,UAAA,OCrKd,SACE,SAAA,SACA,QAAA,KACA,QAAA,MACA,OAAA,ECJA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KDNA,UAAA,QAEA,UAAA,WACA,QAAA,EAXF,cAaW,QAAA,GAbX,gBAgBI,SAAA,SACA,QAAA,MACA,MAAA,MACA,OAAA,MAnBJ,wBAsBM,SAAA,SACA,QAAA,GACA,aAAA,YACA,aAAA,MAKN,mCAAA,gBACE,QAAA,MAAA,EADF,0CAAA,uBAII,OAAA,EAJJ,kDAAA,+BAOM,IAAA,EACA,aAAA,MAAA,MAAA,EACA,iBAAA,KAKN,qCAAA,kBACE,QAAA,EAAA,MADF,4CAAA,yBAII,KAAA,EACA,MAAA,MACA,OAAA,MANJ,oDAAA,iCASM,MAAA,EACA,aAAA,MAAA,MAAA,MAAA,EACA,mBAAA,KAKN,sCAAA,mBACE,QAAA,MAAA,EADF,6CAAA,0BAII,IAAA,EAJJ,qDAAA,kCAOM,OAAA,EACA,aAAA,EAAA,MAAA,MACA,oBAAA,KAKN,oCAAA,iBACE,QAAA,EAAA,MADF,2CAAA,wBAII,MAAA,EACA,MAAA,MACA,OAAA,MANJ,mDAAA,gCASM,KAAA,EACA,aAAA,MAAA,EAAA,MAAA,MACA,kBAAA,KAqBN,eACE,UAAA,MACA,QAAA,OAAA,MACA,MAAA,KACA,WAAA,OACA,iBAAA,KtC5GE,cAAA,OwCJJ,SACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,MACA,UAAA,MDLA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,kBAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KCLA,UAAA,QAEA,UAAA,WACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,exCXE,cAAA,MwCJJ,gBAoBI,SAAA,SACA,QAAA,MACA,MAAA,KACA,OAAA,MACA,OAAA,EAAA,MAxBJ,uBAAA,wBA4BM,SAAA,SACA,QAAA,MACA,QAAA,GACA,aAAA,YACA,aAAA,MAKN,mCAAA,gBACE,cAAA,MADF,0CAAA,uBAII,OAAA,yB/Ci9K2B,iD+Cr9K/B,kD/Cq9KA,8B+Cr9KA,+BASI,aAAA,MAAA,MAAA,EATJ,kDAAA,+BAaI,OAAA,EACA,iBAAA,gBAdJ,iDAAA,8BAkBI,OAAA,IACA,iBAAA,KAIJ,qCAAA,kBACE,YAAA,MADF,4CAAA,yBAII,KAAA,yBACA,MAAA,MACA,OAAA,KACA,OAAA,MAAA,E/Ci9K6B,mD+Cx9KjC,oD/Cw9KA,gC+Cx9KA,iCAYI,aAAA,MAAA,MAAA,MAAA,EAZJ,oDAAA,iCAgBI,KAAA,EACA,mBAAA,gBAjBJ,mDAAA,gCAqBI,KAAA,IACA,mBAAA,KAIJ,sCAAA,mBACE,WAAA,MADF,6CAAA,0BAII,IAAA,yB/Ci9K8B,oD+Cr9KlC,qD/Cq9KA,iC+Cr9KA,kCASI,aAAA,EAAA,MAAA,MAAA,MATJ,qDAAA,kCAaI,IAAA,EACA,oBAAA,gBAdJ,oDAAA,iCAkBI,IAAA,IACA,oBAAA,KAnBJ,8DAAA,2CAwBI,SAAA,SACA,IAAA,EACA,KAAA,IACA,QAAA,MACA,MAAA,KACA,YAAA,OACA,QAAA,GACA,cAAA,IAAA,MAAA,QAIJ,oCAAA,iBACE,aAAA,MADF,2CAAA,wBAII,MAAA,yBACA,MAAA,MACA,OAAA,KACA,OAAA,MAAA,E/Cg9K4B,kD+Cv9KhC,mD/Cu9KA,+B+Cv9KA,gCAYI,aAAA,MAAA,EAAA,MAAA,MAZJ,mDAAA,gCAgBI,MAAA,EACA,kBAAA,gBAjBJ,kDAAA,+BAqBI,MAAA,IACA,kBAAA,KAqBJ,gBACE,QAAA,MAAA,OACA,cAAA,EACA,UAAA,KACA,MAAA,QACA,iBAAA,QACA,cAAA,IAAA,MAAA,QxChKE,uBAAA,kBACA,wBAAA,kBwCyJJ,sBAWI,QAAA,KAIJ,cACE,QAAA,MAAA,OACA,MAAA,QC3KF,UACE,SAAA,SAGF,gBACE,SAAA,SACA,MAAA,KACA,SAAA,OAGF,eACE,SAAA,SACA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,MAAA,KhCnBI,WAAA,kBAAA,IAAA,KAAA,WAAA,UAAA,IAAA,KAAA,WAAA,UAAA,IAAA,IAAA,CAAA,kBAAA,IAAA,KgCqBJ,4BAAA,OAAA,oBAAA,OACA,oBAAA,OAAA,YAAA,OhClBA,kDgCWF,ehCVI,WAAA,MhBwoLJ,oBACA,oBgDrnLA,sBAGE,QAAA,MAGF,oBhDonLA,oBgDlnLE,SAAA,SACA,IAAA,EAGF,uChDonLA,wCgDlnLE,kBAAA,cAAA,UAAA,cAEwC,mFAJ1C,uChD2nLE,wCgDtnLE,kBAAA,mBAAA,UAAA,oBhD6nLJ,4BgDznLA,oBAEE,kBAAA,iBAAA,UAAA,iBAEwC,mFhD4nLxC,4BgDhoLF,oBAKI,kBAAA,sBAAA,UAAA,uBhDkoLJ,2BgD9nLA,oBAEE,kBAAA,kBAAA,UAAA,kBAEwC,mFhDioLxC,2BgDroLF,oBAKI,kBAAA,uBAAA,UAAA,wBASJ,8BAEI,QAAA,EACA,oBAAA,IACA,oBAAA,QhDgoLJ,sDACA,uDgDroLA,qCAUI,QAAA,EAVJ,0ChD0oLA,2CgD3nLI,QAAA,EhDkoLJ,0CACA,0CgDlpLA,mChD+oLA,mCACA,qCgDznLI,kBAAA,cAAA,UAAA,cAEwC,mFhDkoL1C,0CACA,0CgD5pLF,mChDypLE,mCACA,qCgDhoLI,kBAAA,mBAAA,UAAA,oBhDyoLN,uBgD/nLA,uBAEE,SAAA,SACA,IAAA,EACA,OAAA,EAEA,QAAA,YAAA,QAAA,KACA,eAAA,OAAA,YAAA,OACA,cAAA,OAAA,gBAAA,OACA,MAAA,IACA,MAAA,KACA,WAAA,OACA,QAAA,GhDqoLF,6BADA,6BE9uLE,6BAAA,6B8CgHE,MAAA,KACA,gBAAA,KACA,QAAA,EACA,QAAA,GAGJ,uBACE,KAAA,EAKF,uBACE,MAAA,EhDkoLF,4BgD3nLA,4BAEE,QAAA,aACA,MAAA,KACA,OAAA,KACA,WAAA,YAAA,UAAA,OAAA,OACA,gBAAA,KAAA,KAEF,4BACE,iBAAA,+LAEF,4BACE,iBAAA,+LASF,qBACE,SAAA,SACA,MAAA,EACA,OAAA,KACA,KAAA,EACA,QAAA,GACA,QAAA,YAAA,QAAA,KACA,cAAA,OAAA,gBAAA,OACA,aAAA,EAEA,aAAA,IACA,YAAA,IACA,WAAA,KAZF,wBAeI,SAAA,SACA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,OAAA,IACA,aAAA,IACA,YAAA,IACA,YAAA,OACA,iBAAA,qBAtBJ,gCA0BM,SAAA,SACA,IAAA,MACA,KAAA,EACA,QAAA,aACA,MAAA,KACA,OAAA,KACA,QAAA,GAhCN,+BAmCM,SAAA,SACA,OAAA,MACA,KAAA,EACA,QAAA,aACA,MAAA,KACA,OAAA,KACA,QAAA,GAzCN,6BA8CI,iBAAA,KASJ,kBACE,SAAA,SACA,MAAA,IACA,OAAA,KACA,KAAA,IACA,QAAA,GACA,YAAA,KACA,eAAA,KACA,MAAA,KACA,WAAA,OCvOF,gBAAqB,eAAA,mBACrB,WAAqB,eAAA,cACrB,cAAqB,eAAA,iBACrB,cAAqB,eAAA,iBACrB,mBAAqB,eAAA,sBACrB,gBAAqB,eAAA,mBCFnB,YACE,iBAAA,kBhDUF,mBAAA,mBF62LF,wBADA,wBkDj3LM,iBAAA,kBANJ,cACE,iBAAA,kBhDUF,qBAAA,qBFu3LF,0BADA,0BkD33LM,iBAAA,kBANJ,YACE,iBAAA,kBhDUF,mBAAA,mBFi4LF,wBADA,wBkDr4LM,iBAAA,kBANJ,SACE,iBAAA,kBhDUF,gBAAA,gBF24LF,qBADA,qBkD/4LM,iBAAA,kBANJ,YACE,iBAAA,kBhDUF,mBAAA,mBFq5LF,wBADA,wBkDz5LM,iBAAA,kBANJ,WACE,iBAAA,kBhDUF,kBAAA,kBF+5LF,uBADA,uBkDn6LM,iBAAA,kBANJ,UACE,iBAAA,kBhDUF,iBAAA,iBFy6LF,sBADA,sBkD76LM,iBAAA,kBANJ,SACE,iBAAA,kBhDUF,gBAAA,gBFm7LF,qBADA,qBkDv7LM,iBAAA,kBCCN,UACE,iBAAA,eAGF,gBACE,iBAAA,sBCXF,QAAkB,OAAA,IAAA,MAAA,kBAClB,YAAkB,WAAA,IAAA,MAAA,kBAClB,cAAkB,aAAA,IAAA,MAAA,kBAClB,eAAkB,cAAA,IAAA,MAAA,kBAClB,aAAkB,YAAA,IAAA,MAAA,kBAElB,UAAmB,OAAA,YACnB,cAAmB,WAAA,YACnB,gBAAmB,aAAA,YACnB,iBAAmB,cAAA,YACnB,eAAmB,YAAA,YAGjB,gBACE,aAAA,kBADF,kBACE,aAAA,kBADF,gBACE,aAAA,kBADF,aACE,aAAA,kBADF,gBACE,aAAA,kBADF,eACE,aAAA,kBADF,cACE,aAAA,kBADF,aACE,aAAA,kBAIJ,cACE,aAAA,eAOF,SACE,cAAA,iBAEF,aACE,uBAAA,iBACA,wBAAA,iBAEF,eACE,wBAAA,iBACA,2BAAA,iBAEF,gBACE,2BAAA,iBACA,0BAAA,iBAEF,cACE,uBAAA,iBACA,0BAAA,iBAGF,gBACE,cAAA,cAGF,WACE,cAAA,YCxDA,iBACE,QAAA,MACA,MAAA,KACA,QAAA,GCMA,QAA2B,QAAA,eAC3B,UAA2B,QAAA,iBAC3B,gBAA2B,QAAA,uBAC3B,SAA2B,QAAA,gBAC3B,SAA2B,QAAA,gBAC3B,aAA2B,QAAA,oBAC3B,cAA2B,QAAA,qBAC3B,QAA2B,QAAA,sBAAA,QAAA,eAC3B,eAA2B,QAAA,6BAAA,QAAA,sB3C0C3B,yB2ClDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uB3C0C3B,yB2ClDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uB3C0C3B,yB2ClDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uB3C0C3B,0B2ClDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uBAS/B,aACE,cAAwB,QAAA,eACxB,gBAAwB,QAAA,iBACxB,sBAAwB,QAAA,uBACxB,eAAwB,QAAA,gBACxB,eAAwB,QAAA,gBACxB,mBAAwB,QAAA,oBACxB,oBAAwB,QAAA,qBACxB,cAAwB,QAAA,sBAAA,QAAA,eACxB,qBAAwB,QAAA,6BAAA,QAAA,uBClC1B,kBACE,SAAA,SACA,QAAA,MACA,MAAA,KACA,QAAA,EACA,SAAA,OALF,0BAQI,QAAA,MACA,QAAA,GATJ,yCvDoxMA,wBADA,yBAEA,yBACA,wBuDrwMI,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,KACA,OAAA,KACA,OAAA,EAIJ,gCAEI,YAAA,WAIJ,gCAEI,YAAA,OAIJ,+BAEI,YAAA,IAIJ,+BAEI,YAAA,KCvCA,UAAgC,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,cAAA,eAAA,UAAA,eAC9B,aAA8B,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,cAAA,uBAAA,UAAA,uBAC9B,WAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAE9B,uBAAoC,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,eAAA,cAAA,YAAA,mBACjC,oBAAiC,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,oBAAA,eAAA,WAAA,eAChC,kBAAgC,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,oBAAA,iBAAA,WAAA,iBAChC,qBAAgC,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,oBAAA,kBAAA,WAAA,kB7CYhC,yB6ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB7CYhC,yB6ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB7CYhC,yB6ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mB7CYhC,0B6ClDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBC5ChC,YCDF,MAAA,eDEE,aCCF,MAAA,gBDAE,YCGF,MAAA,e/CmDE,yB8CxDA,eCDF,MAAA,eDEE,gBCCF,MAAA,gBDAE,eCGF,MAAA,gB/CmDE,yB8CxDA,eCDF,MAAA,eDEE,gBCCF,MAAA,gBDAE,eCGF,MAAA,gB/CmDE,yB8CxDA,eCDF,MAAA,eDEE,gBCCF,MAAA,gBDAE,eCGF,MAAA,gB/CmDE,0B8CxDA,eCDF,MAAA,eDEE,gBCCF,MAAA,gBDAE,eCGF,MAAA,gBCAA,iBAAyB,SAAA,iBAAzB,mBAAyB,SAAA,mBAAzB,mBAAyB,SAAA,mBAAzB,gBAAyB,SAAA,gBAAzB,iBAAyB,SAAA,yBAAA,SAAA,iBAK3B,WACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,KAGF,cACE,SAAA,MACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KAI4B,2DAD9B,YAEI,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,MC9BJ,SCEE,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EACA,SAAA,OACA,KAAA,cACA,YAAA,OACA,OAAA,EAUA,0BAAA,yBAEE,SAAA,OACA,MAAA,KACA,OAAA,KACA,SAAA,QACA,KAAA,KACA,YAAA,OC5BJ,WAAa,WAAA,EAAA,QAAA,OAAA,2BACb,QAAU,WAAA,EAAA,MAAA,KAAA,0BACV,WAAa,WAAA,EAAA,KAAA,KAAA,2BACb,aAAe,WAAA,eCCX,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,OAAuB,MAAA,eAAvB,QAAuB,MAAA,eAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,OAAuB,OAAA,eAAvB,QAAuB,OAAA,eAI3B,QAAU,UAAA,eACV,QAAU,WAAA,eCAF,KAAgC,OAAA,YAChC,MhE+rOR,MgE7rOU,WAAA,YAEF,MhEgsOR,MgE9rOU,aAAA,YAEF,MhEisOR,MgE/rOU,cAAA,YAEF,MhEksOR,MgEhsOU,YAAA,YAfF,KAAgC,OAAA,iBAChC,MhEutOR,MgErtOU,WAAA,iBAEF,MhEwtOR,MgEttOU,aAAA,iBAEF,MhEytOR,MgEvtOU,cAAA,iBAEF,MhE0tOR,MgExtOU,YAAA,iBAfF,KAAgC,OAAA,gBAChC,MhE+uOR,MgE7uOU,WAAA,gBAEF,MhEgvOR,MgE9uOU,aAAA,gBAEF,MhEivOR,MgE/uOU,cAAA,gBAEF,MhEkvOR,MgEhvOU,YAAA,gBAfF,KAAgC,OAAA,eAChC,MhEuwOR,MgErwOU,WAAA,eAEF,MhEwwOR,MgEtwOU,aAAA,eAEF,MhEywOR,MgEvwOU,cAAA,eAEF,MhE0wOR,MgExwOU,YAAA,eAfF,KAAgC,OAAA,iBAChC,MhE+xOR,MgE7xOU,WAAA,iBAEF,MhEgyOR,MgE9xOU,aAAA,iBAEF,MhEiyOR,MgE/xOU,cAAA,iBAEF,MhEkyOR,MgEhyOU,YAAA,iBAfF,KAAgC,OAAA,eAChC,MhEuzOR,MgErzOU,WAAA,eAEF,MhEwzOR,MgEtzOU,aAAA,eAEF,MhEyzOR,MgEvzOU,cAAA,eAEF,MhE0zOR,MgExzOU,YAAA,eAfF,KAAgC,QAAA,YAChC,MhE+0OR,MgE70OU,YAAA,YAEF,MhEg1OR,MgE90OU,cAAA,YAEF,MhEi1OR,MgE/0OU,eAAA,YAEF,MhEk1OR,MgEh1OU,aAAA,YAfF,KAAgC,QAAA,iBAChC,MhEu2OR,MgEr2OU,YAAA,iBAEF,MhEw2OR,MgEt2OU,cAAA,iBAEF,MhEy2OR,MgEv2OU,eAAA,iBAEF,MhE02OR,MgEx2OU,aAAA,iBAfF,KAAgC,QAAA,gBAChC,MhE+3OR,MgE73OU,YAAA,gBAEF,MhEg4OR,MgE93OU,cAAA,gBAEF,MhEi4OR,MgE/3OU,eAAA,gBAEF,MhEk4OR,MgEh4OU,aAAA,gBAfF,KAAgC,QAAA,eAChC,MhEu5OR,MgEr5OU,YAAA,eAEF,MhEw5OR,MgEt5OU,cAAA,eAEF,MhEy5OR,MgEv5OU,eAAA,eAEF,MhE05OR,MgEx5OU,aAAA,eAfF,KAAgC,QAAA,iBAChC,MhE+6OR,MgE76OU,YAAA,iBAEF,MhEg7OR,MgE96OU,cAAA,iBAEF,MhEi7OR,MgE/6OU,eAAA,iBAEF,MhEk7OR,MgEh7OU,aAAA,iBAfF,KAAgC,QAAA,eAChC,MhEu8OR,MgEr8OU,YAAA,eAEF,MhEw8OR,MgEt8OU,cAAA,eAEF,MhEy8OR,MgEv8OU,eAAA,eAEF,MhE08OR,MgEx8OU,aAAA,eAMN,QAAmB,OAAA,eACnB,ShE08OJ,SgEx8OM,WAAA,eAEF,ShE28OJ,SgEz8OM,aAAA,eAEF,ShE48OJ,SgE18OM,cAAA,eAEF,ShE68OJ,SgE38OM,YAAA,erDaF,yBqDjDI,QAAgC,OAAA,YAChC,ShEu/ON,SgEr/OQ,WAAA,YAEF,ShEu/ON,SgEr/OQ,aAAA,YAEF,ShEu/ON,SgEr/OQ,cAAA,YAEF,ShEu/ON,SgEr/OQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,ShE0gPN,SgExgPQ,WAAA,iBAEF,ShE0gPN,SgExgPQ,aAAA,iBAEF,ShE0gPN,SgExgPQ,cAAA,iBAEF,ShE0gPN,SgExgPQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,ShE6hPN,SgE3hPQ,WAAA,gBAEF,ShE6hPN,SgE3hPQ,aAAA,gBAEF,ShE6hPN,SgE3hPQ,cAAA,gBAEF,ShE6hPN,SgE3hPQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,ShEgjPN,SgE9iPQ,WAAA,eAEF,ShEgjPN,SgE9iPQ,aAAA,eAEF,ShEgjPN,SgE9iPQ,cAAA,eAEF,ShEgjPN,SgE9iPQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,ShEmkPN,SgEjkPQ,WAAA,iBAEF,ShEmkPN,SgEjkPQ,aAAA,iBAEF,ShEmkPN,SgEjkPQ,cAAA,iBAEF,ShEmkPN,SgEjkPQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,ShEslPN,SgEplPQ,WAAA,eAEF,ShEslPN,SgEplPQ,aAAA,eAEF,ShEslPN,SgEplPQ,cAAA,eAEF,ShEslPN,SgEplPQ,YAAA,eAfF,QAAgC,QAAA,YAChC,ShEymPN,SgEvmPQ,YAAA,YAEF,ShEymPN,SgEvmPQ,cAAA,YAEF,ShEymPN,SgEvmPQ,eAAA,YAEF,ShEymPN,SgEvmPQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,ShE4nPN,SgE1nPQ,YAAA,iBAEF,ShE4nPN,SgE1nPQ,cAAA,iBAEF,ShE4nPN,SgE1nPQ,eAAA,iBAEF,ShE4nPN,SgE1nPQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,ShE+oPN,SgE7oPQ,YAAA,gBAEF,ShE+oPN,SgE7oPQ,cAAA,gBAEF,ShE+oPN,SgE7oPQ,eAAA,gBAEF,ShE+oPN,SgE7oPQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,ShEkqPN,SgEhqPQ,YAAA,eAEF,ShEkqPN,SgEhqPQ,cAAA,eAEF,ShEkqPN,SgEhqPQ,eAAA,eAEF,ShEkqPN,SgEhqPQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,ShEqrPN,SgEnrPQ,YAAA,iBAEF,ShEqrPN,SgEnrPQ,cAAA,iBAEF,ShEqrPN,SgEnrPQ,eAAA,iBAEF,ShEqrPN,SgEnrPQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,ShEwsPN,SgEtsPQ,YAAA,eAEF,ShEwsPN,SgEtsPQ,cAAA,eAEF,ShEwsPN,SgEtsPQ,eAAA,eAEF,ShEwsPN,SgEtsPQ,aAAA,eAMN,WAAmB,OAAA,eACnB,YhEssPF,YgEpsPI,WAAA,eAEF,YhEssPF,YgEpsPI,aAAA,eAEF,YhEssPF,YgEpsPI,cAAA,eAEF,YhEssPF,YgEpsPI,YAAA,gBrDaF,yBqDjDI,QAAgC,OAAA,YAChC,ShEivPN,SgE/uPQ,WAAA,YAEF,ShEivPN,SgE/uPQ,aAAA,YAEF,ShEivPN,SgE/uPQ,cAAA,YAEF,ShEivPN,SgE/uPQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,ShEowPN,SgElwPQ,WAAA,iBAEF,ShEowPN,SgElwPQ,aAAA,iBAEF,ShEowPN,SgElwPQ,cAAA,iBAEF,ShEowPN,SgElwPQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,ShEuxPN,SgErxPQ,WAAA,gBAEF,ShEuxPN,SgErxPQ,aAAA,gBAEF,ShEuxPN,SgErxPQ,cAAA,gBAEF,ShEuxPN,SgErxPQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,ShE0yPN,SgExyPQ,WAAA,eAEF,ShE0yPN,SgExyPQ,aAAA,eAEF,ShE0yPN,SgExyPQ,cAAA,eAEF,ShE0yPN,SgExyPQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,ShE6zPN,SgE3zPQ,WAAA,iBAEF,ShE6zPN,SgE3zPQ,aAAA,iBAEF,ShE6zPN,SgE3zPQ,cAAA,iBAEF,ShE6zPN,SgE3zPQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,ShEg1PN,SgE90PQ,WAAA,eAEF,ShEg1PN,SgE90PQ,aAAA,eAEF,ShEg1PN,SgE90PQ,cAAA,eAEF,ShEg1PN,SgE90PQ,YAAA,eAfF,QAAgC,QAAA,YAChC,ShEm2PN,SgEj2PQ,YAAA,YAEF,ShEm2PN,SgEj2PQ,cAAA,YAEF,ShEm2PN,SgEj2PQ,eAAA,YAEF,ShEm2PN,SgEj2PQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,ShEs3PN,SgEp3PQ,YAAA,iBAEF,ShEs3PN,SgEp3PQ,cAAA,iBAEF,ShEs3PN,SgEp3PQ,eAAA,iBAEF,ShEs3PN,SgEp3PQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,ShEy4PN,SgEv4PQ,YAAA,gBAEF,ShEy4PN,SgEv4PQ,cAAA,gBAEF,ShEy4PN,SgEv4PQ,eAAA,gBAEF,ShEy4PN,SgEv4PQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,ShE45PN,SgE15PQ,YAAA,eAEF,ShE45PN,SgE15PQ,cAAA,eAEF,ShE45PN,SgE15PQ,eAAA,eAEF,ShE45PN,SgE15PQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,ShE+6PN,SgE76PQ,YAAA,iBAEF,ShE+6PN,SgE76PQ,cAAA,iBAEF,ShE+6PN,SgE76PQ,eAAA,iBAEF,ShE+6PN,SgE76PQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,ShEk8PN,SgEh8PQ,YAAA,eAEF,ShEk8PN,SgEh8PQ,cAAA,eAEF,ShEk8PN,SgEh8PQ,eAAA,eAEF,ShEk8PN,SgEh8PQ,aAAA,eAMN,WAAmB,OAAA,eACnB,YhEg8PF,YgE97PI,WAAA,eAEF,YhEg8PF,YgE97PI,aAAA,eAEF,YhEg8PF,YgE97PI,cAAA,eAEF,YhEg8PF,YgE97PI,YAAA,gBrDaF,yBqDjDI,QAAgC,OAAA,YAChC,ShE2+PN,SgEz+PQ,WAAA,YAEF,ShE2+PN,SgEz+PQ,aAAA,YAEF,ShE2+PN,SgEz+PQ,cAAA,YAEF,ShE2+PN,SgEz+PQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,ShE8/PN,SgE5/PQ,WAAA,iBAEF,ShE8/PN,SgE5/PQ,aAAA,iBAEF,ShE8/PN,SgE5/PQ,cAAA,iBAEF,ShE8/PN,SgE5/PQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,ShEihQN,SgE/gQQ,WAAA,gBAEF,ShEihQN,SgE/gQQ,aAAA,gBAEF,ShEihQN,SgE/gQQ,cAAA,gBAEF,ShEihQN,SgE/gQQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,ShEoiQN,SgEliQQ,WAAA,eAEF,ShEoiQN,SgEliQQ,aAAA,eAEF,ShEoiQN,SgEliQQ,cAAA,eAEF,ShEoiQN,SgEliQQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,ShEujQN,SgErjQQ,WAAA,iBAEF,ShEujQN,SgErjQQ,aAAA,iBAEF,ShEujQN,SgErjQQ,cAAA,iBAEF,ShEujQN,SgErjQQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,ShE0kQN,SgExkQQ,WAAA,eAEF,ShE0kQN,SgExkQQ,aAAA,eAEF,ShE0kQN,SgExkQQ,cAAA,eAEF,ShE0kQN,SgExkQQ,YAAA,eAfF,QAAgC,QAAA,YAChC,ShE6lQN,SgE3lQQ,YAAA,YAEF,ShE6lQN,SgE3lQQ,cAAA,YAEF,ShE6lQN,SgE3lQQ,eAAA,YAEF,ShE6lQN,SgE3lQQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,ShEgnQN,SgE9mQQ,YAAA,iBAEF,ShEgnQN,SgE9mQQ,cAAA,iBAEF,ShEgnQN,SgE9mQQ,eAAA,iBAEF,ShEgnQN,SgE9mQQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,ShEmoQN,SgEjoQQ,YAAA,gBAEF,ShEmoQN,SgEjoQQ,cAAA,gBAEF,ShEmoQN,SgEjoQQ,eAAA,gBAEF,ShEmoQN,SgEjoQQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,ShEspQN,SgEppQQ,YAAA,eAEF,ShEspQN,SgEppQQ,cAAA,eAEF,ShEspQN,SgEppQQ,eAAA,eAEF,ShEspQN,SgEppQQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,ShEyqQN,SgEvqQQ,YAAA,iBAEF,ShEyqQN,SgEvqQQ,cAAA,iBAEF,ShEyqQN,SgEvqQQ,eAAA,iBAEF,ShEyqQN,SgEvqQQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,ShE4rQN,SgE1rQQ,YAAA,eAEF,ShE4rQN,SgE1rQQ,cAAA,eAEF,ShE4rQN,SgE1rQQ,eAAA,eAEF,ShE4rQN,SgE1rQQ,aAAA,eAMN,WAAmB,OAAA,eACnB,YhE0rQF,YgExrQI,WAAA,eAEF,YhE0rQF,YgExrQI,aAAA,eAEF,YhE0rQF,YgExrQI,cAAA,eAEF,YhE0rQF,YgExrQI,YAAA,gBrDaF,0BqDjDI,QAAgC,OAAA,YAChC,ShEquQN,SgEnuQQ,WAAA,YAEF,ShEquQN,SgEnuQQ,aAAA,YAEF,ShEquQN,SgEnuQQ,cAAA,YAEF,ShEquQN,SgEnuQQ,YAAA,YAfF,QAAgC,OAAA,iBAChC,ShEwvQN,SgEtvQQ,WAAA,iBAEF,ShEwvQN,SgEtvQQ,aAAA,iBAEF,ShEwvQN,SgEtvQQ,cAAA,iBAEF,ShEwvQN,SgEtvQQ,YAAA,iBAfF,QAAgC,OAAA,gBAChC,ShE2wQN,SgEzwQQ,WAAA,gBAEF,ShE2wQN,SgEzwQQ,aAAA,gBAEF,ShE2wQN,SgEzwQQ,cAAA,gBAEF,ShE2wQN,SgEzwQQ,YAAA,gBAfF,QAAgC,OAAA,eAChC,ShE8xQN,SgE5xQQ,WAAA,eAEF,ShE8xQN,SgE5xQQ,aAAA,eAEF,ShE8xQN,SgE5xQQ,cAAA,eAEF,ShE8xQN,SgE5xQQ,YAAA,eAfF,QAAgC,OAAA,iBAChC,ShEizQN,SgE/yQQ,WAAA,iBAEF,ShEizQN,SgE/yQQ,aAAA,iBAEF,ShEizQN,SgE/yQQ,cAAA,iBAEF,ShEizQN,SgE/yQQ,YAAA,iBAfF,QAAgC,OAAA,eAChC,ShEo0QN,SgEl0QQ,WAAA,eAEF,ShEo0QN,SgEl0QQ,aAAA,eAEF,ShEo0QN,SgEl0QQ,cAAA,eAEF,ShEo0QN,SgEl0QQ,YAAA,eAfF,QAAgC,QAAA,YAChC,ShEu1QN,SgEr1QQ,YAAA,YAEF,ShEu1QN,SgEr1QQ,cAAA,YAEF,ShEu1QN,SgEr1QQ,eAAA,YAEF,ShEu1QN,SgEr1QQ,aAAA,YAfF,QAAgC,QAAA,iBAChC,ShE02QN,SgEx2QQ,YAAA,iBAEF,ShE02QN,SgEx2QQ,cAAA,iBAEF,ShE02QN,SgEx2QQ,eAAA,iBAEF,ShE02QN,SgEx2QQ,aAAA,iBAfF,QAAgC,QAAA,gBAChC,ShE63QN,SgE33QQ,YAAA,gBAEF,ShE63QN,SgE33QQ,cAAA,gBAEF,ShE63QN,SgE33QQ,eAAA,gBAEF,ShE63QN,SgE33QQ,aAAA,gBAfF,QAAgC,QAAA,eAChC,ShEg5QN,SgE94QQ,YAAA,eAEF,ShEg5QN,SgE94QQ,cAAA,eAEF,ShEg5QN,SgE94QQ,eAAA,eAEF,ShEg5QN,SgE94QQ,aAAA,eAfF,QAAgC,QAAA,iBAChC,ShEm6QN,SgEj6QQ,YAAA,iBAEF,ShEm6QN,SgEj6QQ,cAAA,iBAEF,ShEm6QN,SgEj6QQ,eAAA,iBAEF,ShEm6QN,SgEj6QQ,aAAA,iBAfF,QAAgC,QAAA,eAChC,ShEs7QN,SgEp7QQ,YAAA,eAEF,ShEs7QN,SgEp7QQ,cAAA,eAEF,ShEs7QN,SgEp7QQ,eAAA,eAEF,ShEs7QN,SgEp7QQ,aAAA,eAMN,WAAmB,OAAA,eACnB,YhEo7QF,YgEl7QI,WAAA,eAEF,YhEo7QF,YgEl7QI,aAAA,eAEF,YhEo7QF,YgEl7QI,cAAA,eAEF,YhEo7QF,YgEl7QI,YAAA,gBCzCN,gBAAkB,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UAIlB,cAAiB,WAAA,kBACjB,aAAiB,YAAA,iBACjB,eCRE,SAAA,OACA,cAAA,SACA,YAAA,ODcE,WAAwB,WAAA,eACxB,YAAwB,WAAA,gBACxB,aAAwB,WAAA,iBtDsCxB,yBsDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBtDsCxB,yBsDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBtDsCxB,yBsDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBtDsCxB,0BsDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBAM5B,gBAAmB,eAAA,oBACnB,gBAAmB,eAAA,oBACnB,iBAAmB,eAAA,qBAInB,mBAAsB,YAAA,cACtB,oBAAsB,YAAA,cACtB,kBAAsB,YAAA,cACtB,aAAsB,WAAA,iBAItB,YAAc,MAAA,eEpCZ,cACE,MAAA,kBjEUF,qBAAA,qBiENI,MAAA,kBALJ,gBACE,MAAA,kBjEUF,uBAAA,uBiENI,MAAA,kBALJ,cACE,MAAA,kBjEUF,qBAAA,qBiENI,MAAA,kBALJ,WACE,MAAA,kBjEUF,kBAAA,kBiENI,MAAA,kBALJ,cACE,MAAA,kBjEUF,qBAAA,qBiENI,MAAA,kBALJ,aACE,MAAA,kBjEUF,oBAAA,oBiENI,MAAA,kBALJ,YACE,MAAA,kBjEUF,mBAAA,mBiENI,MAAA,kBALJ,WACE,MAAA,kBjEUF,kBAAA,kBiENI,MAAA,kBFqCN,WAAa,MAAA,kBACb,YAAc,MAAA,kBAEd,eAAiB,MAAA,yBACjB,eAAiB,MAAA,+BAIjB,WGpDE,KAAA,CAAA,CAAA,EAAA,EACA,MAAA,YACA,YAAA,KACA,iBAAA,YACA,OAAA,ECHF,SCCE,WAAA,kBDGF,WCHE,WAAA,iBCMA,aACE,EvE2qRF,QADA,SuErqRI,YAAA,eAEA,WAAA,eAGF,YAEI,gBAAA,UASJ,mBACE,QAAA,KAAA,YAAA,IAcF,IACE,YAAA,mBvEopRJ,WuElpRE,IAEE,OAAA,IAAA,MAAA,QACA,kBAAA,MAQF,MACE,QAAA,mBvE8oRJ,IuE3oRE,GAEE,kBAAA,MvE6oRJ,GACA,GuE3oRE,EAGE,QAAA,EACA,OAAA,EAGF,GvEyoRF,GuEvoRI,iBAAA,MAQF,MACE,KAAA,GAEF,KACE,UAAA,gBAEF,WACE,UAAA,gBAIF,QACE,QAAA,KAEF,OACE,OAAA,IAAA,MAAA,KAGF,OACE,gBAAA,mBADF,UvEmoRF,UuE9nRM,iBAAA,evEkoRN,mBuE/nRE,mBAGI,OAAA,IAAA,MAAA","sourcesContent":["/*!\n * Bootstrap v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `<meta name=\"viewport\">` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\n// stylelint-disable font-family-no-duplicate-names\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n// stylelint-enable font-family-no-duplicate-names\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg:not(:root) {\n overflow: hidden; // Hide the overflow in IE\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::after {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-label::after {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n padding-left: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.custom-range::-webkit-slider-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range::-moz-range-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n appearance: none;\n}\n\n.custom-range::-ms-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n -ms-flex-align: center;\n align-items: center;\n width: 100%;\n transition: -webkit-transform 0.6s ease;\n transition: transform 0.6s ease;\n transition: transform 0.6s ease, -webkit-transform 0.6s ease;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-next,\n .active.carousel-item-right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-item-prev,\n .active.carousel-item-left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n opacity: 0;\n}\n\n.carousel-fade .carousel-item-next,\n.carousel-fade .carousel-item-prev,\n.carousel-fade .carousel-item.active,\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-prev {\n -webkit-transform: translateX(0);\n transform: translateX(0);\n}\n\n@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {\n .carousel-fade .carousel-item-next,\n .carousel-fade .carousel-item-prev,\n .carousel-fade .carousel-item.active,\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-prev {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v4.1.0 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-sm > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-append > .form-control-plaintext.input-group-text,\n.input-group-lg > .input-group-prepend > .form-control-plaintext.btn,\n.input-group-lg > .input-group-append > .form-control-plaintext.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]),\n.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]),\n.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.8);\n border-radius: .2rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file:focus {\n z-index: 3;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label::after {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-label::after {\n border-color: #80bdff;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(calc(2.25rem + 2px) - 1px * 2);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n padding-left: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n appearance: none;\n}\n\n.custom-range::-webkit-slider-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n appearance: none;\n}\n\n.custom-range::-moz-range-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n appearance: none;\n}\n\n.custom-range::-ms-thumb:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n opacity: 0;\n}\n\n.carousel-fade .carousel-item-next,\n.carousel-fade .carousel-item-prev,\n.carousel-fade .carousel-item.active,\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-prev {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-fade .carousel-item-next,\n .carousel-fade .carousel-item-prev,\n .carousel-fade .carousel-item.active,\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-prev {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Origally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular psuedo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus();\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\nselect.form-control {\n &:not([size]):not([multiple]) {\n height: $input-height;\n }\n\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n font-size: inherit; // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: $input-padding-y;\n padding-bottom: $input-padding-y;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.form-control-sm {\n padding: $input-padding-y-sm $input-padding-x-sm;\n font-size: $font-size-sm;\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\nselect.form-control-sm {\n &:not([size]):not([multiple]) {\n height: $input-height-sm;\n }\n}\n\n.form-control-lg {\n padding: $input-padding-y-lg $input-padding-x-lg;\n font-size: $font-size-lg;\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\nselect.form-control-lg {\n &:not([size]):not([multiple]) {\n height: $input-height-lg;\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@include form-validation-state(\"valid\", $form-feedback-valid-color);\n@include form-validation-state(\"invalid\", $form-feedback-invalid-color);\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @media screen and (prefers-reduced-motion: reduce) {\n transition: none;\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: $white;\n background-color: rgba($color, .8);\n border-radius: .2rem;\n }\n\n .form-control,\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n background-color: lighten($color, 25%);\n }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-label {\n border-color: $color;\n\n &::before { border-color: inherit; }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .custom-file-label {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-weight: $btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n // Share hover and focus styles\n @include hover-focus {\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .btn elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n background-image: none;\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n background-color: transparent;\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n border-color: transparent;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n border-color: transparent;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n background-color: transparent;\n background-image: none;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @if $enable-rounded {\n border-radius: $border-radius;\n } @else {\n border-radius: 0;\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n.fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n // Generate the caret automatically\n @include caret;\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues\n color: $body-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n// stylelint-enable no-duplicate-selectors\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n @include hover-focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n font-size: $font-size-sm;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @if $direction == down {\n @include caret-down;\n } @else if $direction == up {\n @include caret-up;\n } @else if $direction == right {\n @include caret-right;\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: $caret-width * .85;\n vertical-align: $caret-width * .85;\n content: \"\";\n @include caret-left;\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 0 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n\n // Prevent double borders when buttons are next to each other\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -$btn-border-width;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n > .btn:first-child {\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n .btn,\n .btn-group {\n width: 100%;\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -$btn-border-width;\n margin-left: 0;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n // Add width 1% and flex-basis auto to ensure that button will not wrap out\n // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n width: 1%;\n margin-bottom: 0;\n\n // Bring the \"active\" form control to the top of surrounding elements\n &:focus {\n z-index: 3;\n }\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label,\n &:not(:first-child) .custom-file-label::after { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n font-size: $font-size-base; // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n @extend .form-control-lg;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n @extend .form-control-sm;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n display: block;\n min-height: (1rem * $line-height-base);\n padding-left: $custom-control-gutter;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n\n &:active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of psuedo-elements.\n\n.custom-control-label {\n margin-bottom: 0;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: $custom-control-indicator-bg;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: (($line-height-base - $custom-control-indicator-size) / 2);\n left: 0;\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: $custom-control-indicator-bg-size;\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-checked;\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: $custom-checkbox-indicator-icon-indeterminate;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n &:indeterminate ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::before {\n @include gradient-bg($custom-control-indicator-checked-bg);\n }\n &::after {\n background-image: $custom-radio-indicator-icon-checked;\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n background-color: $custom-control-indicator-checked-disabled-bg;\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-indicator no-repeat right $custom-select-padding-x center;\n background-size: $custom-select-bg-size;\n border: $custom-select-border-width solid $custom-select-border-color;\n @if $enable-rounded {\n border-radius: $custom-select-border-radius;\n } @else {\n border-radius: 0;\n }\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n box-shadow: $custom-select-focus-box-shadow;\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n opacity: 0;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-sm;\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y;\n padding-bottom: $custom-select-padding-y;\n font-size: $custom-select-font-size-lg;\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n\n &::after {\n border-color: $custom-file-focus-border-color;\n }\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(#{$custom-file-height} - #{$custom-file-border-width} * 2);\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for psuedo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n padding-left: 0; // Firefox specific\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: -($custom-range-thumb-width * .25); // Webkit specific?\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n appearance: none;\n\n &:focus {\n outline: none;\n box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility\n }\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n appearance: none;\n\n &:focus {\n outline: none;\n box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility\n }\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n appearance: none;\n\n &:focus {\n outline: none;\n box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility\n }\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: ($custom-range-thumb-height * .5);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properities so that content nested within behave properly.\n > .container,\n > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n font-size: $navbar-brand-font-size;\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n font-size: $navbar-toggler-font-size;\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus {\n text-decoration: none;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .navbar-toggler elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n > .container,\n > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n > .container,\n > .container-fluid {\n flex-wrap: nowrap;\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-light-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: $navbar-dark-toggler-icon-bg;\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n padding: $card-spacer-x;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -($card-spacer-y / 2);\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -($card-spacer-x / 2);\n margin-bottom: -$card-spacer-y;\n margin-left: -($card-spacer-x / 2);\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -($card-spacer-x / 2);\n margin-left: -($card-spacer-x / 2);\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:first-child {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-right-radius: 0;\n }\n }\n\n &:last-child {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n border-bottom-left-radius: 0;\n }\n }\n\n &:only-child {\n @include border-radius($card-border-radius);\n\n .card-img-top,\n .card-header {\n @include border-top-radius($card-border-radius);\n }\n .card-img-bottom,\n .card-footer {\n @include border-bottom-radius($card-border-radius);\n }\n }\n\n &:not(:first-child):not(:last-child):not(:only-child) {\n @include border-radius(0);\n\n .card-img-top,\n .card-img-bottom,\n .card-header,\n .card-footer {\n @include border-radius(0);\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n }\n\n .card:not(:first-of-type) {\n .card-header:first-child {\n border-radius: 0;\n }\n }\n\n .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: $breadcrumb-divider;\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 2;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .page-link elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 1;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n font-size: $font-size;\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n font-size: $badge-font-size;\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n &[href] {\n @include hover-focus {\n color: color-yiq($bg);\n text-decoration: none;\n background-color: darken($bg, 10%);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: ($close-font-size + $alert-padding-x * 2);\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","@keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n font-size: $progress-font-size;\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus {\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -$list-group-border-width;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n\n @include hover-focus {\n z-index: 1; // Place hover/active items above their siblings for proper border styling\n text-decoration: none;\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right: 0;\n border-left: 0;\n @include border-radius(0);\n }\n\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n font-size: $close-font-size;\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n @include hover-focus {\n color: $close-color;\n text-decoration: none;\n opacity: .75;\n }\n\n // Opinionated: add \"hand\" cursor to non-disabled .close elements\n &:not(:disabled):not(.disabled) {\n cursor: pointer;\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n// stylelint-enable\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n\n .modal-open & {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: translate(0, -25%);\n }\n .modal.show & {\n transform: translate(0, 0);\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (#{$modal-dialog-margin} * 2));\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding) (-$modal-header-padding) (-$modal-header-padding) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when should there be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n\n // Easily place margin between footer elements\n > :not(:first-child) { margin-left: .25rem; }\n > :not(:last-child) { margin-right: .25rem; }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - (#{$modal-dialog-margin-y-sm-up} * 2));\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg { max-width: $modal-lg; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $tooltip-font-size;\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n font-size: $popover-font-size;\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $border-radius-lg;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n .arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n bottom: 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n bottom: $popover-border-width;\n border-top-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n .arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n }\n\n .arrow::before {\n left: 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n left: $popover-border-width;\n border-right-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n .arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n }\n\n .arrow::before,\n .arrow::after {\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n }\n\n .arrow::before {\n top: 0;\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n top: $popover-border-width;\n border-bottom-color: $popover-arrow-color;\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: ($popover-arrow-width / -2);\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n .arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners\n }\n\n .arrow::before,\n .arrow::after {\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n }\n\n .arrow::before {\n right: 0;\n border-left-color: $popover-arrow-outer-color;\n }\n\n .arrow::after {\n right: $popover-border-width;\n border-left-color: $popover-arrow-color;\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n font-size: $font-size-base;\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n @include border-top-radius($offset-border-width);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 2. .active.carousel-item is the current slide.\n// 3. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 4. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n @include transition($carousel-transition);\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n opacity: 0;\n }\n\n .carousel-item-next,\n .carousel-item-prev,\n .carousel-item.active,\n .active.carousel-item-left,\n .active.carousel-item-prev {\n transform: translateX(0);\n\n @supports (transform-style: preserve-3d) {\n transform: translate3d(0, 0, 0);\n }\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n // We can't have a transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Hover/focus state\n @include hover-focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n background-image: $carousel-control-next-icon-bg;\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n position: relative;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n background-color: rgba($carousel-indicator-active-bg, .5);\n\n // Use pseudo classes to increase the hit area by 10px on top and bottom.\n &::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n &::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n }\n }\n\n .active {\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: ((100% - $carousel-caption-width) / 2);\n bottom: 20px;\n left: ((100% - $carousel-caption-width) / 2);\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded {\n border-radius: $border-radius !important;\n}\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n.embed-responsive-21by9 {\n &::before {\n padding-top: percentage(9 / 21);\n }\n}\n\n.embed-responsive-16by9 {\n &::before {\n padding-top: percentage(9 / 16);\n }\n}\n\n.embed-responsive-4by3 {\n &::before {\n padding-top: percentage(3 / 4);\n }\n}\n\n.embed-responsive-1by1 {\n &::before {\n padding-top: percentage(1 / 1);\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { @include float-left; }\n .float#{$infix}-right { @include float-right; }\n .float#{$infix}-none { @include float-none; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@mixin float-left {\n float: left !important;\n}\n@mixin float-right {\n float: right !important;\n}\n@mixin float-none {\n float: none !important;\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n\n// Sass list not in variables since it's not intended for customization.\n// stylelint-disable-next-line scss/dollar-variable-default\n$positions: static, relative, absolute, fixed, sticky;\n\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color !important;\n }\n a#{$parent} {\n @include hover-focus {\n color: darken($color, 10%) !important;\n }\n }\n}\n","// CSS image replacement\n@mixin text-hide() {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @warn \"The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.\";\n}\n","//\n// Visibility utilities\n//\n\n.visible {\n @include invisible(visible);\n}\n\n.invisible {\n @include invisible(hidden);\n}\n","// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.bundle.js b/library/bootstrap/js/bootstrap.bundle.js
index 45b357d36..9bea2ea30 100644
--- a/library/bootstrap/js/bootstrap.bundle.js
+++ b/library/bootstrap/js/bootstrap.bundle.js
@@ -1,6328 +1,6433 @@
/*!
- * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
- typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
- (factory((global.bootstrap = {}),global.jQuery));
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
+ typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
+ (factory((global.bootstrap = {}),global.jQuery));
}(this, (function (exports,$) { 'use strict';
-$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
+ function _defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
}
-}
-function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
-}
+ function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+ }
-function _extends() {
- _extends = Object.assign || function (target) {
+ function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+ }
+
+ function _objectSpread(target) {
for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
+ var source = arguments[i] != null ? arguments[i] : {};
+ var ownKeys = Object.keys(source);
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
+ if (typeof Object.getOwnPropertySymbols === 'function') {
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+ }));
}
+
+ ownKeys.forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
}
return target;
- };
-
- return _extends.apply(this, arguments);
-}
-
-function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- subClass.__proto__ = superClass;
-}
+ }
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): util.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
+ }
-var Util = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Private TransitionEnd Helpers
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var transition = false;
- var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
-
- function toType(obj) {
- return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
- }
-
- function getSpecialTransitionEndEvent() {
- return {
- bindType: transition.end,
- delegateType: transition.end,
- handle: function handle(event) {
- if ($$$1(event.target).is(this)) {
- return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
- }
- return undefined; // eslint-disable-line no-undefined
- }
- };
- }
+ var Util = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+ var TRANSITION_END = 'transitionend';
+ var MAX_UID = 1000000;
+ var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
- function transitionEndTest() {
- if (typeof window !== 'undefined' && window.QUnit) {
- return false;
+ function toType(obj) {
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
}
- return {
- end: 'transitionend'
- };
- }
+ function getSpecialTransitionEndEvent() {
+ return {
+ bindType: TRANSITION_END,
+ delegateType: TRANSITION_END,
+ handle: function handle(event) {
+ if ($$$1(event.target).is(this)) {
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+ }
- function transitionEndEmulator(duration) {
- var _this = this;
+ return undefined; // eslint-disable-line no-undefined
+ }
+ };
+ }
- var called = false;
- $$$1(this).one(Util.TRANSITION_END, function () {
- called = true;
- });
- setTimeout(function () {
- if (!called) {
- Util.triggerTransitionEnd(_this);
- }
- }, duration);
- return this;
- }
+ function transitionEndEmulator(duration) {
+ var _this = this;
- function setTransitionEndSupport() {
- transition = transitionEndTest();
- $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
+ var called = false;
+ $$$1(this).one(Util.TRANSITION_END, function () {
+ called = true;
+ });
+ setTimeout(function () {
+ if (!called) {
+ Util.triggerTransitionEnd(_this);
+ }
+ }, duration);
+ return this;
+ }
- if (Util.supportsTransitionEnd()) {
+ function setTransitionEndSupport() {
+ $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
$$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
}
- }
-
- function escapeId(selector) {
- // We escape IDs in case of special selectors (selector = '#myId:something')
- // $.escapeSelector does not exist in jQuery < 3
- selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
- return selector;
- }
- /**
- * --------------------------------------------------------------------------
- * Public Util Api
- * --------------------------------------------------------------------------
- */
-
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
- var Util = {
- TRANSITION_END: 'bsTransitionEnd',
- getUID: function getUID(prefix) {
- do {
- // eslint-disable-next-line no-bitwise
- prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
- } while (document.getElementById(prefix));
- return prefix;
- },
- getSelectorFromElement: function getSelectorFromElement(element) {
- var selector = element.getAttribute('data-target');
+ var Util = {
+ TRANSITION_END: 'bsTransitionEnd',
+ getUID: function getUID(prefix) {
+ do {
+ // eslint-disable-next-line no-bitwise
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+ } while (document.getElementById(prefix));
- if (!selector || selector === '#') {
- selector = element.getAttribute('href') || '';
- } // If it's an ID
+ return prefix;
+ },
+ getSelectorFromElement: function getSelectorFromElement(element) {
+ var selector = element.getAttribute('data-target');
+ if (!selector || selector === '#') {
+ selector = element.getAttribute('href') || '';
+ }
- if (selector.charAt(0) === '#') {
- selector = escapeId(selector);
- }
-
- try {
- var $selector = $$$1(document).find(selector);
- return $selector.length > 0 ? selector : null;
- } catch (err) {
- return null;
- }
- },
- reflow: function reflow(element) {
- return element.offsetHeight;
- },
- triggerTransitionEnd: function triggerTransitionEnd(element) {
- $$$1(element).trigger(transition.end);
- },
- supportsTransitionEnd: function supportsTransitionEnd() {
- return Boolean(transition);
- },
- isElement: function isElement(obj) {
- return (obj[0] || obj).nodeType;
- },
- typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
- for (var property in configTypes) {
- if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
- var expectedTypes = configTypes[property];
- var value = config[property];
- var valueType = value && Util.isElement(value) ? 'element' : toType(value);
-
- if (!new RegExp(expectedTypes).test(valueType)) {
- throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+ try {
+ var $selector = $$$1(document).find(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (err) {
+ return null;
+ }
+ },
+ getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
+ if (!element) {
+ return 0;
+ } // Get transition-duration of the element
+
+
+ var transitionDuration = $$$1(element).css('transition-duration');
+ var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
+
+ if (!floatTransitionDuration) {
+ return 0;
+ } // If multiple durations are defined, take the first
+
+
+ transitionDuration = transitionDuration.split(',')[0];
+ return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
+ },
+ reflow: function reflow(element) {
+ return element.offsetHeight;
+ },
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
+ $$$1(element).trigger(TRANSITION_END);
+ },
+ // TODO: Remove in v5
+ supportsTransitionEnd: function supportsTransitionEnd() {
+ return Boolean(TRANSITION_END);
+ },
+ isElement: function isElement(obj) {
+ return (obj[0] || obj).nodeType;
+ },
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+ for (var property in configTypes) {
+ if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
+ var expectedTypes = configTypes[property];
+ var value = config[property];
+ var valueType = value && Util.isElement(value) ? 'element' : toType(value);
+
+ if (!new RegExp(expectedTypes).test(valueType)) {
+ throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+ }
}
}
}
- }
- };
- setTransitionEndSupport();
- return Util;
-}($);
-
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): alert.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
-
-var Alert = function ($$$1) {
+ };
+ setTransitionEndSupport();
+ return Util;
+ }($);
+
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'alert';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.alert';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 150;
- var Selector = {
- DISMISS: '[data-dismiss="alert"]'
- };
- var Event = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
+
+ var Alert = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'alert';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.alert';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Selector = {
+ DISMISS: '[data-dismiss="alert"]'
+ };
+ var Event = {
+ CLOSE: "close" + EVENT_KEY,
+ CLOSED: "closed" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ ALERT: 'alert',
+ FADE: 'fade',
+ SHOW: 'show'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Alert =
- /*#__PURE__*/
- function () {
- function Alert(element) {
- this._element = element;
- } // Getters
+ var Alert =
+ /*#__PURE__*/
+ function () {
+ function Alert(element) {
+ this._element = element;
+ } // Getters
- var _proto = Alert.prototype;
+ var _proto = Alert.prototype;
- // Public
- _proto.close = function close(element) {
- element = element || this._element;
+ // Public
+ _proto.close = function close(element) {
+ element = element || this._element;
- var rootElement = this._getRootElement(element);
+ var rootElement = this._getRootElement(element);
- var customEvent = this._triggerCloseEvent(rootElement);
+ var customEvent = this._triggerCloseEvent(rootElement);
- if (customEvent.isDefaultPrevented()) {
- return;
- }
+ if (customEvent.isDefaultPrevented()) {
+ return;
+ }
- this._removeElement(rootElement);
- };
+ this._removeElement(rootElement);
+ };
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._element = null;
- }; // Private
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Private
- _proto._getRootElement = function _getRootElement(element) {
- var selector = Util.getSelectorFromElement(element);
- var parent = false;
+ _proto._getRootElement = function _getRootElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ var parent = false;
- if (selector) {
- parent = $$$1(selector)[0];
- }
+ if (selector) {
+ parent = $$$1(selector)[0];
+ }
- if (!parent) {
- parent = $$$1(element).closest("." + ClassName.ALERT)[0];
- }
+ if (!parent) {
+ parent = $$$1(element).closest("." + ClassName.ALERT)[0];
+ }
- return parent;
- };
+ return parent;
+ };
- _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- var closeEvent = $$$1.Event(Event.CLOSE);
- $$$1(element).trigger(closeEvent);
- return closeEvent;
- };
+ _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
+ var closeEvent = $$$1.Event(Event.CLOSE);
+ $$$1(element).trigger(closeEvent);
+ return closeEvent;
+ };
- _proto._removeElement = function _removeElement(element) {
- var _this = this;
+ _proto._removeElement = function _removeElement(element) {
+ var _this = this;
- $$$1(element).removeClass(ClassName.SHOW);
+ $$$1(element).removeClass(ClassName.SHOW);
- if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
- this._destroyElement(element);
+ if (!$$$1(element).hasClass(ClassName.FADE)) {
+ this._destroyElement(element);
- return;
- }
+ return;
+ }
- $$$1(element).one(Util.TRANSITION_END, function (event) {
- return _this._destroyElement(element, event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- };
+ var transitionDuration = Util.getTransitionDurationFromElement(element);
+ $$$1(element).one(Util.TRANSITION_END, function (event) {
+ return _this._destroyElement(element, event);
+ }).emulateTransitionEnd(transitionDuration);
+ };
- _proto._destroyElement = function _destroyElement(element) {
- $$$1(element).detach().trigger(Event.CLOSED).remove();
- }; // Static
+ _proto._destroyElement = function _destroyElement(element) {
+ $$$1(element).detach().trigger(Event.CLOSED).remove();
+ }; // Static
- Alert._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $element = $$$1(this);
- var data = $element.data(DATA_KEY);
+ Alert._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $$$1(this);
+ var data = $element.data(DATA_KEY);
- if (!data) {
- data = new Alert(this);
- $element.data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new Alert(this);
+ $element.data(DATA_KEY, data);
+ }
- if (config === 'close') {
- data[config](this);
- }
- });
- };
+ if (config === 'close') {
+ data[config](this);
+ }
+ });
+ };
- Alert._handleDismiss = function _handleDismiss(alertInstance) {
- return function (event) {
- if (event) {
- event.preventDefault();
- }
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
+ return function (event) {
+ if (event) {
+ event.preventDefault();
+ }
- alertInstance.close(this);
+ alertInstance.close(this);
+ };
};
- };
- _createClass(Alert, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }]);
- return Alert;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ _createClass(Alert, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+ return Alert;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
- $$$1.fn[NAME] = Alert._jQueryInterface;
- $$$1.fn[NAME].Constructor = Alert;
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Alert._jQueryInterface;
- };
+ $$$1.fn[NAME] = Alert._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Alert;
- return Alert;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): button.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Alert;
+ }($);
-var Button = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'button';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.button';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var ClassName = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
- };
- var Selector = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLE: '[data-toggle="buttons"]',
- INPUT: 'input',
- ACTIVE: '.active',
- BUTTON: '.btn'
- };
- var Event = {
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
+
+ var Button = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'button';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.button';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ClassName = {
+ ACTIVE: 'active',
+ BUTTON: 'btn',
+ FOCUS: 'focus'
+ };
+ var Selector = {
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+ DATA_TOGGLE: '[data-toggle="buttons"]',
+ INPUT: 'input',
+ ACTIVE: '.active',
+ BUTTON: '.btn'
+ };
+ var Event = {
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+ FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Button =
- /*#__PURE__*/
- function () {
- function Button(element) {
- this._element = element;
- } // Getters
+ var Button =
+ /*#__PURE__*/
+ function () {
+ function Button(element) {
+ this._element = element;
+ } // Getters
- var _proto = Button.prototype;
+ var _proto = Button.prototype;
- // Public
- _proto.toggle = function toggle() {
- var triggerChangeEvent = true;
- var addAriaPressed = true;
- var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
+ // Public
+ _proto.toggle = function toggle() {
+ var triggerChangeEvent = true;
+ var addAriaPressed = true;
+ var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
- if (rootElement) {
- var input = $$$1(this._element).find(Selector.INPUT)[0];
+ if (rootElement) {
+ var input = $$$1(this._element).find(Selector.INPUT)[0];
- if (input) {
- if (input.type === 'radio') {
- if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
- triggerChangeEvent = false;
- } else {
- var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
+ if (input) {
+ if (input.type === 'radio') {
+ if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
+ triggerChangeEvent = false;
+ } else {
+ var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
- if (activeElement) {
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ if (activeElement) {
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ }
}
}
- }
- if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
- return;
+ if (triggerChangeEvent) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ return;
+ }
+
+ input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
+ $$$1(input).trigger('change');
}
- input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
- $$$1(input).trigger('change');
+ input.focus();
+ addAriaPressed = false;
}
+ }
- input.focus();
- addAriaPressed = false;
+ if (addAriaPressed) {
+ this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
}
- }
- if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
- }
+ if (triggerChangeEvent) {
+ $$$1(this._element).toggleClass(ClassName.ACTIVE);
+ }
+ };
- if (triggerChangeEvent) {
- $$$1(this._element).toggleClass(ClassName.ACTIVE);
- }
- };
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Static
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._element = null;
- }; // Static
+ Button._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- Button._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ if (!data) {
+ data = new Button(this);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (!data) {
- data = new Button(this);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (config === 'toggle') {
+ data[config]();
+ }
+ });
+ };
- if (config === 'toggle') {
- data[config]();
+ _createClass(Button, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
-
- _createClass(Button, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }]);
- return Button;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ }]);
+ return Button;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
- event.preventDefault();
- var button = event.target;
- if (!$$$1(button).hasClass(ClassName.BUTTON)) {
- button = $$$1(button).closest(Selector.BUTTON);
- }
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ event.preventDefault();
+ var button = event.target;
- Button._jQueryInterface.call($$$1(button), 'toggle');
- }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
- var button = $$$1(event.target).closest(Selector.BUTTON)[0];
- $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ if (!$$$1(button).hasClass(ClassName.BUTTON)) {
+ button = $$$1(button).closest(Selector.BUTTON);
+ }
- $$$1.fn[NAME] = Button._jQueryInterface;
- $$$1.fn[NAME].Constructor = Button;
+ Button._jQueryInterface.call($$$1(button), 'toggle');
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ var button = $$$1(event.target).closest(Selector.BUTTON)[0];
+ $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Button._jQueryInterface;
- };
+ $$$1.fn[NAME] = Button._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Button;
- return Button;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Button._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): carousel.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Button;
+ }($);
-var Carousel = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'carousel';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.carousel';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 600;
- var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
-
- var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
-
- var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
-
- var Default = {
- interval: 5000,
- keyboard: true,
- slide: false,
- pause: 'hover',
- wrap: true
- };
- var DefaultType = {
- interval: '(number|boolean)',
- keyboard: 'boolean',
- slide: '(boolean|string)',
- pause: '(string|boolean)',
- wrap: 'boolean'
- };
- var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
- };
- var Event = {
- SLIDE: "slide" + EVENT_KEY,
- SLID: "slid" + EVENT_KEY,
- KEYDOWN: "keydown" + EVENT_KEY,
- MOUSEENTER: "mouseenter" + EVENT_KEY,
- MOUSELEAVE: "mouseleave" + EVENT_KEY,
- TOUCHEND: "touchend" + EVENT_KEY,
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item'
- };
- var Selector = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
+
+ var Carousel = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
-
- };
-
- var Carousel =
- /*#__PURE__*/
- function () {
- function Carousel(element, config) {
- this._items = null;
- this._interval = null;
- this._activeElement = null;
- this._isPaused = false;
- this._isSliding = false;
- this.touchTimeout = null;
- this._config = this._getConfig(config);
- this._element = $$$1(element)[0];
- this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
-
- this._addEventListeners();
- } // Getters
-
-
- var _proto = Carousel.prototype;
-
- // Public
- _proto.next = function next() {
- if (!this._isSliding) {
- this._slide(Direction.NEXT);
- }
+ var NAME = 'carousel';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.carousel';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
+ var Default = {
+ interval: 5000,
+ keyboard: true,
+ slide: false,
+ pause: 'hover',
+ wrap: true
};
-
- _proto.nextWhenVisible = function nextWhenVisible() {
- // Don't call next when the page isn't visible
- // or the carousel or its parent isn't visible
- if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
- this.next();
- }
+ var DefaultType = {
+ interval: '(number|boolean)',
+ keyboard: 'boolean',
+ slide: '(boolean|string)',
+ pause: '(string|boolean)',
+ wrap: 'boolean'
+ };
+ var Direction = {
+ NEXT: 'next',
+ PREV: 'prev',
+ LEFT: 'left',
+ RIGHT: 'right'
+ };
+ var Event = {
+ SLIDE: "slide" + EVENT_KEY,
+ SLID: "slid" + EVENT_KEY,
+ KEYDOWN: "keydown" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY,
+ TOUCHEND: "touchend" + EVENT_KEY,
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
};
+ var ClassName = {
+ CAROUSEL: 'carousel',
+ ACTIVE: 'active',
+ SLIDE: 'slide',
+ RIGHT: 'carousel-item-right',
+ LEFT: 'carousel-item-left',
+ NEXT: 'carousel-item-next',
+ PREV: 'carousel-item-prev',
+ ITEM: 'carousel-item'
+ };
+ var Selector = {
+ ACTIVE: '.active',
+ ACTIVE_ITEM: '.active.carousel-item',
+ ITEM: '.carousel-item',
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+ INDICATORS: '.carousel-indicators',
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
+ DATA_RIDE: '[data-ride="carousel"]'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- _proto.prev = function prev() {
- if (!this._isSliding) {
- this._slide(Direction.PREV);
- }
};
- _proto.pause = function pause(event) {
- if (!event) {
- this._isPaused = true;
- }
+ var Carousel =
+ /*#__PURE__*/
+ function () {
+ function Carousel(element, config) {
+ this._items = null;
+ this._interval = null;
+ this._activeElement = null;
+ this._isPaused = false;
+ this._isSliding = false;
+ this.touchTimeout = null;
+ this._config = this._getConfig(config);
+ this._element = $$$1(element)[0];
+ this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
- if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
- Util.triggerTransitionEnd(this._element);
- this.cycle(true);
- }
+ this._addEventListeners();
+ } // Getters
- clearInterval(this._interval);
- this._interval = null;
- };
- _proto.cycle = function cycle(event) {
- if (!event) {
- this._isPaused = false;
- }
+ var _proto = Carousel.prototype;
+
+ // Public
+ _proto.next = function next() {
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT);
+ }
+ };
+
+ _proto.nextWhenVisible = function nextWhenVisible() {
+ // Don't call next when the page isn't visible
+ // or the carousel or its parent isn't visible
+ if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
+ this.next();
+ }
+ };
+
+ _proto.prev = function prev() {
+ if (!this._isSliding) {
+ this._slide(Direction.PREV);
+ }
+ };
+
+ _proto.pause = function pause(event) {
+ if (!event) {
+ this._isPaused = true;
+ }
+
+ if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
+ Util.triggerTransitionEnd(this._element);
+ this.cycle(true);
+ }
- if (this._interval) {
clearInterval(this._interval);
this._interval = null;
- }
+ };
- if (this._config.interval && !this._isPaused) {
- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
- }
- };
+ _proto.cycle = function cycle(event) {
+ if (!event) {
+ this._isPaused = false;
+ }
- _proto.to = function to(index) {
- var _this = this;
+ if (this._interval) {
+ clearInterval(this._interval);
+ this._interval = null;
+ }
- this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
+ if (this._config.interval && !this._isPaused) {
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+ }
+ };
- var activeIndex = this._getItemIndex(this._activeElement);
+ _proto.to = function to(index) {
+ var _this = this;
- if (index > this._items.length - 1 || index < 0) {
- return;
- }
+ this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
- if (this._isSliding) {
- $$$1(this._element).one(Event.SLID, function () {
- return _this.to(index);
- });
- return;
- }
+ var activeIndex = this._getItemIndex(this._activeElement);
- if (activeIndex === index) {
- this.pause();
- this.cycle();
- return;
- }
+ if (index > this._items.length - 1 || index < 0) {
+ return;
+ }
+
+ if (this._isSliding) {
+ $$$1(this._element).one(Event.SLID, function () {
+ return _this.to(index);
+ });
+ return;
+ }
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ if (activeIndex === index) {
+ this.pause();
+ this.cycle();
+ return;
+ }
- this._slide(direction, this._items[index]);
- };
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
- _proto.dispose = function dispose() {
- $$$1(this._element).off(EVENT_KEY);
- $$$1.removeData(this._element, DATA_KEY);
- this._items = null;
- this._config = null;
- this._element = null;
- this._interval = null;
- this._isPaused = null;
- this._isSliding = null;
- this._activeElement = null;
- this._indicatorsElement = null;
- }; // Private
-
-
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ this._slide(direction, this._items[index]);
+ };
- _proto._addEventListeners = function _addEventListeners() {
- var _this2 = this;
+ _proto.dispose = function dispose() {
+ $$$1(this._element).off(EVENT_KEY);
+ $$$1.removeData(this._element, DATA_KEY);
+ this._items = null;
+ this._config = null;
+ this._element = null;
+ this._interval = null;
+ this._isPaused = null;
+ this._isSliding = null;
+ this._activeElement = null;
+ this._indicatorsElement = null;
+ }; // Private
- if (this._config.keyboard) {
- $$$1(this._element).on(Event.KEYDOWN, function (event) {
- return _this2._keydown(event);
- });
- }
- if (this._config.pause === 'hover') {
- $$$1(this._element).on(Event.MOUSEENTER, function (event) {
- return _this2.pause(event);
- }).on(Event.MOUSELEAVE, function (event) {
- return _this2.cycle(event);
- });
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
- if ('ontouchstart' in document.documentElement) {
- // If it's a touch-enabled device, mouseenter/leave are fired as
- // part of the mouse compatibility events on first tap - the carousel
- // would stop cycling until user tapped out of it;
- // here, we listen for touchend, explicitly pause the carousel
- // (as if it's the second time we tap on it, mouseenter compat event
- // is NOT fired) and after a timeout (to allow for mouse compatibility
- // events to fire) we explicitly restart cycling
- $$$1(this._element).on(Event.TOUCHEND, function () {
- _this2.pause();
-
- if (_this2.touchTimeout) {
- clearTimeout(_this2.touchTimeout);
- }
+ _proto._addEventListeners = function _addEventListeners() {
+ var _this2 = this;
- _this2.touchTimeout = setTimeout(function (event) {
- return _this2.cycle(event);
- }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ if (this._config.keyboard) {
+ $$$1(this._element).on(Event.KEYDOWN, function (event) {
+ return _this2._keydown(event);
});
}
- }
- };
- _proto._keydown = function _keydown(event) {
- if (/input|textarea/i.test(event.target.tagName)) {
- return;
- }
+ if (this._config.pause === 'hover') {
+ $$$1(this._element).on(Event.MOUSEENTER, function (event) {
+ return _this2.pause(event);
+ }).on(Event.MOUSELEAVE, function (event) {
+ return _this2.cycle(event);
+ });
- switch (event.which) {
- case ARROW_LEFT_KEYCODE:
- event.preventDefault();
- this.prev();
- break;
+ if ('ontouchstart' in document.documentElement) {
+ // If it's a touch-enabled device, mouseenter/leave are fired as
+ // part of the mouse compatibility events on first tap - the carousel
+ // would stop cycling until user tapped out of it;
+ // here, we listen for touchend, explicitly pause the carousel
+ // (as if it's the second time we tap on it, mouseenter compat event
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
+ // events to fire) we explicitly restart cycling
+ $$$1(this._element).on(Event.TOUCHEND, function () {
+ _this2.pause();
+
+ if (_this2.touchTimeout) {
+ clearTimeout(_this2.touchTimeout);
+ }
- case ARROW_RIGHT_KEYCODE:
- event.preventDefault();
- this.next();
- break;
+ _this2.touchTimeout = setTimeout(function (event) {
+ return _this2.cycle(event);
+ }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ });
+ }
+ }
+ };
- default:
- }
- };
+ _proto._keydown = function _keydown(event) {
+ if (/input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
- _proto._getItemIndex = function _getItemIndex(element) {
- this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
- return this._items.indexOf(element);
- };
+ switch (event.which) {
+ case ARROW_LEFT_KEYCODE:
+ event.preventDefault();
+ this.prev();
+ break;
- _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
- var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREV;
+ case ARROW_RIGHT_KEYCODE:
+ event.preventDefault();
+ this.next();
+ break;
- var activeIndex = this._getItemIndex(activeElement);
+ default:
+ }
+ };
- var lastItemIndex = this._items.length - 1;
- var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+ _proto._getItemIndex = function _getItemIndex(element) {
+ this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
+ return this._items.indexOf(element);
+ };
- if (isGoingToWrap && !this._config.wrap) {
- return activeElement;
- }
+ _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+ var isNextDirection = direction === Direction.NEXT;
+ var isPrevDirection = direction === Direction.PREV;
- var delta = direction === Direction.PREV ? -1 : 1;
- var itemIndex = (activeIndex + delta) % this._items.length;
- return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
- };
+ var activeIndex = this._getItemIndex(activeElement);
- _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
- var targetIndex = this._getItemIndex(relatedTarget);
+ var lastItemIndex = this._items.length - 1;
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
- var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
+ if (isGoingToWrap && !this._config.wrap) {
+ return activeElement;
+ }
- var slideEvent = $$$1.Event(Event.SLIDE, {
- relatedTarget: relatedTarget,
- direction: eventDirectionName,
- from: fromIndex,
- to: targetIndex
- });
- $$$1(this._element).trigger(slideEvent);
- return slideEvent;
- };
+ var delta = direction === Direction.PREV ? -1 : 1;
+ var itemIndex = (activeIndex + delta) % this._items.length;
+ return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+ };
+
+ _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var targetIndex = this._getItemIndex(relatedTarget);
+
+ var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
+
+ var slideEvent = $$$1.Event(Event.SLIDE, {
+ relatedTarget: relatedTarget,
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
+ });
+ $$$1(this._element).trigger(slideEvent);
+ return slideEvent;
+ };
- _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
- if (this._indicatorsElement) {
- $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+ if (this._indicatorsElement) {
+ $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
- var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
- if (nextIndicator) {
- $$$1(nextIndicator).addClass(ClassName.ACTIVE);
+ if (nextIndicator) {
+ $$$1(nextIndicator).addClass(ClassName.ACTIVE);
+ }
}
- }
- };
+ };
- _proto._slide = function _slide(direction, element) {
- var _this3 = this;
+ _proto._slide = function _slide(direction, element) {
+ var _this3 = this;
- var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
- var activeElementIndex = this._getItemIndex(activeElement);
+ var activeElementIndex = this._getItemIndex(activeElement);
- var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
- var nextElementIndex = this._getItemIndex(nextElement);
+ var nextElementIndex = this._getItemIndex(nextElement);
- var isCycling = Boolean(this._interval);
- var directionalClassName;
- var orderClassName;
- var eventDirectionName;
+ var isCycling = Boolean(this._interval);
+ var directionalClassName;
+ var orderClassName;
+ var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName.LEFT;
- orderClassName = ClassName.NEXT;
- eventDirectionName = Direction.LEFT;
- } else {
- directionalClassName = ClassName.RIGHT;
- orderClassName = ClassName.PREV;
- eventDirectionName = Direction.RIGHT;
- }
+ if (direction === Direction.NEXT) {
+ directionalClassName = ClassName.LEFT;
+ orderClassName = ClassName.NEXT;
+ eventDirectionName = Direction.LEFT;
+ } else {
+ directionalClassName = ClassName.RIGHT;
+ orderClassName = ClassName.PREV;
+ eventDirectionName = Direction.RIGHT;
+ }
- if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
- this._isSliding = false;
- return;
- }
+ if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
+ this._isSliding = false;
+ return;
+ }
- var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
- if (slideEvent.isDefaultPrevented()) {
- return;
- }
+ if (slideEvent.isDefaultPrevented()) {
+ return;
+ }
- if (!activeElement || !nextElement) {
- // Some weirdness is happening, so we bail
- return;
- }
+ if (!activeElement || !nextElement) {
+ // Some weirdness is happening, so we bail
+ return;
+ }
- this._isSliding = true;
+ this._isSliding = true;
- if (isCycling) {
- this.pause();
- }
+ if (isCycling) {
+ this.pause();
+ }
- this._setActiveIndicatorElement(nextElement);
+ this._setActiveIndicatorElement(nextElement);
- var slidEvent = $$$1.Event(Event.SLID, {
- relatedTarget: nextElement,
- direction: eventDirectionName,
- from: activeElementIndex,
- to: nextElementIndex
- });
+ var slidEvent = $$$1.Event(Event.SLID, {
+ relatedTarget: nextElement,
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
+ });
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
- $$$1(nextElement).addClass(orderClassName);
- Util.reflow(nextElement);
- $$$1(activeElement).addClass(directionalClassName);
- $$$1(nextElement).addClass(directionalClassName);
- $$$1(activeElement).one(Util.TRANSITION_END, function () {
- $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
- $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
- _this3._isSliding = false;
- setTimeout(function () {
- return $$$1(_this3._element).trigger(slidEvent);
- }, 0);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
- $$$1(nextElement).addClass(ClassName.ACTIVE);
- this._isSliding = false;
- $$$1(this._element).trigger(slidEvent);
- }
+ if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
+ $$$1(nextElement).addClass(orderClassName);
+ Util.reflow(nextElement);
+ $$$1(activeElement).addClass(directionalClassName);
+ $$$1(nextElement).addClass(directionalClassName);
+ var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
+ $$$1(activeElement).one(Util.TRANSITION_END, function () {
+ $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
+ $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
+ _this3._isSliding = false;
+ setTimeout(function () {
+ return $$$1(_this3._element).trigger(slidEvent);
+ }, 0);
+ }).emulateTransitionEnd(transitionDuration);
+ } else {
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ $$$1(nextElement).addClass(ClassName.ACTIVE);
+ this._isSliding = false;
+ $$$1(this._element).trigger(slidEvent);
+ }
- if (isCycling) {
- this.cycle();
- }
- }; // Static
+ if (isCycling) {
+ this.cycle();
+ }
+ }; // Static
- Carousel._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- var _config = _extends({}, Default, $$$1(this).data());
+ var _config = _objectSpread({}, Default, $$$1(this).data());
- if (typeof config === 'object') {
- _config = _extends({}, _config, config);
- }
+ if (typeof config === 'object') {
+ _config = _objectSpread({}, _config, config);
+ }
- var action = typeof config === 'string' ? config : _config.slide;
+ var action = typeof config === 'string' ? config : _config.slide;
- if (!data) {
- data = new Carousel(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new Carousel(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (typeof config === 'number') {
- data.to(config);
- } else if (typeof action === 'string') {
- if (typeof data[action] === 'undefined') {
- throw new TypeError("No method named \"" + action + "\"");
+ if (typeof config === 'number') {
+ data.to(config);
+ } else if (typeof action === 'string') {
+ if (typeof data[action] === 'undefined') {
+ throw new TypeError("No method named \"" + action + "\"");
+ }
+
+ data[action]();
+ } else if (_config.interval) {
+ data.pause();
+ data.cycle();
}
+ });
+ };
+
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+ var selector = Util.getSelectorFromElement(this);
- data[action]();
- } else if (_config.interval) {
- data.pause();
- data.cycle();
+ if (!selector) {
+ return;
}
- });
- };
- Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
- var selector = Util.getSelectorFromElement(this);
+ var target = $$$1(selector)[0];
- if (!selector) {
- return;
- }
+ if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
+ return;
+ }
- var target = $$$1(selector)[0];
+ var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
- if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
- return;
- }
+ var slideIndex = this.getAttribute('data-slide-to');
- var config = _extends({}, $$$1(target).data(), $$$1(this).data());
- var slideIndex = this.getAttribute('data-slide-to');
+ if (slideIndex) {
+ config.interval = false;
+ }
- if (slideIndex) {
- config.interval = false;
- }
+ Carousel._jQueryInterface.call($$$1(target), config);
- Carousel._jQueryInterface.call($$$1(target), config);
+ if (slideIndex) {
+ $$$1(target).data(DATA_KEY).to(slideIndex);
+ }
- if (slideIndex) {
- $$$1(target).data(DATA_KEY).to(slideIndex);
- }
+ event.preventDefault();
+ };
- event.preventDefault();
- };
+ _createClass(Carousel, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
- _createClass(Carousel, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
- return Carousel;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ return Carousel;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
- $$$1(window).on(Event.LOAD_DATA_API, function () {
- $$$1(Selector.DATA_RIDE).each(function () {
- var $carousel = $$$1(this);
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
+ $$$1(Selector.DATA_RIDE).each(function () {
+ var $carousel = $$$1(this);
- Carousel._jQueryInterface.call($carousel, $carousel.data());
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
+ });
});
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
- $$$1.fn[NAME] = Carousel._jQueryInterface;
- $$$1.fn[NAME].Constructor = Carousel;
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Carousel._jQueryInterface;
- };
+ $$$1.fn[NAME] = Carousel._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Carousel;
- return Carousel;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Carousel._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): collapse.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Carousel;
+ }($);
-var Collapse = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'collapse';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.collapse';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 600;
- var Default = {
- toggle: true,
- parent: ''
- };
- var DefaultType = {
- toggle: 'boolean',
- parent: '(string|element)'
- };
- var Event = {
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
- };
- var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
- };
- var Selector = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
+
+ var Collapse = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'collapse';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.collapse';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Default = {
+ toggle: true,
+ parent: ''
+ };
+ var DefaultType = {
+ toggle: 'boolean',
+ parent: '(string|element)'
+ };
+ var Event = {
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ SHOW: 'show',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed'
+ };
+ var Dimension = {
+ WIDTH: 'width',
+ HEIGHT: 'height'
+ };
+ var Selector = {
+ ACTIVES: '.show, .collapsing',
+ DATA_TOGGLE: '[data-toggle="collapse"]'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Collapse =
- /*#__PURE__*/
- function () {
- function Collapse(element, config) {
- this._isTransitioning = false;
- this._element = element;
- this._config = this._getConfig(config);
- this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
- var tabToggles = $$$1(Selector.DATA_TOGGLE);
+ var Collapse =
+ /*#__PURE__*/
+ function () {
+ function Collapse(element, config) {
+ this._isTransitioning = false;
+ this._element = element;
+ this._config = this._getConfig(config);
+ this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
+ var tabToggles = $$$1(Selector.DATA_TOGGLE);
- for (var i = 0; i < tabToggles.length; i++) {
- var elem = tabToggles[i];
- var selector = Util.getSelectorFromElement(elem);
+ for (var i = 0; i < tabToggles.length; i++) {
+ var elem = tabToggles[i];
+ var selector = Util.getSelectorFromElement(elem);
- if (selector !== null && $$$1(selector).filter(element).length > 0) {
- this._selector = selector;
+ if (selector !== null && $$$1(selector).filter(element).length > 0) {
+ this._selector = selector;
- this._triggerArray.push(elem);
+ this._triggerArray.push(elem);
+ }
}
- }
- this._parent = this._config.parent ? this._getParent() : null;
+ this._parent = this._config.parent ? this._getParent() : null;
- if (!this._config.parent) {
- this._addAriaAndCollapsedClass(this._element, this._triggerArray);
- }
+ if (!this._config.parent) {
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+ }
- if (this._config.toggle) {
- this.toggle();
- }
- } // Getters
+ if (this._config.toggle) {
+ this.toggle();
+ }
+ } // Getters
- var _proto = Collapse.prototype;
+ var _proto = Collapse.prototype;
- // Public
- _proto.toggle = function toggle() {
- if ($$$1(this._element).hasClass(ClassName.SHOW)) {
- this.hide();
- } else {
- this.show();
- }
- };
+ // Public
+ _proto.toggle = function toggle() {
+ if ($$$1(this._element).hasClass(ClassName.SHOW)) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ };
- _proto.show = function show() {
- var _this = this;
+ _proto.show = function show() {
+ var _this = this;
- if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
- return;
- }
+ if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
- var actives;
- var activesData;
+ var actives;
+ var activesData;
- if (this._parent) {
- actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
+ if (this._parent) {
+ actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
- if (actives.length === 0) {
- actives = null;
+ if (actives.length === 0) {
+ actives = null;
+ }
}
- }
- if (actives) {
- activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
+ if (actives) {
+ activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
- if (activesData && activesData._isTransitioning) {
- return;
+ if (activesData && activesData._isTransitioning) {
+ return;
+ }
}
- }
- var startEvent = $$$1.Event(Event.SHOW);
- $$$1(this._element).trigger(startEvent);
+ var startEvent = $$$1.Event(Event.SHOW);
+ $$$1(this._element).trigger(startEvent);
- if (startEvent.isDefaultPrevented()) {
- return;
- }
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
- if (actives) {
- Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
+ if (actives) {
+ Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
- if (!activesData) {
- $$$1(actives).data(DATA_KEY, null);
+ if (!activesData) {
+ $$$1(actives).data(DATA_KEY, null);
+ }
}
- }
- var dimension = this._getDimension();
+ var dimension = this._getDimension();
- $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
- this._element.style[dimension] = 0;
-
- if (this._triggerArray.length > 0) {
- $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
- }
+ $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+ this._element.style[dimension] = 0;
- this.setTransitioning(true);
+ if (this._triggerArray.length > 0) {
+ $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+ }
- var complete = function complete() {
- $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
- _this._element.style[dimension] = '';
+ this.setTransitioning(true);
- _this.setTransitioning(false);
+ var complete = function complete() {
+ $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+ _this._element.style[dimension] = '';
- $$$1(_this._element).trigger(Event.SHOWN);
- };
+ _this.setTransitioning(false);
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
+ $$$1(_this._element).trigger(Event.SHOWN);
+ };
- var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
- var scrollSize = "scroll" + capitalizedDimension;
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- this._element.style[dimension] = this._element[scrollSize] + "px";
- };
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+ var scrollSize = "scroll" + capitalizedDimension;
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ this._element.style[dimension] = this._element[scrollSize] + "px";
+ };
- _proto.hide = function hide() {
- var _this2 = this;
+ _proto.hide = function hide() {
+ var _this2 = this;
- if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
- return;
- }
+ if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
- var startEvent = $$$1.Event(Event.HIDE);
- $$$1(this._element).trigger(startEvent);
+ var startEvent = $$$1.Event(Event.HIDE);
+ $$$1(this._element).trigger(startEvent);
- if (startEvent.isDefaultPrevented()) {
- return;
- }
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
- var dimension = this._getDimension();
+ var dimension = this._getDimension();
- this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
- Util.reflow(this._element);
- $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
+ Util.reflow(this._element);
+ $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
- if (this._triggerArray.length > 0) {
- for (var i = 0; i < this._triggerArray.length; i++) {
- var trigger = this._triggerArray[i];
- var selector = Util.getSelectorFromElement(trigger);
+ if (this._triggerArray.length > 0) {
+ for (var i = 0; i < this._triggerArray.length; i++) {
+ var trigger = this._triggerArray[i];
+ var selector = Util.getSelectorFromElement(trigger);
- if (selector !== null) {
- var $elem = $$$1(selector);
+ if (selector !== null) {
+ var $elem = $$$1(selector);
- if (!$elem.hasClass(ClassName.SHOW)) {
- $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ if (!$elem.hasClass(ClassName.SHOW)) {
+ $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ }
}
}
}
- }
- this.setTransitioning(true);
+ this.setTransitioning(true);
- var complete = function complete() {
- _this2.setTransitioning(false);
+ var complete = function complete() {
+ _this2.setTransitioning(false);
- $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ };
+
+ this._element.style[dimension] = '';
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
};
- this._element.style[dimension] = '';
+ _proto.setTransitioning = function setTransitioning(isTransitioning) {
+ this._isTransitioning = isTransitioning;
+ };
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._config = null;
+ this._parent = null;
+ this._element = null;
+ this._triggerArray = null;
+ this._isTransitioning = null;
+ }; // Private
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- };
- _proto.setTransitioning = function setTransitioning(isTransitioning) {
- this._isTransitioning = isTransitioning;
- };
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
+ config.toggle = Boolean(config.toggle); // Coerce string values
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._config = null;
- this._parent = null;
- this._element = null;
- this._triggerArray = null;
- this._isTransitioning = null;
- }; // Private
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
+ _proto._getDimension = function _getDimension() {
+ var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ };
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
- config.toggle = Boolean(config.toggle); // Coerce string values
+ _proto._getParent = function _getParent() {
+ var _this3 = this;
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ var parent = null;
- _proto._getDimension = function _getDimension() {
- var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
- };
+ if (Util.isElement(this._config.parent)) {
+ parent = this._config.parent; // It's a jQuery object
- _proto._getParent = function _getParent() {
- var _this3 = this;
+ if (typeof this._config.parent.jquery !== 'undefined') {
+ parent = this._config.parent[0];
+ }
+ } else {
+ parent = $$$1(this._config.parent)[0];
+ }
- var parent = null;
+ var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
+ $$$1(parent).find(selector).each(function (i, element) {
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+ });
+ return parent;
+ };
- if (Util.isElement(this._config.parent)) {
- parent = this._config.parent; // It's a jQuery object
+ _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+ if (element) {
+ var isOpen = $$$1(element).hasClass(ClassName.SHOW);
- if (typeof this._config.parent.jquery !== 'undefined') {
- parent = this._config.parent[0];
+ if (triggerArray.length > 0) {
+ $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ }
}
- } else {
- parent = $$$1(this._config.parent)[0];
- }
+ }; // Static
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
- $$$1(parent).find(selector).each(function (i, element) {
- _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
- });
- return parent;
- };
- _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
- if (element) {
- var isOpen = $$$1(element).hasClass(ClassName.SHOW);
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ return selector ? $$$1(selector)[0] : null;
+ };
- if (triggerArray.length > 0) {
- $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
- }
- }
- }; // Static
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $$$1(this);
+ var data = $this.data(DATA_KEY);
+ var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
- Collapse._getTargetFromElement = function _getTargetFromElement(element) {
- var selector = Util.getSelectorFromElement(element);
- return selector ? $$$1(selector)[0] : null;
- };
+ if (!data && _config.toggle && /show|hide/.test(config)) {
+ _config.toggle = false;
+ }
- Collapse._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $this = $$$1(this);
- var data = $this.data(DATA_KEY);
+ if (!data) {
+ data = new Collapse(this, _config);
+ $this.data(DATA_KEY, data);
+ }
- var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- if (!data && _config.toggle && /show|hide/.test(config)) {
- _config.toggle = false;
- }
+ data[config]();
+ }
+ });
+ };
- if (!data) {
- data = new Collapse(this, _config);
- $this.data(DATA_KEY, data);
+ _createClass(Collapse, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
}
+ }]);
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
- }
+ return Collapse;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- data[config]();
- }
+
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+ if (event.currentTarget.tagName === 'A') {
+ event.preventDefault();
+ }
+
+ var $trigger = $$$1(this);
+ var selector = Util.getSelectorFromElement(this);
+ $$$1(selector).each(function () {
+ var $target = $$$1(this);
+ var data = $target.data(DATA_KEY);
+ var config = data ? 'toggle' : $trigger.data();
+
+ Collapse._jQueryInterface.call($target, config);
});
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+ $$$1.fn[NAME] = Collapse._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Collapse;
+
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Collapse._jQueryInterface;
};
- _createClass(Collapse, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
+ return Collapse;
+ }($);
+
+ /**!
+ * @fileOverview Kickass library to create and place poppers near their reference elements.
+ * @version 1.14.1
+ * @license
+ * Copyright (c) 2016 Federico Zivolo and contributors
+ *
+ * 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.
+ */
+ var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
+ var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
+ var timeoutDuration = 0;
+ for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
+ if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
+ timeoutDuration = 1;
+ break;
+ }
+ }
+
+ function microtaskDebounce(fn) {
+ var called = false;
+ return function () {
+ if (called) {
+ return;
}
- }, {
- key: "Default",
- get: function get() {
- return Default;
+ called = true;
+ window.Promise.resolve().then(function () {
+ called = false;
+ fn();
+ });
+ };
+ }
+
+ function taskDebounce(fn) {
+ var scheduled = false;
+ return function () {
+ if (!scheduled) {
+ scheduled = true;
+ setTimeout(function () {
+ scheduled = false;
+ fn();
+ }, timeoutDuration);
}
- }]);
- return Collapse;
- }();
+ };
+ }
+
+ var supportsMicroTasks = isBrowser && window.Promise;
+
/**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ * Create a debounced version of a method, that's asynchronously deferred
+ * but called in the minimum time possible.
+ *
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Function} fn
+ * @returns {Function}
+ */
+ var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
+ /**
+ * Check if the given variable is a function
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Any} functionToCheck - variable to check
+ * @returns {Boolean} answer to: is a function?
+ */
+ function isFunction(functionToCheck) {
+ var getType = {};
+ return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
+ }
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
- if (event.currentTarget.tagName === 'A') {
- event.preventDefault();
+ /**
+ * Get CSS computed property of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Eement} element
+ * @argument {String} property
+ */
+ function getStyleComputedProperty(element, property) {
+ if (element.nodeType !== 1) {
+ return [];
}
+ // NOTE: 1 DOM access here
+ var css = getComputedStyle(element, null);
+ return property ? css[property] : css;
+ }
- var $trigger = $$$1(this);
- var selector = Util.getSelectorFromElement(this);
- $$$1(selector).each(function () {
- var $target = $$$1(this);
- var data = $target.data(DATA_KEY);
- var config = data ? 'toggle' : $trigger.data();
+ /**
+ * Returns the parentNode or the host of the element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Element} parent
+ */
+ function getParentNode(element) {
+ if (element.nodeName === 'HTML') {
+ return element;
+ }
+ return element.parentNode || element.host;
+ }
- Collapse._jQueryInterface.call($target, config);
- });
- });
/**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
+ * Returns the scrolling parent of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Element} scroll parent
*/
+ function getScrollParent(element) {
+ // Return body, `getScroll` will take care to get the correct `scrollTop` from it
+ if (!element) {
+ return document.body;
+ }
- $$$1.fn[NAME] = Collapse._jQueryInterface;
- $$$1.fn[NAME].Constructor = Collapse;
+ switch (element.nodeName) {
+ case 'HTML':
+ case 'BODY':
+ return element.ownerDocument.body;
+ case '#document':
+ return element.body;
+ }
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Collapse._jQueryInterface;
- };
+ // Firefox want us to check `-x` and `-y` variations as well
+
+ var _getStyleComputedProp = getStyleComputedProperty(element),
+ overflow = _getStyleComputedProp.overflow,
+ overflowX = _getStyleComputedProp.overflowX,
+ overflowY = _getStyleComputedProp.overflowY;
+
+ if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
+ return element;
+ }
- return Collapse;
-}($);
-
-/**!
- * @fileOverview Kickass library to create and place poppers near their reference elements.
- * @version 1.12.9
- * @license
- * Copyright (c) 2016 Federico Zivolo and contributors
- *
- * 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.
- */
-var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
-var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
-var timeoutDuration = 0;
-for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
- if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
- timeoutDuration = 1;
- break;
+ return getScrollParent(getParentNode(element));
}
-}
-function microtaskDebounce(fn) {
- var called = false;
- return function () {
- if (called) {
- return;
+ /**
+ * Tells if you are running Internet Explorer
+ * @method
+ * @memberof Popper.Utils
+ * @argument {number} version to check
+ * @returns {Boolean} isIE
+ */
+ var cache = {};
+
+ var isIE = function () {
+ var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
+
+ version = version.toString();
+ if (cache.hasOwnProperty(version)) {
+ return cache[version];
+ }
+ switch (version) {
+ case '11':
+ cache[version] = navigator.userAgent.indexOf('Trident') !== -1;
+ break;
+ case '10':
+ cache[version] = navigator.appVersion.indexOf('MSIE 10') !== -1;
+ break;
+ case 'all':
+ cache[version] = navigator.userAgent.indexOf('Trident') !== -1 || navigator.userAgent.indexOf('MSIE') !== -1;
+ break;
}
- called = true;
- window.Promise.resolve().then(function () {
- called = false;
- fn();
+
+ //Set IE
+ cache.all = cache.all || Object.keys(cache).some(function (key) {
+ return cache[key];
});
+ return cache[version];
};
-}
-function taskDebounce(fn) {
- var scheduled = false;
- return function () {
- if (!scheduled) {
- scheduled = true;
- setTimeout(function () {
- scheduled = false;
- fn();
- }, timeoutDuration);
+ /**
+ * Returns the offset parent of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Element} offset parent
+ */
+ function getOffsetParent(element) {
+ if (!element) {
+ return document.documentElement;
}
- };
-}
-
-var supportsMicroTasks = isBrowser && window.Promise;
-
-/**
-* Create a debounced version of a method, that's asynchronously deferred
-* but called in the minimum time possible.
-*
-* @method
-* @memberof Popper.Utils
-* @argument {Function} fn
-* @returns {Function}
-*/
-var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
-
-/**
- * Check if the given variable is a function
- * @method
- * @memberof Popper.Utils
- * @argument {Any} functionToCheck - variable to check
- * @returns {Boolean} answer to: is a function?
- */
-function isFunction(functionToCheck) {
- var getType = {};
- return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
-}
-
-/**
- * Get CSS computed property of the given element
- * @method
- * @memberof Popper.Utils
- * @argument {Eement} element
- * @argument {String} property
- */
-function getStyleComputedProperty(element, property) {
- if (element.nodeType !== 1) {
- return [];
- }
- // NOTE: 1 DOM access here
- var css = getComputedStyle(element, null);
- return property ? css[property] : css;
-}
-
-/**
- * Returns the parentNode or the host of the element
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element
- * @returns {Element} parent
- */
-function getParentNode(element) {
- if (element.nodeName === 'HTML') {
- return element;
- }
- return element.parentNode || element.host;
-}
-
-/**
- * Returns the scrolling parent of the given element
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element
- * @returns {Element} scroll parent
- */
-function getScrollParent(element) {
- // Return body, `getScroll` will take care to get the correct `scrollTop` from it
- if (!element) {
- return document.body;
- }
- switch (element.nodeName) {
- case 'HTML':
- case 'BODY':
- return element.ownerDocument.body;
- case '#document':
- return element.body;
- }
+ var noOffsetParent = isIE(10) ? document.body : null;
- // Firefox want us to check `-x` and `-y` variations as well
+ // NOTE: 1 DOM access here
+ var offsetParent = element.offsetParent;
+ // Skip hidden elements which don't have an offsetParent
+ while (offsetParent === noOffsetParent && element.nextElementSibling) {
+ offsetParent = (element = element.nextElementSibling).offsetParent;
+ }
- var _getStyleComputedProp = getStyleComputedProperty(element),
- overflow = _getStyleComputedProp.overflow,
- overflowX = _getStyleComputedProp.overflowX,
- overflowY = _getStyleComputedProp.overflowY;
+ var nodeName = offsetParent && offsetParent.nodeName;
- if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {
- return element;
- }
+ if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
+ return element ? element.ownerDocument.documentElement : document.documentElement;
+ }
- return getScrollParent(getParentNode(element));
-}
-
-/**
- * Returns the offset parent of the given element
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element
- * @returns {Element} offset parent
- */
-function getOffsetParent(element) {
- // NOTE: 1 DOM access here
- var offsetParent = element && element.offsetParent;
- var nodeName = offsetParent && offsetParent.nodeName;
-
- if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
- if (element) {
- return element.ownerDocument.documentElement;
+ // .offsetParent will return the closest TD or TABLE in case
+ // no offsetParent is present, I hate this job...
+ if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
+ return getOffsetParent(offsetParent);
}
- return document.documentElement;
+ return offsetParent;
}
- // .offsetParent will return the closest TD or TABLE in case
- // no offsetParent is present, I hate this job...
- if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
- return getOffsetParent(offsetParent);
- }
+ function isOffsetContainer(element) {
+ var nodeName = element.nodeName;
- return offsetParent;
-}
+ if (nodeName === 'BODY') {
+ return false;
+ }
+ return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
+ }
-function isOffsetContainer(element) {
- var nodeName = element.nodeName;
+ /**
+ * Finds the root node (document, shadowDOM root) of the given element
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} node
+ * @returns {Element} root node
+ */
+ function getRoot(node) {
+ if (node.parentNode !== null) {
+ return getRoot(node.parentNode);
+ }
- if (nodeName === 'BODY') {
- return false;
- }
- return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
-}
-
-/**
- * Finds the root node (document, shadowDOM root) of the given element
- * @method
- * @memberof Popper.Utils
- * @argument {Element} node
- * @returns {Element} root node
- */
-function getRoot(node) {
- if (node.parentNode !== null) {
- return getRoot(node.parentNode);
+ return node;
}
- return node;
-}
-
-/**
- * Finds the offset parent common to the two provided nodes
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element1
- * @argument {Element} element2
- * @returns {Element} common offset parent
- */
-function findCommonOffsetParent(element1, element2) {
- // This check is needed to avoid errors in case one of the elements isn't defined for any reason
- if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
- return document.documentElement;
- }
+ /**
+ * Finds the offset parent common to the two provided nodes
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element1
+ * @argument {Element} element2
+ * @returns {Element} common offset parent
+ */
+ function findCommonOffsetParent(element1, element2) {
+ // This check is needed to avoid errors in case one of the elements isn't defined for any reason
+ if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
+ return document.documentElement;
+ }
- // Here we make sure to give as "start" the element that comes first in the DOM
- var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
- var start = order ? element1 : element2;
- var end = order ? element2 : element1;
+ // Here we make sure to give as "start" the element that comes first in the DOM
+ var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
+ var start = order ? element1 : element2;
+ var end = order ? element2 : element1;
- // Get common ancestor container
- var range = document.createRange();
- range.setStart(start, 0);
- range.setEnd(end, 0);
- var commonAncestorContainer = range.commonAncestorContainer;
+ // Get common ancestor container
+ var range = document.createRange();
+ range.setStart(start, 0);
+ range.setEnd(end, 0);
+ var commonAncestorContainer = range.commonAncestorContainer;
- // Both nodes are inside #document
+ // Both nodes are inside #document
- if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
- if (isOffsetContainer(commonAncestorContainer)) {
- return commonAncestorContainer;
+ if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
+ if (isOffsetContainer(commonAncestorContainer)) {
+ return commonAncestorContainer;
+ }
+
+ return getOffsetParent(commonAncestorContainer);
}
- return getOffsetParent(commonAncestorContainer);
+ // one of the nodes is inside shadowDOM, find which one
+ var element1root = getRoot(element1);
+ if (element1root.host) {
+ return findCommonOffsetParent(element1root.host, element2);
+ } else {
+ return findCommonOffsetParent(element1, getRoot(element2).host);
+ }
}
- // one of the nodes is inside shadowDOM, find which one
- var element1root = getRoot(element1);
- if (element1root.host) {
- return findCommonOffsetParent(element1root.host, element2);
- } else {
- return findCommonOffsetParent(element1, getRoot(element2).host);
- }
-}
-
-/**
- * Gets the scroll value of the given element in the given side (top and left)
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element
- * @argument {String} side `top` or `left`
- * @returns {number} amount of scrolled pixels
- */
-function getScroll(element) {
- var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
-
- var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
- var nodeName = element.nodeName;
-
- if (nodeName === 'BODY' || nodeName === 'HTML') {
- var html = element.ownerDocument.documentElement;
- var scrollingElement = element.ownerDocument.scrollingElement || html;
- return scrollingElement[upperSide];
+ /**
+ * Gets the scroll value of the given element in the given side (top and left)
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @argument {String} side `top` or `left`
+ * @returns {number} amount of scrolled pixels
+ */
+ function getScroll(element) {
+ var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
+
+ var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
+ var nodeName = element.nodeName;
+
+ if (nodeName === 'BODY' || nodeName === 'HTML') {
+ var html = element.ownerDocument.documentElement;
+ var scrollingElement = element.ownerDocument.scrollingElement || html;
+ return scrollingElement[upperSide];
+ }
+
+ return element[upperSide];
}
- return element[upperSide];
-}
-
-/*
- * Sum or subtract the element scroll values (left and top) from a given rect object
- * @method
- * @memberof Popper.Utils
- * @param {Object} rect - Rect object you want to change
- * @param {HTMLElement} element - The element from the function reads the scroll values
- * @param {Boolean} subtract - set to true if you want to subtract the scroll values
- * @return {Object} rect - The modifier rect object
- */
-function includeScroll(rect, element) {
- var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
- var scrollTop = getScroll(element, 'top');
- var scrollLeft = getScroll(element, 'left');
- var modifier = subtract ? -1 : 1;
- rect.top += scrollTop * modifier;
- rect.bottom += scrollTop * modifier;
- rect.left += scrollLeft * modifier;
- rect.right += scrollLeft * modifier;
- return rect;
-}
-
-/*
- * Helper to detect borders of a given element
- * @method
- * @memberof Popper.Utils
- * @param {CSSStyleDeclaration} styles
- * Result of `getStyleComputedProperty` on the given element
- * @param {String} axis - `x` or `y`
- * @return {number} borders - The borders size of the given axis
- */
-
-function getBordersSize(styles, axis) {
- var sideA = axis === 'x' ? 'Left' : 'Top';
- var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
-
- return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
-}
-
-/**
- * Tells if you are running Internet Explorer 10
- * @method
- * @memberof Popper.Utils
- * @returns {Boolean} isIE10
- */
-var isIE10 = undefined;
-
-var isIE10$1 = function () {
- if (isIE10 === undefined) {
- isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;
+ /*
+ * Sum or subtract the element scroll values (left and top) from a given rect object
+ * @method
+ * @memberof Popper.Utils
+ * @param {Object} rect - Rect object you want to change
+ * @param {HTMLElement} element - The element from the function reads the scroll values
+ * @param {Boolean} subtract - set to true if you want to subtract the scroll values
+ * @return {Object} rect - The modifier rect object
+ */
+ function includeScroll(rect, element) {
+ var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+ var scrollTop = getScroll(element, 'top');
+ var scrollLeft = getScroll(element, 'left');
+ var modifier = subtract ? -1 : 1;
+ rect.top += scrollTop * modifier;
+ rect.bottom += scrollTop * modifier;
+ rect.left += scrollLeft * modifier;
+ rect.right += scrollLeft * modifier;
+ return rect;
}
- return isIE10;
-};
-function getSize(axis, body, html, computedStyle) {
- return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
-}
+ /*
+ * Helper to detect borders of a given element
+ * @method
+ * @memberof Popper.Utils
+ * @param {CSSStyleDeclaration} styles
+ * Result of `getStyleComputedProperty` on the given element
+ * @param {String} axis - `x` or `y`
+ * @return {number} borders - The borders size of the given axis
+ */
-function getWindowSizes() {
- var body = document.body;
- var html = document.documentElement;
- var computedStyle = isIE10$1() && getComputedStyle(html);
+ function getBordersSize(styles, axis) {
+ var sideA = axis === 'x' ? 'Left' : 'Top';
+ var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
- return {
- height: getSize('Height', body, html, computedStyle),
- width: getSize('Width', body, html, computedStyle)
- };
-}
+ return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
+ }
-var classCallCheck = function (instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
+ function getSize(axis, body, html, computedStyle) {
+ return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);
}
-};
-var createClass = function () {
- function defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
+ function getWindowSizes() {
+ var body = document.body;
+ var html = document.documentElement;
+ var computedStyle = isIE(10) && getComputedStyle(html);
+
+ return {
+ height: getSize('Height', body, html, computedStyle),
+ width: getSize('Width', body, html, computedStyle)
+ };
}
- return function (Constructor, protoProps, staticProps) {
- if (protoProps) defineProperties(Constructor.prototype, protoProps);
- if (staticProps) defineProperties(Constructor, staticProps);
- return Constructor;
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
};
-}();
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
-var defineProperty = function (obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
- return obj;
-};
-var _extends$1 = Object.assign || function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
+ var defineProperty = function (obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+ };
+
+ var _extends = Object.assign || function (target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i];
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
+ for (var key in source) {
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
+ target[key] = source[key];
+ }
}
}
+
+ return target;
+ };
+
+ /**
+ * Given element offsets, generate an output similar to getBoundingClientRect
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Object} offsets
+ * @returns {Object} ClientRect like output
+ */
+ function getClientRect(offsets) {
+ return _extends({}, offsets, {
+ right: offsets.left + offsets.width,
+ bottom: offsets.top + offsets.height
+ });
}
- return target;
-};
-
-/**
- * Given element offsets, generate an output similar to getBoundingClientRect
- * @method
- * @memberof Popper.Utils
- * @argument {Object} offsets
- * @returns {Object} ClientRect like output
- */
-function getClientRect(offsets) {
- return _extends$1({}, offsets, {
- right: offsets.left + offsets.width,
- bottom: offsets.top + offsets.height
- });
-}
-
-/**
- * Get bounding client rect of given element
- * @method
- * @memberof Popper.Utils
- * @param {HTMLElement} element
- * @return {Object} client rect
- */
-function getBoundingClientRect(element) {
- var rect = {};
-
- // IE10 10 FIX: Please, don't ask, the element isn't
- // considered in DOM in some circumstances...
- // This isn't reproducible in IE10 compatibility mode of IE11
- if (isIE10$1()) {
+ /**
+ * Get bounding client rect of given element
+ * @method
+ * @memberof Popper.Utils
+ * @param {HTMLElement} element
+ * @return {Object} client rect
+ */
+ function getBoundingClientRect(element) {
+ var rect = {};
+
+ // IE10 10 FIX: Please, don't ask, the element isn't
+ // considered in DOM in some circumstances...
+ // This isn't reproducible in IE10 compatibility mode of IE11
try {
- rect = element.getBoundingClientRect();
- var scrollTop = getScroll(element, 'top');
- var scrollLeft = getScroll(element, 'left');
- rect.top += scrollTop;
- rect.left += scrollLeft;
- rect.bottom += scrollTop;
- rect.right += scrollLeft;
- } catch (err) {}
- } else {
- rect = element.getBoundingClientRect();
+ if (isIE(10)) {
+ rect = element.getBoundingClientRect();
+ var scrollTop = getScroll(element, 'top');
+ var scrollLeft = getScroll(element, 'left');
+ rect.top += scrollTop;
+ rect.left += scrollLeft;
+ rect.bottom += scrollTop;
+ rect.right += scrollLeft;
+ } else {
+ rect = element.getBoundingClientRect();
+ }
+ } catch (e) {}
+
+ var result = {
+ left: rect.left,
+ top: rect.top,
+ width: rect.right - rect.left,
+ height: rect.bottom - rect.top
+ };
+
+ // subtract scrollbar size from sizes
+ var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
+ var width = sizes.width || element.clientWidth || result.right - result.left;
+ var height = sizes.height || element.clientHeight || result.bottom - result.top;
+
+ var horizScrollbar = element.offsetWidth - width;
+ var vertScrollbar = element.offsetHeight - height;
+
+ // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
+ // we make this check conditional for performance reasons
+ if (horizScrollbar || vertScrollbar) {
+ var styles = getStyleComputedProperty(element);
+ horizScrollbar -= getBordersSize(styles, 'x');
+ vertScrollbar -= getBordersSize(styles, 'y');
+
+ result.width -= horizScrollbar;
+ result.height -= vertScrollbar;
+ }
+
+ return getClientRect(result);
}
- var result = {
- left: rect.left,
- top: rect.top,
- width: rect.right - rect.left,
- height: rect.bottom - rect.top
- };
+ function getOffsetRectRelativeToArbitraryNode(children, parent) {
+ var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+
+ var isIE10 = isIE(10);
+ var isHTML = parent.nodeName === 'HTML';
+ var childrenRect = getBoundingClientRect(children);
+ var parentRect = getBoundingClientRect(parent);
+ var scrollParent = getScrollParent(children);
- // subtract scrollbar size from sizes
- var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};
- var width = sizes.width || element.clientWidth || result.right - result.left;
- var height = sizes.height || element.clientHeight || result.bottom - result.top;
+ var styles = getStyleComputedProperty(parent);
+ var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
+ var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
- var horizScrollbar = element.offsetWidth - width;
- var vertScrollbar = element.offsetHeight - height;
+ // In cases where the parent is fixed, we must ignore negative scroll in offset calc
+ if (fixedPosition && parent.nodeName === 'HTML') {
+ parentRect.top = Math.max(parentRect.top, 0);
+ parentRect.left = Math.max(parentRect.left, 0);
+ }
+ var offsets = getClientRect({
+ top: childrenRect.top - parentRect.top - borderTopWidth,
+ left: childrenRect.left - parentRect.left - borderLeftWidth,
+ width: childrenRect.width,
+ height: childrenRect.height
+ });
+ offsets.marginTop = 0;
+ offsets.marginLeft = 0;
+
+ // Subtract margins of documentElement in case it's being used as parent
+ // we do this only on HTML because it's the only element that behaves
+ // differently when margins are applied to it. The margins are included in
+ // the box of the documentElement, in the other cases not.
+ if (!isIE10 && isHTML) {
+ var marginTop = parseFloat(styles.marginTop, 10);
+ var marginLeft = parseFloat(styles.marginLeft, 10);
+
+ offsets.top -= borderTopWidth - marginTop;
+ offsets.bottom -= borderTopWidth - marginTop;
+ offsets.left -= borderLeftWidth - marginLeft;
+ offsets.right -= borderLeftWidth - marginLeft;
+
+ // Attach marginTop and marginLeft because in some circumstances we may need them
+ offsets.marginTop = marginTop;
+ offsets.marginLeft = marginLeft;
+ }
- // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
- // we make this check conditional for performance reasons
- if (horizScrollbar || vertScrollbar) {
- var styles = getStyleComputedProperty(element);
- horizScrollbar -= getBordersSize(styles, 'x');
- vertScrollbar -= getBordersSize(styles, 'y');
+ if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
+ offsets = includeScroll(offsets, parent);
+ }
- result.width -= horizScrollbar;
- result.height -= vertScrollbar;
+ return offsets;
}
- return getClientRect(result);
-}
-
-function getOffsetRectRelativeToArbitraryNode(children, parent) {
- var isIE10 = isIE10$1();
- var isHTML = parent.nodeName === 'HTML';
- var childrenRect = getBoundingClientRect(children);
- var parentRect = getBoundingClientRect(parent);
- var scrollParent = getScrollParent(children);
-
- var styles = getStyleComputedProperty(parent);
- var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
- var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
-
- var offsets = getClientRect({
- top: childrenRect.top - parentRect.top - borderTopWidth,
- left: childrenRect.left - parentRect.left - borderLeftWidth,
- width: childrenRect.width,
- height: childrenRect.height
- });
- offsets.marginTop = 0;
- offsets.marginLeft = 0;
-
- // Subtract margins of documentElement in case it's being used as parent
- // we do this only on HTML because it's the only element that behaves
- // differently when margins are applied to it. The margins are included in
- // the box of the documentElement, in the other cases not.
- if (!isIE10 && isHTML) {
- var marginTop = parseFloat(styles.marginTop, 10);
- var marginLeft = parseFloat(styles.marginLeft, 10);
-
- offsets.top -= borderTopWidth - marginTop;
- offsets.bottom -= borderTopWidth - marginTop;
- offsets.left -= borderLeftWidth - marginLeft;
- offsets.right -= borderLeftWidth - marginLeft;
-
- // Attach marginTop and marginLeft because in some circumstances we may need them
- offsets.marginTop = marginTop;
- offsets.marginLeft = marginLeft;
+ function getViewportOffsetRectRelativeToArtbitraryNode(element) {
+ var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
+
+ var html = element.ownerDocument.documentElement;
+ var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
+ var width = Math.max(html.clientWidth, window.innerWidth || 0);
+ var height = Math.max(html.clientHeight, window.innerHeight || 0);
+
+ var scrollTop = !excludeScroll ? getScroll(html) : 0;
+ var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;
+
+ var offset = {
+ top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
+ left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
+ width: width,
+ height: height
+ };
+
+ return getClientRect(offset);
}
- if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
- offsets = includeScroll(offsets, parent);
+ /**
+ * Check if the given element is fixed or is inside a fixed parent
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @argument {Element} customContainer
+ * @returns {Boolean} answer to "isFixed?"
+ */
+ function isFixed(element) {
+ var nodeName = element.nodeName;
+ if (nodeName === 'BODY' || nodeName === 'HTML') {
+ return false;
+ }
+ if (getStyleComputedProperty(element, 'position') === 'fixed') {
+ return true;
+ }
+ return isFixed(getParentNode(element));
}
- return offsets;
-}
+ /**
+ * Finds the first parent of an element that has a transformed property defined
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Element} first transformed parent or documentElement
+ */
-function getViewportOffsetRectRelativeToArtbitraryNode(element) {
- var html = element.ownerDocument.documentElement;
- var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
- var width = Math.max(html.clientWidth, window.innerWidth || 0);
- var height = Math.max(html.clientHeight, window.innerHeight || 0);
+ function getFixedPositionOffsetParent(element) {
+ // This check is needed to avoid errors in case one of the elements isn't defined for any reason
+ if (!element || !element.parentElement || isIE()) {
+ return document.documentElement;
+ }
+ var el = element.parentElement;
+ while (el && getStyleComputedProperty(el, 'transform') === 'none') {
+ el = el.parentElement;
+ }
+ return el || document.documentElement;
+ }
- var scrollTop = getScroll(html);
- var scrollLeft = getScroll(html, 'left');
+ /**
+ * Computed the boundaries limits and return them
+ * @method
+ * @memberof Popper.Utils
+ * @param {HTMLElement} popper
+ * @param {HTMLElement} reference
+ * @param {number} padding
+ * @param {HTMLElement} boundariesElement - Element used to define the boundaries
+ * @param {Boolean} fixedPosition - Is in fixed position mode
+ * @returns {Object} Coordinates of the boundaries
+ */
+ function getBoundaries(popper, reference, padding, boundariesElement) {
+ var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
- var offset = {
- top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
- left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
- width: width,
- height: height
- };
+ // NOTE: 1 DOM access here
- return getClientRect(offset);
-}
-
-/**
- * Check if the given element is fixed or is inside a fixed parent
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element
- * @argument {Element} customContainer
- * @returns {Boolean} answer to "isFixed?"
- */
-function isFixed(element) {
- var nodeName = element.nodeName;
- if (nodeName === 'BODY' || nodeName === 'HTML') {
- return false;
- }
- if (getStyleComputedProperty(element, 'position') === 'fixed') {
- return true;
- }
- return isFixed(getParentNode(element));
-}
-
-/**
- * Computed the boundaries limits and return them
- * @method
- * @memberof Popper.Utils
- * @param {HTMLElement} popper
- * @param {HTMLElement} reference
- * @param {number} padding
- * @param {HTMLElement} boundariesElement - Element used to define the boundaries
- * @returns {Object} Coordinates of the boundaries
- */
-function getBoundaries(popper, reference, padding, boundariesElement) {
- // NOTE: 1 DOM access here
- var boundaries = { top: 0, left: 0 };
- var offsetParent = findCommonOffsetParent(popper, reference);
-
- // Handle viewport case
- if (boundariesElement === 'viewport') {
- boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);
- } else {
- // Handle other cases based on DOM element used as boundaries
- var boundariesNode = void 0;
- if (boundariesElement === 'scrollParent') {
- boundariesNode = getScrollParent(getParentNode(reference));
- if (boundariesNode.nodeName === 'BODY') {
+ var boundaries = { top: 0, left: 0 };
+ var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
+
+ // Handle viewport case
+ if (boundariesElement === 'viewport') {
+ boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
+ } else {
+ // Handle other cases based on DOM element used as boundaries
+ var boundariesNode = void 0;
+ if (boundariesElement === 'scrollParent') {
+ boundariesNode = getScrollParent(getParentNode(reference));
+ if (boundariesNode.nodeName === 'BODY') {
+ boundariesNode = popper.ownerDocument.documentElement;
+ }
+ } else if (boundariesElement === 'window') {
boundariesNode = popper.ownerDocument.documentElement;
+ } else {
+ boundariesNode = boundariesElement;
}
- } else if (boundariesElement === 'window') {
- boundariesNode = popper.ownerDocument.documentElement;
- } else {
- boundariesNode = boundariesElement;
- }
- var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);
+ var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);
- // In case of HTML, we need a different computation
- if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
- var _getWindowSizes = getWindowSizes(),
- height = _getWindowSizes.height,
- width = _getWindowSizes.width;
+ // In case of HTML, we need a different computation
+ if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
+ var _getWindowSizes = getWindowSizes(),
+ height = _getWindowSizes.height,
+ width = _getWindowSizes.width;
- boundaries.top += offsets.top - offsets.marginTop;
- boundaries.bottom = height + offsets.top;
- boundaries.left += offsets.left - offsets.marginLeft;
- boundaries.right = width + offsets.left;
- } else {
- // for all the other DOM elements, this one is good
- boundaries = offsets;
+ boundaries.top += offsets.top - offsets.marginTop;
+ boundaries.bottom = height + offsets.top;
+ boundaries.left += offsets.left - offsets.marginLeft;
+ boundaries.right = width + offsets.left;
+ } else {
+ // for all the other DOM elements, this one is good
+ boundaries = offsets;
+ }
}
+
+ // Add paddings
+ boundaries.left += padding;
+ boundaries.top += padding;
+ boundaries.right -= padding;
+ boundaries.bottom -= padding;
+
+ return boundaries;
}
- // Add paddings
- boundaries.left += padding;
- boundaries.top += padding;
- boundaries.right -= padding;
- boundaries.bottom -= padding;
-
- return boundaries;
-}
-
-function getArea(_ref) {
- var width = _ref.width,
- height = _ref.height;
-
- return width * height;
-}
-
-/**
- * Utility used to transform the `auto` placement to the placement with more
- * available space.
- * @method
- * @memberof Popper.Utils
- * @argument {Object} data - The data object generated by update method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
- var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
-
- if (placement.indexOf('auto') === -1) {
- return placement;
+ function getArea(_ref) {
+ var width = _ref.width,
+ height = _ref.height;
+
+ return width * height;
}
- var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
+ /**
+ * Utility used to transform the `auto` placement to the placement with more
+ * available space.
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
+ var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
- var rects = {
- top: {
- width: boundaries.width,
- height: refRect.top - boundaries.top
- },
- right: {
- width: boundaries.right - refRect.right,
- height: boundaries.height
- },
- bottom: {
- width: boundaries.width,
- height: boundaries.bottom - refRect.bottom
- },
- left: {
- width: refRect.left - boundaries.left,
- height: boundaries.height
+ if (placement.indexOf('auto') === -1) {
+ return placement;
}
- };
- var sortedAreas = Object.keys(rects).map(function (key) {
- return _extends$1({
- key: key
- }, rects[key], {
- area: getArea(rects[key])
+ var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
+
+ var rects = {
+ top: {
+ width: boundaries.width,
+ height: refRect.top - boundaries.top
+ },
+ right: {
+ width: boundaries.right - refRect.right,
+ height: boundaries.height
+ },
+ bottom: {
+ width: boundaries.width,
+ height: boundaries.bottom - refRect.bottom
+ },
+ left: {
+ width: refRect.left - boundaries.left,
+ height: boundaries.height
+ }
+ };
+
+ var sortedAreas = Object.keys(rects).map(function (key) {
+ return _extends({
+ key: key
+ }, rects[key], {
+ area: getArea(rects[key])
+ });
+ }).sort(function (a, b) {
+ return b.area - a.area;
});
- }).sort(function (a, b) {
- return b.area - a.area;
- });
-
- var filteredAreas = sortedAreas.filter(function (_ref2) {
- var width = _ref2.width,
- height = _ref2.height;
- return width >= popper.clientWidth && height >= popper.clientHeight;
- });
-
- var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
-
- var variation = placement.split('-')[1];
-
- return computedPlacement + (variation ? '-' + variation : '');
-}
-
-/**
- * Get offsets to the reference element
- * @method
- * @memberof Popper.Utils
- * @param {Object} state
- * @param {Element} popper - the popper element
- * @param {Element} reference - the reference element (the popper will be relative to this)
- * @returns {Object} An object containing the offsets which will be applied to the popper
- */
-function getReferenceOffsets(state, popper, reference) {
- var commonOffsetParent = findCommonOffsetParent(popper, reference);
- return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);
-}
-
-/**
- * Get the outer sizes of the given element (offset size + margins)
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element
- * @returns {Object} object containing width and height properties
- */
-function getOuterSizes(element) {
- var styles = getComputedStyle(element);
- var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
- var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
- var result = {
- width: element.offsetWidth + y,
- height: element.offsetHeight + x
- };
- return result;
-}
-
-/**
- * Get the opposite placement of the given one
- * @method
- * @memberof Popper.Utils
- * @argument {String} placement
- * @returns {String} flipped placement
- */
-function getOppositePlacement(placement) {
- var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
- return placement.replace(/left|right|bottom|top/g, function (matched) {
- return hash[matched];
- });
-}
-
-/**
- * Get offsets to the popper
- * @method
- * @memberof Popper.Utils
- * @param {Object} position - CSS position the Popper will get applied
- * @param {HTMLElement} popper - the popper element
- * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
- * @param {String} placement - one of the valid placement options
- * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
- */
-function getPopperOffsets(popper, referenceOffsets, placement) {
- placement = placement.split('-')[0];
-
- // Get popper node sizes
- var popperRect = getOuterSizes(popper);
-
- // Add position, width and height to our offsets object
- var popperOffsets = {
- width: popperRect.width,
- height: popperRect.height
- };
- // depending by the popper placement we have to compute its offsets slightly differently
- var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
- var mainSide = isHoriz ? 'top' : 'left';
- var secondarySide = isHoriz ? 'left' : 'top';
- var measurement = isHoriz ? 'height' : 'width';
- var secondaryMeasurement = !isHoriz ? 'height' : 'width';
-
- popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
- if (placement === secondarySide) {
- popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
- } else {
- popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
+ var filteredAreas = sortedAreas.filter(function (_ref2) {
+ var width = _ref2.width,
+ height = _ref2.height;
+ return width >= popper.clientWidth && height >= popper.clientHeight;
+ });
+
+ var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
+
+ var variation = placement.split('-')[1];
+
+ return computedPlacement + (variation ? '-' + variation : '');
+ }
+
+ /**
+ * Get offsets to the reference element
+ * @method
+ * @memberof Popper.Utils
+ * @param {Object} state
+ * @param {Element} popper - the popper element
+ * @param {Element} reference - the reference element (the popper will be relative to this)
+ * @param {Element} fixedPosition - is in fixed position mode
+ * @returns {Object} An object containing the offsets which will be applied to the popper
+ */
+ function getReferenceOffsets(state, popper, reference) {
+ var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
+
+ var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
+ return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
}
- return popperOffsets;
-}
-
-/**
- * Mimics the `find` method of Array
- * @method
- * @memberof Popper.Utils
- * @argument {Array} arr
- * @argument prop
- * @argument value
- * @returns index or -1
- */
-function find(arr, check) {
- // use native find if supported
- if (Array.prototype.find) {
- return arr.find(check);
+ /**
+ * Get the outer sizes of the given element (offset size + margins)
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element
+ * @returns {Object} object containing width and height properties
+ */
+ function getOuterSizes(element) {
+ var styles = getComputedStyle(element);
+ var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
+ var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
+ var result = {
+ width: element.offsetWidth + y,
+ height: element.offsetHeight + x
+ };
+ return result;
}
- // use `filter` to obtain the same behavior of `find`
- return arr.filter(check)[0];
-}
-
-/**
- * Return the index of the matching object
- * @method
- * @memberof Popper.Utils
- * @argument {Array} arr
- * @argument prop
- * @argument value
- * @returns index or -1
- */
-function findIndex(arr, prop, value) {
- // use native findIndex if supported
- if (Array.prototype.findIndex) {
- return arr.findIndex(function (cur) {
- return cur[prop] === value;
+ /**
+ * Get the opposite placement of the given one
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} placement
+ * @returns {String} flipped placement
+ */
+ function getOppositePlacement(placement) {
+ var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
+ return placement.replace(/left|right|bottom|top/g, function (matched) {
+ return hash[matched];
});
}
- // use `find` + `indexOf` if `findIndex` isn't supported
- var match = find(arr, function (obj) {
- return obj[prop] === value;
- });
- return arr.indexOf(match);
-}
-
-/**
- * Loop trough the list of modifiers and run them in order,
- * each of them will then edit the data object.
- * @method
- * @memberof Popper.Utils
- * @param {dataObject} data
- * @param {Array} modifiers
- * @param {String} ends - Optional modifier name used as stopper
- * @returns {dataObject}
- */
-function runModifiers(modifiers, data, ends) {
- var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
-
- modifiersToRun.forEach(function (modifier) {
- if (modifier['function']) {
- // eslint-disable-line dot-notation
- console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
- }
- var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
- if (modifier.enabled && isFunction(fn)) {
- // Add properties to offsets to make them a complete clientRect object
- // we do this before each modifier to make sure the previous one doesn't
- // mess with these values
- data.offsets.popper = getClientRect(data.offsets.popper);
- data.offsets.reference = getClientRect(data.offsets.reference);
-
- data = fn(data, modifier);
+ /**
+ * Get offsets to the popper
+ * @method
+ * @memberof Popper.Utils
+ * @param {Object} position - CSS position the Popper will get applied
+ * @param {HTMLElement} popper - the popper element
+ * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
+ * @param {String} placement - one of the valid placement options
+ * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
+ */
+ function getPopperOffsets(popper, referenceOffsets, placement) {
+ placement = placement.split('-')[0];
+
+ // Get popper node sizes
+ var popperRect = getOuterSizes(popper);
+
+ // Add position, width and height to our offsets object
+ var popperOffsets = {
+ width: popperRect.width,
+ height: popperRect.height
+ };
+
+ // depending by the popper placement we have to compute its offsets slightly differently
+ var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
+ var mainSide = isHoriz ? 'top' : 'left';
+ var secondarySide = isHoriz ? 'left' : 'top';
+ var measurement = isHoriz ? 'height' : 'width';
+ var secondaryMeasurement = !isHoriz ? 'height' : 'width';
+
+ popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
+ if (placement === secondarySide) {
+ popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
+ } else {
+ popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
}
- });
-
- return data;
-}
-
-/**
- * Updates the position of the popper, computing the new offsets and applying
- * the new style.<br />
- * Prefer `scheduleUpdate` over `update` because of performance reasons.
- * @method
- * @memberof Popper
- */
-function update() {
- // if popper is destroyed, don't perform any further update
- if (this.state.isDestroyed) {
- return;
+
+ return popperOffsets;
}
- var data = {
- instance: this,
- styles: {},
- arrowStyles: {},
- attributes: {},
- flipped: false,
- offsets: {}
- };
+ /**
+ * Mimics the `find` method of Array
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Array} arr
+ * @argument prop
+ * @argument value
+ * @returns index or -1
+ */
+ function find(arr, check) {
+ // use native find if supported
+ if (Array.prototype.find) {
+ return arr.find(check);
+ }
- // compute reference element offsets
- data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);
+ // use `filter` to obtain the same behavior of `find`
+ return arr.filter(check)[0];
+ }
- // compute auto placement, store placement inside the data object,
- // modifiers will be able to edit `placement` if needed
- // and refer to originalPlacement to know the original value
- data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
+ /**
+ * Return the index of the matching object
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Array} arr
+ * @argument prop
+ * @argument value
+ * @returns index or -1
+ */
+ function findIndex(arr, prop, value) {
+ // use native findIndex if supported
+ if (Array.prototype.findIndex) {
+ return arr.findIndex(function (cur) {
+ return cur[prop] === value;
+ });
+ }
- // store the computed placement inside `originalPlacement`
- data.originalPlacement = data.placement;
+ // use `find` + `indexOf` if `findIndex` isn't supported
+ var match = find(arr, function (obj) {
+ return obj[prop] === value;
+ });
+ return arr.indexOf(match);
+ }
+
+ /**
+ * Loop trough the list of modifiers and run them in order,
+ * each of them will then edit the data object.
+ * @method
+ * @memberof Popper.Utils
+ * @param {dataObject} data
+ * @param {Array} modifiers
+ * @param {String} ends - Optional modifier name used as stopper
+ * @returns {dataObject}
+ */
+ function runModifiers(modifiers, data, ends) {
+ var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
- // compute the popper offsets
- data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
- data.offsets.popper.position = 'absolute';
+ modifiersToRun.forEach(function (modifier) {
+ if (modifier['function']) {
+ // eslint-disable-line dot-notation
+ console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
+ }
+ var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
+ if (modifier.enabled && isFunction(fn)) {
+ // Add properties to offsets to make them a complete clientRect object
+ // we do this before each modifier to make sure the previous one doesn't
+ // mess with these values
+ data.offsets.popper = getClientRect(data.offsets.popper);
+ data.offsets.reference = getClientRect(data.offsets.reference);
- // run the modifiers
- data = runModifiers(this.modifiers, data);
+ data = fn(data, modifier);
+ }
+ });
- // the first `update` will call `onCreate` callback
- // the other ones will call `onUpdate` callback
- if (!this.state.isCreated) {
- this.state.isCreated = true;
- this.options.onCreate(data);
- } else {
- this.options.onUpdate(data);
+ return data;
}
-}
-
-/**
- * Helper used to know if the given modifier is enabled.
- * @method
- * @memberof Popper.Utils
- * @returns {Boolean}
- */
-function isModifierEnabled(modifiers, modifierName) {
- return modifiers.some(function (_ref) {
- var name = _ref.name,
- enabled = _ref.enabled;
- return enabled && name === modifierName;
- });
-}
-
-/**
- * Get the prefixed supported property name
- * @method
- * @memberof Popper.Utils
- * @argument {String} property (camelCase)
- * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
- */
-function getSupportedPropertyName(property) {
- var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
- var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
-
- for (var i = 0; i < prefixes.length - 1; i++) {
- var prefix = prefixes[i];
- var toCheck = prefix ? '' + prefix + upperProp : property;
- if (typeof document.body.style[toCheck] !== 'undefined') {
- return toCheck;
+
+ /**
+ * Updates the position of the popper, computing the new offsets and applying
+ * the new style.<br />
+ * Prefer `scheduleUpdate` over `update` because of performance reasons.
+ * @method
+ * @memberof Popper
+ */
+ function update() {
+ // if popper is destroyed, don't perform any further update
+ if (this.state.isDestroyed) {
+ return;
+ }
+
+ var data = {
+ instance: this,
+ styles: {},
+ arrowStyles: {},
+ attributes: {},
+ flipped: false,
+ offsets: {}
+ };
+
+ // compute reference element offsets
+ data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);
+
+ // compute auto placement, store placement inside the data object,
+ // modifiers will be able to edit `placement` if needed
+ // and refer to originalPlacement to know the original value
+ data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
+
+ // store the computed placement inside `originalPlacement`
+ data.originalPlacement = data.placement;
+
+ data.positionFixed = this.options.positionFixed;
+
+ // compute the popper offsets
+ data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
+ data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
+
+ // run the modifiers
+ data = runModifiers(this.modifiers, data);
+
+ // the first `update` will call `onCreate` callback
+ // the other ones will call `onUpdate` callback
+ if (!this.state.isCreated) {
+ this.state.isCreated = true;
+ this.options.onCreate(data);
+ } else {
+ this.options.onUpdate(data);
}
}
- return null;
-}
-
-/**
- * Destroy the popper
- * @method
- * @memberof Popper
- */
-function destroy() {
- this.state.isDestroyed = true;
-
- // touch DOM only if `applyStyle` modifier is enabled
- if (isModifierEnabled(this.modifiers, 'applyStyle')) {
- this.popper.removeAttribute('x-placement');
- this.popper.style.left = '';
- this.popper.style.position = '';
- this.popper.style.top = '';
- this.popper.style[getSupportedPropertyName('transform')] = '';
+
+ /**
+ * Helper used to know if the given modifier is enabled.
+ * @method
+ * @memberof Popper.Utils
+ * @returns {Boolean}
+ */
+ function isModifierEnabled(modifiers, modifierName) {
+ return modifiers.some(function (_ref) {
+ var name = _ref.name,
+ enabled = _ref.enabled;
+ return enabled && name === modifierName;
+ });
}
- this.disableEventListeners();
+ /**
+ * Get the prefixed supported property name
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} property (camelCase)
+ * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
+ */
+ function getSupportedPropertyName(property) {
+ var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
+ var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
- // remove the popper if user explicity asked for the deletion on destroy
- // do not use `remove` because IE11 doesn't support it
- if (this.options.removeOnDestroy) {
- this.popper.parentNode.removeChild(this.popper);
- }
- return this;
-}
-
-/**
- * Get the window associated with the element
- * @argument {Element} element
- * @returns {Window}
- */
-function getWindow(element) {
- var ownerDocument = element.ownerDocument;
- return ownerDocument ? ownerDocument.defaultView : window;
-}
-
-function attachToScrollParents(scrollParent, event, callback, scrollParents) {
- var isBody = scrollParent.nodeName === 'BODY';
- var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
- target.addEventListener(event, callback, { passive: true });
-
- if (!isBody) {
- attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
+ for (var i = 0; i < prefixes.length; i++) {
+ var prefix = prefixes[i];
+ var toCheck = prefix ? '' + prefix + upperProp : property;
+ if (typeof document.body.style[toCheck] !== 'undefined') {
+ return toCheck;
+ }
+ }
+ return null;
}
- scrollParents.push(target);
-}
-
-/**
- * Setup needed event listeners used to update the popper position
- * @method
- * @memberof Popper.Utils
- * @private
- */
-function setupEventListeners(reference, options, state, updateBound) {
- // Resize event listener on window
- state.updateBound = updateBound;
- getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
-
- // Scroll event listener on scroll parents
- var scrollElement = getScrollParent(reference);
- attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
- state.scrollElement = scrollElement;
- state.eventsEnabled = true;
-
- return state;
-}
-
-/**
- * It will add resize/scroll events and start recalculating
- * position of the popper element when they are triggered.
- * @method
- * @memberof Popper
- */
-function enableEventListeners() {
- if (!this.state.eventsEnabled) {
- this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
+
+ /**
+ * Destroy the popper
+ * @method
+ * @memberof Popper
+ */
+ function destroy() {
+ this.state.isDestroyed = true;
+
+ // touch DOM only if `applyStyle` modifier is enabled
+ if (isModifierEnabled(this.modifiers, 'applyStyle')) {
+ this.popper.removeAttribute('x-placement');
+ this.popper.style.position = '';
+ this.popper.style.top = '';
+ this.popper.style.left = '';
+ this.popper.style.right = '';
+ this.popper.style.bottom = '';
+ this.popper.style.willChange = '';
+ this.popper.style[getSupportedPropertyName('transform')] = '';
+ }
+
+ this.disableEventListeners();
+
+ // remove the popper if user explicity asked for the deletion on destroy
+ // do not use `remove` because IE11 doesn't support it
+ if (this.options.removeOnDestroy) {
+ this.popper.parentNode.removeChild(this.popper);
+ }
+ return this;
}
-}
-
-/**
- * Remove event listeners used to update the popper position
- * @method
- * @memberof Popper.Utils
- * @private
- */
-function removeEventListeners(reference, state) {
- // Remove resize event listener on window
- getWindow(reference).removeEventListener('resize', state.updateBound);
-
- // Remove scroll event listener on scroll parents
- state.scrollParents.forEach(function (target) {
- target.removeEventListener('scroll', state.updateBound);
- });
-
- // Reset state
- state.updateBound = null;
- state.scrollParents = [];
- state.scrollElement = null;
- state.eventsEnabled = false;
- return state;
-}
-
-/**
- * It will remove resize/scroll events and won't recalculate popper position
- * when they are triggered. It also won't trigger onUpdate callback anymore,
- * unless you call `update` method manually.
- * @method
- * @memberof Popper
- */
-function disableEventListeners() {
- if (this.state.eventsEnabled) {
- cancelAnimationFrame(this.scheduleUpdate);
- this.state = removeEventListeners(this.reference, this.state);
+
+ /**
+ * Get the window associated with the element
+ * @argument {Element} element
+ * @returns {Window}
+ */
+ function getWindow(element) {
+ var ownerDocument = element.ownerDocument;
+ return ownerDocument ? ownerDocument.defaultView : window;
}
-}
-
-/**
- * Tells if a given input is a number
- * @method
- * @memberof Popper.Utils
- * @param {*} input to check
- * @return {Boolean}
- */
-function isNumeric(n) {
- return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
-}
-
-/**
- * Set the style to the given popper
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element - Element to apply the style to
- * @argument {Object} styles
- * Object with a list of properties and values which will be applied to the element
- */
-function setStyles(element, styles) {
- Object.keys(styles).forEach(function (prop) {
- var unit = '';
- // add unit if the value is numeric and is one of the following
- if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
- unit = 'px';
- }
- element.style[prop] = styles[prop] + unit;
- });
-}
-
-/**
- * Set the attributes to the given popper
- * @method
- * @memberof Popper.Utils
- * @argument {Element} element - Element to apply the attributes to
- * @argument {Object} styles
- * Object with a list of properties and values which will be applied to the element
- */
-function setAttributes(element, attributes) {
- Object.keys(attributes).forEach(function (prop) {
- var value = attributes[prop];
- if (value !== false) {
- element.setAttribute(prop, attributes[prop]);
- } else {
- element.removeAttribute(prop);
+
+ function attachToScrollParents(scrollParent, event, callback, scrollParents) {
+ var isBody = scrollParent.nodeName === 'BODY';
+ var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
+ target.addEventListener(event, callback, { passive: true });
+
+ if (!isBody) {
+ attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
}
- });
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by `update` method
- * @argument {Object} data.styles - List of style properties - values to apply to popper element
- * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The same data object
- */
-function applyStyle(data) {
- // any property present in `data.styles` will be applied to the popper,
- // in this way we can make the 3rd party modifiers add custom styles to it
- // Be aware, modifiers could override the properties defined in the previous
- // lines of this modifier!
- setStyles(data.instance.popper, data.styles);
-
- // any property present in `data.attributes` will be applied to the popper,
- // they will be set as HTML attributes of the element
- setAttributes(data.instance.popper, data.attributes);
-
- // if arrowElement is defined and arrowStyles has some properties
- if (data.arrowElement && Object.keys(data.arrowStyles).length) {
- setStyles(data.arrowElement, data.arrowStyles);
+ scrollParents.push(target);
}
- return data;
-}
-
-/**
- * Set the x-placement attribute before everything else because it could be used
- * to add margins to the popper margins needs to be calculated to get the
- * correct popper offsets.
- * @method
- * @memberof Popper.modifiers
- * @param {HTMLElement} reference - The reference element used to position the popper
- * @param {HTMLElement} popper - The HTML element used as popper.
- * @param {Object} options - Popper.js options
- */
-function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
- // compute reference element offsets
- var referenceOffsets = getReferenceOffsets(state, popper, reference);
-
- // compute auto placement, store placement inside the data object,
- // modifiers will be able to edit `placement` if needed
- // and refer to originalPlacement to know the original value
- var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
-
- popper.setAttribute('x-placement', placement);
-
- // Apply `position` to popper before anything else because
- // without the position applied we can't guarantee correct computations
- setStyles(popper, { position: 'absolute' });
-
- return options;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by `update` method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function computeStyle(data, options) {
- var x = options.x,
- y = options.y;
- var popper = data.offsets.popper;
-
- // Remove this legacy support in Popper.js v2
-
- var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
- return modifier.name === 'applyStyle';
- }).gpuAcceleration;
- if (legacyGpuAccelerationOption !== undefined) {
- console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
+ /**
+ * Setup needed event listeners used to update the popper position
+ * @method
+ * @memberof Popper.Utils
+ * @private
+ */
+ function setupEventListeners(reference, options, state, updateBound) {
+ // Resize event listener on window
+ state.updateBound = updateBound;
+ getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
+
+ // Scroll event listener on scroll parents
+ var scrollElement = getScrollParent(reference);
+ attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
+ state.scrollElement = scrollElement;
+ state.eventsEnabled = true;
+
+ return state;
}
- var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
- var offsetParent = getOffsetParent(data.instance.popper);
- var offsetParentRect = getBoundingClientRect(offsetParent);
+ /**
+ * It will add resize/scroll events and start recalculating
+ * position of the popper element when they are triggered.
+ * @method
+ * @memberof Popper
+ */
+ function enableEventListeners() {
+ if (!this.state.eventsEnabled) {
+ this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
+ }
+ }
- // Styles
- var styles = {
- position: popper.position
- };
+ /**
+ * Remove event listeners used to update the popper position
+ * @method
+ * @memberof Popper.Utils
+ * @private
+ */
+ function removeEventListeners(reference, state) {
+ // Remove resize event listener on window
+ getWindow(reference).removeEventListener('resize', state.updateBound);
- // floor sides to avoid blurry text
- var offsets = {
- left: Math.floor(popper.left),
- top: Math.floor(popper.top),
- bottom: Math.floor(popper.bottom),
- right: Math.floor(popper.right)
- };
+ // Remove scroll event listener on scroll parents
+ state.scrollParents.forEach(function (target) {
+ target.removeEventListener('scroll', state.updateBound);
+ });
- var sideA = x === 'bottom' ? 'top' : 'bottom';
- var sideB = y === 'right' ? 'left' : 'right';
-
- // if gpuAcceleration is set to `true` and transform is supported,
- // we use `translate3d` to apply the position to the popper we
- // automatically use the supported prefixed version if needed
- var prefixedProperty = getSupportedPropertyName('transform');
-
- // now, let's make a step back and look at this code closely (wtf?)
- // If the content of the popper grows once it's been positioned, it
- // may happen that the popper gets misplaced because of the new content
- // overflowing its reference element
- // To avoid this problem, we provide two options (x and y), which allow
- // the consumer to define the offset origin.
- // If we position a popper on top of a reference element, we can set
- // `x` to `top` to make the popper grow towards its top instead of
- // its bottom.
- var left = void 0,
- top = void 0;
- if (sideA === 'bottom') {
- top = -offsetParentRect.height + offsets.bottom;
- } else {
- top = offsets.top;
+ // Reset state
+ state.updateBound = null;
+ state.scrollParents = [];
+ state.scrollElement = null;
+ state.eventsEnabled = false;
+ return state;
}
- if (sideB === 'right') {
- left = -offsetParentRect.width + offsets.right;
- } else {
- left = offsets.left;
+
+ /**
+ * It will remove resize/scroll events and won't recalculate popper position
+ * when they are triggered. It also won't trigger onUpdate callback anymore,
+ * unless you call `update` method manually.
+ * @method
+ * @memberof Popper
+ */
+ function disableEventListeners() {
+ if (this.state.eventsEnabled) {
+ cancelAnimationFrame(this.scheduleUpdate);
+ this.state = removeEventListeners(this.reference, this.state);
+ }
}
- if (gpuAcceleration && prefixedProperty) {
- styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
- styles[sideA] = 0;
- styles[sideB] = 0;
- styles.willChange = 'transform';
- } else {
- // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
- var invertTop = sideA === 'bottom' ? -1 : 1;
- var invertLeft = sideB === 'right' ? -1 : 1;
- styles[sideA] = top * invertTop;
- styles[sideB] = left * invertLeft;
- styles.willChange = sideA + ', ' + sideB;
+
+ /**
+ * Tells if a given input is a number
+ * @method
+ * @memberof Popper.Utils
+ * @param {*} input to check
+ * @return {Boolean}
+ */
+ function isNumeric(n) {
+ return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
}
- // Attributes
- var attributes = {
- 'x-placement': data.placement
- };
+ /**
+ * Set the style to the given popper
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element - Element to apply the style to
+ * @argument {Object} styles
+ * Object with a list of properties and values which will be applied to the element
+ */
+ function setStyles(element, styles) {
+ Object.keys(styles).forEach(function (prop) {
+ var unit = '';
+ // add unit if the value is numeric and is one of the following
+ if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
+ unit = 'px';
+ }
+ element.style[prop] = styles[prop] + unit;
+ });
+ }
- // Update `data` attributes, styles and arrowStyles
- data.attributes = _extends$1({}, attributes, data.attributes);
- data.styles = _extends$1({}, styles, data.styles);
- data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles);
-
- return data;
-}
-
-/**
- * Helper used to know if the given modifier depends from another one.<br />
- * It checks if the needed modifier is listed and enabled.
- * @method
- * @memberof Popper.Utils
- * @param {Array} modifiers - list of modifiers
- * @param {String} requestingName - name of requesting modifier
- * @param {String} requestedName - name of requested modifier
- * @returns {Boolean}
- */
-function isModifierRequired(modifiers, requestingName, requestedName) {
- var requesting = find(modifiers, function (_ref) {
- var name = _ref.name;
- return name === requestingName;
- });
-
- var isRequired = !!requesting && modifiers.some(function (modifier) {
- return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
- });
-
- if (!isRequired) {
- var _requesting = '`' + requestingName + '`';
- var requested = '`' + requestedName + '`';
- console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
+ /**
+ * Set the attributes to the given popper
+ * @method
+ * @memberof Popper.Utils
+ * @argument {Element} element - Element to apply the attributes to
+ * @argument {Object} styles
+ * Object with a list of properties and values which will be applied to the element
+ */
+ function setAttributes(element, attributes) {
+ Object.keys(attributes).forEach(function (prop) {
+ var value = attributes[prop];
+ if (value !== false) {
+ element.setAttribute(prop, attributes[prop]);
+ } else {
+ element.removeAttribute(prop);
+ }
+ });
}
- return isRequired;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by update method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function arrow(data, options) {
- var _data$offsets$arrow;
-
- // arrow depends on keepTogether in order to work
- if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
+
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} data.styles - List of style properties - values to apply to popper element
+ * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The same data object
+ */
+ function applyStyle(data) {
+ // any property present in `data.styles` will be applied to the popper,
+ // in this way we can make the 3rd party modifiers add custom styles to it
+ // Be aware, modifiers could override the properties defined in the previous
+ // lines of this modifier!
+ setStyles(data.instance.popper, data.styles);
+
+ // any property present in `data.attributes` will be applied to the popper,
+ // they will be set as HTML attributes of the element
+ setAttributes(data.instance.popper, data.attributes);
+
+ // if arrowElement is defined and arrowStyles has some properties
+ if (data.arrowElement && Object.keys(data.arrowStyles).length) {
+ setStyles(data.arrowElement, data.arrowStyles);
+ }
+
return data;
}
- var arrowElement = options.element;
+ /**
+ * Set the x-placement attribute before everything else because it could be used
+ * to add margins to the popper margins needs to be calculated to get the
+ * correct popper offsets.
+ * @method
+ * @memberof Popper.modifiers
+ * @param {HTMLElement} reference - The reference element used to position the popper
+ * @param {HTMLElement} popper - The HTML element used as popper
+ * @param {Object} options - Popper.js options
+ */
+ function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
+ // compute reference element offsets
+ var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);
- // if arrowElement is a string, suppose it's a CSS selector
- if (typeof arrowElement === 'string') {
- arrowElement = data.instance.popper.querySelector(arrowElement);
+ // compute auto placement, store placement inside the data object,
+ // modifiers will be able to edit `placement` if needed
+ // and refer to originalPlacement to know the original value
+ var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
- // if arrowElement is not found, don't run the modifier
- if (!arrowElement) {
- return data;
- }
- } else {
- // if the arrowElement isn't a query selector we must check that the
- // provided DOM node is child of its popper node
- if (!data.instance.popper.contains(arrowElement)) {
- console.warn('WARNING: `arrow.element` must be child of its popper element!');
- return data;
- }
+ popper.setAttribute('x-placement', placement);
+
+ // Apply `position` to popper before anything else because
+ // without the position applied we can't guarantee correct computations
+ setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });
+
+ return options;
}
- var placement = data.placement.split('-')[0];
- var _data$offsets = data.offsets,
- popper = _data$offsets.popper,
- reference = _data$offsets.reference;
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function computeStyle(data, options) {
+ var x = options.x,
+ y = options.y;
+ var popper = data.offsets.popper;
+
+ // Remove this legacy support in Popper.js v2
+
+ var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
+ return modifier.name === 'applyStyle';
+ }).gpuAcceleration;
+ if (legacyGpuAccelerationOption !== undefined) {
+ console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
+ }
+ var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
+
+ var offsetParent = getOffsetParent(data.instance.popper);
+ var offsetParentRect = getBoundingClientRect(offsetParent);
- var isVertical = ['left', 'right'].indexOf(placement) !== -1;
+ // Styles
+ var styles = {
+ position: popper.position
+ };
- var len = isVertical ? 'height' : 'width';
- var sideCapitalized = isVertical ? 'Top' : 'Left';
- var side = sideCapitalized.toLowerCase();
- var altSide = isVertical ? 'left' : 'top';
- var opSide = isVertical ? 'bottom' : 'right';
- var arrowElementSize = getOuterSizes(arrowElement)[len];
+ // floor sides to avoid blurry text
+ var offsets = {
+ left: Math.floor(popper.left),
+ top: Math.floor(popper.top),
+ bottom: Math.floor(popper.bottom),
+ right: Math.floor(popper.right)
+ };
- //
- // extends keepTogether behavior making sure the popper and its
- // reference have enough pixels in conjuction
- //
+ var sideA = x === 'bottom' ? 'top' : 'bottom';
+ var sideB = y === 'right' ? 'left' : 'right';
+
+ // if gpuAcceleration is set to `true` and transform is supported,
+ // we use `translate3d` to apply the position to the popper we
+ // automatically use the supported prefixed version if needed
+ var prefixedProperty = getSupportedPropertyName('transform');
+
+ // now, let's make a step back and look at this code closely (wtf?)
+ // If the content of the popper grows once it's been positioned, it
+ // may happen that the popper gets misplaced because of the new content
+ // overflowing its reference element
+ // To avoid this problem, we provide two options (x and y), which allow
+ // the consumer to define the offset origin.
+ // If we position a popper on top of a reference element, we can set
+ // `x` to `top` to make the popper grow towards its top instead of
+ // its bottom.
+ var left = void 0,
+ top = void 0;
+ if (sideA === 'bottom') {
+ top = -offsetParentRect.height + offsets.bottom;
+ } else {
+ top = offsets.top;
+ }
+ if (sideB === 'right') {
+ left = -offsetParentRect.width + offsets.right;
+ } else {
+ left = offsets.left;
+ }
+ if (gpuAcceleration && prefixedProperty) {
+ styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
+ styles[sideA] = 0;
+ styles[sideB] = 0;
+ styles.willChange = 'transform';
+ } else {
+ // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
+ var invertTop = sideA === 'bottom' ? -1 : 1;
+ var invertLeft = sideB === 'right' ? -1 : 1;
+ styles[sideA] = top * invertTop;
+ styles[sideB] = left * invertLeft;
+ styles.willChange = sideA + ', ' + sideB;
+ }
- // top/left side
- if (reference[opSide] - arrowElementSize < popper[side]) {
- data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
- }
- // bottom/right side
- if (reference[side] + arrowElementSize > popper[opSide]) {
- data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
+ // Attributes
+ var attributes = {
+ 'x-placement': data.placement
+ };
+
+ // Update `data` attributes, styles and arrowStyles
+ data.attributes = _extends({}, attributes, data.attributes);
+ data.styles = _extends({}, styles, data.styles);
+ data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
+
+ return data;
}
- data.offsets.popper = getClientRect(data.offsets.popper);
-
- // compute center of the popper
- var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
-
- // Compute the sideValue using the updated popper offsets
- // take popper margin in account because we don't have this info available
- var css = getStyleComputedProperty(data.instance.popper);
- var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
- var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
- var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
-
- // prevent arrowElement from being placed not contiguously to its popper
- sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
-
- data.arrowElement = arrowElement;
- data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
-
- return data;
-}
-
-/**
- * Get the opposite placement variation of the given one
- * @method
- * @memberof Popper.Utils
- * @argument {String} placement variation
- * @returns {String} flipped placement variation
- */
-function getOppositeVariation(variation) {
- if (variation === 'end') {
- return 'start';
- } else if (variation === 'start') {
- return 'end';
+
+ /**
+ * Helper used to know if the given modifier depends from another one.<br />
+ * It checks if the needed modifier is listed and enabled.
+ * @method
+ * @memberof Popper.Utils
+ * @param {Array} modifiers - list of modifiers
+ * @param {String} requestingName - name of requesting modifier
+ * @param {String} requestedName - name of requested modifier
+ * @returns {Boolean}
+ */
+ function isModifierRequired(modifiers, requestingName, requestedName) {
+ var requesting = find(modifiers, function (_ref) {
+ var name = _ref.name;
+ return name === requestingName;
+ });
+
+ var isRequired = !!requesting && modifiers.some(function (modifier) {
+ return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
+ });
+
+ if (!isRequired) {
+ var _requesting = '`' + requestingName + '`';
+ var requested = '`' + requestedName + '`';
+ console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
+ }
+ return isRequired;
}
- return variation;
-}
-
-/**
- * List of accepted placements to use as values of the `placement` option.<br />
- * Valid placements are:
- * - `auto`
- * - `top`
- * - `right`
- * - `bottom`
- * - `left`
- *
- * Each placement can have a variation from this list:
- * - `-start`
- * - `-end`
- *
- * Variations are interpreted easily if you think of them as the left to right
- * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
- * is right.<br />
- * Vertically (`left` and `right`), `start` is top and `end` is bottom.
- *
- * Some valid examples are:
- * - `top-end` (on top of reference, right aligned)
- * - `right-start` (on right of reference, top aligned)
- * - `bottom` (on bottom, centered)
- * - `auto-right` (on the side with more space available, alignment depends by placement)
- *
- * @static
- * @type {Array}
- * @enum {String}
- * @readonly
- * @method placements
- * @memberof Popper
- */
-var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
-
-// Get rid of `auto` `auto-start` and `auto-end`
-var validPlacements = placements.slice(3);
-
-/**
- * Given an initial placement, returns all the subsequent placements
- * clockwise (or counter-clockwise).
- *
- * @method
- * @memberof Popper.Utils
- * @argument {String} placement - A valid placement (it accepts variations)
- * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
- * @returns {Array} placements including their variations
- */
-function clockwise(placement) {
- var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
- var index = validPlacements.indexOf(placement);
- var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
- return counter ? arr.reverse() : arr;
-}
-
-var BEHAVIORS = {
- FLIP: 'flip',
- CLOCKWISE: 'clockwise',
- COUNTERCLOCKWISE: 'counterclockwise'
-};
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by update method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function flip(data, options) {
- // if `inner` modifier is enabled, we can't use the `flip` modifier
- if (isModifierEnabled(data.instance.modifiers, 'inner')) {
+
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function arrow(data, options) {
+ var _data$offsets$arrow;
+
+ // arrow depends on keepTogether in order to work
+ if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
+ return data;
+ }
+
+ var arrowElement = options.element;
+
+ // if arrowElement is a string, suppose it's a CSS selector
+ if (typeof arrowElement === 'string') {
+ arrowElement = data.instance.popper.querySelector(arrowElement);
+
+ // if arrowElement is not found, don't run the modifier
+ if (!arrowElement) {
+ return data;
+ }
+ } else {
+ // if the arrowElement isn't a query selector we must check that the
+ // provided DOM node is child of its popper node
+ if (!data.instance.popper.contains(arrowElement)) {
+ console.warn('WARNING: `arrow.element` must be child of its popper element!');
+ return data;
+ }
+ }
+
+ var placement = data.placement.split('-')[0];
+ var _data$offsets = data.offsets,
+ popper = _data$offsets.popper,
+ reference = _data$offsets.reference;
+
+ var isVertical = ['left', 'right'].indexOf(placement) !== -1;
+
+ var len = isVertical ? 'height' : 'width';
+ var sideCapitalized = isVertical ? 'Top' : 'Left';
+ var side = sideCapitalized.toLowerCase();
+ var altSide = isVertical ? 'left' : 'top';
+ var opSide = isVertical ? 'bottom' : 'right';
+ var arrowElementSize = getOuterSizes(arrowElement)[len];
+
+ //
+ // extends keepTogether behavior making sure the popper and its
+ // reference have enough pixels in conjuction
+ //
+
+ // top/left side
+ if (reference[opSide] - arrowElementSize < popper[side]) {
+ data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
+ }
+ // bottom/right side
+ if (reference[side] + arrowElementSize > popper[opSide]) {
+ data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
+ }
+ data.offsets.popper = getClientRect(data.offsets.popper);
+
+ // compute center of the popper
+ var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
+
+ // Compute the sideValue using the updated popper offsets
+ // take popper margin in account because we don't have this info available
+ var css = getStyleComputedProperty(data.instance.popper);
+ var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
+ var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
+ var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
+
+ // prevent arrowElement from being placed not contiguously to its popper
+ sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
+
+ data.arrowElement = arrowElement;
+ data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
+
return data;
}
- if (data.flipped && data.placement === data.originalPlacement) {
- // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
- return data;
+ /**
+ * Get the opposite placement variation of the given one
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} placement variation
+ * @returns {String} flipped placement variation
+ */
+ function getOppositeVariation(variation) {
+ if (variation === 'end') {
+ return 'start';
+ } else if (variation === 'start') {
+ return 'end';
+ }
+ return variation;
}
- var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);
+ /**
+ * List of accepted placements to use as values of the `placement` option.<br />
+ * Valid placements are:
+ * - `auto`
+ * - `top`
+ * - `right`
+ * - `bottom`
+ * - `left`
+ *
+ * Each placement can have a variation from this list:
+ * - `-start`
+ * - `-end`
+ *
+ * Variations are interpreted easily if you think of them as the left to right
+ * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
+ * is right.<br />
+ * Vertically (`left` and `right`), `start` is top and `end` is bottom.
+ *
+ * Some valid examples are:
+ * - `top-end` (on top of reference, right aligned)
+ * - `right-start` (on right of reference, top aligned)
+ * - `bottom` (on bottom, centered)
+ * - `auto-right` (on the side with more space available, alignment depends by placement)
+ *
+ * @static
+ * @type {Array}
+ * @enum {String}
+ * @readonly
+ * @method placements
+ * @memberof Popper
+ */
+ var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
- var placement = data.placement.split('-')[0];
- var placementOpposite = getOppositePlacement(placement);
- var variation = data.placement.split('-')[1] || '';
+ // Get rid of `auto` `auto-start` and `auto-end`
+ var validPlacements = placements.slice(3);
- var flipOrder = [];
+ /**
+ * Given an initial placement, returns all the subsequent placements
+ * clockwise (or counter-clockwise).
+ *
+ * @method
+ * @memberof Popper.Utils
+ * @argument {String} placement - A valid placement (it accepts variations)
+ * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
+ * @returns {Array} placements including their variations
+ */
+ function clockwise(placement) {
+ var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
- switch (options.behavior) {
- case BEHAVIORS.FLIP:
- flipOrder = [placement, placementOpposite];
- break;
- case BEHAVIORS.CLOCKWISE:
- flipOrder = clockwise(placement);
- break;
- case BEHAVIORS.COUNTERCLOCKWISE:
- flipOrder = clockwise(placement, true);
- break;
- default:
- flipOrder = options.behavior;
+ var index = validPlacements.indexOf(placement);
+ var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
+ return counter ? arr.reverse() : arr;
}
- flipOrder.forEach(function (step, index) {
- if (placement !== step || flipOrder.length === index + 1) {
+ var BEHAVIORS = {
+ FLIP: 'flip',
+ CLOCKWISE: 'clockwise',
+ COUNTERCLOCKWISE: 'counterclockwise'
+ };
+
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function flip(data, options) {
+ // if `inner` modifier is enabled, we can't use the `flip` modifier
+ if (isModifierEnabled(data.instance.modifiers, 'inner')) {
return data;
}
- placement = data.placement.split('-')[0];
- placementOpposite = getOppositePlacement(placement);
+ if (data.flipped && data.placement === data.originalPlacement) {
+ // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
+ return data;
+ }
- var popperOffsets = data.offsets.popper;
- var refOffsets = data.offsets.reference;
+ var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);
- // using floor because the reference offsets may contain decimals we are not going to consider here
- var floor = Math.floor;
- var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
+ var placement = data.placement.split('-')[0];
+ var placementOpposite = getOppositePlacement(placement);
+ var variation = data.placement.split('-')[1] || '';
+
+ var flipOrder = [];
- var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
- var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
- var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
- var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
+ switch (options.behavior) {
+ case BEHAVIORS.FLIP:
+ flipOrder = [placement, placementOpposite];
+ break;
+ case BEHAVIORS.CLOCKWISE:
+ flipOrder = clockwise(placement);
+ break;
+ case BEHAVIORS.COUNTERCLOCKWISE:
+ flipOrder = clockwise(placement, true);
+ break;
+ default:
+ flipOrder = options.behavior;
+ }
- var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
+ flipOrder.forEach(function (step, index) {
+ if (placement !== step || flipOrder.length === index + 1) {
+ return data;
+ }
- // flip the variation if required
- var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
- var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
+ placement = data.placement.split('-')[0];
+ placementOpposite = getOppositePlacement(placement);
- if (overlapsRef || overflowsBoundaries || flippedVariation) {
- // this boolean to detect any flip loop
- data.flipped = true;
+ var popperOffsets = data.offsets.popper;
+ var refOffsets = data.offsets.reference;
- if (overlapsRef || overflowsBoundaries) {
- placement = flipOrder[index + 1];
- }
+ // using floor because the reference offsets may contain decimals we are not going to consider here
+ var floor = Math.floor;
+ var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);
+
+ var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
+ var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
+ var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
+ var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
+
+ var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
+
+ // flip the variation if required
+ var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
+ var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
+
+ if (overlapsRef || overflowsBoundaries || flippedVariation) {
+ // this boolean to detect any flip loop
+ data.flipped = true;
+
+ if (overlapsRef || overflowsBoundaries) {
+ placement = flipOrder[index + 1];
+ }
+
+ if (flippedVariation) {
+ variation = getOppositeVariation(variation);
+ }
+
+ data.placement = placement + (variation ? '-' + variation : '');
- if (flippedVariation) {
- variation = getOppositeVariation(variation);
+ // this object contains `position`, we want to preserve it along with
+ // any additional property we may add in the future
+ data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
+
+ data = runModifiers(data.instance.modifiers, data, 'flip');
}
+ });
+ return data;
+ }
- data.placement = placement + (variation ? '-' + variation : '');
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function keepTogether(data) {
+ var _data$offsets = data.offsets,
+ popper = _data$offsets.popper,
+ reference = _data$offsets.reference;
- // this object contains `position`, we want to preserve it along with
- // any additional property we may add in the future
- data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
+ var placement = data.placement.split('-')[0];
+ var floor = Math.floor;
+ var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
+ var side = isVertical ? 'right' : 'bottom';
+ var opSide = isVertical ? 'left' : 'top';
+ var measurement = isVertical ? 'width' : 'height';
- data = runModifiers(data.instance.modifiers, data, 'flip');
+ if (popper[side] < floor(reference[opSide])) {
+ data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
+ }
+ if (popper[opSide] > floor(reference[side])) {
+ data.offsets.popper[opSide] = floor(reference[side]);
}
- });
- return data;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by update method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function keepTogether(data) {
- var _data$offsets = data.offsets,
- popper = _data$offsets.popper,
- reference = _data$offsets.reference;
-
- var placement = data.placement.split('-')[0];
- var floor = Math.floor;
- var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
- var side = isVertical ? 'right' : 'bottom';
- var opSide = isVertical ? 'left' : 'top';
- var measurement = isVertical ? 'width' : 'height';
-
- if (popper[side] < floor(reference[opSide])) {
- data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
- }
- if (popper[opSide] > floor(reference[side])) {
- data.offsets.popper[opSide] = floor(reference[side]);
- }
- return data;
-}
-
-/**
- * Converts a string containing value + unit into a px value number
- * @function
- * @memberof {modifiers~offset}
- * @private
- * @argument {String} str - Value + unit string
- * @argument {String} measurement - `height` or `width`
- * @argument {Object} popperOffsets
- * @argument {Object} referenceOffsets
- * @returns {Number|String}
- * Value in pixels, or original string if no values were extracted
- */
-function toValue(str, measurement, popperOffsets, referenceOffsets) {
- // separate value from unit
- var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
- var value = +split[1];
- var unit = split[2];
-
- // If it's not a number it's an operator, I guess
- if (!value) {
- return str;
+ return data;
}
- if (unit.indexOf('%') === 0) {
- var element = void 0;
- switch (unit) {
- case '%p':
- element = popperOffsets;
- break;
- case '%':
- case '%r':
- default:
- element = referenceOffsets;
+ /**
+ * Converts a string containing value + unit into a px value number
+ * @function
+ * @memberof {modifiers~offset}
+ * @private
+ * @argument {String} str - Value + unit string
+ * @argument {String} measurement - `height` or `width`
+ * @argument {Object} popperOffsets
+ * @argument {Object} referenceOffsets
+ * @returns {Number|String}
+ * Value in pixels, or original string if no values were extracted
+ */
+ function toValue(str, measurement, popperOffsets, referenceOffsets) {
+ // separate value from unit
+ var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
+ var value = +split[1];
+ var unit = split[2];
+
+ // If it's not a number it's an operator, I guess
+ if (!value) {
+ return str;
}
- var rect = getClientRect(element);
- return rect[measurement] / 100 * value;
- } else if (unit === 'vh' || unit === 'vw') {
- // if is a vh or vw, we calculate the size based on the viewport
- var size = void 0;
- if (unit === 'vh') {
- size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
+ if (unit.indexOf('%') === 0) {
+ var element = void 0;
+ switch (unit) {
+ case '%p':
+ element = popperOffsets;
+ break;
+ case '%':
+ case '%r':
+ default:
+ element = referenceOffsets;
+ }
+
+ var rect = getClientRect(element);
+ return rect[measurement] / 100 * value;
+ } else if (unit === 'vh' || unit === 'vw') {
+ // if is a vh or vw, we calculate the size based on the viewport
+ var size = void 0;
+ if (unit === 'vh') {
+ size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
+ } else {
+ size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
+ }
+ return size / 100 * value;
} else {
- size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
+ // if is an explicit pixel unit, we get rid of the unit and keep the value
+ // if is an implicit unit, it's px, and we return just the value
+ return value;
}
- return size / 100 * value;
- } else {
- // if is an explicit pixel unit, we get rid of the unit and keep the value
- // if is an implicit unit, it's px, and we return just the value
- return value;
- }
-}
-
-/**
- * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
- * @function
- * @memberof {modifiers~offset}
- * @private
- * @argument {String} offset
- * @argument {Object} popperOffsets
- * @argument {Object} referenceOffsets
- * @argument {String} basePlacement
- * @returns {Array} a two cells array with x and y offsets in numbers
- */
-function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
- var offsets = [0, 0];
-
- // Use height if placement is left or right and index is 0 otherwise use width
- // in this way the first offset will use an axis and the second one
- // will use the other one
- var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
-
- // Split the offset string to obtain a list of values and operands
- // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
- var fragments = offset.split(/(\+|\-)/).map(function (frag) {
- return frag.trim();
- });
-
- // Detect if the offset string contains a pair of values or a single one
- // they could be separated by comma or space
- var divider = fragments.indexOf(find(fragments, function (frag) {
- return frag.search(/,|\s/) !== -1;
- }));
-
- if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
- console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
}
- // If divider is found, we divide the list of values and operands to divide
- // them by ofset X and Y.
- var splitRegex = /\s*,\s*|\s+/;
- var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];
-
- // Convert the values with units to absolute pixels to allow our computations
- ops = ops.map(function (op, index) {
- // Most of the units rely on the orientation of the popper
- var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
- var mergeWithPrevious = false;
- return op
- // This aggregates any `+` or `-` sign that aren't considered operators
- // e.g.: 10 + +5 => [10, +, +5]
- .reduce(function (a, b) {
- if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
- a[a.length - 1] = b;
- mergeWithPrevious = true;
- return a;
- } else if (mergeWithPrevious) {
- a[a.length - 1] += b;
- mergeWithPrevious = false;
- return a;
- } else {
- return a.concat(b);
- }
- }, [])
- // Here we convert the string values into number values (in px)
- .map(function (str) {
- return toValue(str, measurement, popperOffsets, referenceOffsets);
+ /**
+ * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
+ * @function
+ * @memberof {modifiers~offset}
+ * @private
+ * @argument {String} offset
+ * @argument {Object} popperOffsets
+ * @argument {Object} referenceOffsets
+ * @argument {String} basePlacement
+ * @returns {Array} a two cells array with x and y offsets in numbers
+ */
+ function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
+ var offsets = [0, 0];
+
+ // Use height if placement is left or right and index is 0 otherwise use width
+ // in this way the first offset will use an axis and the second one
+ // will use the other one
+ var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
+
+ // Split the offset string to obtain a list of values and operands
+ // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
+ var fragments = offset.split(/(\+|\-)/).map(function (frag) {
+ return frag.trim();
});
- });
- // Loop trough the offsets arrays and execute the operations
- ops.forEach(function (op, index) {
- op.forEach(function (frag, index2) {
- if (isNumeric(frag)) {
- offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
- }
+ // Detect if the offset string contains a pair of values or a single one
+ // they could be separated by comma or space
+ var divider = fragments.indexOf(find(fragments, function (frag) {
+ return frag.search(/,|\s/) !== -1;
+ }));
+
+ if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
+ console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
+ }
+
+ // If divider is found, we divide the list of values and operands to divide
+ // them by ofset X and Y.
+ var splitRegex = /\s*,\s*|\s+/;
+ var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];
+
+ // Convert the values with units to absolute pixels to allow our computations
+ ops = ops.map(function (op, index) {
+ // Most of the units rely on the orientation of the popper
+ var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
+ var mergeWithPrevious = false;
+ return op
+ // This aggregates any `+` or `-` sign that aren't considered operators
+ // e.g.: 10 + +5 => [10, +, +5]
+ .reduce(function (a, b) {
+ if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
+ a[a.length - 1] = b;
+ mergeWithPrevious = true;
+ return a;
+ } else if (mergeWithPrevious) {
+ a[a.length - 1] += b;
+ mergeWithPrevious = false;
+ return a;
+ } else {
+ return a.concat(b);
+ }
+ }, [])
+ // Here we convert the string values into number values (in px)
+ .map(function (str) {
+ return toValue(str, measurement, popperOffsets, referenceOffsets);
+ });
});
- });
- return offsets;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by update method
- * @argument {Object} options - Modifiers configuration and options
- * @argument {Number|String} options.offset=0
- * The offset value as described in the modifier description
- * @returns {Object} The data object, properly modified
- */
-function offset(data, _ref) {
- var offset = _ref.offset;
- var placement = data.placement,
- _data$offsets = data.offsets,
- popper = _data$offsets.popper,
- reference = _data$offsets.reference;
-
- var basePlacement = placement.split('-')[0];
-
- var offsets = void 0;
- if (isNumeric(+offset)) {
- offsets = [+offset, 0];
- } else {
- offsets = parseOffset(offset, popper, reference, basePlacement);
- }
- if (basePlacement === 'left') {
- popper.top += offsets[0];
- popper.left -= offsets[1];
- } else if (basePlacement === 'right') {
- popper.top += offsets[0];
- popper.left += offsets[1];
- } else if (basePlacement === 'top') {
- popper.left += offsets[0];
- popper.top -= offsets[1];
- } else if (basePlacement === 'bottom') {
- popper.left += offsets[0];
- popper.top += offsets[1];
+ // Loop trough the offsets arrays and execute the operations
+ ops.forEach(function (op, index) {
+ op.forEach(function (frag, index2) {
+ if (isNumeric(frag)) {
+ offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
+ }
+ });
+ });
+ return offsets;
}
- data.popper = popper;
- return data;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by `update` method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function preventOverflow(data, options) {
- var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
-
- // If offsetParent is the reference element, we really want to
- // go one step up and use the next offsetParent as reference to
- // avoid to make this modifier completely useless and look like broken
- if (data.instance.reference === boundariesElement) {
- boundariesElement = getOffsetParent(boundariesElement);
- }
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @argument {Number|String} options.offset=0
+ * The offset value as described in the modifier description
+ * @returns {Object} The data object, properly modified
+ */
+ function offset(data, _ref) {
+ var offset = _ref.offset;
+ var placement = data.placement,
+ _data$offsets = data.offsets,
+ popper = _data$offsets.popper,
+ reference = _data$offsets.reference;
+
+ var basePlacement = placement.split('-')[0];
+
+ var offsets = void 0;
+ if (isNumeric(+offset)) {
+ offsets = [+offset, 0];
+ } else {
+ offsets = parseOffset(offset, popper, reference, basePlacement);
+ }
- var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);
- options.boundaries = boundaries;
+ if (basePlacement === 'left') {
+ popper.top += offsets[0];
+ popper.left -= offsets[1];
+ } else if (basePlacement === 'right') {
+ popper.top += offsets[0];
+ popper.left += offsets[1];
+ } else if (basePlacement === 'top') {
+ popper.left += offsets[0];
+ popper.top -= offsets[1];
+ } else if (basePlacement === 'bottom') {
+ popper.left += offsets[0];
+ popper.top += offsets[1];
+ }
- var order = options.priority;
- var popper = data.offsets.popper;
+ data.popper = popper;
+ return data;
+ }
- var check = {
- primary: function primary(placement) {
- var value = popper[placement];
- if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
- value = Math.max(popper[placement], boundaries[placement]);
- }
- return defineProperty({}, placement, value);
- },
- secondary: function secondary(placement) {
- var mainSide = placement === 'right' ? 'left' : 'top';
- var value = popper[mainSide];
- if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
- value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
- }
- return defineProperty({}, mainSide, value);
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function preventOverflow(data, options) {
+ var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
+
+ // If offsetParent is the reference element, we really want to
+ // go one step up and use the next offsetParent as reference to
+ // avoid to make this modifier completely useless and look like broken
+ if (data.instance.reference === boundariesElement) {
+ boundariesElement = getOffsetParent(boundariesElement);
}
- };
- order.forEach(function (placement) {
- var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
- popper = _extends$1({}, popper, check[side](placement));
- });
-
- data.offsets.popper = popper;
-
- return data;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by `update` method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function shift(data) {
- var placement = data.placement;
- var basePlacement = placement.split('-')[0];
- var shiftvariation = placement.split('-')[1];
-
- // if shift shiftvariation is specified, run the modifier
- if (shiftvariation) {
- var _data$offsets = data.offsets,
- reference = _data$offsets.reference,
- popper = _data$offsets.popper;
+ var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);
+ options.boundaries = boundaries;
- var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
- var side = isVertical ? 'left' : 'top';
- var measurement = isVertical ? 'width' : 'height';
+ var order = options.priority;
+ var popper = data.offsets.popper;
- var shiftOffsets = {
- start: defineProperty({}, side, reference[side]),
- end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
+ var check = {
+ primary: function primary(placement) {
+ var value = popper[placement];
+ if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
+ value = Math.max(popper[placement], boundaries[placement]);
+ }
+ return defineProperty({}, placement, value);
+ },
+ secondary: function secondary(placement) {
+ var mainSide = placement === 'right' ? 'left' : 'top';
+ var value = popper[mainSide];
+ if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
+ value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
+ }
+ return defineProperty({}, mainSide, value);
+ }
};
- data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]);
- }
+ order.forEach(function (placement) {
+ var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
+ popper = _extends({}, popper, check[side](placement));
+ });
+
+ data.offsets.popper = popper;
- return data;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by update method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function hide(data) {
- if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
return data;
}
- var refRect = data.offsets.reference;
- var bound = find(data.instance.modifiers, function (modifier) {
- return modifier.name === 'preventOverflow';
- }).boundaries;
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function shift(data) {
+ var placement = data.placement;
+ var basePlacement = placement.split('-')[0];
+ var shiftvariation = placement.split('-')[1];
+
+ // if shift shiftvariation is specified, run the modifier
+ if (shiftvariation) {
+ var _data$offsets = data.offsets,
+ reference = _data$offsets.reference,
+ popper = _data$offsets.popper;
+
+ var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
+ var side = isVertical ? 'left' : 'top';
+ var measurement = isVertical ? 'width' : 'height';
+
+ var shiftOffsets = {
+ start: defineProperty({}, side, reference[side]),
+ end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
+ };
- if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
- // Avoid unnecessary DOM access if visibility hasn't changed
- if (data.hide === true) {
- return data;
+ data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);
}
- data.hide = true;
- data.attributes['x-out-of-boundaries'] = '';
- } else {
- // Avoid unnecessary DOM access if visibility hasn't changed
- if (data.hide === false) {
+ return data;
+ }
+
+ /**
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by update method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
+ */
+ function hide(data) {
+ if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
return data;
}
- data.hide = false;
- data.attributes['x-out-of-boundaries'] = false;
+ var refRect = data.offsets.reference;
+ var bound = find(data.instance.modifiers, function (modifier) {
+ return modifier.name === 'preventOverflow';
+ }).boundaries;
+
+ if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
+ // Avoid unnecessary DOM access if visibility hasn't changed
+ if (data.hide === true) {
+ return data;
+ }
+
+ data.hide = true;
+ data.attributes['x-out-of-boundaries'] = '';
+ } else {
+ // Avoid unnecessary DOM access if visibility hasn't changed
+ if (data.hide === false) {
+ return data;
+ }
+
+ data.hide = false;
+ data.attributes['x-out-of-boundaries'] = false;
+ }
+
+ return data;
}
- return data;
-}
-
-/**
- * @function
- * @memberof Modifiers
- * @argument {Object} data - The data object generated by `update` method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {Object} The data object, properly modified
- */
-function inner(data) {
- var placement = data.placement;
- var basePlacement = placement.split('-')[0];
- var _data$offsets = data.offsets,
- popper = _data$offsets.popper,
- reference = _data$offsets.reference;
-
- var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
-
- var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
-
- popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
-
- data.placement = getOppositePlacement(placement);
- data.offsets.popper = getClientRect(popper);
-
- return data;
-}
-
-/**
- * Modifier function, each modifier can have a function of this type assigned
- * to its `fn` property.<br />
- * These functions will be called on each update, this means that you must
- * make sure they are performant enough to avoid performance bottlenecks.
- *
- * @function ModifierFn
- * @argument {dataObject} data - The data object generated by `update` method
- * @argument {Object} options - Modifiers configuration and options
- * @returns {dataObject} The data object, properly modified
- */
-
-/**
- * Modifiers are plugins used to alter the behavior of your poppers.<br />
- * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
- * needed by the library.
- *
- * Usually you don't want to override the `order`, `fn` and `onLoad` props.
- * All the other properties are configurations that could be tweaked.
- * @namespace modifiers
- */
-var modifiers = {
/**
- * Modifier used to shift the popper on the start or end of its reference
- * element.<br />
- * It will read the variation of the `placement` property.<br />
- * It can be one either `-end` or `-start`.
- * @memberof modifiers
- * @inner
+ * @function
+ * @memberof Modifiers
+ * @argument {Object} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {Object} The data object, properly modified
*/
- shift: {
- /** @prop {number} order=100 - Index used to define the order of execution */
- order: 100,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: shift
- },
+ function inner(data) {
+ var placement = data.placement;
+ var basePlacement = placement.split('-')[0];
+ var _data$offsets = data.offsets,
+ popper = _data$offsets.popper,
+ reference = _data$offsets.reference;
+
+ var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
+
+ var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
+
+ popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
+
+ data.placement = getOppositePlacement(placement);
+ data.offsets.popper = getClientRect(popper);
+
+ return data;
+ }
/**
- * The `offset` modifier can shift your popper on both its axis.
- *
- * It accepts the following units:
- * - `px` or unitless, interpreted as pixels
- * - `%` or `%r`, percentage relative to the length of the reference element
- * - `%p`, percentage relative to the length of the popper element
- * - `vw`, CSS viewport width unit
- * - `vh`, CSS viewport height unit
- *
- * For length is intended the main axis relative to the placement of the popper.<br />
- * This means that if the placement is `top` or `bottom`, the length will be the
- * `width`. In case of `left` or `right`, it will be the height.
- *
- * You can provide a single value (as `Number` or `String`), or a pair of values
- * as `String` divided by a comma or one (or more) white spaces.<br />
- * The latter is a deprecated method because it leads to confusion and will be
- * removed in v2.<br />
- * Additionally, it accepts additions and subtractions between different units.
- * Note that multiplications and divisions aren't supported.
- *
- * Valid examples are:
- * ```
- * 10
- * '10%'
- * '10, 10'
- * '10%, 10'
- * '10 + 10%'
- * '10 - 5vh + 3%'
- * '-10px + 5vh, 5px - 6%'
- * ```
- * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
- * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
- * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
+ * Modifier function, each modifier can have a function of this type assigned
+ * to its `fn` property.<br />
+ * These functions will be called on each update, this means that you must
+ * make sure they are performant enough to avoid performance bottlenecks.
*
- * @memberof modifiers
- * @inner
+ * @function ModifierFn
+ * @argument {dataObject} data - The data object generated by `update` method
+ * @argument {Object} options - Modifiers configuration and options
+ * @returns {dataObject} The data object, properly modified
*/
- offset: {
- /** @prop {number} order=200 - Index used to define the order of execution */
- order: 200,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: offset,
- /** @prop {Number|String} offset=0
- * The offset value as described in the modifier description
- */
- offset: 0
- },
/**
- * Modifier used to prevent the popper from being positioned outside the boundary.
- *
- * An scenario exists where the reference itself is not within the boundaries.<br />
- * We can say it has "escaped the boundaries" — or just "escaped".<br />
- * In this case we need to decide whether the popper should either:
- *
- * - detach from the reference and remain "trapped" in the boundaries, or
- * - if it should ignore the boundary and "escape with its reference"
- *
- * When `escapeWithReference` is set to`true` and reference is completely
- * outside its boundaries, the popper will overflow (or completely leave)
- * the boundaries in order to remain attached to the edge of the reference.
+ * Modifiers are plugins used to alter the behavior of your poppers.<br />
+ * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
+ * needed by the library.
*
- * @memberof modifiers
- * @inner
+ * Usually you don't want to override the `order`, `fn` and `onLoad` props.
+ * All the other properties are configurations that could be tweaked.
+ * @namespace modifiers
*/
- preventOverflow: {
- /** @prop {number} order=300 - Index used to define the order of execution */
- order: 300,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: preventOverflow,
+ var modifiers = {
/**
- * @prop {Array} [priority=['left','right','top','bottom']]
- * Popper will try to prevent overflow following these priorities by default,
- * then, it could overflow on the left and on top of the `boundariesElement`
+ * Modifier used to shift the popper on the start or end of its reference
+ * element.<br />
+ * It will read the variation of the `placement` property.<br />
+ * It can be one either `-end` or `-start`.
+ * @memberof modifiers
+ * @inner
*/
- priority: ['left', 'right', 'top', 'bottom'],
+ shift: {
+ /** @prop {number} order=100 - Index used to define the order of execution */
+ order: 100,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: shift
+ },
+
/**
- * @prop {number} padding=5
- * Amount of pixel used to define a minimum distance between the boundaries
- * and the popper this makes sure the popper has always a little padding
- * between the edges of its container
+ * The `offset` modifier can shift your popper on both its axis.
+ *
+ * It accepts the following units:
+ * - `px` or unitless, interpreted as pixels
+ * - `%` or `%r`, percentage relative to the length of the reference element
+ * - `%p`, percentage relative to the length of the popper element
+ * - `vw`, CSS viewport width unit
+ * - `vh`, CSS viewport height unit
+ *
+ * For length is intended the main axis relative to the placement of the popper.<br />
+ * This means that if the placement is `top` or `bottom`, the length will be the
+ * `width`. In case of `left` or `right`, it will be the height.
+ *
+ * You can provide a single value (as `Number` or `String`), or a pair of values
+ * as `String` divided by a comma or one (or more) white spaces.<br />
+ * The latter is a deprecated method because it leads to confusion and will be
+ * removed in v2.<br />
+ * Additionally, it accepts additions and subtractions between different units.
+ * Note that multiplications and divisions aren't supported.
+ *
+ * Valid examples are:
+ * ```
+ * 10
+ * '10%'
+ * '10, 10'
+ * '10%, 10'
+ * '10 + 10%'
+ * '10 - 5vh + 3%'
+ * '-10px + 5vh, 5px - 6%'
+ * ```
+ * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
+ * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
+ * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)
+ *
+ * @memberof modifiers
+ * @inner
*/
- padding: 5,
+ offset: {
+ /** @prop {number} order=200 - Index used to define the order of execution */
+ order: 200,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: offset,
+ /** @prop {Number|String} offset=0
+ * The offset value as described in the modifier description
+ */
+ offset: 0
+ },
+
/**
- * @prop {String|HTMLElement} boundariesElement='scrollParent'
- * Boundaries used by the modifier, can be `scrollParent`, `window`,
- * `viewport` or any DOM element.
+ * Modifier used to prevent the popper from being positioned outside the boundary.
+ *
+ * An scenario exists where the reference itself is not within the boundaries.<br />
+ * We can say it has "escaped the boundaries" — or just "escaped".<br />
+ * In this case we need to decide whether the popper should either:
+ *
+ * - detach from the reference and remain "trapped" in the boundaries, or
+ * - if it should ignore the boundary and "escape with its reference"
+ *
+ * When `escapeWithReference` is set to`true` and reference is completely
+ * outside its boundaries, the popper will overflow (or completely leave)
+ * the boundaries in order to remain attached to the edge of the reference.
+ *
+ * @memberof modifiers
+ * @inner
*/
- boundariesElement: 'scrollParent'
- },
+ preventOverflow: {
+ /** @prop {number} order=300 - Index used to define the order of execution */
+ order: 300,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: preventOverflow,
+ /**
+ * @prop {Array} [priority=['left','right','top','bottom']]
+ * Popper will try to prevent overflow following these priorities by default,
+ * then, it could overflow on the left and on top of the `boundariesElement`
+ */
+ priority: ['left', 'right', 'top', 'bottom'],
+ /**
+ * @prop {number} padding=5
+ * Amount of pixel used to define a minimum distance between the boundaries
+ * and the popper this makes sure the popper has always a little padding
+ * between the edges of its container
+ */
+ padding: 5,
+ /**
+ * @prop {String|HTMLElement} boundariesElement='scrollParent'
+ * Boundaries used by the modifier, can be `scrollParent`, `window`,
+ * `viewport` or any DOM element.
+ */
+ boundariesElement: 'scrollParent'
+ },
- /**
- * Modifier used to make sure the reference and its popper stay near eachothers
- * without leaving any gap between the two. Expecially useful when the arrow is
- * enabled and you want to assure it to point to its reference element.
- * It cares only about the first axis, you can still have poppers with margin
- * between the popper and its reference element.
- * @memberof modifiers
- * @inner
- */
- keepTogether: {
- /** @prop {number} order=400 - Index used to define the order of execution */
- order: 400,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: keepTogether
- },
+ /**
+ * Modifier used to make sure the reference and its popper stay near eachothers
+ * without leaving any gap between the two. Expecially useful when the arrow is
+ * enabled and you want to assure it to point to its reference element.
+ * It cares only about the first axis, you can still have poppers with margin
+ * between the popper and its reference element.
+ * @memberof modifiers
+ * @inner
+ */
+ keepTogether: {
+ /** @prop {number} order=400 - Index used to define the order of execution */
+ order: 400,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: keepTogether
+ },
- /**
- * This modifier is used to move the `arrowElement` of the popper to make
- * sure it is positioned between the reference element and its popper element.
- * It will read the outer size of the `arrowElement` node to detect how many
- * pixels of conjuction are needed.
- *
- * It has no effect if no `arrowElement` is provided.
- * @memberof modifiers
- * @inner
- */
- arrow: {
- /** @prop {number} order=500 - Index used to define the order of execution */
- order: 500,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: arrow,
- /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
- element: '[x-arrow]'
- },
+ /**
+ * This modifier is used to move the `arrowElement` of the popper to make
+ * sure it is positioned between the reference element and its popper element.
+ * It will read the outer size of the `arrowElement` node to detect how many
+ * pixels of conjuction are needed.
+ *
+ * It has no effect if no `arrowElement` is provided.
+ * @memberof modifiers
+ * @inner
+ */
+ arrow: {
+ /** @prop {number} order=500 - Index used to define the order of execution */
+ order: 500,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: arrow,
+ /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
+ element: '[x-arrow]'
+ },
- /**
- * Modifier used to flip the popper's placement when it starts to overlap its
- * reference element.
- *
- * Requires the `preventOverflow` modifier before it in order to work.
- *
- * **NOTE:** this modifier will interrupt the current update cycle and will
- * restart it if it detects the need to flip the placement.
- * @memberof modifiers
- * @inner
- */
- flip: {
- /** @prop {number} order=600 - Index used to define the order of execution */
- order: 600,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: flip,
/**
- * @prop {String|Array} behavior='flip'
- * The behavior used to change the popper's placement. It can be one of
- * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
- * placements (with optional variations).
+ * Modifier used to flip the popper's placement when it starts to overlap its
+ * reference element.
+ *
+ * Requires the `preventOverflow` modifier before it in order to work.
+ *
+ * **NOTE:** this modifier will interrupt the current update cycle and will
+ * restart it if it detects the need to flip the placement.
+ * @memberof modifiers
+ * @inner
*/
- behavior: 'flip',
+ flip: {
+ /** @prop {number} order=600 - Index used to define the order of execution */
+ order: 600,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: flip,
+ /**
+ * @prop {String|Array} behavior='flip'
+ * The behavior used to change the popper's placement. It can be one of
+ * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
+ * placements (with optional variations).
+ */
+ behavior: 'flip',
+ /**
+ * @prop {number} padding=5
+ * The popper will flip if it hits the edges of the `boundariesElement`
+ */
+ padding: 5,
+ /**
+ * @prop {String|HTMLElement} boundariesElement='viewport'
+ * The element which will define the boundaries of the popper position,
+ * the popper will never be placed outside of the defined boundaries
+ * (except if keepTogether is enabled)
+ */
+ boundariesElement: 'viewport'
+ },
+
/**
- * @prop {number} padding=5
- * The popper will flip if it hits the edges of the `boundariesElement`
+ * Modifier used to make the popper flow toward the inner of the reference element.
+ * By default, when this modifier is disabled, the popper will be placed outside
+ * the reference element.
+ * @memberof modifiers
+ * @inner
*/
- padding: 5,
+ inner: {
+ /** @prop {number} order=700 - Index used to define the order of execution */
+ order: 700,
+ /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
+ enabled: false,
+ /** @prop {ModifierFn} */
+ fn: inner
+ },
+
/**
- * @prop {String|HTMLElement} boundariesElement='viewport'
- * The element which will define the boundaries of the popper position,
- * the popper will never be placed outside of the defined boundaries
- * (except if keepTogether is enabled)
+ * Modifier used to hide the popper when its reference element is outside of the
+ * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
+ * be used to hide with a CSS selector the popper when its reference is
+ * out of boundaries.
+ *
+ * Requires the `preventOverflow` modifier before it in order to work.
+ * @memberof modifiers
+ * @inner
*/
- boundariesElement: 'viewport'
- },
+ hide: {
+ /** @prop {number} order=800 - Index used to define the order of execution */
+ order: 800,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: hide
+ },
- /**
- * Modifier used to make the popper flow toward the inner of the reference element.
- * By default, when this modifier is disabled, the popper will be placed outside
- * the reference element.
- * @memberof modifiers
- * @inner
- */
- inner: {
- /** @prop {number} order=700 - Index used to define the order of execution */
- order: 700,
- /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
- enabled: false,
- /** @prop {ModifierFn} */
- fn: inner
- },
+ /**
+ * Computes the style that will be applied to the popper element to gets
+ * properly positioned.
+ *
+ * Note that this modifier will not touch the DOM, it just prepares the styles
+ * so that `applyStyle` modifier can apply it. This separation is useful
+ * in case you need to replace `applyStyle` with a custom implementation.
+ *
+ * This modifier has `850` as `order` value to maintain backward compatibility
+ * with previous versions of Popper.js. Expect the modifiers ordering method
+ * to change in future major versions of the library.
+ *
+ * @memberof modifiers
+ * @inner
+ */
+ computeStyle: {
+ /** @prop {number} order=850 - Index used to define the order of execution */
+ order: 850,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: computeStyle,
+ /**
+ * @prop {Boolean} gpuAcceleration=true
+ * If true, it uses the CSS 3d transformation to position the popper.
+ * Otherwise, it will use the `top` and `left` properties.
+ */
+ gpuAcceleration: true,
+ /**
+ * @prop {string} [x='bottom']
+ * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
+ * Change this if your popper should grow in a direction different from `bottom`
+ */
+ x: 'bottom',
+ /**
+ * @prop {string} [x='left']
+ * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
+ * Change this if your popper should grow in a direction different from `right`
+ */
+ y: 'right'
+ },
+
+ /**
+ * Applies the computed styles to the popper element.
+ *
+ * All the DOM manipulations are limited to this modifier. This is useful in case
+ * you want to integrate Popper.js inside a framework or view library and you
+ * want to delegate all the DOM manipulations to it.
+ *
+ * Note that if you disable this modifier, you must make sure the popper element
+ * has its position set to `absolute` before Popper.js can do its work!
+ *
+ * Just disable this modifier and define you own to achieve the desired effect.
+ *
+ * @memberof modifiers
+ * @inner
+ */
+ applyStyle: {
+ /** @prop {number} order=900 - Index used to define the order of execution */
+ order: 900,
+ /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
+ enabled: true,
+ /** @prop {ModifierFn} */
+ fn: applyStyle,
+ /** @prop {Function} */
+ onLoad: applyStyleOnLoad,
+ /**
+ * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
+ * @prop {Boolean} gpuAcceleration=true
+ * If true, it uses the CSS 3d transformation to position the popper.
+ * Otherwise, it will use the `top` and `left` properties.
+ */
+ gpuAcceleration: undefined
+ }
+ };
/**
- * Modifier used to hide the popper when its reference element is outside of the
- * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
- * be used to hide with a CSS selector the popper when its reference is
- * out of boundaries.
- *
- * Requires the `preventOverflow` modifier before it in order to work.
- * @memberof modifiers
- * @inner
+ * The `dataObject` is an object containing all the informations used by Popper.js
+ * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
+ * @name dataObject
+ * @property {Object} data.instance The Popper.js instance
+ * @property {String} data.placement Placement applied to popper
+ * @property {String} data.originalPlacement Placement originally defined on init
+ * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
+ * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
+ * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
+ * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
+ * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
+ * @property {Object} data.boundaries Offsets of the popper boundaries
+ * @property {Object} data.offsets The measurements of popper, reference and arrow elements.
+ * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
+ * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
+ * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
*/
- hide: {
- /** @prop {number} order=800 - Index used to define the order of execution */
- order: 800,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: hide
- },
/**
- * Computes the style that will be applied to the popper element to gets
- * properly positioned.
- *
- * Note that this modifier will not touch the DOM, it just prepares the styles
- * so that `applyStyle` modifier can apply it. This separation is useful
- * in case you need to replace `applyStyle` with a custom implementation.
- *
- * This modifier has `850` as `order` value to maintain backward compatibility
- * with previous versions of Popper.js. Expect the modifiers ordering method
- * to change in future major versions of the library.
- *
- * @memberof modifiers
- * @inner
+ * Default options provided to Popper.js constructor.<br />
+ * These can be overriden using the `options` argument of Popper.js.<br />
+ * To override an option, simply pass as 3rd argument an object with the same
+ * structure of this object, example:
+ * ```
+ * new Popper(ref, pop, {
+ * modifiers: {
+ * preventOverflow: { enabled: false }
+ * }
+ * })
+ * ```
+ * @type {Object}
+ * @static
+ * @memberof Popper
*/
- computeStyle: {
- /** @prop {number} order=850 - Index used to define the order of execution */
- order: 850,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: computeStyle,
+ var Defaults = {
/**
- * @prop {Boolean} gpuAcceleration=true
- * If true, it uses the CSS 3d transformation to position the popper.
- * Otherwise, it will use the `top` and `left` properties.
+ * Popper's placement
+ * @prop {Popper.placements} placement='bottom'
*/
- gpuAcceleration: true,
+ placement: 'bottom',
+
/**
- * @prop {string} [x='bottom']
- * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
- * Change this if your popper should grow in a direction different from `bottom`
+ * Set this to true if you want popper to position it self in 'fixed' mode
+ * @prop {Boolean} positionFixed=false
*/
- x: 'bottom',
+ positionFixed: false,
+
/**
- * @prop {string} [x='left']
- * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
- * Change this if your popper should grow in a direction different from `right`
+ * Whether events (resize, scroll) are initially enabled
+ * @prop {Boolean} eventsEnabled=true
*/
- y: 'right'
- },
+ eventsEnabled: true,
- /**
- * Applies the computed styles to the popper element.
- *
- * All the DOM manipulations are limited to this modifier. This is useful in case
- * you want to integrate Popper.js inside a framework or view library and you
- * want to delegate all the DOM manipulations to it.
- *
- * Note that if you disable this modifier, you must make sure the popper element
- * has its position set to `absolute` before Popper.js can do its work!
- *
- * Just disable this modifier and define you own to achieve the desired effect.
- *
- * @memberof modifiers
- * @inner
- */
- applyStyle: {
- /** @prop {number} order=900 - Index used to define the order of execution */
- order: 900,
- /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
- enabled: true,
- /** @prop {ModifierFn} */
- fn: applyStyle,
- /** @prop {Function} */
- onLoad: applyStyleOnLoad,
/**
- * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
- * @prop {Boolean} gpuAcceleration=true
- * If true, it uses the CSS 3d transformation to position the popper.
- * Otherwise, it will use the `top` and `left` properties.
+ * Set to true if you want to automatically remove the popper when
+ * you call the `destroy` method.
+ * @prop {Boolean} removeOnDestroy=false
*/
- gpuAcceleration: undefined
- }
-};
-
-/**
- * The `dataObject` is an object containing all the informations used by Popper.js
- * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
- * @name dataObject
- * @property {Object} data.instance The Popper.js instance
- * @property {String} data.placement Placement applied to popper
- * @property {String} data.originalPlacement Placement originally defined on init
- * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
- * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.
- * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
- * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)
- * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)
- * @property {Object} data.boundaries Offsets of the popper boundaries
- * @property {Object} data.offsets The measurements of popper, reference and arrow elements.
- * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
- * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
- * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
- */
-
-/**
- * Default options provided to Popper.js constructor.<br />
- * These can be overriden using the `options` argument of Popper.js.<br />
- * To override an option, simply pass as 3rd argument an object with the same
- * structure of this object, example:
- * ```
- * new Popper(ref, pop, {
- * modifiers: {
- * preventOverflow: { enabled: false }
- * }
- * })
- * ```
- * @type {Object}
- * @static
- * @memberof Popper
- */
-var Defaults = {
- /**
- * Popper's placement
- * @prop {Popper.placements} placement='bottom'
- */
- placement: 'bottom',
+ removeOnDestroy: false,
- /**
- * Whether events (resize, scroll) are initially enabled
- * @prop {Boolean} eventsEnabled=true
- */
- eventsEnabled: true,
+ /**
+ * Callback called when the popper is created.<br />
+ * By default, is set to no-op.<br />
+ * Access Popper.js instance with `data.instance`.
+ * @prop {onCreate}
+ */
+ onCreate: function onCreate() {},
- /**
- * Set to true if you want to automatically remove the popper when
- * you call the `destroy` method.
- * @prop {Boolean} removeOnDestroy=false
- */
- removeOnDestroy: false,
+ /**
+ * Callback called when the popper is updated, this callback is not called
+ * on the initialization/creation of the popper, but only on subsequent
+ * updates.<br />
+ * By default, is set to no-op.<br />
+ * Access Popper.js instance with `data.instance`.
+ * @prop {onUpdate}
+ */
+ onUpdate: function onUpdate() {},
- /**
- * Callback called when the popper is created.<br />
- * By default, is set to no-op.<br />
- * Access Popper.js instance with `data.instance`.
- * @prop {onCreate}
- */
- onCreate: function onCreate() {},
+ /**
+ * List of modifiers used to modify the offsets before they are applied to the popper.
+ * They provide most of the functionalities of Popper.js
+ * @prop {modifiers}
+ */
+ modifiers: modifiers
+ };
/**
- * Callback called when the popper is updated, this callback is not called
- * on the initialization/creation of the popper, but only on subsequent
- * updates.<br />
- * By default, is set to no-op.<br />
- * Access Popper.js instance with `data.instance`.
- * @prop {onUpdate}
+ * @callback onCreate
+ * @param {dataObject} data
*/
- onUpdate: function onUpdate() {},
/**
- * List of modifiers used to modify the offsets before they are applied to the popper.
- * They provide most of the functionalities of Popper.js
- * @prop {modifiers}
- */
- modifiers: modifiers
-};
-
-/**
- * @callback onCreate
- * @param {dataObject} data
- */
-
-/**
- * @callback onUpdate
- * @param {dataObject} data
- */
-
-// Utils
-// Methods
-var Popper = function () {
- /**
- * Create a new Popper.js instance
- * @class Popper
- * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
- * @param {HTMLElement} popper - The HTML element used as popper.
- * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
- * @return {Object} instance - The generated Popper.js instance
+ * @callback onUpdate
+ * @param {dataObject} data
*/
- function Popper(reference, popper) {
- var _this = this;
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
- classCallCheck(this, Popper);
+ // Utils
+ // Methods
+ var Popper = function () {
+ /**
+ * Create a new Popper.js instance
+ * @class Popper
+ * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
+ * @param {HTMLElement} popper - The HTML element used as popper.
+ * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
+ * @return {Object} instance - The generated Popper.js instance
+ */
+ function Popper(reference, popper) {
+ var _this = this;
- this.scheduleUpdate = function () {
- return requestAnimationFrame(_this.update);
- };
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
+ classCallCheck(this, Popper);
- // make update() debounced, so that it only runs at most once-per-tick
- this.update = debounce(this.update.bind(this));
+ this.scheduleUpdate = function () {
+ return requestAnimationFrame(_this.update);
+ };
- // with {} we create a new object with the options inside it
- this.options = _extends$1({}, Popper.Defaults, options);
+ // make update() debounced, so that it only runs at most once-per-tick
+ this.update = debounce(this.update.bind(this));
- // init state
- this.state = {
- isDestroyed: false,
- isCreated: false,
- scrollParents: []
- };
+ // with {} we create a new object with the options inside it
+ this.options = _extends({}, Popper.Defaults, options);
- // get reference and popper elements (allow jQuery wrappers)
- this.reference = reference && reference.jquery ? reference[0] : reference;
- this.popper = popper && popper.jquery ? popper[0] : popper;
+ // init state
+ this.state = {
+ isDestroyed: false,
+ isCreated: false,
+ scrollParents: []
+ };
- // Deep merge modifiers options
- this.options.modifiers = {};
- Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
- _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
- });
+ // get reference and popper elements (allow jQuery wrappers)
+ this.reference = reference && reference.jquery ? reference[0] : reference;
+ this.popper = popper && popper.jquery ? popper[0] : popper;
- // Refactoring modifiers' list (Object => Array)
- this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
- return _extends$1({
- name: name
- }, _this.options.modifiers[name]);
- })
- // sort the modifiers by order
- .sort(function (a, b) {
- return a.order - b.order;
- });
+ // Deep merge modifiers options
+ this.options.modifiers = {};
+ Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
+ _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
+ });
- // modifiers have the ability to execute arbitrary code when Popper.js get inited
- // such code is executed in the same order of its modifier
- // they could add new properties to their options configuration
- // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
- this.modifiers.forEach(function (modifierOptions) {
- if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
- modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
- }
- });
+ // Refactoring modifiers' list (Object => Array)
+ this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
+ return _extends({
+ name: name
+ }, _this.options.modifiers[name]);
+ })
+ // sort the modifiers by order
+ .sort(function (a, b) {
+ return a.order - b.order;
+ });
+
+ // modifiers have the ability to execute arbitrary code when Popper.js get inited
+ // such code is executed in the same order of its modifier
+ // they could add new properties to their options configuration
+ // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
+ this.modifiers.forEach(function (modifierOptions) {
+ if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
+ modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
+ }
+ });
- // fire the first update to position the popper in the right place
- this.update();
+ // fire the first update to position the popper in the right place
+ this.update();
- var eventsEnabled = this.options.eventsEnabled;
- if (eventsEnabled) {
- // setup event listeners, they will take care of update the position in specific situations
- this.enableEventListeners();
+ var eventsEnabled = this.options.eventsEnabled;
+ if (eventsEnabled) {
+ // setup event listeners, they will take care of update the position in specific situations
+ this.enableEventListeners();
+ }
+
+ this.state.eventsEnabled = eventsEnabled;
}
- this.state.eventsEnabled = eventsEnabled;
- }
+ // We can't use class properties because they don't get listed in the
+ // class prototype and break stuff like Sinon stubs
- // We can't use class properties because they don't get listed in the
- // class prototype and break stuff like Sinon stubs
+ createClass(Popper, [{
+ key: 'update',
+ value: function update$$1() {
+ return update.call(this);
+ }
+ }, {
+ key: 'destroy',
+ value: function destroy$$1() {
+ return destroy.call(this);
+ }
+ }, {
+ key: 'enableEventListeners',
+ value: function enableEventListeners$$1() {
+ return enableEventListeners.call(this);
+ }
+ }, {
+ key: 'disableEventListeners',
+ value: function disableEventListeners$$1() {
+ return disableEventListeners.call(this);
+ }
- createClass(Popper, [{
- key: 'update',
- value: function update$$1() {
- return update.call(this);
- }
- }, {
- key: 'destroy',
- value: function destroy$$1() {
- return destroy.call(this);
- }
- }, {
- key: 'enableEventListeners',
- value: function enableEventListeners$$1() {
- return enableEventListeners.call(this);
- }
- }, {
- key: 'disableEventListeners',
- value: function disableEventListeners$$1() {
- return disableEventListeners.call(this);
- }
+ /**
+ * Schedule an update, it will run on the next UI update available
+ * @method scheduleUpdate
+ * @memberof Popper
+ */
- /**
- * Schedule an update, it will run on the next UI update available
- * @method scheduleUpdate
- * @memberof Popper
- */
+ /**
+ * Collection of utilities useful when writing custom modifiers.
+ * Starting from version 1.7, this method is available only if you
+ * include `popper-utils.js` before `popper.js`.
+ *
+ * **DEPRECATION**: This way to access PopperUtils is deprecated
+ * and will be removed in v2! Use the PopperUtils module directly instead.
+ * Due to the high instability of the methods contained in Utils, we can't
+ * guarantee them to follow semver. Use them at your own risk!
+ * @static
+ * @private
+ * @type {Object}
+ * @deprecated since version 1.8
+ * @member Utils
+ * @memberof Popper
+ */
- /**
- * Collection of utilities useful when writing custom modifiers.
- * Starting from version 1.7, this method is available only if you
- * include `popper-utils.js` before `popper.js`.
- *
- * **DEPRECATION**: This way to access PopperUtils is deprecated
- * and will be removed in v2! Use the PopperUtils module directly instead.
- * Due to the high instability of the methods contained in Utils, we can't
- * guarantee them to follow semver. Use them at your own risk!
- * @static
- * @private
- * @type {Object}
- * @deprecated since version 1.8
- * @member Utils
- * @memberof Popper
- */
+ }]);
+ return Popper;
+ }();
- }]);
- return Popper;
-}();
-
-/**
- * The `referenceObject` is an object that provides an interface compatible with Popper.js
- * and lets you use it as replacement of a real DOM node.<br />
- * You can use this method to position a popper relatively to a set of coordinates
- * in case you don't have a DOM node to use as reference.
- *
- * ```
- * new Popper(referenceObject, popperNode);
- * ```
- *
- * NB: This feature isn't supported in Internet Explorer 10
- * @name referenceObject
- * @property {Function} data.getBoundingClientRect
- * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
- * @property {number} data.clientWidth
- * An ES6 getter that will return the width of the virtual reference element.
- * @property {number} data.clientHeight
- * An ES6 getter that will return the height of the virtual reference element.
- */
-
-
-Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
-Popper.placements = placements;
-Popper.Defaults = Defaults;
-
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): dropdown.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
-
-var Dropdown = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * The `referenceObject` is an object that provides an interface compatible with Popper.js
+ * and lets you use it as replacement of a real DOM node.<br />
+ * You can use this method to position a popper relatively to a set of coordinates
+ * in case you don't have a DOM node to use as reference.
+ *
+ * ```
+ * new Popper(referenceObject, popperNode);
+ * ```
+ *
+ * NB: This feature isn't supported in Internet Explorer 10
+ * @name referenceObject
+ * @property {Function} data.getBoundingClientRect
+ * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
+ * @property {number} data.clientWidth
+ * An ES6 getter that will return the width of the virtual reference element.
+ * @property {number} data.clientHeight
+ * An ES6 getter that will return the height of the virtual reference element.
*/
- var NAME = 'dropdown';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.dropdown';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
-
- var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
-
- var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
-
- var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
-
- var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
-
- var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
-
- var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- CLICK: "click" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
- KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- MENULEFT: 'dropdown-menu-left',
- POSITION_STATIC: 'position-static'
- };
- var Selector = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
- };
- var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
- };
- var Default = {
- offset: 0,
- flip: true,
- boundary: 'scrollParent'
- };
- var DefaultType = {
- offset: '(number|string|function)',
- flip: 'boolean',
- boundary: '(string|element)'
+
+
+ Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
+ Popper.placements = placements;
+ Popper.Defaults = Defaults;
+
+ /**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+ var Dropdown = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'dropdown';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.dropdown';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
+ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
+ var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+ KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
+ KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DISABLED: 'disabled',
+ SHOW: 'show',
+ DROPUP: 'dropup',
+ DROPRIGHT: 'dropright',
+ DROPLEFT: 'dropleft',
+ MENURIGHT: 'dropdown-menu-right',
+ MENULEFT: 'dropdown-menu-left',
+ POSITION_STATIC: 'position-static'
+ };
+ var Selector = {
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
+ FORM_CHILD: '.dropdown form',
+ MENU: '.dropdown-menu',
+ NAVBAR_NAV: '.navbar-nav',
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
+ };
+ var AttachmentMap = {
+ TOP: 'top-start',
+ TOPEND: 'top-end',
+ BOTTOM: 'bottom-start',
+ BOTTOMEND: 'bottom-end',
+ RIGHT: 'right-start',
+ RIGHTEND: 'right-end',
+ LEFT: 'left-start',
+ LEFTEND: 'left-end'
+ };
+ var Default = {
+ offset: 0,
+ flip: true,
+ boundary: 'scrollParent',
+ reference: 'toggle',
+ display: 'dynamic'
+ };
+ var DefaultType = {
+ offset: '(number|string|function)',
+ flip: 'boolean',
+ boundary: '(string|element)',
+ reference: '(string|element)',
+ display: 'string'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Dropdown =
- /*#__PURE__*/
- function () {
- function Dropdown(element, config) {
- this._element = element;
- this._popper = null;
- this._config = this._getConfig(config);
- this._menu = this._getMenuElement();
- this._inNavbar = this._detectNavbar();
+ var Dropdown =
+ /*#__PURE__*/
+ function () {
+ function Dropdown(element, config) {
+ this._element = element;
+ this._popper = null;
+ this._config = this._getConfig(config);
+ this._menu = this._getMenuElement();
+ this._inNavbar = this._detectNavbar();
- this._addEventListeners();
- } // Getters
+ this._addEventListeners();
+ } // Getters
- var _proto = Dropdown.prototype;
+ var _proto = Dropdown.prototype;
- // Public
- _proto.toggle = function toggle() {
- if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
- return;
- }
+ // Public
+ _proto.toggle = function toggle() {
+ if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- var parent = Dropdown._getParentFromElement(this._element);
+ var parent = Dropdown._getParentFromElement(this._element);
- var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
+ var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
- Dropdown._clearMenus();
+ Dropdown._clearMenus();
- if (isActive) {
- return;
- }
+ if (isActive) {
+ return;
+ }
- var relatedTarget = {
- relatedTarget: this._element
- };
- var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
- $$$1(parent).trigger(showEvent);
+ var relatedTarget = {
+ relatedTarget: this._element
+ };
+ var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
+ $$$1(parent).trigger(showEvent);
- if (showEvent.isDefaultPrevented()) {
- return;
- } // Disable totally Popper.js for Dropdown in Navbar
+ if (showEvent.isDefaultPrevented()) {
+ return;
+ } // Disable totally Popper.js for Dropdown in Navbar
- if (!this._inNavbar) {
- /**
- * Check for Popper dependency
- * Popper - https://popper.js.org
- */
- if (typeof Popper === 'undefined') {
- throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
- }
+ if (!this._inNavbar) {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+ }
- var element = this._element; // For dropup with alignment we use the parent as popper container
+ var referenceElement = this._element;
- if ($$$1(parent).hasClass(ClassName.DROPUP)) {
- if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
- element = parent;
- }
- } // If boundary is not `scrollParent`, then set position to `static`
- // to allow the menu to "escape" the scroll parent's boundaries
- // https://github.com/twbs/bootstrap/issues/24251
+ if (this._config.reference === 'parent') {
+ referenceElement = parent;
+ } else if (Util.isElement(this._config.reference)) {
+ referenceElement = this._config.reference; // Check if it's jQuery element
+ if (typeof this._config.reference.jquery !== 'undefined') {
+ referenceElement = this._config.reference[0];
+ }
+ } // If boundary is not `scrollParent`, then set position to `static`
+ // to allow the menu to "escape" the scroll parent's boundaries
+ // https://github.com/twbs/bootstrap/issues/24251
- if (this._config.boundary !== 'scrollParent') {
- $$$1(parent).addClass(ClassName.POSITION_STATIC);
- }
- this._popper = new Popper(element, this._menu, this._getPopperConfig());
- } // If this is a touch-enabled device we add extra
- // empty mouseover listeners to the body's immediate children;
- // only needed because of broken event delegation on iOS
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if (this._config.boundary !== 'scrollParent') {
+ $$$1(parent).addClass(ClassName.POSITION_STATIC);
+ }
+ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
+ } // If this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
- $$$1('body').children().on('mouseover', null, $$$1.noop);
- }
- this._element.focus();
+ if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
+ }
- this._element.setAttribute('aria-expanded', true);
+ this._element.focus();
- $$$1(this._menu).toggleClass(ClassName.SHOW);
- $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
- };
+ this._element.setAttribute('aria-expanded', true);
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- $$$1(this._element).off(EVENT_KEY);
- this._element = null;
- this._menu = null;
+ $$$1(this._menu).toggleClass(ClassName.SHOW);
+ $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
+ };
- if (this._popper !== null) {
- this._popper.destroy();
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(this._element).off(EVENT_KEY);
+ this._element = null;
+ this._menu = null;
- this._popper = null;
- }
- };
+ if (this._popper !== null) {
+ this._popper.destroy();
- _proto.update = function update() {
- this._inNavbar = this._detectNavbar();
+ this._popper = null;
+ }
+ };
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
- }
- }; // Private
+ _proto.update = function update() {
+ this._inNavbar = this._detectNavbar();
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ }; // Private
- _proto._addEventListeners = function _addEventListeners() {
- var _this = this;
- $$$1(this._element).on(Event.CLICK, function (event) {
- event.preventDefault();
- event.stopPropagation();
+ _proto._addEventListeners = function _addEventListeners() {
+ var _this = this;
- _this.toggle();
- });
- };
+ $$$1(this._element).on(Event.CLICK, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
- return config;
- };
+ _this.toggle();
+ });
+ };
- _proto._getMenuElement = function _getMenuElement() {
- if (!this._menu) {
- var parent = Dropdown._getParentFromElement(this._element);
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ return config;
+ };
- this._menu = $$$1(parent).find(Selector.MENU)[0];
- }
+ _proto._getMenuElement = function _getMenuElement() {
+ if (!this._menu) {
+ var parent = Dropdown._getParentFromElement(this._element);
- return this._menu;
- };
+ this._menu = $$$1(parent).find(Selector.MENU)[0];
+ }
- _proto._getPlacement = function _getPlacement() {
- var $parentDropdown = $$$1(this._element).parent();
- var placement = AttachmentMap.BOTTOM; // Handle dropup
+ return this._menu;
+ };
+
+ _proto._getPlacement = function _getPlacement() {
+ var $parentDropdown = $$$1(this._element).parent();
+ var placement = AttachmentMap.BOTTOM; // Handle dropup
- if ($parentDropdown.hasClass(ClassName.DROPUP)) {
- placement = AttachmentMap.TOP;
+ if ($parentDropdown.hasClass(ClassName.DROPUP)) {
+ placement = AttachmentMap.TOP;
- if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
+ if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.TOPEND;
+ }
+ } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
+ placement = AttachmentMap.RIGHT;
+ } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
+ placement = AttachmentMap.LEFT;
+ } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.BOTTOMEND;
}
- } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
- }
- return placement;
- };
+ return placement;
+ };
- _proto._detectNavbar = function _detectNavbar() {
- return $$$1(this._element).closest('.navbar').length > 0;
- };
+ _proto._detectNavbar = function _detectNavbar() {
+ return $$$1(this._element).closest('.navbar').length > 0;
+ };
+
+ _proto._getPopperConfig = function _getPopperConfig() {
+ var _this2 = this;
- _proto._getPopperConfig = function _getPopperConfig() {
- var _this2 = this;
+ var offsetConf = {};
+
+ if (typeof this._config.offset === 'function') {
+ offsetConf.fn = function (data) {
+ data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
+ return data;
+ };
+ } else {
+ offsetConf.offset = this._config.offset;
+ }
- var offsetConf = {};
+ var popperConfig = {
+ placement: this._getPlacement(),
+ modifiers: {
+ offset: offsetConf,
+ flip: {
+ enabled: this._config.flip
+ },
+ preventOverflow: {
+ boundariesElement: this._config.boundary
+ }
+ } // Disable Popper.js if we have a static display
- if (typeof this._config.offset === 'function') {
- offsetConf.fn = function (data) {
- data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
- return data;
};
- } else {
- offsetConf.offset = this._config.offset;
- }
- var popperConfig = {
- placement: this._getPlacement(),
- modifiers: {
- offset: offsetConf,
- flip: {
- enabled: this._config.flip
- },
- preventOverflow: {
- boundariesElement: this._config.boundary
- }
+ if (this._config.display === 'static') {
+ popperConfig.modifiers.applyStyle = {
+ enabled: false
+ };
}
- };
- return popperConfig;
- }; // Static
+ return popperConfig;
+ }; // Static
- Dropdown._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
- var _config = typeof config === 'object' ? config : null;
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- if (!data) {
- data = new Dropdown(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ var _config = typeof config === 'object' ? config : null;
+
+ if (!data) {
+ data = new Dropdown(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
}
+ });
+ };
- data[config]();
+ Dropdown._clearMenus = function _clearMenus(event) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+ return;
}
- });
- };
- Dropdown._clearMenus = function _clearMenus(event) {
- if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
- return;
- }
+ var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
- var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
+ for (var i = 0; i < toggles.length; i++) {
+ var parent = Dropdown._getParentFromElement(toggles[i]);
- for (var i = 0; i < toggles.length; i++) {
- var parent = Dropdown._getParentFromElement(toggles[i]);
+ var context = $$$1(toggles[i]).data(DATA_KEY);
+ var relatedTarget = {
+ relatedTarget: toggles[i]
+ };
- var context = $$$1(toggles[i]).data(DATA_KEY);
- var relatedTarget = {
- relatedTarget: toggles[i]
- };
+ if (!context) {
+ continue;
+ }
- if (!context) {
- continue;
- }
+ var dropdownMenu = context._menu;
- var dropdownMenu = context._menu;
+ if (!$$$1(parent).hasClass(ClassName.SHOW)) {
+ continue;
+ }
- if (!$$$1(parent).hasClass(ClassName.SHOW)) {
- continue;
- }
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
+ continue;
+ }
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
- continue;
- }
+ var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
+ $$$1(parent).trigger(hideEvent);
- var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
- $$$1(parent).trigger(hideEvent);
+ if (hideEvent.isDefaultPrevented()) {
+ continue;
+ } // If this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
- if (hideEvent.isDefaultPrevented()) {
- continue;
- } // If this is a touch-enabled device we remove the extra
- // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
+ }
- if ('ontouchstart' in document.documentElement) {
- $$$1('body').children().off('mouseover', null, $$$1.noop);
+ toggles[i].setAttribute('aria-expanded', 'false');
+ $$$1(dropdownMenu).removeClass(ClassName.SHOW);
+ $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
}
+ };
- toggles[i].setAttribute('aria-expanded', 'false');
- $$$1(dropdownMenu).removeClass(ClassName.SHOW);
- $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
- }
- };
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
+ var parent;
+ var selector = Util.getSelectorFromElement(element);
- Dropdown._getParentFromElement = function _getParentFromElement(element) {
- var parent;
- var selector = Util.getSelectorFromElement(element);
+ if (selector) {
+ parent = $$$1(selector)[0];
+ }
- if (selector) {
- parent = $$$1(selector)[0];
- }
+ return parent || element.parentNode;
+ }; // eslint-disable-next-line complexity
- return parent || element.parentNode;
- }; // eslint-disable-next-line complexity
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+ // If not input/textarea:
+ // - And not a key in REGEXP_KEYDOWN => not a dropdown command
+ // If input/textarea:
+ // - If space key => not a dropdown command
+ // - If key is other than escape
+ // - If key is not up or down => not a dropdown command
+ // - If trigger inside the menu => not a dropdown command
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ return;
+ }
- Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
- // If not input/textarea:
- // - And not a key in REGEXP_KEYDOWN => not a dropdown command
- // If input/textarea:
- // - If space key => not a dropdown command
- // - If key is other than escape
- // - If key is not up or down => not a dropdown command
- // - If trigger inside the menu => not a dropdown command
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
- return;
- }
+ event.preventDefault();
+ event.stopPropagation();
- event.preventDefault();
- event.stopPropagation();
+ if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
- return;
- }
+ var parent = Dropdown._getParentFromElement(this);
- var parent = Dropdown._getParentFromElement(this);
+ var isActive = $$$1(parent).hasClass(ClassName.SHOW);
- var isActive = $$$1(parent).hasClass(ClassName.SHOW);
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+ if (event.which === ESCAPE_KEYCODE) {
+ var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
+ $$$1(toggle).trigger('focus');
+ }
- if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
- if (event.which === ESCAPE_KEYCODE) {
- var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
- $$$1(toggle).trigger('focus');
+ $$$1(this).trigger('click');
+ return;
}
- $$$1(this).trigger('click');
- return;
- }
+ var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
- var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
-
- if (items.length === 0) {
- return;
- }
+ if (items.length === 0) {
+ return;
+ }
- var index = items.indexOf(event.target);
+ var index = items.indexOf(event.target);
- if (event.which === ARROW_UP_KEYCODE && index > 0) {
- // Up
- index--;
- }
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
+ // Up
+ index--;
+ }
- if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
- // Down
- index++;
- }
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+ // Down
+ index++;
+ }
- if (index < 0) {
- index = 0;
- }
+ if (index < 0) {
+ index = 0;
+ }
- items[index].focus();
- };
+ items[index].focus();
+ };
- _createClass(Dropdown, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType;
- }
- }]);
- return Dropdown;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ _createClass(Dropdown, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+ return Dropdown;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault();
- event.stopPropagation();
- Dropdown._jQueryInterface.call($$$1(this), 'toggle');
- }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
- e.stopPropagation();
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
- $$$1.fn[NAME] = Dropdown._jQueryInterface;
- $$$1.fn[NAME].Constructor = Dropdown;
+ Dropdown._jQueryInterface.call($$$1(this), 'toggle');
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ e.stopPropagation();
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Dropdown._jQueryInterface;
- };
+ $$$1.fn[NAME] = Dropdown._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Dropdown;
- return Dropdown;
-}($, Popper);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Dropdown._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): modal.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Dropdown;
+ }($, Popper);
-var Modal = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'modal';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.modal';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 300;
- var BACKDROP_TRANSITION_DURATION = 150;
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
-
- var Default = {
- backdrop: true,
- keyboard: true,
- focus: true,
- show: true
- };
- var DefaultType = {
- backdrop: '(boolean|string)',
- keyboard: 'boolean',
- focus: 'boolean',
- show: 'boolean'
- };
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- FOCUSIN: "focusin" + EVENT_KEY,
- RESIZE: "resize" + EVENT_KEY,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- DIALOG: '.modal-dialog',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top',
- NAVBAR_TOGGLER: '.navbar-toggler'
+
+ var Modal = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'modal';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.modal';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var Default = {
+ backdrop: true,
+ keyboard: true,
+ focus: true,
+ show: true
+ };
+ var DefaultType = {
+ backdrop: '(boolean|string)',
+ keyboard: 'boolean',
+ focus: 'boolean',
+ show: 'boolean'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ RESIZE: "resize" + EVENT_KEY,
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+ BACKDROP: 'modal-backdrop',
+ OPEN: 'modal-open',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ DIALOG: '.modal-dialog',
+ DATA_TOGGLE: '[data-toggle="modal"]',
+ DATA_DISMISS: '[data-dismiss="modal"]',
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ STICKY_CONTENT: '.sticky-top',
+ NAVBAR_TOGGLER: '.navbar-toggler'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
-
- var Modal =
- /*#__PURE__*/
- function () {
- function Modal(element, config) {
- this._config = this._getConfig(config);
- this._element = element;
- this._dialog = $$$1(element).find(Selector.DIALOG)[0];
- this._backdrop = null;
- this._isShown = false;
- this._isBodyOverflowing = false;
- this._ignoreBackdropClick = false;
- this._originalBodyPadding = 0;
- this._scrollbarWidth = 0;
- } // Getters
-
-
- var _proto = Modal.prototype;
-
- // Public
- _proto.toggle = function toggle(relatedTarget) {
- return this._isShown ? this.hide() : this.show(relatedTarget);
};
- _proto.show = function show(relatedTarget) {
- var _this = this;
+ var Modal =
+ /*#__PURE__*/
+ function () {
+ function Modal(element, config) {
+ this._config = this._getConfig(config);
+ this._element = element;
+ this._dialog = $$$1(element).find(Selector.DIALOG)[0];
+ this._backdrop = null;
+ this._isShown = false;
+ this._isBodyOverflowing = false;
+ this._ignoreBackdropClick = false;
+ this._scrollbarWidth = 0;
+ } // Getters
- if (this._isTransitioning || this._isShown) {
- return;
- }
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
- }
+ var _proto = Modal.prototype;
- var showEvent = $$$1.Event(Event.SHOW, {
- relatedTarget: relatedTarget
- });
- $$$1(this._element).trigger(showEvent);
+ // Public
+ _proto.toggle = function toggle(relatedTarget) {
+ return this._isShown ? this.hide() : this.show(relatedTarget);
+ };
- if (this._isShown || showEvent.isDefaultPrevented()) {
- return;
- }
+ _proto.show = function show(relatedTarget) {
+ var _this = this;
- this._isShown = true;
+ if (this._isTransitioning || this._isShown) {
+ return;
+ }
- this._checkScrollbar();
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ }
- this._setScrollbar();
+ var showEvent = $$$1.Event(Event.SHOW, {
+ relatedTarget: relatedTarget
+ });
+ $$$1(this._element).trigger(showEvent);
- this._adjustDialog();
+ if (this._isShown || showEvent.isDefaultPrevented()) {
+ return;
+ }
- $$$1(document.body).addClass(ClassName.OPEN);
+ this._isShown = true;
- this._setEscapeEvent();
+ this._checkScrollbar();
- this._setResizeEvent();
+ this._setScrollbar();
- $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
- return _this.hide(event);
- });
- $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
- $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
- if ($$$1(event.target).is(_this._element)) {
- _this._ignoreBackdropClick = true;
- }
+ this._adjustDialog();
+
+ $$$1(document.body).addClass(ClassName.OPEN);
+
+ this._setEscapeEvent();
+
+ this._setResizeEvent();
+
+ $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+ return _this.hide(event);
+ });
+ $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+ $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($$$1(event.target).is(_this._element)) {
+ _this._ignoreBackdropClick = true;
+ }
+ });
});
- });
- this._showBackdrop(function () {
- return _this._showElement(relatedTarget);
- });
- };
+ this._showBackdrop(function () {
+ return _this._showElement(relatedTarget);
+ });
+ };
- _proto.hide = function hide(event) {
- var _this2 = this;
+ _proto.hide = function hide(event) {
+ var _this2 = this;
- if (event) {
- event.preventDefault();
- }
+ if (event) {
+ event.preventDefault();
+ }
- if (this._isTransitioning || !this._isShown) {
- return;
- }
+ if (this._isTransitioning || !this._isShown) {
+ return;
+ }
- var hideEvent = $$$1.Event(Event.HIDE);
- $$$1(this._element).trigger(hideEvent);
+ var hideEvent = $$$1.Event(Event.HIDE);
+ $$$1(this._element).trigger(hideEvent);
- if (!this._isShown || hideEvent.isDefaultPrevented()) {
- return;
- }
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
+ return;
+ }
- this._isShown = false;
- var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
+ this._isShown = false;
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
- if (transition) {
- this._isTransitioning = true;
- }
+ if (transition) {
+ this._isTransitioning = true;
+ }
- this._setEscapeEvent();
+ this._setEscapeEvent();
- this._setResizeEvent();
+ this._setResizeEvent();
- $$$1(document).off(Event.FOCUSIN);
- $$$1(this._element).removeClass(ClassName.SHOW);
- $$$1(this._element).off(Event.CLICK_DISMISS);
- $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+ $$$1(document).off(Event.FOCUSIN);
+ $$$1(this._element).removeClass(ClassName.SHOW);
+ $$$1(this._element).off(Event.CLICK_DISMISS);
+ $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
- if (transition) {
- $$$1(this._element).one(Util.TRANSITION_END, function (event) {
- return _this2._hideModal(event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- this._hideModal();
- }
- };
+ if (transition) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._element).one(Util.TRANSITION_END, function (event) {
+ return _this2._hideModal(event);
+ }).emulateTransitionEnd(transitionDuration);
+ } else {
+ this._hideModal();
+ }
+ };
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
- this._config = null;
- this._element = null;
- this._dialog = null;
- this._backdrop = null;
- this._isShown = null;
- this._isBodyOverflowing = null;
- this._ignoreBackdropClick = null;
- this._scrollbarWidth = null;
- };
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
+ this._config = null;
+ this._element = null;
+ this._dialog = null;
+ this._backdrop = null;
+ this._isShown = null;
+ this._isBodyOverflowing = null;
+ this._ignoreBackdropClick = null;
+ this._scrollbarWidth = null;
+ };
- _proto.handleUpdate = function handleUpdate() {
- this._adjustDialog();
- }; // Private
+ _proto.handleUpdate = function handleUpdate() {
+ this._adjustDialog();
+ }; // Private
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
- _proto._showElement = function _showElement(relatedTarget) {
- var _this3 = this;
+ _proto._showElement = function _showElement(relatedTarget) {
+ var _this3 = this;
- var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
- if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
- // Don't move modal's DOM position
- document.body.appendChild(this._element);
- }
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+ // Don't move modal's DOM position
+ document.body.appendChild(this._element);
+ }
- this._element.style.display = 'block';
+ this._element.style.display = 'block';
- this._element.removeAttribute('aria-hidden');
+ this._element.removeAttribute('aria-hidden');
- this._element.scrollTop = 0;
+ this._element.scrollTop = 0;
- if (transition) {
- Util.reflow(this._element);
- }
+ if (transition) {
+ Util.reflow(this._element);
+ }
- $$$1(this._element).addClass(ClassName.SHOW);
+ $$$1(this._element).addClass(ClassName.SHOW);
- if (this._config.focus) {
- this._enforceFocus();
- }
+ if (this._config.focus) {
+ this._enforceFocus();
+ }
- var shownEvent = $$$1.Event(Event.SHOWN, {
- relatedTarget: relatedTarget
- });
+ var shownEvent = $$$1.Event(Event.SHOWN, {
+ relatedTarget: relatedTarget
+ });
+
+ var transitionComplete = function transitionComplete() {
+ if (_this3._config.focus) {
+ _this3._element.focus();
+ }
- var transitionComplete = function transitionComplete() {
- if (_this3._config.focus) {
- _this3._element.focus();
+ _this3._isTransitioning = false;
+ $$$1(_this3._element).trigger(shownEvent);
+ };
+
+ if (transition) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
+ } else {
+ transitionComplete();
}
+ };
- _this3._isTransitioning = false;
- $$$1(_this3._element).trigger(shownEvent);
+ _proto._enforceFocus = function _enforceFocus() {
+ var _this4 = this;
+
+ $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
+ .on(Event.FOCUSIN, function (event) {
+ if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
+ _this4._element.focus();
+ }
+ });
};
- if (transition) {
- $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- transitionComplete();
- }
- };
+ _proto._setEscapeEvent = function _setEscapeEvent() {
+ var _this5 = this;
- _proto._enforceFocus = function _enforceFocus() {
- var _this4 = this;
+ if (this._isShown && this._config.keyboard) {
+ $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+ if (event.which === ESCAPE_KEYCODE) {
+ event.preventDefault();
- $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
- .on(Event.FOCUSIN, function (event) {
- if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
- _this4._element.focus();
+ _this5.hide();
+ }
+ });
+ } else if (!this._isShown) {
+ $$$1(this._element).off(Event.KEYDOWN_DISMISS);
}
- });
- };
+ };
- _proto._setEscapeEvent = function _setEscapeEvent() {
- var _this5 = this;
+ _proto._setResizeEvent = function _setResizeEvent() {
+ var _this6 = this;
- if (this._isShown && this._config.keyboard) {
- $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE) {
- event.preventDefault();
+ if (this._isShown) {
+ $$$1(window).on(Event.RESIZE, function (event) {
+ return _this6.handleUpdate(event);
+ });
+ } else {
+ $$$1(window).off(Event.RESIZE);
+ }
+ };
- _this5.hide();
- }
- });
- } else if (!this._isShown) {
- $$$1(this._element).off(Event.KEYDOWN_DISMISS);
- }
- };
+ _proto._hideModal = function _hideModal() {
+ var _this7 = this;
- _proto._setResizeEvent = function _setResizeEvent() {
- var _this6 = this;
+ this._element.style.display = 'none';
- if (this._isShown) {
- $$$1(window).on(Event.RESIZE, function (event) {
- return _this6.handleUpdate(event);
- });
- } else {
- $$$1(window).off(Event.RESIZE);
- }
- };
+ this._element.setAttribute('aria-hidden', true);
- _proto._hideModal = function _hideModal() {
- var _this7 = this;
+ this._isTransitioning = false;
- this._element.style.display = 'none';
+ this._showBackdrop(function () {
+ $$$1(document.body).removeClass(ClassName.OPEN);
- this._element.setAttribute('aria-hidden', true);
+ _this7._resetAdjustments();
- this._isTransitioning = false;
+ _this7._resetScrollbar();
- this._showBackdrop(function () {
- $$$1(document.body).removeClass(ClassName.OPEN);
+ $$$1(_this7._element).trigger(Event.HIDDEN);
+ });
+ };
- _this7._resetAdjustments();
+ _proto._removeBackdrop = function _removeBackdrop() {
+ if (this._backdrop) {
+ $$$1(this._backdrop).remove();
+ this._backdrop = null;
+ }
+ };
- _this7._resetScrollbar();
+ _proto._showBackdrop = function _showBackdrop(callback) {
+ var _this8 = this;
- $$$1(_this7._element).trigger(Event.HIDDEN);
- });
- };
+ var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
- _proto._removeBackdrop = function _removeBackdrop() {
- if (this._backdrop) {
- $$$1(this._backdrop).remove();
- this._backdrop = null;
- }
- };
+ if (this._isShown && this._config.backdrop) {
+ this._backdrop = document.createElement('div');
+ this._backdrop.className = ClassName.BACKDROP;
- _proto._showBackdrop = function _showBackdrop(callback) {
- var _this8 = this;
+ if (animate) {
+ $$$1(this._backdrop).addClass(animate);
+ }
- var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+ $$$1(this._backdrop).appendTo(document.body);
+ $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
+ if (_this8._ignoreBackdropClick) {
+ _this8._ignoreBackdropClick = false;
+ return;
+ }
- if (this._isShown && this._config.backdrop) {
- var doAnimate = Util.supportsTransitionEnd() && animate;
- this._backdrop = document.createElement('div');
- this._backdrop.className = ClassName.BACKDROP;
+ if (event.target !== event.currentTarget) {
+ return;
+ }
- if (animate) {
- $$$1(this._backdrop).addClass(animate);
- }
+ if (_this8._config.backdrop === 'static') {
+ _this8._element.focus();
+ } else {
+ _this8.hide();
+ }
+ });
- $$$1(this._backdrop).appendTo(document.body);
- $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
- if (_this8._ignoreBackdropClick) {
- _this8._ignoreBackdropClick = false;
- return;
+ if (animate) {
+ Util.reflow(this._backdrop);
}
- if (event.target !== event.currentTarget) {
+ $$$1(this._backdrop).addClass(ClassName.SHOW);
+
+ if (!callback) {
return;
}
- if (_this8._config.backdrop === 'static') {
- _this8._element.focus();
- } else {
- _this8.hide();
+ if (!animate) {
+ callback();
+ return;
}
- });
- if (doAnimate) {
- Util.reflow(this._backdrop);
- }
+ var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
+ } else if (!this._isShown && this._backdrop) {
+ $$$1(this._backdrop).removeClass(ClassName.SHOW);
- $$$1(this._backdrop).addClass(ClassName.SHOW);
+ var callbackRemove = function callbackRemove() {
+ _this8._removeBackdrop();
- if (!callback) {
- return;
- }
+ if (callback) {
+ callback();
+ }
+ };
+
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
+ var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
- if (!doAnimate) {
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
+ } else {
+ callbackRemove();
+ }
+ } else if (callback) {
callback();
- return;
}
+ }; // ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
- $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
- } else if (!this._isShown && this._backdrop) {
- $$$1(this._backdrop).removeClass(ClassName.SHOW);
- var callbackRemove = function callbackRemove() {
- _this8._removeBackdrop();
+ _proto._adjustDialog = function _adjustDialog() {
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
- if (callback) {
- callback();
- }
- };
-
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
- $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
- } else {
- callbackRemove();
+ if (!this._isBodyOverflowing && isModalOverflowing) {
+ this._element.style.paddingLeft = this._scrollbarWidth + "px";
}
- } else if (callback) {
- callback();
- }
- }; // ----------------------------------------------------------------------
- // the following methods are used to handle overflowing modals
- // todo (fat): these should probably be refactored out of modal.js
- // ----------------------------------------------------------------------
+ if (this._isBodyOverflowing && !isModalOverflowing) {
+ this._element.style.paddingRight = this._scrollbarWidth + "px";
+ }
+ };
- _proto._adjustDialog = function _adjustDialog() {
- var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+ _proto._resetAdjustments = function _resetAdjustments() {
+ this._element.style.paddingLeft = '';
+ this._element.style.paddingRight = '';
+ };
- if (!this._isBodyOverflowing && isModalOverflowing) {
- this._element.style.paddingLeft = this._scrollbarWidth + "px";
- }
+ _proto._checkScrollbar = function _checkScrollbar() {
+ var rect = document.body.getBoundingClientRect();
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+ this._scrollbarWidth = this._getScrollbarWidth();
+ };
- if (this._isBodyOverflowing && !isModalOverflowing) {
- this._element.style.paddingRight = this._scrollbarWidth + "px";
- }
- };
+ _proto._setScrollbar = function _setScrollbar() {
+ var _this9 = this;
+
+ if (this._isBodyOverflowing) {
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+ // Adjust fixed content padding
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
+ var actualPadding = $$$1(element)[0].style.paddingRight;
+ var calculatedPadding = $$$1(element).css('padding-right');
+ $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
+ }); // Adjust sticky content margin
+
+ $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
+ var actualMargin = $$$1(element)[0].style.marginRight;
+ var calculatedMargin = $$$1(element).css('margin-right');
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
+ }); // Adjust navbar-toggler margin
+
+ $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var actualMargin = $$$1(element)[0].style.marginRight;
+ var calculatedMargin = $$$1(element).css('margin-right');
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
+ }); // Adjust body padding
+
+ var actualPadding = document.body.style.paddingRight;
+ var calculatedPadding = $$$1(document.body).css('padding-right');
+ $$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+ }
+ };
- _proto._resetAdjustments = function _resetAdjustments() {
- this._element.style.paddingLeft = '';
- this._element.style.paddingRight = '';
- };
+ _proto._resetScrollbar = function _resetScrollbar() {
+ // Restore fixed content padding
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
+ var padding = $$$1(element).data('padding-right');
- _proto._checkScrollbar = function _checkScrollbar() {
- var rect = document.body.getBoundingClientRect();
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
- this._scrollbarWidth = this._getScrollbarWidth();
- };
+ if (typeof padding !== 'undefined') {
+ $$$1(element).css('padding-right', padding).removeData('padding-right');
+ }
+ }); // Restore sticky content and navbar-toggler margin
- _proto._setScrollbar = function _setScrollbar() {
- var _this9 = this;
+ $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var margin = $$$1(element).data('margin-right');
- if (this._isBodyOverflowing) {
- // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
- // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
- // Adjust fixed content padding
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
- var actualPadding = $$$1(element)[0].style.paddingRight;
- var calculatedPadding = $$$1(element).css('padding-right');
- $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
- }); // Adjust sticky content margin
-
- $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
- var actualMargin = $$$1(element)[0].style.marginRight;
- var calculatedMargin = $$$1(element).css('margin-right');
- $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
- }); // Adjust navbar-toggler margin
-
- $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
- var actualMargin = $$$1(element)[0].style.marginRight;
- var calculatedMargin = $$$1(element).css('margin-right');
- $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
- }); // Adjust body padding
-
- var actualPadding = document.body.style.paddingRight;
- var calculatedPadding = $$$1('body').css('padding-right');
- $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
- }
- };
+ if (typeof margin !== 'undefined') {
+ $$$1(element).css('margin-right', margin).removeData('margin-right');
+ }
+ }); // Restore body padding
- _proto._resetScrollbar = function _resetScrollbar() {
- // Restore fixed content padding
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
- var padding = $$$1(element).data('padding-right');
+ var padding = $$$1(document.body).data('padding-right');
if (typeof padding !== 'undefined') {
- $$$1(element).css('padding-right', padding).removeData('padding-right');
+ $$$1(document.body).css('padding-right', padding).removeData('padding-right');
}
- }); // Restore sticky content and navbar-toggler margin
-
- $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
- var margin = $$$1(element).data('margin-right');
-
- if (typeof margin !== 'undefined') {
- $$$1(element).css('margin-right', margin).removeData('margin-right');
- }
- }); // Restore body padding
-
- var padding = $$$1('body').data('padding-right');
+ };
- if (typeof padding !== 'undefined') {
- $$$1('body').css('padding-right', padding).removeData('padding-right');
- }
- };
+ _proto._getScrollbarWidth = function _getScrollbarWidth() {
+ // thx d.walsh
+ var scrollDiv = document.createElement('div');
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+ document.body.appendChild(scrollDiv);
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ return scrollbarWidth;
+ }; // Static
- _proto._getScrollbarWidth = function _getScrollbarWidth() {
- // thx d.walsh
- var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
- document.body.appendChild(scrollDiv);
- var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
- document.body.removeChild(scrollDiv);
- return scrollbarWidth;
- }; // Static
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
- var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
+ if (!data) {
+ data = new Modal(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (!data) {
- data = new Modal(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ data[config](relatedTarget);
+ } else if (_config.show) {
+ data.show(relatedTarget);
}
+ });
+ };
- data[config](relatedTarget);
- } else if (_config.show) {
- data.show(relatedTarget);
+ _createClass(Modal, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
-
- _createClass(Modal, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
- return Modal;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return Modal;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- var _this10 = this;
- var target;
- var selector = Util.getSelectorFromElement(this);
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ var _this10 = this;
- if (selector) {
- target = $$$1(selector)[0];
- }
+ var target;
+ var selector = Util.getSelectorFromElement(this);
- var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
+ if (selector) {
+ target = $$$1(selector)[0];
+ }
- if (this.tagName === 'A' || this.tagName === 'AREA') {
- event.preventDefault();
- }
+ var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
- var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
- if (showEvent.isDefaultPrevented()) {
- // Only register focus restorer if modal will actually get shown
- return;
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
+ event.preventDefault();
}
- $target.one(Event.HIDDEN, function () {
- if ($$$1(_this10).is(':visible')) {
- _this10.focus();
+ var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
+ if (showEvent.isDefaultPrevented()) {
+ // Only register focus restorer if modal will actually get shown
+ return;
}
- });
- });
- Modal._jQueryInterface.call($$$1(target), config, this);
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ $target.one(Event.HIDDEN, function () {
+ if ($$$1(_this10).is(':visible')) {
+ _this10.focus();
+ }
+ });
+ });
- $$$1.fn[NAME] = Modal._jQueryInterface;
- $$$1.fn[NAME].Constructor = Modal;
+ Modal._jQueryInterface.call($$$1(target), config, this);
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Modal._jQueryInterface;
- };
+ $$$1.fn[NAME] = Modal._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Modal;
- return Modal;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Modal._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): tooltip.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Modal;
+ }($);
-var Tooltip = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'tooltip';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.tooltip';
- var EVENT_KEY = "." + DATA_KEY;
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 150;
- var CLASS_PREFIX = 'bs-tooltip';
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
- var DefaultType = {
- animation: 'boolean',
- template: 'string',
- title: '(string|element|function)',
- trigger: 'string',
- delay: '(number|object)',
- html: 'boolean',
- selector: '(string|boolean)',
- placement: '(string|function)',
- offset: '(number|string)',
- container: '(string|element|boolean)',
- fallbackPlacement: '(string|array)',
- boundary: '(string|element)'
- };
- var AttachmentMap = {
- AUTO: 'auto',
- TOP: 'top',
- RIGHT: 'right',
- BOTTOM: 'bottom',
- LEFT: 'left'
- };
- var Default = {
- animation: true,
- template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
- trigger: 'hover focus',
- title: '',
- delay: 0,
- html: false,
- selector: false,
- placement: 'top',
- offset: 0,
- container: false,
- fallbackPlacement: 'flip',
- boundary: 'scrollParent'
- };
- var HoverState = {
- SHOW: 'show',
- OUT: 'out'
- };
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- INSERTED: "inserted" + EVENT_KEY,
- CLICK: "click" + EVENT_KEY,
- FOCUSIN: "focusin" + EVENT_KEY,
- FOCUSOUT: "focusout" + EVENT_KEY,
- MOUSEENTER: "mouseenter" + EVENT_KEY,
- MOUSELEAVE: "mouseleave" + EVENT_KEY
- };
- var ClassName = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- TOOLTIP: '.tooltip',
- TOOLTIP_INNER: '.tooltip-inner',
- ARROW: '.arrow'
- };
- var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
+
+ var Tooltip = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
-
- };
-
- var Tooltip =
- /*#__PURE__*/
- function () {
- function Tooltip(element, config) {
+ var NAME = 'tooltip';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.tooltip';
+ var EVENT_KEY = "." + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var CLASS_PREFIX = 'bs-tooltip';
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+ var DefaultType = {
+ animation: 'boolean',
+ template: 'string',
+ title: '(string|element|function)',
+ trigger: 'string',
+ delay: '(number|object)',
+ html: 'boolean',
+ selector: '(string|boolean)',
+ placement: '(string|function)',
+ offset: '(number|string)',
+ container: '(string|element|boolean)',
+ fallbackPlacement: '(string|array)',
+ boundary: '(string|element)'
+ };
+ var AttachmentMap = {
+ AUTO: 'auto',
+ TOP: 'top',
+ RIGHT: 'right',
+ BOTTOM: 'bottom',
+ LEFT: 'left'
+ };
+ var Default = {
+ animation: true,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: 0,
+ container: false,
+ fallbackPlacement: 'flip',
+ boundary: 'scrollParent'
+ };
+ var HoverState = {
+ SHOW: 'show',
+ OUT: 'out'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ INSERTED: "inserted" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ FOCUSOUT: "focusout" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
+ };
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ TOOLTIP: '.tooltip',
+ TOOLTIP_INNER: '.tooltip-inner',
+ ARROW: '.arrow'
+ };
+ var Trigger = {
+ HOVER: 'hover',
+ FOCUS: 'focus',
+ CLICK: 'click',
+ MANUAL: 'manual'
/**
- * Check for Popper dependency
- * Popper - https://popper.js.org
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
*/
- if (typeof Popper === 'undefined') {
- throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
- } // private
+ };
- this._isEnabled = true;
- this._timeout = 0;
- this._hoverState = '';
- this._activeTrigger = {};
- this._popper = null; // Protected
+ var Tooltip =
+ /*#__PURE__*/
+ function () {
+ function Tooltip(element, config) {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
+ } // private
- this.element = element;
- this.config = this._getConfig(config);
- this.tip = null;
- this._setListeners();
- } // Getters
+ this._isEnabled = true;
+ this._timeout = 0;
+ this._hoverState = '';
+ this._activeTrigger = {};
+ this._popper = null; // Protected
+ this.element = element;
+ this.config = this._getConfig(config);
+ this.tip = null;
- var _proto = Tooltip.prototype;
+ this._setListeners();
+ } // Getters
- // Public
- _proto.enable = function enable() {
- this._isEnabled = true;
- };
- _proto.disable = function disable() {
- this._isEnabled = false;
- };
+ var _proto = Tooltip.prototype;
- _proto.toggleEnabled = function toggleEnabled() {
- this._isEnabled = !this._isEnabled;
- };
+ // Public
+ _proto.enable = function enable() {
+ this._isEnabled = true;
+ };
- _proto.toggle = function toggle(event) {
- if (!this._isEnabled) {
- return;
- }
+ _proto.disable = function disable() {
+ this._isEnabled = false;
+ };
- if (event) {
- var dataKey = this.constructor.DATA_KEY;
- var context = $$$1(event.currentTarget).data(dataKey);
+ _proto.toggleEnabled = function toggleEnabled() {
+ this._isEnabled = !this._isEnabled;
+ };
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $$$1(event.currentTarget).data(dataKey, context);
+ _proto.toggle = function toggle(event) {
+ if (!this._isEnabled) {
+ return;
}
- context._activeTrigger.click = !context._activeTrigger.click;
+ if (event) {
+ var dataKey = this.constructor.DATA_KEY;
+ var context = $$$1(event.currentTarget).data(dataKey);
- if (context._isWithActiveTrigger()) {
- context._enter(null, context);
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
+
+ context._activeTrigger.click = !context._activeTrigger.click;
+
+ if (context._isWithActiveTrigger()) {
+ context._enter(null, context);
+ } else {
+ context._leave(null, context);
+ }
} else {
- context._leave(null, context);
- }
- } else {
- if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
- this._leave(null, this);
+ if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ this._leave(null, this);
- return;
- }
+ return;
+ }
- this._enter(null, this);
- }
- };
+ this._enter(null, this);
+ }
+ };
- _proto.dispose = function dispose() {
- clearTimeout(this._timeout);
- $$$1.removeData(this.element, this.constructor.DATA_KEY);
- $$$1(this.element).off(this.constructor.EVENT_KEY);
- $$$1(this.element).closest('.modal').off('hide.bs.modal');
+ _proto.dispose = function dispose() {
+ clearTimeout(this._timeout);
+ $$$1.removeData(this.element, this.constructor.DATA_KEY);
+ $$$1(this.element).off(this.constructor.EVENT_KEY);
+ $$$1(this.element).closest('.modal').off('hide.bs.modal');
- if (this.tip) {
- $$$1(this.tip).remove();
- }
+ if (this.tip) {
+ $$$1(this.tip).remove();
+ }
- this._isEnabled = null;
- this._timeout = null;
- this._hoverState = null;
- this._activeTrigger = null;
+ this._isEnabled = null;
+ this._timeout = null;
+ this._hoverState = null;
+ this._activeTrigger = null;
- if (this._popper !== null) {
- this._popper.destroy();
- }
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
- this._popper = null;
- this.element = null;
- this.config = null;
- this.tip = null;
- };
+ this._popper = null;
+ this.element = null;
+ this.config = null;
+ this.tip = null;
+ };
- _proto.show = function show() {
- var _this = this;
+ _proto.show = function show() {
+ var _this = this;
- if ($$$1(this.element).css('display') === 'none') {
- throw new Error('Please use show on visible elements');
- }
+ if ($$$1(this.element).css('display') === 'none') {
+ throw new Error('Please use show on visible elements');
+ }
- var showEvent = $$$1.Event(this.constructor.Event.SHOW);
+ var showEvent = $$$1.Event(this.constructor.Event.SHOW);
- if (this.isWithContent() && this._isEnabled) {
- $$$1(this.element).trigger(showEvent);
- var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
+ if (this.isWithContent() && this._isEnabled) {
+ $$$1(this.element).trigger(showEvent);
+ var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
- if (showEvent.isDefaultPrevented() || !isInTheDom) {
- return;
- }
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
+ return;
+ }
- var tip = this.getTipElement();
- var tipId = Util.getUID(this.constructor.NAME);
- tip.setAttribute('id', tipId);
- this.element.setAttribute('aria-describedby', tipId);
- this.setContent();
+ var tip = this.getTipElement();
+ var tipId = Util.getUID(this.constructor.NAME);
+ tip.setAttribute('id', tipId);
+ this.element.setAttribute('aria-describedby', tipId);
+ this.setContent();
- if (this.config.animation) {
- $$$1(tip).addClass(ClassName.FADE);
- }
+ if (this.config.animation) {
+ $$$1(tip).addClass(ClassName.FADE);
+ }
- var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
- var attachment = this._getAttachment(placement);
+ var attachment = this._getAttachment(placement);
- this.addAttachmentClass(attachment);
- var container = this.config.container === false ? document.body : $$$1(this.config.container);
- $$$1(tip).data(this.constructor.DATA_KEY, this);
+ this.addAttachmentClass(attachment);
+ var container = this.config.container === false ? document.body : $$$1(this.config.container);
+ $$$1(tip).data(this.constructor.DATA_KEY, this);
- if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
- $$$1(tip).appendTo(container);
- }
+ if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $$$1(tip).appendTo(container);
+ }
- $$$1(this.element).trigger(this.constructor.Event.INSERTED);
- this._popper = new Popper(this.element, tip, {
- placement: attachment,
- modifiers: {
- offset: {
- offset: this.config.offset
- },
- flip: {
- behavior: this.config.fallbackPlacement
+ $$$1(this.element).trigger(this.constructor.Event.INSERTED);
+ this._popper = new Popper(this.element, tip, {
+ placement: attachment,
+ modifiers: {
+ offset: {
+ offset: this.config.offset
+ },
+ flip: {
+ behavior: this.config.fallbackPlacement
+ },
+ arrow: {
+ element: Selector.ARROW
+ },
+ preventOverflow: {
+ boundariesElement: this.config.boundary
+ }
},
- arrow: {
- element: Selector.ARROW
+ onCreate: function onCreate(data) {
+ if (data.originalPlacement !== data.placement) {
+ _this._handlePopperPlacementChange(data);
+ }
},
- preventOverflow: {
- boundariesElement: this.config.boundary
- }
- },
- onCreate: function onCreate(data) {
- if (data.originalPlacement !== data.placement) {
+ onUpdate: function onUpdate(data) {
_this._handlePopperPlacementChange(data);
}
- },
- onUpdate: function onUpdate(data) {
- _this._handlePopperPlacementChange(data);
+ });
+ $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+ if ('ontouchstart' in document.documentElement) {
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
}
- });
- $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
- // empty mouseover listeners to the body's immediate children;
- // only needed because of broken event delegation on iOS
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement) {
- $$$1('body').children().on('mouseover', null, $$$1.noop);
- }
+ var complete = function complete() {
+ if (_this.config.animation) {
+ _this._fixTransition();
+ }
- var complete = function complete() {
- if (_this.config.animation) {
- _this._fixTransition();
- }
+ var prevHoverState = _this._hoverState;
+ _this._hoverState = null;
+ $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
- var prevHoverState = _this._hoverState;
- _this._hoverState = null;
- $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
+ if (prevHoverState === HoverState.OUT) {
+ _this._leave(null, _this);
+ }
+ };
- if (prevHoverState === HoverState.OUT) {
- _this._leave(null, _this);
+ if ($$$1(this.tip).hasClass(ClassName.FADE)) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
+ $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ } else {
+ complete();
}
- };
-
- if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
- $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
- } else {
- complete();
}
- }
- };
+ };
- _proto.hide = function hide(callback) {
- var _this2 = this;
+ _proto.hide = function hide(callback) {
+ var _this2 = this;
- var tip = this.getTipElement();
- var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
+ var tip = this.getTipElement();
+ var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
- var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
- tip.parentNode.removeChild(tip);
- }
+ var complete = function complete() {
+ if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ tip.parentNode.removeChild(tip);
+ }
- _this2._cleanTipClass();
+ _this2._cleanTipClass();
- _this2.element.removeAttribute('aria-describedby');
+ _this2.element.removeAttribute('aria-describedby');
- $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+ $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
- if (_this2._popper !== null) {
- _this2._popper.destroy();
- }
+ if (_this2._popper !== null) {
+ _this2._popper.destroy();
+ }
- if (callback) {
- callback();
- }
- };
+ if (callback) {
+ callback();
+ }
+ };
- $$$1(this.element).trigger(hideEvent);
+ $$$1(this.element).trigger(hideEvent);
- if (hideEvent.isDefaultPrevented()) {
- return;
- }
+ if (hideEvent.isDefaultPrevented()) {
+ return;
+ }
- $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
- // empty mouseover listeners we added for iOS support
+ $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
- if ('ontouchstart' in document.documentElement) {
- $$$1('body').children().off('mouseover', null, $$$1.noop);
- }
+ if ('ontouchstart' in document.documentElement) {
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
+ }
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[Trigger.CLICK] = false;
+ this._activeTrigger[Trigger.FOCUS] = false;
+ this._activeTrigger[Trigger.HOVER] = false;
- if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
- $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- complete();
- }
+ if ($$$1(this.tip).hasClass(ClassName.FADE)) {
+ var transitionDuration = Util.getTransitionDurationFromElement(tip);
+ $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ } else {
+ complete();
+ }
- this._hoverState = '';
- };
+ this._hoverState = '';
+ };
- _proto.update = function update() {
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
- }
- }; // Protected
+ _proto.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ }; // Protected
- _proto.isWithContent = function isWithContent() {
- return Boolean(this.getTitle());
- };
+ _proto.isWithContent = function isWithContent() {
+ return Boolean(this.getTitle());
+ };
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
- $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
- };
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ };
- _proto.getTipElement = function getTipElement() {
- this.tip = this.tip || $$$1(this.config.template)[0];
- return this.tip;
- };
+ _proto.getTipElement = function getTipElement() {
+ this.tip = this.tip || $$$1(this.config.template)[0];
+ return this.tip;
+ };
- _proto.setContent = function setContent() {
- var $tip = $$$1(this.getTipElement());
- this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
- };
+ _proto.setContent = function setContent() {
+ var $tip = $$$1(this.getTipElement());
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ };
- _proto.setElementContent = function setElementContent($element, content) {
- var html = this.config.html;
+ _proto.setElementContent = function setElementContent($element, content) {
+ var html = this.config.html;
- if (typeof content === 'object' && (content.nodeType || content.jquery)) {
- // Content is a DOM node or a jQuery
- if (html) {
- if (!$$$1(content).parent().is($element)) {
- $element.empty().append(content);
+ if (typeof content === 'object' && (content.nodeType || content.jquery)) {
+ // Content is a DOM node or a jQuery
+ if (html) {
+ if (!$$$1(content).parent().is($element)) {
+ $element.empty().append(content);
+ }
+ } else {
+ $element.text($$$1(content).text());
}
} else {
- $element.text($$$1(content).text());
+ $element[html ? 'html' : 'text'](content);
}
- } else {
- $element[html ? 'html' : 'text'](content);
- }
- };
+ };
- _proto.getTitle = function getTitle() {
- var title = this.element.getAttribute('data-original-title');
+ _proto.getTitle = function getTitle() {
+ var title = this.element.getAttribute('data-original-title');
- if (!title) {
- title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
- }
+ if (!title) {
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+ }
- return title;
- }; // Private
+ return title;
+ }; // Private
- _proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap[placement.toUpperCase()];
- };
+ _proto._getAttachment = function _getAttachment(placement) {
+ return AttachmentMap[placement.toUpperCase()];
+ };
- _proto._setListeners = function _setListeners() {
- var _this3 = this;
+ _proto._setListeners = function _setListeners() {
+ var _this3 = this;
+
+ var triggers = this.config.trigger.split(' ');
+ triggers.forEach(function (trigger) {
+ if (trigger === 'click') {
+ $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
+ return _this3.toggle(event);
+ });
+ } else if (trigger !== Trigger.MANUAL) {
+ var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
+ $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
+ return _this3._enter(event);
+ }).on(eventOut, _this3.config.selector, function (event) {
+ return _this3._leave(event);
+ });
+ }
- var triggers = this.config.trigger.split(' ');
- triggers.forEach(function (trigger) {
- if (trigger === 'click') {
- $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
- return _this3.toggle(event);
+ $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this3.hide();
});
- } else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
- $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
- return _this3._enter(event);
- }).on(eventOut, _this3.config.selector, function (event) {
- return _this3._leave(event);
+ });
+
+ if (this.config.selector) {
+ this.config = _objectSpread({}, this.config, {
+ trigger: 'manual',
+ selector: ''
});
+ } else {
+ this._fixTitle();
}
+ };
- $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
- return _this3.hide();
- });
- });
+ _proto._fixTitle = function _fixTitle() {
+ var titleType = typeof this.element.getAttribute('data-original-title');
- if (this.config.selector) {
- this.config = _extends({}, this.config, {
- trigger: 'manual',
- selector: ''
- });
- } else {
- this._fixTitle();
- }
- };
-
- _proto._fixTitle = function _fixTitle() {
- var titleType = typeof this.element.getAttribute('data-original-title');
+ if (this.element.getAttribute('title') || titleType !== 'string') {
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+ this.element.setAttribute('title', '');
+ }
+ };
- if (this.element.getAttribute('title') || titleType !== 'string') {
- this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
- this.element.setAttribute('title', '');
- }
- };
+ _proto._enter = function _enter(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+ context = context || $$$1(event.currentTarget).data(dataKey);
- _proto._enter = function _enter(event, context) {
- var dataKey = this.constructor.DATA_KEY;
- context = context || $$$1(event.currentTarget).data(dataKey);
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $$$1(event.currentTarget).data(dataKey, context);
- }
+ if (event) {
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ }
- if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
- }
+ if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ context._hoverState = HoverState.SHOW;
+ return;
+ }
- if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ clearTimeout(context._timeout);
context._hoverState = HoverState.SHOW;
- return;
- }
-
- clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
-
- if (!context.config.delay || !context.config.delay.show) {
- context.show();
- return;
- }
- context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (!context.config.delay || !context.config.delay.show) {
context.show();
+ return;
}
- }, context.config.delay.show);
- };
- _proto._leave = function _leave(event, context) {
- var dataKey = this.constructor.DATA_KEY;
- context = context || $$$1(event.currentTarget).data(dataKey);
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.SHOW) {
+ context.show();
+ }
+ }, context.config.delay.show);
+ };
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $$$1(event.currentTarget).data(dataKey, context);
- }
+ _proto._leave = function _leave(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+ context = context || $$$1(event.currentTarget).data(dataKey);
- if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
- }
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
- if (context._isWithActiveTrigger()) {
- return;
- }
+ if (event) {
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ }
- clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ if (context._isWithActiveTrigger()) {
+ return;
+ }
- if (!context.config.delay || !context.config.delay.hide) {
- context.hide();
- return;
- }
+ clearTimeout(context._timeout);
+ context._hoverState = HoverState.OUT;
- context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (!context.config.delay || !context.config.delay.hide) {
context.hide();
+ return;
}
- }, context.config.delay.hide);
- };
- _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
- for (var trigger in this._activeTrigger) {
- if (this._activeTrigger[trigger]) {
- return true;
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.OUT) {
+ context.hide();
+ }
+ }, context.config.delay.hide);
+ };
+
+ _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
+ for (var trigger in this._activeTrigger) {
+ if (this._activeTrigger[trigger]) {
+ return true;
+ }
}
- }
- return false;
- };
+ return false;
+ };
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
- if (typeof config.delay === 'number') {
- config.delay = {
- show: config.delay,
- hide: config.delay
- };
- }
+ if (typeof config.delay === 'number') {
+ config.delay = {
+ show: config.delay,
+ hide: config.delay
+ };
+ }
- if (typeof config.title === 'number') {
- config.title = config.title.toString();
- }
+ if (typeof config.title === 'number') {
+ config.title = config.title.toString();
+ }
- if (typeof config.content === 'number') {
- config.content = config.content.toString();
- }
+ if (typeof config.content === 'number') {
+ config.content = config.content.toString();
+ }
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
- return config;
- };
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ return config;
+ };
- _proto._getDelegateConfig = function _getDelegateConfig() {
- var config = {};
+ _proto._getDelegateConfig = function _getDelegateConfig() {
+ var config = {};
- if (this.config) {
- for (var key in this.config) {
- if (this.constructor.Default[key] !== this.config[key]) {
- config[key] = this.config[key];
+ if (this.config) {
+ for (var key in this.config) {
+ if (this.constructor.Default[key] !== this.config[key]) {
+ config[key] = this.config[key];
+ }
}
}
- }
- return config;
- };
+ return config;
+ };
- _proto._cleanTipClass = function _cleanTipClass() {
- var $tip = $$$1(this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ _proto._cleanTipClass = function _cleanTipClass() {
+ var $tip = $$$1(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
- if (tabClass !== null && tabClass.length > 0) {
- $tip.removeClass(tabClass.join(''));
- }
- };
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
- _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
- this._cleanTipClass();
+ _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+ this._cleanTipClass();
- this.addAttachmentClass(this._getAttachment(data.placement));
- };
+ this.addAttachmentClass(this._getAttachment(data.placement));
+ };
- _proto._fixTransition = function _fixTransition() {
- var tip = this.getTipElement();
- var initConfigAnimation = this.config.animation;
+ _proto._fixTransition = function _fixTransition() {
+ var tip = this.getTipElement();
+ var initConfigAnimation = this.config.animation;
- if (tip.getAttribute('x-placement') !== null) {
- return;
- }
+ if (tip.getAttribute('x-placement') !== null) {
+ return;
+ }
- $$$1(tip).removeClass(ClassName.FADE);
- this.config.animation = false;
- this.hide();
- this.show();
- this.config.animation = initConfigAnimation;
- }; // Static
+ $$$1(tip).removeClass(ClassName.FADE);
+ this.config.animation = false;
+ this.hide();
+ this.show();
+ this.config.animation = initConfigAnimation;
+ }; // Static
- Tooltip._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ Tooltip._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- var _config = typeof config === 'object' && config;
+ var _config = typeof config === 'object' && config;
- if (!data && /dispose|hide/.test(config)) {
- return;
- }
+ if (!data && /dispose|hide/.test(config)) {
+ return;
+ }
- if (!data) {
- data = new Tooltip(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new Tooltip(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
}
+ });
+ };
- data[config]();
+ _createClass(Tooltip, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
-
- _createClass(Tooltip, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }, {
- key: "NAME",
- get: function get() {
- return NAME;
- }
- }, {
- key: "DATA_KEY",
- get: function get() {
- return DATA_KEY;
- }
- }, {
- key: "Event",
- get: function get() {
- return Event;
- }
- }, {
- key: "EVENT_KEY",
- get: function get() {
- return EVENT_KEY;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType;
- }
- }]);
- return Tooltip;
- }();
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "NAME",
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: "DATA_KEY",
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: "Event",
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: "EVENT_KEY",
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+ return Tooltip;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME] = Tooltip._jQueryInterface;
- $$$1.fn[NAME].Constructor = Tooltip;
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Tooltip._jQueryInterface;
- };
+ $$$1.fn[NAME] = Tooltip._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Tooltip;
- return Tooltip;
-}($, Popper);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tooltip._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): popover.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Tooltip;
+ }($, Popper);
-var Popover = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'popover';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.popover';
- var EVENT_KEY = "." + DATA_KEY;
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var CLASS_PREFIX = 'bs-popover';
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
- var Default = _extends({}, Tooltip.Default, {
- placement: 'right',
- trigger: 'click',
- content: '',
- template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
- });
- var DefaultType = _extends({}, Tooltip.DefaultType, {
- content: '(string|element|function)'
- });
- var ClassName = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
- };
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- INSERTED: "inserted" + EVENT_KEY,
- CLICK: "click" + EVENT_KEY,
- FOCUSIN: "focusin" + EVENT_KEY,
- FOCUSOUT: "focusout" + EVENT_KEY,
- MOUSEENTER: "mouseenter" + EVENT_KEY,
- MOUSELEAVE: "mouseleave" + EVENT_KEY
+
+ var Popover = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'popover';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.popover';
+ var EVENT_KEY = "." + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var CLASS_PREFIX = 'bs-popover';
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+
+ var Default = _objectSpread({}, Tooltip.Default, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
+ });
- };
-
- var Popover =
- /*#__PURE__*/
- function (_Tooltip) {
- _inheritsLoose(Popover, _Tooltip);
-
- function Popover() {
- return _Tooltip.apply(this, arguments) || this;
- }
-
- var _proto = Popover.prototype;
+ var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
+ content: '(string|element|function)'
+ });
- // Overrides
- _proto.isWithContent = function isWithContent() {
- return this.getTitle() || this._getContent();
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
};
-
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
- $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ var Selector = {
+ TITLE: '.popover-header',
+ CONTENT: '.popover-body'
};
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ INSERTED: "inserted" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ FOCUSOUT: "focusout" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- _proto.getTipElement = function getTipElement() {
- this.tip = this.tip || $$$1(this.config.template)[0];
- return this.tip;
};
- _proto.setContent = function setContent() {
- var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
+ var Popover =
+ /*#__PURE__*/
+ function (_Tooltip) {
+ _inheritsLoose(Popover, _Tooltip);
+
+ function Popover() {
+ return _Tooltip.apply(this, arguments) || this;
+ }
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+ var _proto = Popover.prototype;
- var content = this._getContent();
+ // Overrides
+ _proto.isWithContent = function isWithContent() {
+ return this.getTitle() || this._getContent();
+ };
- if (typeof content === 'function') {
- content = content.call(this.element);
- }
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ };
- this.setElementContent($tip.find(Selector.CONTENT), content);
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
- }; // Private
+ _proto.getTipElement = function getTipElement() {
+ this.tip = this.tip || $$$1(this.config.template)[0];
+ return this.tip;
+ };
+ _proto.setContent = function setContent() {
+ var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
- _proto._getContent = function _getContent() {
- return this.element.getAttribute('data-content') || this.config.content;
- };
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
- _proto._cleanTipClass = function _cleanTipClass() {
- var $tip = $$$1(this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ var content = this._getContent();
- if (tabClass !== null && tabClass.length > 0) {
- $tip.removeClass(tabClass.join(''));
- }
- }; // Static
+ if (typeof content === 'function') {
+ content = content.call(this.element);
+ }
+ this.setElementContent($tip.find(Selector.CONTENT), content);
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ }; // Private
- Popover._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
- var _config = typeof config === 'object' ? config : null;
+ _proto._getContent = function _getContent() {
+ return this.element.getAttribute('data-content') || this.config.content;
+ };
- if (!data && /destroy|hide/.test(config)) {
- return;
- }
+ _proto._cleanTipClass = function _cleanTipClass() {
+ var $tip = $$$1(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
- if (!data) {
- data = new Popover(this, _config);
- $$$1(this).data(DATA_KEY, data);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
}
+ }; // Static
+
+
+ Popover._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ var _config = typeof config === 'object' ? config : null;
+
+ if (!data && /destroy|hide/.test(config)) {
+ return;
}
- data[config]();
- }
- });
- };
+ if (!data) {
+ data = new Popover(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- _createClass(Popover, null, [{
- key: "VERSION",
- // Getters
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }, {
- key: "NAME",
- get: function get() {
- return NAME;
- }
- }, {
- key: "DATA_KEY",
- get: function get() {
- return DATA_KEY;
- }
- }, {
- key: "Event",
- get: function get() {
- return Event;
- }
- }, {
- key: "EVENT_KEY",
- get: function get() {
- return EVENT_KEY;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType;
- }
- }]);
- return Popover;
- }(Tooltip);
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+ _createClass(Popover, null, [{
+ key: "VERSION",
+ // Getters
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "NAME",
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: "DATA_KEY",
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: "Event",
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: "EVENT_KEY",
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+
+ return Popover;
+ }(Tooltip);
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME] = Popover._jQueryInterface;
- $$$1.fn[NAME].Constructor = Popover;
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Popover._jQueryInterface;
- };
+ $$$1.fn[NAME] = Popover._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Popover;
- return Popover;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Popover._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): scrollspy.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Popover;
+ }($);
-var ScrollSpy = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'scrollspy';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.scrollspy';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var Default = {
- offset: 10,
- method: 'auto',
- target: ''
- };
- var DefaultType = {
- offset: 'number',
- method: 'string',
- target: '(string|element)'
- };
- var Event = {
- ACTIVATE: "activate" + EVENT_KEY,
- SCROLL: "scroll" + EVENT_KEY,
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DROPDOWN_ITEM: 'dropdown-item',
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active'
- };
- var Selector = {
- DATA_SPY: '[data-spy="scroll"]',
- ACTIVE: '.active',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_ITEMS: '.dropdown-item',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
- };
- var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
+
+ var ScrollSpy = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'scrollspy';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.scrollspy';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Default = {
+ offset: 10,
+ method: 'auto',
+ target: ''
+ };
+ var DefaultType = {
+ offset: 'number',
+ method: 'string',
+ target: '(string|element)'
+ };
+ var Event = {
+ ACTIVATE: "activate" + EVENT_KEY,
+ SCROLL: "scroll" + EVENT_KEY,
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DROPDOWN_ITEM: 'dropdown-item',
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active'
+ };
+ var Selector = {
+ DATA_SPY: '[data-spy="scroll"]',
+ ACTIVE: '.active',
+ NAV_LIST_GROUP: '.nav, .list-group',
+ NAV_LINKS: '.nav-link',
+ NAV_ITEMS: '.nav-item',
+ LIST_ITEMS: '.list-group-item',
+ DROPDOWN: '.dropdown',
+ DROPDOWN_ITEMS: '.dropdown-item',
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
+ };
+ var OffsetMethod = {
+ OFFSET: 'offset',
+ POSITION: 'position'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
-
- var ScrollSpy =
- /*#__PURE__*/
- function () {
- function ScrollSpy(element, config) {
- var _this = this;
+ };
- this._element = element;
- this._scrollElement = element.tagName === 'BODY' ? window : element;
- this._config = this._getConfig(config);
- this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
- this._offsets = [];
- this._targets = [];
- this._activeTarget = null;
- this._scrollHeight = 0;
- $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
- return _this._process(event);
- });
- this.refresh();
+ var ScrollSpy =
+ /*#__PURE__*/
+ function () {
+ function ScrollSpy(element, config) {
+ var _this = this;
+
+ this._element = element;
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
+ this._config = this._getConfig(config);
+ this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
+ this._offsets = [];
+ this._targets = [];
+ this._activeTarget = null;
+ this._scrollHeight = 0;
+ $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
+ return _this._process(event);
+ });
+ this.refresh();
- this._process();
- } // Getters
+ this._process();
+ } // Getters
- var _proto = ScrollSpy.prototype;
+ var _proto = ScrollSpy.prototype;
- // Public
- _proto.refresh = function refresh() {
- var _this2 = this;
+ // Public
+ _proto.refresh = function refresh() {
+ var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
- var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
- this._offsets = [];
- this._targets = [];
- this._scrollHeight = this._getScrollHeight();
- var targets = $$$1.makeArray($$$1(this._selector));
- targets.map(function (element) {
- var target;
- var targetSelector = Util.getSelectorFromElement(element);
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ this._offsets = [];
+ this._targets = [];
+ this._scrollHeight = this._getScrollHeight();
+ var targets = $$$1.makeArray($$$1(this._selector));
+ targets.map(function (element) {
+ var target;
+ var targetSelector = Util.getSelectorFromElement(element);
- if (targetSelector) {
- target = $$$1(targetSelector)[0];
- }
+ if (targetSelector) {
+ target = $$$1(targetSelector)[0];
+ }
- if (target) {
- var targetBCR = target.getBoundingClientRect();
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
- if (targetBCR.width || targetBCR.height) {
- // TODO (fat): remove sketch reliance on jQuery position/offset
- return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
+ if (targetBCR.width || targetBCR.height) {
+ // TODO (fat): remove sketch reliance on jQuery position/offset
+ return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
}
- }
- return null;
- }).filter(function (item) {
- return item;
- }).sort(function (a, b) {
- return a[0] - b[0];
- }).forEach(function (item) {
- _this2._offsets.push(item[0]);
+ return null;
+ }).filter(function (item) {
+ return item;
+ }).sort(function (a, b) {
+ return a[0] - b[0];
+ }).forEach(function (item) {
+ _this2._offsets.push(item[0]);
- _this2._targets.push(item[1]);
- });
- };
+ _this2._targets.push(item[1]);
+ });
+ };
+
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(this._scrollElement).off(EVENT_KEY);
+ this._element = null;
+ this._scrollElement = null;
+ this._config = null;
+ this._selector = null;
+ this._offsets = null;
+ this._targets = null;
+ this._activeTarget = null;
+ this._scrollHeight = null;
+ }; // Private
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- $$$1(this._scrollElement).off(EVENT_KEY);
- this._element = null;
- this._scrollElement = null;
- this._config = null;
- this._selector = null;
- this._offsets = null;
- this._targets = null;
- this._activeTarget = null;
- this._scrollHeight = null;
- }; // Private
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
+ if (typeof config.target !== 'string') {
+ var id = $$$1(config.target).attr('id');
- if (typeof config.target !== 'string') {
- var id = $$$1(config.target).attr('id');
+ if (!id) {
+ id = Util.getUID(NAME);
+ $$$1(config.target).attr('id', id);
+ }
- if (!id) {
- id = Util.getUID(NAME);
- $$$1(config.target).attr('id', id);
+ config.target = "#" + id;
}
- config.target = "#" + id;
- }
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ _proto._getScrollTop = function _getScrollTop() {
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+ };
- _proto._getScrollTop = function _getScrollTop() {
- return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
- };
+ _proto._getScrollHeight = function _getScrollHeight() {
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+ };
- _proto._getScrollHeight = function _getScrollHeight() {
- return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
- };
+ _proto._getOffsetHeight = function _getOffsetHeight() {
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+ };
- _proto._getOffsetHeight = function _getOffsetHeight() {
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
- };
+ _proto._process = function _process() {
+ var scrollTop = this._getScrollTop() + this._config.offset;
- _proto._process = function _process() {
- var scrollTop = this._getScrollTop() + this._config.offset;
+ var scrollHeight = this._getScrollHeight();
- var scrollHeight = this._getScrollHeight();
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
- var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+ if (this._scrollHeight !== scrollHeight) {
+ this.refresh();
+ }
- if (this._scrollHeight !== scrollHeight) {
- this.refresh();
- }
+ if (scrollTop >= maxScroll) {
+ var target = this._targets[this._targets.length - 1];
- if (scrollTop >= maxScroll) {
- var target = this._targets[this._targets.length - 1];
+ if (this._activeTarget !== target) {
+ this._activate(target);
+ }
- if (this._activeTarget !== target) {
- this._activate(target);
+ return;
}
- return;
- }
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+ this._activeTarget = null;
- if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
- this._activeTarget = null;
-
- this._clear();
+ this._clear();
- return;
- }
+ return;
+ }
- for (var i = this._offsets.length; i--;) {
- var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
+ for (var i = this._offsets.length; i--;) {
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
- if (isActiveTarget) {
- this._activate(this._targets[i]);
+ if (isActiveTarget) {
+ this._activate(this._targets[i]);
+ }
}
- }
- };
+ };
- _proto._activate = function _activate(target) {
- this._activeTarget = target;
+ _proto._activate = function _activate(target) {
+ this._activeTarget = target;
- this._clear();
+ this._clear();
- var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
+ var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
- queries = queries.map(function (selector) {
- return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
- });
- var $link = $$$1(queries.join(','));
+ queries = queries.map(function (selector) {
+ return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
+ });
+ var $link = $$$1(queries.join(','));
- if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
- $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
- $link.addClass(ClassName.ACTIVE);
- } else {
- // Set triggered link as active
- $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
- // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ $link.addClass(ClassName.ACTIVE);
+ } else {
+ // Set triggered link as active
+ $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
- }
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ }
- $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
- relatedTarget: target
- });
- };
+ $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
+ relatedTarget: target
+ });
+ };
- _proto._clear = function _clear() {
- $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
- }; // Static
+ _proto._clear = function _clear() {
+ $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ }; // Static
- ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- var _config = typeof config === 'object' && config;
+ var _config = typeof config === 'object' && config;
- if (!data) {
- data = new ScrollSpy(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new ScrollSpy(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
}
+ });
+ };
- data[config]();
+ _createClass(ScrollSpy, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
-
- _createClass(ScrollSpy, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
- return ScrollSpy;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return ScrollSpy;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(window).on(Event.LOAD_DATA_API, function () {
- var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
- for (var i = scrollSpys.length; i--;) {
- var $spy = $$$1(scrollSpys[i]);
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
+ var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
- ScrollSpy._jQueryInterface.call($spy, $spy.data());
- }
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ for (var i = scrollSpys.length; i--;) {
+ var $spy = $$$1(scrollSpys[i]);
- $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
- $$$1.fn[NAME].Constructor = ScrollSpy;
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
+ }
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return ScrollSpy._jQueryInterface;
- };
+ $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
+ $$$1.fn[NAME].Constructor = ScrollSpy;
- return ScrollSpy;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return ScrollSpy._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): tab.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return ScrollSpy;
+ }($);
-var Tab = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'tab';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.tab';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 150;
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: '> li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+
+ var Tab = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'tab';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.tab';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active',
+ DISABLED: 'disabled',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ DROPDOWN: '.dropdown',
+ NAV_LIST_GROUP: '.nav, .list-group',
+ ACTIVE: '.active',
+ ACTIVE_UL: '> li > .active',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+ DROPDOWN_TOGGLE: '.dropdown-toggle',
+ DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Tab =
- /*#__PURE__*/
- function () {
- function Tab(element) {
- this._element = element;
- } // Getters
+ var Tab =
+ /*#__PURE__*/
+ function () {
+ function Tab(element) {
+ this._element = element;
+ } // Getters
- var _proto = Tab.prototype;
+ var _proto = Tab.prototype;
- // Public
- _proto.show = function show() {
- var _this = this;
+ // Public
+ _proto.show = function show() {
+ var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
- return;
- }
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- var target;
- var previous;
- var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
- var selector = Util.getSelectorFromElement(this._element);
-
- if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
- previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
- previous = previous[previous.length - 1];
- }
+ var target;
+ var previous;
+ var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+ var selector = Util.getSelectorFromElement(this._element);
+
+ if (listElement) {
+ var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
+ previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
+ previous = previous[previous.length - 1];
+ }
- var hideEvent = $$$1.Event(Event.HIDE, {
- relatedTarget: this._element
- });
- var showEvent = $$$1.Event(Event.SHOW, {
- relatedTarget: previous
- });
+ var hideEvent = $$$1.Event(Event.HIDE, {
+ relatedTarget: this._element
+ });
+ var showEvent = $$$1.Event(Event.SHOW, {
+ relatedTarget: previous
+ });
- if (previous) {
- $$$1(previous).trigger(hideEvent);
- }
+ if (previous) {
+ $$$1(previous).trigger(hideEvent);
+ }
- $$$1(this._element).trigger(showEvent);
+ $$$1(this._element).trigger(showEvent);
- if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
- return;
- }
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+ return;
+ }
- if (selector) {
- target = $$$1(selector)[0];
- }
+ if (selector) {
+ target = $$$1(selector)[0];
+ }
- this._activate(this._element, listElement);
+ this._activate(this._element, listElement);
- var complete = function complete() {
- var hiddenEvent = $$$1.Event(Event.HIDDEN, {
- relatedTarget: _this._element
- });
- var shownEvent = $$$1.Event(Event.SHOWN, {
- relatedTarget: previous
- });
- $$$1(previous).trigger(hiddenEvent);
- $$$1(_this._element).trigger(shownEvent);
+ var complete = function complete() {
+ var hiddenEvent = $$$1.Event(Event.HIDDEN, {
+ relatedTarget: _this._element
+ });
+ var shownEvent = $$$1.Event(Event.SHOWN, {
+ relatedTarget: previous
+ });
+ $$$1(previous).trigger(hiddenEvent);
+ $$$1(_this._element).trigger(shownEvent);
+ };
+
+ if (target) {
+ this._activate(target, target.parentNode, complete);
+ } else {
+ complete();
+ }
};
- if (target) {
- this._activate(target, target.parentNode, complete);
- } else {
- complete();
- }
- };
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Private
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._element = null;
- }; // Private
+ _proto._activate = function _activate(element, container, callback) {
+ var _this2 = this;
- _proto._activate = function _activate(element, container, callback) {
- var _this2 = this;
+ var activeElements;
- var activeElements;
+ if (container.nodeName === 'UL') {
+ activeElements = $$$1(container).find(Selector.ACTIVE_UL);
+ } else {
+ activeElements = $$$1(container).children(Selector.ACTIVE);
+ }
- if (container.nodeName === 'UL') {
- activeElements = $$$1(container).find(Selector.ACTIVE_UL);
- } else {
- activeElements = $$$1(container).children(Selector.ACTIVE);
- }
+ var active = activeElements[0];
+ var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
- var active = activeElements[0];
- var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
+ var complete = function complete() {
+ return _this2._transitionComplete(element, active, callback);
+ };
- var complete = function complete() {
- return _this2._transitionComplete(element, active, callback);
+ if (active && isTransitioning) {
+ var transitionDuration = Util.getTransitionDurationFromElement(active);
+ $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ } else {
+ complete();
+ }
};
- if (active && isTransitioning) {
- $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- complete();
- }
- };
+ _proto._transitionComplete = function _transitionComplete(element, active, callback) {
+ if (active) {
+ $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
+ var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
- _proto._transitionComplete = function _transitionComplete(element, active, callback) {
- if (active) {
- $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
- var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+ if (dropdownChild) {
+ $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
+ }
- if (dropdownChild) {
- $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
+ if (active.getAttribute('role') === 'tab') {
+ active.setAttribute('aria-selected', false);
+ }
}
- if (active.getAttribute('role') === 'tab') {
- active.setAttribute('aria-selected', false);
- }
- }
+ $$$1(element).addClass(ClassName.ACTIVE);
- $$$1(element).addClass(ClassName.ACTIVE);
+ if (element.getAttribute('role') === 'tab') {
+ element.setAttribute('aria-selected', true);
+ }
- if (element.getAttribute('role') === 'tab') {
- element.setAttribute('aria-selected', true);
- }
+ Util.reflow(element);
+ $$$1(element).addClass(ClassName.SHOW);
- Util.reflow(element);
- $$$1(element).addClass(ClassName.SHOW);
+ if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+ var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
- if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
- var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
+ if (dropdownElement) {
+ $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ }
- if (dropdownElement) {
- $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ element.setAttribute('aria-expanded', true);
}
- element.setAttribute('aria-expanded', true);
- }
+ if (callback) {
+ callback();
+ }
+ }; // Static
- if (callback) {
- callback();
- }
- }; // Static
+ Tab._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $$$1(this);
+ var data = $this.data(DATA_KEY);
- Tab._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $this = $$$1(this);
- var data = $this.data(DATA_KEY);
+ if (!data) {
+ data = new Tab(this);
+ $this.data(DATA_KEY, data);
+ }
- if (!data) {
- data = new Tab(this);
- $this.data(DATA_KEY, data);
- }
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ data[config]();
}
+ });
+ };
- data[config]();
+ _createClass(Tab, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
+ }]);
- _createClass(Tab, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }]);
- return Tab;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ return Tab;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault();
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
- Tab._jQueryInterface.call($$$1(this), 'show');
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ Tab._jQueryInterface.call($$$1(this), 'show');
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME] = Tab._jQueryInterface;
- $$$1.fn[NAME].Constructor = Tab;
+ $$$1.fn[NAME] = Tab._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Tab;
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Tab._jQueryInterface;
- };
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tab._jQueryInterface;
+ };
- return Tab;
-}($);
+ return Tab;
+ }($);
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.6): index.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ /**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): index.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
-(function ($$$1) {
- if (typeof $$$1 === 'undefined') {
- throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
- }
+ (function ($$$1) {
+ if (typeof $$$1 === 'undefined') {
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+ }
- var version = $$$1.fn.jquery.split(' ')[0].split('.');
- var minMajor = 1;
- var ltMajor = 2;
- var minMinor = 9;
- var minPatch = 1;
- var maxMajor = 4;
+ var version = $$$1.fn.jquery.split(' ')[0].split('.');
+ var minMajor = 1;
+ var ltMajor = 2;
+ var minMinor = 9;
+ var minPatch = 1;
+ var maxMajor = 4;
- if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
- throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
- }
-})($);
-
-exports.Util = Util;
-exports.Alert = Alert;
-exports.Button = Button;
-exports.Carousel = Carousel;
-exports.Collapse = Collapse;
-exports.Dropdown = Dropdown;
-exports.Modal = Modal;
-exports.Popover = Popover;
-exports.Scrollspy = ScrollSpy;
-exports.Tab = Tab;
-exports.Tooltip = Tooltip;
-
-Object.defineProperty(exports, '__esModule', { value: true });
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
+ }
+ })($);
+
+ exports.Util = Util;
+ exports.Alert = Alert;
+ exports.Button = Button;
+ exports.Carousel = Carousel;
+ exports.Collapse = Collapse;
+ exports.Dropdown = Dropdown;
+ exports.Modal = Modal;
+ exports.Popover = Popover;
+ exports.Scrollspy = ScrollSpy;
+ exports.Tab = Tab;
+ exports.Tooltip = Tooltip;
+
+ Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=bootstrap.bundle.js.map
diff --git a/library/bootstrap/js/bootstrap.bundle.js.map b/library/bootstrap/js/bootstrap.bundle.js.map
index b185c0460..ca9fca36d 100644
--- a/library/bootstrap/js/bootstrap.bundle.js.map
+++ b/library/bootstrap/js/bootstrap.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n let element = this._element\n // For dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n Util.supportsTransitionEnd() &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"names":["Util","$","transition","MAX_UID","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","end","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","escapeId","selector","escapeSelector","substr","replace","prefix","Math","random","document","getElementById","element","getAttribute","charAt","$selector","find","length","err","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","TRANSITION_DURATION","Selector","Event","ClassName","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","typeCheckConfig","keyboard","KEYDOWN","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","wrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","LEFT","RIGHT","slidEvent","reflow","action","slide","TypeError","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","not","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","style","COLLAPSED","attr","setTransitioning","complete","SHOWN","capitalizedDimension","slice","scrollSize","HIDE","getBoundingClientRect","$elem","HIDDEN","isTransitioning","hasWidth","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","_extends","Dropdown","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","DROPUP","MENULEFT","MENURIGHT","boundary","POSITION_STATIC","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","DROPRIGHT","DROPLEFT","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","BACKDROP_TRANSITION_DURATION","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","KEYDOWN_DISMISS","RESIZE","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","backdrop","doAnimate","createElement","className","BACKDROP","appendTo","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","triggers","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","OFFSET","POSITION","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["export { _createClass as createClass, _defineProperty as defineProperty, _objectSpread as objectSpread, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0]) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Tells if you are running Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @argument {number} version to check\n * @returns {Boolean} isIE\n */\nvar cache = {};\n\nvar isIE = function () {\n var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';\n\n version = version.toString();\n if (cache.hasOwnProperty(version)) {\n return cache[version];\n }\n switch (version) {\n case '11':\n cache[version] = navigator.userAgent.indexOf('Trident') !== -1;\n break;\n case '10':\n cache[version] = navigator.appVersion.indexOf('MSIE 10') !== -1;\n break;\n case 'all':\n cache[version] = navigator.userAgent.indexOf('Trident') !== -1 || navigator.userAgent.indexOf('MSIE') !== -1;\n break;\n }\n\n //Set IE\n cache.all = cache.all || Object.keys(cache).some(function (key) {\n return cache[key];\n });\n return cache[version];\n};\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(document.body).css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"names":["Util","$","TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","$selector","find","length","err","getTransitionDurationFromElement","transitionDuration","css","floatTransitionDuration","parseFloat","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CAROUSEL","ITEM","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_keydown","documentElement","clearTimeout","tagName","which","makeArray","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","action","TypeError","_dataApiClickHandler","slideIndex","window","$carousel","Collapse","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","slice","scrollSize","getBoundingClientRect","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","get","e","Modal","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","$tip","setElementContent","content","empty","append","text","triggers","forEach","eventIn","eventOut","_fixTitle","titleType","key","tabClass","join","initConfigAnimation","Popover","TITLE","CONTENT","_getContent","ScrollSpy","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","parents","scrollSpys","$spy","Tab","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","previous","listElement","itemSelector","nodeName","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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CA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EA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"} \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.bundle.min.js b/library/bootstrap/js/bootstrap.bundle.min.js
index 7d50e873a..e0608e8b3 100644
--- a/library/bootstrap/js/bootstrap.bundle.min.js
+++ b/library/bootstrap/js/bootstrap.bundle.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e(t.bootstrap={},t.jQuery)}(this,function(t,e){"use strict";function n(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function i(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}for(var o,s,a,l,c,h,f,u,d,p,g,m,_,v,E,y,b,T,C,w,I,A,D,S,O,N,k=function(t){var e=!1;function n(e){var n=this,r=!1;return t(this).one(i.TRANSITION_END,function(){r=!0}),setTimeout(function(){r||i.triggerTransitionEnd(n)},e),this}var i={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n,i=e.getAttribute("data-target");i&&"#"!==i||(i=e.getAttribute("href")||""),"#"===i.charAt(0)&&(n=i,i=n="function"==typeof t.escapeSelector?t.escapeSelector(n).substr(1):n.replace(/(:|\.|\[|\]|,|=|@)/g,"\\$1"));try{return t(document).find(i).length>0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var o=n[r],s=e[r],a=s&&i.isElement(s)?"element":(l=s,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(o).test(a))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+a+'" but expected type "'+o+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e=e&&e.hasOwnProperty("default")?e.default:e),L=(s="alert",l="."+(a="bs.alert"),c=(o=e).fn[s],h={CLOSE:"close"+l,CLOSED:"closed"+l,CLICK_DATA_API:"click"+l+".data-api"},f="alert",u="fade",d="show",p=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,a),this._element=null},e._getRootElement=function(t){var e=k.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest("."+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(h.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(d),k.supportsTransitionEnd()&&o(t).hasClass(u)?o(t).one(k.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(h.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(a);i||(i=new t(this),n.data(a,i)),"close"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},i(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),o(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),o.fn[s]=p._jQueryInterface,o.fn[s].Constructor=p,o.fn[s].noConflict=function(){return o.fn[s]=c,p._jQueryInterface},p),P=(m="button",v="."+(_="bs.button"),E=".data-api",y=(g=e).fn[m],b="active",T="btn",C="focus",w='[data-toggle^="button"]',I='[data-toggle="buttons"]',A="input",D=".active",S=".btn",O={CLICK_DATA_API:"click"+v+E,FOCUS_BLUR_DATA_API:"focus"+v+E+" blur"+v+E},N=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(I)[0];if(n){var i=g(this._element).find(A)[0];if(i){if("radio"===i.type)if(i.checked&&g(this._element).hasClass(b))t=!1;else{var r=g(n).find(D)[0];r&&g(r).removeClass(b)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!g(this._element).hasClass(b),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!g(this._element).hasClass(b)),t&&g(this._element).toggleClass(b)},e.dispose=function(){g.removeData(this._element,_),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=g(this).data(_);n||(n=new t(this),g(this).data(_,n)),"toggle"===e&&n[e]()})},i(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),g(document).on(O.CLICK_DATA_API,w,function(t){t.preventDefault();var e=t.target;g(e).hasClass(T)||(e=g(e).closest(S)),N._jQueryInterface.call(g(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(S)[0];g(e).toggleClass(C,/^focus(in)?$/.test(t.type))}),g.fn[m]=N._jQueryInterface,g.fn[m].Constructor=N,g.fn[m].noConflict=function(){return g.fn[m]=y,N._jQueryInterface},N),x=function(t){var e="carousel",n="bs.carousel",o="."+n,s=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},c="next",h="prev",f="left",u="right",d={SLIDE:"slide"+o,SLID:"slid"+o,KEYDOWN:"keydown"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o,TOUCHEND:"touchend"+o,LOAD_DATA_API:"load"+o+".data-api",CLICK_DATA_API:"click"+o+".data-api"},p="carousel",g="active",m="slide",_="carousel-item-right",v="carousel-item-left",E="carousel-item-next",y="carousel-item-prev",b={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function s(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(b.INDICATORS)[0],this._addEventListeners()}var T=s.prototype;return T.next=function(){this._isSliding||this._slide(c)},T.nextWhenVisible=function(){!document.hidden&&t(this._element).is(":visible")&&"hidden"!==t(this._element).css("visibility")&&this.next()},T.prev=function(){this._isSliding||this._slide(h)},T.pause=function(e){e||(this._isPaused=!0),t(this._element).find(b.NEXT_PREV)[0]&&k.supportsTransitionEnd()&&(k.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},T.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},T.to=function(e){var n=this;this._activeElement=t(this._element).find(b.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var r=e>i?c:h;this._slide(r,this._items[e])}},T.dispose=function(){t(this._element).off(o),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},T._getConfig=function(t){return t=r({},a,t),k.typeCheckConfig(e,t,l),t},T._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},T._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},T._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(b.ITEM)),this._items.indexOf(e)},T._getItemByDirection=function(t,e){var n=t===c,i=t===h,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===h?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},T._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),r=this._getItemIndex(t(this._element).find(b.ACTIVE_ITEM)[0]),o=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:r,to:i});return t(this._element).trigger(o),o},T._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(b.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},T._slide=function(e,n){var i,r,o,s=this,a=t(this._element).find(b.ACTIVE_ITEM)[0],l=this._getItemIndex(a),h=n||a&&this._getItemByDirection(e,a),p=this._getItemIndex(h),T=Boolean(this._interval);if(e===c?(i=v,r=E,o=f):(i=_,r=y,o=u),h&&t(h).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(h,o).isDefaultPrevented()&&a&&h){this._isSliding=!0,T&&this.pause(),this._setActiveIndicatorElement(h);var C=t.Event(d.SLID,{relatedTarget:h,direction:o,from:l,to:p});k.supportsTransitionEnd()&&t(this._element).hasClass(m)?(t(h).addClass(r),k.reflow(h),t(a).addClass(i),t(h).addClass(i),t(a).one(k.TRANSITION_END,function(){t(h).removeClass(i+" "+r).addClass(g),t(a).removeClass(g+" "+r+" "+i),s._isSliding=!1,setTimeout(function(){return t(s._element).trigger(C)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(h).addClass(g),this._isSliding=!1,t(this._element).trigger(C)),T&&this.cycle()}},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),o=r({},a,t(this).data());"object"==typeof e&&(o=r({},o,e));var l="string"==typeof e?e:o.slide;if(i||(i=new s(this,o),t(this).data(n,i)),"number"==typeof e)i.to(e);else if("string"==typeof l){if("undefined"==typeof i[l])throw new TypeError('No method named "'+l+'"');i[l]()}else o.interval&&(i.pause(),i.cycle())})},s._dataApiClickHandler=function(e){var i=k.getSelectorFromElement(this);if(i){var o=t(i)[0];if(o&&t(o).hasClass(p)){var a=r({},t(o).data(),t(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),s._jQueryInterface.call(t(o),a),l&&t(o).data(n).to(l),e.preventDefault()}}},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),s}();return t(document).on(d.CLICK_DATA_API,b.DATA_SLIDE,T._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(b.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=s,T._jQueryInterface},T}(e),R=function(t){var e="collapse",n="bs.collapse",o="."+n,s=t.fn[e],a={toggle:!0,parent:""},l={toggle:"boolean",parent:"(string|element)"},c={SHOW:"show"+o,SHOWN:"shown"+o,HIDE:"hide"+o,HIDDEN:"hidden"+o,CLICK_DATA_API:"click"+o+".data-api"},h="show",f="collapse",u="collapsing",d="collapsed",p="width",g="height",m={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},_=function(){function o(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var i=t(m.DATA_TOGGLE),r=0;r<i.length;r++){var o=i[r],s=k.getSelectorFromElement(o);null!==s&&t(s).filter(e).length>0&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var s=o.prototype;return s.toggle=function(){t(this._element).hasClass(h)?this.hide():this.show()},s.show=function(){var e,i,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(h)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(m.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),!(e&&(i=t(e).not(this._selector).data(n))&&i._isTransitioning))){var s=t.Event(c.SHOW);if(t(this._element).trigger(s),!s.isDefaultPrevented()){e&&(o._jQueryInterface.call(t(e).not(this._selector),"hide"),i||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(f).addClass(u),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr("aria-expanded",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(u).addClass(f).addClass(h),r._element.style[a]="",r.setTransitioning(!1),t(r._element).trigger(c.SHOWN)};if(k.supportsTransitionEnd()){var p="scroll"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(k.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[p]+"px"}else l()}}},s.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(h)){var n=t.Event(c.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",k.reflow(this._element),t(this._element).addClass(u).removeClass(f).removeClass(h),this._triggerArray.length>0)for(var r=0;r<this._triggerArray.length;r++){var o=this._triggerArray[r],s=k.getSelectorFromElement(o);if(null!==s)t(s).hasClass(h)||t(o).addClass(d).attr("aria-expanded",!1)}this.setTransitioning(!0);var a=function(){e.setTransitioning(!1),t(e._element).removeClass(u).addClass(f).trigger(c.HIDDEN)};this._element.style[i]="",k.supportsTransitionEnd()?t(this._element).one(k.TRANSITION_END,a).emulateTransitionEnd(600):a()}}},s.setTransitioning=function(t){this._isTransitioning=t},s.dispose=function(){t.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},s._getConfig=function(t){return(t=r({},a,t)).toggle=Boolean(t.toggle),k.typeCheckConfig(e,t,l),t},s._getDimension=function(){return t(this._element).hasClass(p)?p:g},s._getParent=function(){var e=this,n=null;k.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=t(this._config.parent)[0];var i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(o._getTargetFromElement(n),[n])}),n},s._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(h);n.length>0&&t(n).toggleClass(d,!i).attr("aria-expanded",i)}},o._getTargetFromElement=function(e){var n=k.getSelectorFromElement(e);return n?t(n)[0]:null},o._jQueryInterface=function(e){return this.each(function(){var i=t(this),s=i.data(n),l=r({},a,i.data(),"object"==typeof e&&e);if(!s&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),s||(s=new o(this,l),i.data(n,s)),"string"==typeof e){if("undefined"==typeof s[e])throw new TypeError('No method named "'+e+'"');s[e]()}})},i(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(c.CLICK_DATA_API,m.DATA_TOGGLE,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),r=k.getSelectorFromElement(this);t(r).each(function(){var e=t(this),r=e.data(n)?"toggle":i.data();_._jQueryInterface.call(e,r)})}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=s,_._jQueryInterface},_}(e),j="undefined"!=typeof window&&"undefined"!=typeof document,H=["Edge","Trident","Firefox"],M=0,W=0;W<H.length;W+=1)if(j&&navigator.userAgent.indexOf(H[W])>=0){M=1;break}var U=j&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},M))}};function B(t){return t&&"[object Function]"==={}.toString.call(t)}function F(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function K(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function V(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=F(t),n=e.overflow,i=e.overflowX,r=e.overflowY;return/(auto|scroll)/.test(n+r+i)?t:V(K(t))}function Q(t){var e=t&&t.offsetParent,n=e&&e.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(e.nodeName)&&"static"===F(e,"position")?Q(e):e:t?t.ownerDocument.documentElement:document.documentElement}function Y(t){return null!==t.parentNode?Y(t.parentNode):t}function G(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s,a,l=o.commonAncestorContainer;if(t!==l&&e!==l||i.contains(r))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&Q(s.firstElementChild)!==s?Q(l):l;var c=Y(t);return c.host?G(c.host,e):G(t,Y(e).host)}function q(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function z(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}var X=void 0,Z=function(){return void 0===X&&(X=-1!==navigator.appVersion.indexOf("MSIE 10")),X};function J(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Z()?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function $(){var t=document.body,e=document.documentElement,n=Z()&&getComputedStyle(e);return{height:J("Height",t,e,n),width:J("Width",t,e,n)}}var tt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},et=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),nt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},it=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function rt(t){return it({},t,{right:t.left+t.width,bottom:t.top+t.height})}function ot(t){var e={};if(Z())try{e=t.getBoundingClientRect();var n=q(t,"top"),i=q(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}catch(t){}else e=t.getBoundingClientRect();var r={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},o="HTML"===t.nodeName?$():{},s=o.width||t.clientWidth||r.right-r.left,a=o.height||t.clientHeight||r.bottom-r.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var h=F(t);l-=z(h,"x"),c-=z(h,"y"),r.width-=l,r.height-=c}return rt(r)}function st(t,e){var n=Z(),i="HTML"===e.nodeName,r=ot(t),o=ot(e),s=V(t),a=F(e),l=parseFloat(a.borderTopWidth,10),c=parseFloat(a.borderLeftWidth,10),h=rt({top:r.top-o.top-l,left:r.left-o.left-c,width:r.width,height:r.height});if(h.marginTop=0,h.marginLeft=0,!n&&i){var f=parseFloat(a.marginTop,10),u=parseFloat(a.marginLeft,10);h.top-=l-f,h.bottom-=l-f,h.left-=c-u,h.right-=c-u,h.marginTop=f,h.marginLeft=u}return(n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(h=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=q(e,"top"),r=q(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}(h,e)),h}function at(t,e,n,i){var r,o,s,a,l,c,h,f={top:0,left:0},u=G(t,e);if("viewport"===i)o=(r=u).ownerDocument.documentElement,s=st(r,o),a=Math.max(o.clientWidth,window.innerWidth||0),l=Math.max(o.clientHeight,window.innerHeight||0),c=q(o),h=q(o,"left"),f=rt({top:c-s.top+s.marginTop,left:h-s.left+s.marginLeft,width:a,height:l});else{var d=void 0;"scrollParent"===i?"BODY"===(d=V(K(e))).nodeName&&(d=t.ownerDocument.documentElement):d="window"===i?t.ownerDocument.documentElement:i;var p=st(d,u);if("HTML"!==d.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===F(e,"position")||t(K(e)))}(u))f=p;else{var g=$(),m=g.height,_=g.width;f.top+=p.top-p.marginTop,f.bottom=m+p.top,f.left+=p.left-p.marginLeft,f.right=_+p.left}}return f.left+=n,f.top+=n,f.right-=n,f.bottom-=n,f}function lt(t,e,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=at(n,i,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return it({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),h=c.length>0?c[0].key:l[0].key,f=t.split("-")[1];return h+(f?"-"+f:"")}function ct(t,e,n){return st(n,G(e,n))}function ht(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function ft(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function ut(t,e,n){n=n.split("-")[0];var i=ht(t),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=e[s]+e[l]/2-i[l]/2,r[a]=n===a?e[a]-i[c]:e[ft(a)],r}function dt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function pt(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=dt(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&B(n)&&(e.offsets.popper=rt(e.offsets.popper),e.offsets.reference=rt(e.offsets.reference),e=n(e,t))}),e}function gt(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function mt(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length-1;i++){var r=e[i],o=r?""+r+n:t;if("undefined"!=typeof document.body.style[o])return o}return null}function _t(t){var e=t.ownerDocument;return e?e.defaultView:window}function vt(t,e,n,i){n.updateBound=i,_t(t).addEventListener("resize",n.updateBound,{passive:!0});var r=V(t);return function t(e,n,i,r){var o="BODY"===e.nodeName,s=o?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),o||t(V(s.parentNode),n,i,r),r.push(s)}(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function Et(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,_t(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function yt(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function bt(t,e){Object.keys(e).forEach(function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&yt(e[n])&&(i="px"),t.style[n]=e[n]+i})}function Tt(t,e,n){var i=dt(t,function(t){return t.name===e}),r=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!r){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}var Ct=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],wt=Ct.slice(3);function It(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=wt.indexOf(t),i=wt.slice(n+1).concat(wt.slice(0,n));return e?i.reverse():i}var At={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function Dt(t,e,n,i){var r=[0,0],o=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(dt(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var r=(1===i?!o:o)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return rt(a)[e]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(t,r,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){yt(n)&&(r[e]+=n*("-"===t[i-1]?-1:1))})}),r}var St={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",h={start:nt({},l,o[l]),end:nt({},l,o[l]+o[c]-s[c])};t.offsets.popper=it({},s,h[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,r=t.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=yt(+n)?[+n,0]:Dt(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||Q(t.instance.popper);t.instance.reference===n&&(n=Q(n));var i=at(t.instance.popper,t.instance.reference,e.padding,n);e.boundaries=i;var r=e.priority,o=t.offsets.popper,s={primary:function(t){var n=o[t];return o[t]<i[t]&&!e.escapeWithReference&&(n=Math.max(o[t],i[t])),nt({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=o[n];return o[t]>i[t]&&!e.escapeWithReference&&(r=Math.min(o[n],i[t]-("right"===t?o.width:o.height))),nt({},n,r)}};return r.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=it({},o,s[e](t))}),t.offsets.popper=o,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,r=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<o(i[l])&&(t.offsets.popper[l]=o(i[l])-n[c]),n[l]>o(i[a])&&(t.offsets.popper[l]=o(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!Tt(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var r=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",h=l?"Top":"Left",f=h.toLowerCase(),u=l?"left":"top",d=l?"bottom":"right",p=ht(i)[c];a[d]-p<s[f]&&(t.offsets.popper[f]-=s[f]-(a[d]-p)),a[f]+p>s[d]&&(t.offsets.popper[f]+=a[f]+p-s[d]),t.offsets.popper=rt(t.offsets.popper);var g=a[f]+a[c]/2-p/2,m=F(t.instance.popper),_=parseFloat(m["margin"+h],10),v=parseFloat(m["border"+h+"Width"],10),E=g-t.offsets.popper[f]-_-v;return E=Math.max(Math.min(s[c]-p,E),0),t.arrowElement=i,t.offsets.arrow=(nt(n={},f,Math.round(E)),nt(n,u,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(gt(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=at(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement),i=t.placement.split("-")[0],r=ft(i),o=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case At.FLIP:s=[i,r];break;case At.CLOCKWISE:s=It(i);break;case At.COUNTERCLOCKWISE:s=It(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],r=ft(i);var c,h=t.offsets.popper,f=t.offsets.reference,u=Math.floor,d="left"===i&&u(h.right)>u(f.left)||"right"===i&&u(h.left)<u(f.right)||"top"===i&&u(h.bottom)>u(f.top)||"bottom"===i&&u(h.top)<u(f.bottom),p=u(h.left)<u(n.left),g=u(h.right)>u(n.right),m=u(h.top)<u(n.top),_=u(h.bottom)>u(n.bottom),v="left"===i&&p||"right"===i&&g||"top"===i&&m||"bottom"===i&&_,E=-1!==["top","bottom"].indexOf(i),y=!!e.flipVariations&&(E&&"start"===o&&p||E&&"end"===o&&g||!E&&"start"===o&&m||!E&&"end"===o&&_);(d||v||y)&&(t.flipped=!0,(d||v)&&(i=s[l+1]),y&&(o="end"===(c=o)?"start":"start"===c?"end":c),t.placement=i+(o?"-"+o:""),t.offsets.popper=it({},t.offsets.popper,ut(t.instance.popper,t.offsets.reference,t.placement)),t=pt(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),t.placement=ft(e),t.offsets.popper=rt(r),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Tt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=dt(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,r=t.offsets.popper,o=dt(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=ot(Q(t.instance.popper)),l={position:r.position},c={left:Math.floor(r.left),top:Math.floor(r.top),bottom:Math.floor(r.bottom),right:Math.floor(r.right)},h="bottom"===n?"top":"bottom",f="right"===i?"left":"right",u=mt("transform"),d=void 0,p=void 0;if(p="bottom"===h?-a.height+c.bottom:c.top,d="right"===f?-a.width+c.right:c.left,s&&u)l[u]="translate3d("+d+"px, "+p+"px, 0)",l[h]=0,l[f]=0,l.willChange="transform";else{var g="bottom"===h?-1:1,m="right"===f?-1:1;l[h]=p*g,l[f]=d*m,l.willChange=h+", "+f}var _={"x-placement":t.placement};return t.attributes=it({},_,t.attributes),t.styles=it({},l,t.styles),t.arrowStyles=it({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return bt(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&bt(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,r){var o=ct(0,e,t),s=lt(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),bt(e,{position:"absolute"}),n},gpuAcceleration:void 0}}},Ot=function(){function t(e,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};tt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=U(this.update.bind(this)),this.options=it({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(it({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=it({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return it({name:t},i.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&B(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return et(t,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=ct(this.state,this.popper,this.reference),t.placement=lt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.offsets.popper=ut(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position="absolute",t=pt(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,gt(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[mt("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=vt(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return Et.call(this)}}]),t}();Ot.Utils=("undefined"!=typeof window?window:global).PopperUtils,Ot.placements=Ct,Ot.Defaults=St;var Nt=function(t){var e="dropdown",n="bs.dropdown",o="."+n,s=t.fn[e],a=new RegExp("38|40|27"),l={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click"+o+".data-api",KEYDOWN_DATA_API:"keydown"+o+".data-api",KEYUP_DATA_API:"keyup"+o+".data-api"},c="disabled",h="show",f="dropup",u="dropright",d="dropleft",p="dropdown-menu-right",g="dropdown-menu-left",m="position-static",_='[data-toggle="dropdown"]',v=".dropdown form",E=".dropdown-menu",y=".navbar-nav",b=".dropdown-menu .dropdown-item:not(.disabled)",T="top-start",C="top-end",w="bottom-start",I="bottom-end",A="right-start",D="left-start",S={offset:0,flip:!0,boundary:"scrollParent"},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)"},N=function(){function s(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var v=s.prototype;return v.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(c)){var e=s._getParentFromElement(this._element),n=t(this._menu).hasClass(h);if(s._clearMenus(),!n){var i={relatedTarget:this._element},r=t.Event(l.SHOW,i);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof Ot)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var o=this._element;t(e).hasClass(f)&&(t(this._menu).hasClass(g)||t(this._menu).hasClass(p))&&(o=e),"scrollParent"!==this._config.boundary&&t(e).addClass(m),this._popper=new Ot(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===t(e).closest(y).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(h),t(e).toggleClass(h).trigger(t.Event(l.SHOWN,i))}}}},v.dispose=function(){t.removeData(this._element,n),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},v.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},v._addEventListeners=function(){var e=this;t(this._element).on(l.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},v._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),k.typeCheckConfig(e,n,this.constructor.DefaultType),n},v._getMenuElement=function(){if(!this._menu){var e=s._getParentFromElement(this._element);this._menu=t(e).find(E)[0]}return this._menu},v._getPlacement=function(){var e=t(this._element).parent(),n=w;return e.hasClass(f)?(n=T,t(this._menu).hasClass(p)&&(n=C)):e.hasClass(u)?n=A:e.hasClass(d)?n=D:t(this._menu).hasClass(p)&&(n=I),n},v._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},v._getPopperConfig=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n);if(i||(i=new s(this,"object"==typeof e?e:null),t(this).data(n,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var i=t.makeArray(t(_)),r=0;r<i.length;r++){var o=s._getParentFromElement(i[r]),a=t(i[r]).data(n),c={relatedTarget:i[r]};if(a){var f=a._menu;if(t(o).hasClass(h)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&t.contains(o,e.target))){var u=t.Event(l.HIDE,c);t(o).trigger(u),u.isDefaultPrevented()||("ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),i[r].setAttribute("aria-expanded","false"),t(f).removeClass(h),t(o).removeClass(h).trigger(t.Event(l.HIDDEN,c)))}}}},s._getParentFromElement=function(e){var n,i=k.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},s._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||t(e.target).closest(E).length)):a.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!t(this).hasClass(c))){var n=s._getParentFromElement(this),i=t(n).hasClass(h);if((i||27===e.which&&32===e.which)&&(!i||27!==e.which&&32!==e.which)){var r=t(n).find(b).get();if(0!==r.length){var o=r.indexOf(e.target);38===e.which&&o>0&&o--,40===e.which&&o<r.length-1&&o++,o<0&&(o=0),r[o].focus()}}else{if(27===e.which){var l=t(n).find(_)[0];t(l).trigger("focus")}t(this).trigger("click")}}},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return S}},{key:"DefaultType",get:function(){return O}}]),s}();return t(document).on(l.KEYDOWN_DATA_API,_,N._dataApiKeydownHandler).on(l.KEYDOWN_DATA_API,E,N._dataApiKeydownHandler).on(l.CLICK_DATA_API+" "+l.KEYUP_DATA_API,N._clearMenus).on(l.CLICK_DATA_API,_,function(e){e.preventDefault(),e.stopPropagation(),N._jQueryInterface.call(t(this),"toggle")}).on(l.CLICK_DATA_API,v,function(t){t.stopPropagation()}),t.fn[e]=N._jQueryInterface,t.fn[e].Constructor=N,t.fn[e].noConflict=function(){return t.fn[e]=s,N._jQueryInterface},N}(e),kt=function(t){var e="bs.modal",n="."+e,o=t.fn.modal,s={backdrop:!0,keyboard:!0,focus:!0,show:!0},a={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},l={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,FOCUSIN:"focusin"+n,RESIZE:"resize"+n,CLICK_DISMISS:"click.dismiss"+n,KEYDOWN_DISMISS:"keydown.dismiss"+n,MOUSEUP_DISMISS:"mouseup.dismiss"+n,MOUSEDOWN_DISMISS:"mousedown.dismiss"+n,CLICK_DATA_API:"click.bs.modal.data-api"},c="modal-scrollbar-measure",h="modal-backdrop",f="modal-open",u="fade",d="show",p={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},g=function(){function o(e,n){this._config=this._getConfig(n),this._element=e,this._dialog=t(e).find(p.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var g=o.prototype;return g.toggle=function(t){return this._isShown?this.hide():this.show(t)},g.show=function(e){var n=this;if(!this._isTransitioning&&!this._isShown){k.supportsTransitionEnd()&&t(this._element).hasClass(u)&&(this._isTransitioning=!0);var i=t.Event(l.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),t(document.body).addClass(f),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(l.CLICK_DISMISS,p.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(l.MOUSEDOWN_DISMISS,function(){t(n._element).one(l.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},g.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=t.Event(l.HIDE);if(t(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var r=k.supportsTransitionEnd()&&t(this._element).hasClass(u);r&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),t(document).off(l.FOCUSIN),t(this._element).removeClass(d),t(this._element).off(l.CLICK_DISMISS),t(this._dialog).off(l.MOUSEDOWN_DISMISS),r?t(this._element).one(k.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},g.dispose=function(){t.removeData(this._element,e),t(window,document,this._element,this._backdrop).off(n),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},g.handleUpdate=function(){this._adjustDialog()},g._getConfig=function(t){return t=r({},s,t),k.typeCheckConfig("modal",t,a),t},g._showElement=function(e){var n=this,i=k.supportsTransitionEnd()&&t(this._element).hasClass(u);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&k.reflow(this._element),t(this._element).addClass(d),this._config.focus&&this._enforceFocus();var r=t.Event(l.SHOWN,{relatedTarget:e}),o=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(r)};i?t(this._dialog).one(k.TRANSITION_END,o).emulateTransitionEnd(300):o()},g._enforceFocus=function(){var e=this;t(document).off(l.FOCUSIN).on(l.FOCUSIN,function(n){document!==n.target&&e._element!==n.target&&0===t(e._element).has(n.target).length&&e._element.focus()})},g._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(l.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(l.KEYDOWN_DISMISS)},g._setResizeEvent=function(){var e=this;this._isShown?t(window).on(l.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(l.RESIZE)},g._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(f),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(l.HIDDEN)})},g._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},g._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(u)?u:"";if(this._isShown&&this._config.backdrop){var r=k.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=h,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(l.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),r&&k.reflow(this._backdrop),t(this._backdrop).addClass(d),!e)return;if(!r)return void e();t(this._backdrop).one(k.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(d);var o=function(){n._removeBackdrop(),e&&e()};k.supportsTransitionEnd()&&t(this._element).hasClass(u)?t(this._backdrop).one(k.TRANSITION_END,o).emulateTransitionEnd(150):o()}else e&&e()},g._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},g._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},g._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},g._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){t(p.FIXED_CONTENT).each(function(n,i){var r=t(i)[0].style.paddingRight,o=t(i).css("padding-right");t(i).data("padding-right",r).css("padding-right",parseFloat(o)+e._scrollbarWidth+"px")}),t(p.STICKY_CONTENT).each(function(n,i){var r=t(i)[0].style.marginRight,o=t(i).css("margin-right");t(i).data("margin-right",r).css("margin-right",parseFloat(o)-e._scrollbarWidth+"px")}),t(p.NAVBAR_TOGGLER).each(function(n,i){var r=t(i)[0].style.marginRight,o=t(i).css("margin-right");t(i).data("margin-right",r).css("margin-right",parseFloat(o)+e._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=t("body").css("padding-right");t("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},g._resetScrollbar=function(){t(p.FIXED_CONTENT).each(function(e,n){var i=t(n).data("padding-right");"undefined"!=typeof i&&t(n).css("padding-right",i).removeData("padding-right")}),t(p.STICKY_CONTENT+", "+p.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data("margin-right");"undefined"!=typeof i&&t(n).css("margin-right",i).removeData("margin-right")});var e=t("body").data("padding-right");"undefined"!=typeof e&&t("body").css("padding-right",e).removeData("padding-right")},g._getScrollbarWidth=function(){var t=document.createElement("div");t.className=c,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var s=t(this).data(e),a=r({},o.Default,t(this).data(),"object"==typeof n&&n);if(s||(s=new o(this,a),t(this).data(e,s)),"string"==typeof n){if("undefined"==typeof s[n])throw new TypeError('No method named "'+n+'"');s[n](i)}else a.show&&s.show(i)})},i(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return s}}]),o}();return t(document).on(l.CLICK_DATA_API,p.DATA_TOGGLE,function(n){var i,o=this,s=k.getSelectorFromElement(this);s&&(i=t(s)[0]);var a=t(i).data(e)?"toggle":r({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||n.preventDefault();var c=t(i).one(l.SHOW,function(e){e.isDefaultPrevented()||c.one(l.HIDDEN,function(){t(o).is(":visible")&&o.focus()})});g._jQueryInterface.call(t(i),a,this)}),t.fn.modal=g._jQueryInterface,t.fn.modal.Constructor=g,t.fn.modal.noConflict=function(){return t.fn.modal=o,g._jQueryInterface},g}(e),Lt=function(t){var e="tooltip",n="bs.tooltip",o="."+n,s=t.fn[e],a=new RegExp("(^|\\s)bs-tooltip\\S+","g"),l={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},c={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},h={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",u="out",d={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},p="fade",g="show",m=".tooltip-inner",_=".arrow",v="hover",E="focus",y="click",b="manual",T=function(){function s(t,e){if("undefined"==typeof Ot)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var T=s.prototype;return T.enable=function(){this._isEnabled=!0},T.disable=function(){this._isEnabled=!1},T.toggleEnabled=function(){this._isEnabled=!this._isEnabled},T.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(g))return void this._leave(null,this);this._enter(null,this)}},T.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},T.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var r=this.getTipElement(),o=k.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(p);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,l=this._getAttachment(a);this.addAttachmentClass(l);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Ot(this.element,r,{placement:l,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:_},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(g),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var h=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===u&&e._leave(null,e)};k.supportsTransitionEnd()&&t(this.tip).hasClass(p)?t(this.tip).one(k.TRANSITION_END,h).emulateTransitionEnd(s._TRANSITION_DURATION):h()}},T.hide=function(e){var n=this,i=this.getTipElement(),r=t.Event(this.constructor.Event.HIDE),o=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(r),r.isDefaultPrevented()||(t(i).removeClass(g),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[E]=!1,this._activeTrigger[v]=!1,k.supportsTransitionEnd()&&t(this.tip).hasClass(p)?t(i).one(k.TRANSITION_END,o).emulateTransitionEnd(150):o(),this._hoverState="")},T.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},T.isWithContent=function(){return Boolean(this.getTitle())},T.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},T.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},T.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(p+" "+g)},T.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},T.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},T._getAttachment=function(t){return c[t.toUpperCase()]},T._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==b){var i=n===v?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,r=n===v?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(r,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},T._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},T._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?E:v]=!0),t(n.getTipElement()).hasClass(g)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},T._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?E:v]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=u,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===u&&n.hide()},n.config.delay.hide):n.hide())},T._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},T._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),k.typeCheckConfig(e,n,this.constructor.DefaultType),n},T._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},T._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},T._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},T._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(p),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),r="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new s(this,r),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return h}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return d}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return l}}]),s}();return t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=s,T._jQueryInterface},T}(e),Pt=function(t){var e="popover",n="bs.popover",o="."+n,s=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},Lt.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),c=r({},Lt.DefaultType,{content:"(string|element|function)"}),h="fade",f="show",u=".popover-header",d=".popover-body",p={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g=function(r){var s,g;function m(){return r.apply(this,arguments)||this}g=r,(s=m).prototype=Object.create(g.prototype),s.prototype.constructor=s,s.__proto__=g;var _=m.prototype;return _.isWithContent=function(){return this.getTitle()||this._getContent()},_.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},_.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},_.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(u),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(h+" "+f)},_._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},_._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},m._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),r="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new m(this,r),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(m,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return c}}]),m}(Lt);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=s,g._jQueryInterface},g}(e),xt=function(t){var e="scrollspy",n="bs.scrollspy",o="."+n,s=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},c={ACTIVATE:"activate"+o,SCROLL:"scroll"+o,LOAD_DATA_API:"load"+o+".data-api"},h="dropdown-item",f="active",u={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",p="position",g=function(){function s(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+u.NAV_LINKS+","+this._config.target+" "+u.LIST_ITEMS+","+this._config.target+" "+u.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(c.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=s.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:p,i="auto"===this._config.method?n:this._config.method,r=i===p?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,o=k.getSelectorFromElement(e);if(o&&(n=t(o)[0]),n){var s=n.getBoundingClientRect();if(s.width||s.height)return[t(n)[i]().top+r,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(o),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=k.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return k.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},g._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(h)?(i.closest(u.DROPDOWN).find(u.DROPDOWN_TOGGLE).addClass(f),i.addClass(f)):(i.addClass(f),i.parents(u.NAV_LIST_GROUP).prev(u.NAV_LINKS+", "+u.LIST_ITEMS).addClass(f),i.parents(u.NAV_LIST_GROUP).prev(u.NAV_ITEMS).children(u.NAV_LINKS).addClass(f)),t(this._scrollElement).trigger(c.ACTIVATE,{relatedTarget:e})},g._clear=function(){t(this._selector).filter(u.ACTIVE).removeClass(f)},s._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n);if(i||(i=new s(this,"object"==typeof e&&e),t(this).data(n,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},i(s,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),s}();return t(window).on(c.LOAD_DATA_API,function(){for(var e=t.makeArray(t(u.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);g._jQueryInterface.call(i,i.data())}}),t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=s,g._jQueryInterface},g}(e),Rt=function(t){var e=".bs.tab",n=t.fn.tab,r={HIDE:"hide"+e,HIDDEN:"hidden"+e,SHOW:"show"+e,SHOWN:"shown"+e,CLICK_DATA_API:"click.bs.tab.data-api"},o="dropdown-menu",s="active",a="disabled",l="fade",c="show",h=".dropdown",f=".nav, .list-group",u=".active",d="> li > .active",p='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',g=".dropdown-toggle",m="> .dropdown-menu .active",_=function(){function e(t){this._element=t}var n=e.prototype;return n.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(s)||t(this._element).hasClass(a))){var n,i,o=t(this._element).closest(f)[0],l=k.getSelectorFromElement(this._element);if(o){var c="UL"===o.nodeName?d:u;i=(i=t.makeArray(t(o).find(c)))[i.length-1]}var h=t.Event(r.HIDE,{relatedTarget:this._element}),p=t.Event(r.SHOW,{relatedTarget:i});if(i&&t(i).trigger(h),t(this._element).trigger(p),!p.isDefaultPrevented()&&!h.isDefaultPrevented()){l&&(n=t(l)[0]),this._activate(this._element,o);var g=function(){var n=t.Event(r.HIDDEN,{relatedTarget:e._element}),o=t.Event(r.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,g):g()}}},n.dispose=function(){t.removeData(this._element,"bs.tab"),this._element=null},n._activate=function(e,n,i){var r=this,o=("UL"===n.nodeName?t(n).find(d):t(n).children(u))[0],s=i&&k.supportsTransitionEnd()&&o&&t(o).hasClass(l),a=function(){return r._transitionComplete(e,o,i)};o&&s?t(o).one(k.TRANSITION_END,a).emulateTransitionEnd(150):a()},n._transitionComplete=function(e,n,i){if(n){t(n).removeClass(c+" "+s);var r=t(n.parentNode).find(m)[0];r&&t(r).removeClass(s),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(t(e).addClass(s),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),k.reflow(e),t(e).addClass(c),e.parentNode&&t(e.parentNode).hasClass(o)){var a=t(e).closest(h)[0];a&&t(a).find(g).addClass(s),e.setAttribute("aria-expanded",!0)}i&&i()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),r=i.data("bs.tab");if(r||(r=new e(this),i.data("bs.tab",r)),"string"==typeof n){if("undefined"==typeof r[n])throw new TypeError('No method named "'+n+'"');r[n]()}})},i(e,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),e}();return t(document).on(r.CLICK_DATA_API,p,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn.tab=_._jQueryInterface,t.fn.tab.Constructor=_,t.fn.tab.noConflict=function(){return t.fn.tab=n,_._jQueryInterface},_}(e);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=k,t.Alert=L,t.Button=P,t.Carousel=x,t.Collapse=R,t.Dropdown=Nt,t.Modal=kt,t.Popover=Pt,t.Scrollspy=xt,t.Tab=Rt,t.Tooltip=Lt,Object.defineProperty(t,"__esModule",{value:!0})});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e(t.bootstrap={},t.jQuery)}(this,function(t,e){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function c(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},e=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=o[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}for(var r,n,o,a,l,f,h,u,d,p,g,m,_,v,E,y,b,T,C,w,I,D,A,S,O,N,k,L,P,x,j,R,M,H,W,F,U,B,K,V,Q,Y,G,q,z,X,J,Z,$,tt,et,nt,it,rt,ot,st,at,lt,ct,ft,ht,ut,dt,pt,gt=function(i){var e="transitionend";function t(t){var e=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(e)},t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");e&&"#"!==e||(e=t.getAttribute("href")||"");try{return 0<i(document).find(e).length?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=i(t).css("transition-duration");return parseFloat(e)?(e=e.split(",")[0],1e3*parseFloat(e)):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){i(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=e[i],s=o&&l.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=t,i.event.special[l.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(i(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}},l}(e=e&&e.hasOwnProperty("default")?e.default:e),mt=(n="alert",a="."+(o="bs.alert"),l=(r=e).fn[n],f={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},h="alert",u="fade",d="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){r.removeData(this._element,o),this._element=null},t._getRootElement=function(t){var e=gt.getSelectorFromElement(t),n=!1;return e&&(n=r(e)[0]),n||(n=r(t).closest("."+h)[0]),n},t._triggerCloseEvent=function(t){var e=r.Event(f.CLOSE);return r(t).trigger(e),e},t._removeElement=function(e){var n=this;if(r(e).removeClass(d),r(e).hasClass(u)){var t=gt.getTransitionDurationFromElement(e);r(e).one(gt.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){r(t).detach().trigger(f.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=r(this),e=t.data(o);e||(e=new i(this),t.data(o,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),i}(),r(document).on(f.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),r.fn[n]=p._jQueryInterface,r.fn[n].Constructor=p,r.fn[n].noConflict=function(){return r.fn[n]=l,p._jQueryInterface},p),_t=(m="button",v="."+(_="bs.button"),E=".data-api",y=(g=e).fn[m],b="active",T="btn",w='[data-toggle^="button"]',I='[data-toggle="buttons"]',D="input",A=".active",S=".btn",O={CLICK_DATA_API:"click"+v+E,FOCUS_BLUR_DATA_API:(C="focus")+v+E+" blur"+v+E},N=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(I)[0];if(n){var i=g(this._element).find(D)[0];if(i){if("radio"===i.type)if(i.checked&&g(this._element).hasClass(b))t=!1;else{var r=g(n).find(A)[0];r&&g(r).removeClass(b)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!g(this._element).hasClass(b),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!g(this._element).hasClass(b)),t&&g(this._element).toggleClass(b)},t.dispose=function(){g.removeData(this._element,_),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(_);t||(t=new n(this),g(this).data(_,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),n}(),g(document).on(O.CLICK_DATA_API,w,function(t){t.preventDefault();var e=t.target;g(e).hasClass(T)||(e=g(e).closest(S)),N._jQueryInterface.call(g(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,w,function(t){var e=g(t.target).closest(S)[0];g(e).toggleClass(C,/^focus(in)?$/.test(t.type))}),g.fn[m]=N._jQueryInterface,g.fn[m].Constructor=N,g.fn[m].noConflict=function(){return g.fn[m]=y,N._jQueryInterface},N),vt=(L="carousel",x="."+(P="bs.carousel"),j=".data-api",R=(k=e).fn[L],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},H={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},W="next",F="prev",U="left",B="right",K={SLIDE:"slide"+x,SLID:"slid"+x,KEYDOWN:"keydown"+x,MOUSEENTER:"mouseenter"+x,MOUSELEAVE:"mouseleave"+x,TOUCHEND:"touchend"+x,LOAD_DATA_API:"load"+x+j,CLICK_DATA_API:"click"+x+j},V="carousel",Q="active",Y="slide",G="carousel-item-right",q="carousel-item-left",z="carousel-item-next",X="carousel-item-prev",J={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Z=function(){function o(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(e),this._element=k(t)[0],this._indicatorsElement=k(this._element).find(J.INDICATORS)[0],this._addEventListeners()}var t=o.prototype;return t.next=function(){this._isSliding||this._slide(W)},t.nextWhenVisible=function(){!document.hidden&&k(this._element).is(":visible")&&"hidden"!==k(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(F)},t.pause=function(t){t||(this._isPaused=!0),k(this._element).find(J.NEXT_PREV)[0]&&(gt.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=k(this._element).find(J.ACTIVE_ITEM)[0];var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)k(this._element).one(K.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?W:F;this._slide(i,this._items[t])}},t.dispose=function(){k(this._element).off(x),k.removeData(this._element,P),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=c({},M,t),gt.typeCheckConfig(L,t,H),t},t._addEventListeners=function(){var e=this;this._config.keyboard&&k(this._element).on(K.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(k(this._element).on(K.MOUSEENTER,function(t){return e.pause(t)}).on(K.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&k(this._element).on(K.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=k.makeArray(k(t).parent().find(J.ITEM)),this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===W,i=t===F,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===F?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(k(this._element).find(J.ACTIVE_ITEM)[0]),r=k.Event(K.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return k(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){k(this._indicatorsElement).find(J.ACTIVE).removeClass(Q);var e=this._indicatorsElement.children[this._getItemIndex(t)];e&&k(e).addClass(Q)}},t._slide=function(t,e){var n,i,r,o=this,s=k(this._element).find(J.ACTIVE_ITEM)[0],a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),f=Boolean(this._interval);if(t===W?(n=q,i=z,r=U):(n=G,i=X,r=B),l&&k(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,f&&this.pause(),this._setActiveIndicatorElement(l);var h=k.Event(K.SLID,{relatedTarget:l,direction:r,from:a,to:c});if(k(this._element).hasClass(Y)){k(l).addClass(i),gt.reflow(l),k(s).addClass(n),k(l).addClass(n);var u=gt.getTransitionDurationFromElement(s);k(s).one(gt.TRANSITION_END,function(){k(l).removeClass(n+" "+i).addClass(Q),k(s).removeClass(Q+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return k(o._element).trigger(h)},0)}).emulateTransitionEnd(u)}else k(s).removeClass(Q),k(l).addClass(Q),this._isSliding=!1,k(this._element).trigger(h);f&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var t=k(this).data(P),e=c({},M,k(this).data());"object"==typeof i&&(e=c({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new o(this,e),k(this).data(P,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},o._dataApiClickHandler=function(t){var e=gt.getSelectorFromElement(this);if(e){var n=k(e)[0];if(n&&k(n).hasClass(V)){var i=c({},k(n).data(),k(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(k(n),i),r&&k(n).data(P).to(r),t.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return M}}]),o}(),k(document).on(K.CLICK_DATA_API,J.DATA_SLIDE,Z._dataApiClickHandler),k(window).on(K.LOAD_DATA_API,function(){k(J.DATA_RIDE).each(function(){var t=k(this);Z._jQueryInterface.call(t,t.data())})}),k.fn[L]=Z._jQueryInterface,k.fn[L].Constructor=Z,k.fn[L].noConflict=function(){return k.fn[L]=R,Z._jQueryInterface},Z),Et=(tt="collapse",nt="."+(et="bs.collapse"),it=($=e).fn[tt],rt={toggle:!0,parent:""},ot={toggle:"boolean",parent:"(string|element)"},st={SHOW:"show"+nt,SHOWN:"shown"+nt,HIDE:"hide"+nt,HIDDEN:"hidden"+nt,CLICK_DATA_API:"click"+nt+".data-api"},at="show",lt="collapse",ct="collapsing",ft="collapsed",ht="width",ut="height",dt={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},pt=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=$.makeArray($('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=$(dt.DATA_TOGGLE),i=0;i<n.length;i++){var r=n[i],o=gt.getSelectorFromElement(r);null!==o&&0<$(o).filter(t).length&&(this._selector=o,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){$(this._element).hasClass(at)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!$(this._element).hasClass(at)&&(this._parent&&0===(t=$.makeArray($(this._parent).find(dt.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(t=null),!(t&&(e=$(t).not(this._selector).data(et))&&e._isTransitioning))){var i=$.Event(st.SHOW);if($(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call($(t).not(this._selector),"hide"),e||$(t).data(et,null));var r=this._getDimension();$(this._element).removeClass(lt).addClass(ct),(this._element.style[r]=0)<this._triggerArray.length&&$(this._triggerArray).removeClass(ft).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=gt.getTransitionDurationFromElement(this._element);$(this._element).one(gt.TRANSITION_END,function(){$(n._element).removeClass(ct).addClass(lt).addClass(at),n._element.style[r]="",n.setTransitioning(!1),$(n._element).trigger(st.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&$(this._element).hasClass(at)){var e=$.Event(st.HIDE);if($(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();if(this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",gt.reflow(this._element),$(this._element).addClass(ct).removeClass(lt).removeClass(at),0<this._triggerArray.length)for(var i=0;i<this._triggerArray.length;i++){var r=this._triggerArray[i],o=gt.getSelectorFromElement(r);if(null!==o)$(o).hasClass(at)||$(r).addClass(ft).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var s=gt.getTransitionDurationFromElement(this._element);$(this._element).one(gt.TRANSITION_END,function(){t.setTransitioning(!1),$(t._element).removeClass(ct).addClass(lt).trigger(st.HIDDEN)}).emulateTransitionEnd(s)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){$.removeData(this._element,et),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=c({},rt,t)).toggle=Boolean(t.toggle),gt.typeCheckConfig(tt,t,ot),t},t._getDimension=function(){return $(this._element).hasClass(ht)?ht:ut},t._getParent=function(){var n=this,t=null;gt.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=$(this._config.parent)[0];var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return $(t).find(e).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){if(t){var n=$(t).hasClass(at);0<e.length&&$(e).toggleClass(ft,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(t){var e=gt.getSelectorFromElement(t);return e?$(e)[0]:null},a._jQueryInterface=function(i){return this.each(function(){var t=$(this),e=t.data(et),n=c({},rt,t.data(),"object"==typeof i&&i);if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(et,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return rt}}]),a}(),$(document).on(st.CLICK_DATA_API,dt.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=$(this),e=gt.getSelectorFromElement(this);$(e).each(function(){var t=$(this),e=t.data(et)?"toggle":n.data();pt._jQueryInterface.call(t,e)})}),$.fn[tt]=pt._jQueryInterface,$.fn[tt].Constructor=pt,$.fn[tt].noConflict=function(){return $.fn[tt]=it,pt._jQueryInterface},pt),yt="undefined"!=typeof window&&"undefined"!=typeof document,bt=["Edge","Trident","Firefox"],Tt=0,Ct=0;Ct<bt.length;Ct+=1)if(yt&&0<=navigator.userAgent.indexOf(bt[Ct])){Tt=1;break}var wt=yt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},Tt))}};function It(t){return t&&"[object Function]"==={}.toString.call(t)}function Dt(t,e){if(1!==t.nodeType)return[];var n=getComputedStyle(t,null);return e?n[e]:n}function At(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function St(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Dt(t),n=e.overflow,i=e.overflowX,r=e.overflowY;return/(auto|scroll|overlay)/.test(n+r+i)?t:St(At(t))}var Ot={},Nt=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"all";if(t=t.toString(),Ot.hasOwnProperty(t))return Ot[t];switch(t){case"11":Ot[t]=-1!==navigator.userAgent.indexOf("Trident");break;case"10":Ot[t]=-1!==navigator.appVersion.indexOf("MSIE 10");break;case"all":Ot[t]=-1!==navigator.userAgent.indexOf("Trident")||-1!==navigator.userAgent.indexOf("MSIE")}return Ot.all=Ot.all||Object.keys(Ot).some(function(t){return Ot[t]}),Ot[t]};function kt(t){if(!t)return document.documentElement;for(var e=Nt(10)?document.body:null,n=t.offsetParent;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TD","TABLE"].indexOf(n.nodeName)&&"static"===Dt(n,"position")?kt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Lt(t){return null!==t.parentNode?Lt(t.parentNode):t}function Pt(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,r=n?e:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);var s,a,l=o.commonAncestorContainer;if(t!==l&&e!==l||i.contains(r))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&kt(s.firstElementChild)!==s?kt(l):l;var c=Lt(t);return c.host?Pt(c.host,e):Pt(t,Lt(e).host)}function xt(t){var e="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function jt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Rt(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Nt(10)?n["offset"+t]+i["margin"+("Height"===t?"Top":"Left")]+i["margin"+("Height"===t?"Bottom":"Right")]:0)}function Mt(){var t=document.body,e=document.documentElement,n=Nt(10)&&getComputedStyle(e);return{height:Rt("Height",t,e,n),width:Rt("Width",t,e,n)}}var Ht=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Wt=function(){function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}}(),Ft=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Ut=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function Bt(t){return Ut({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Kt(t){var e={};try{if(Nt(10)){e=t.getBoundingClientRect();var n=xt(t,"top"),i=xt(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var r={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},o="HTML"===t.nodeName?Mt():{},s=o.width||t.clientWidth||r.right-r.left,a=o.height||t.clientHeight||r.bottom-r.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var f=Dt(t);l-=jt(f,"x"),c-=jt(f,"y"),r.width-=l,r.height-=c}return Bt(r)}function Vt(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Nt(10),r="HTML"===e.nodeName,o=Kt(t),s=Kt(e),a=St(t),l=Dt(e),c=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&"HTML"===e.nodeName&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var h=Bt({top:o.top-s.top-c,left:o.left-s.left-f,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!i&&r){var u=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);h.top-=c-u,h.bottom-=c-u,h.left-=f-d,h.right-=f-d,h.marginTop=u,h.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(h=function(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=xt(e,"top"),r=xt(e,"left"),o=n?-1:1;return t.top+=i*o,t.bottom+=i*o,t.left+=r*o,t.right+=r*o,t}(h,e)),h}function Qt(t){if(!t||!t.parentElement||Nt())return document.documentElement;for(var e=t.parentElement;e&&"none"===Dt(e,"transform");)e=e.parentElement;return e||document.documentElement}function Yt(t,e,n,i){var r=4<arguments.length&&void 0!==arguments[4]&&arguments[4],o={top:0,left:0},s=r?Qt(t):Pt(t,e);if("viewport"===i)o=function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Vt(t,n),r=Math.max(n.clientWidth,window.innerWidth||0),o=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:xt(n),a=e?0:xt(n,"left");return Bt({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:r,height:o})}(s,r);else{var a=void 0;"scrollParent"===i?"BODY"===(a=St(At(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Vt(a,s,r);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===Dt(e,"position")||t(At(e)))}(s))o=l;else{var c=Mt(),f=c.height,h=c.width;o.top+=l.top-l.marginTop,o.bottom=f+l.top,o.left+=l.left-l.marginLeft,o.right=h+l.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function Gt(t,e,i,n,r){var o=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Yt(i,n,o,r),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return Ut({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight}),f=0<c.length?c[0].key:l[0].key,h=t.split("-")[1];return f+(h?"-"+h:"")}function qt(t,e,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return Vt(n,i?Qt(e):Pt(e,n),i)}function zt(t){var e=getComputedStyle(t),n=parseFloat(e.marginTop)+parseFloat(e.marginBottom),i=parseFloat(e.marginLeft)+parseFloat(e.marginRight);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Xt(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function Jt(t,e,n){n=n.split("-")[0];var i=zt(t),r={width:i.width,height:i.height},o=-1!==["right","left"].indexOf(n),s=o?"top":"left",a=o?"left":"top",l=o?"height":"width",c=o?"width":"height";return r[s]=e[s]+e[l]/2-i[l]/2,r[a]=n===a?e[a]-i[c]:e[Xt(a)],r}function Zt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function $t(t,n,e){return(void 0===e?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=Zt(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",e))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var e=t.function||t.fn;t.enabled&&It(e)&&(n.offsets.popper=Bt(n.offsets.popper),n.offsets.reference=Bt(n.offsets.reference),n=e(n,t))}),n}function te(t,n){return t.some(function(t){var e=t.name;return t.enabled&&e===n})}function ee(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var r=e[i],o=r?""+r+n:t;if("undefined"!=typeof document.body.style[o])return o}return null}function ne(t){var e=t.ownerDocument;return e?e.defaultView:window}function ie(t,e,n,i){n.updateBound=i,ne(t).addEventListener("resize",n.updateBound,{passive:!0});var r=St(t);return function t(e,n,i,r){var o="BODY"===e.nodeName,s=o?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),o||t(St(s.parentNode),n,i,r),r.push(s)}(r,"scroll",n.updateBound,n.scrollParents),n.scrollElement=r,n.eventsEnabled=!0,n}function re(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,ne(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function oe(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function se(n,i){Object.keys(i).forEach(function(t){var e="";-1!==["width","height","top","right","bottom","left"].indexOf(t)&&oe(i[t])&&(e="px"),n.style[t]=i[t]+e})}function ae(t,e,n){var i=Zt(t,function(t){return t.name===e}),r=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!r){var o="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+o+" modifier in order to work, be sure to include it before "+o+"!")}return r}var le=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],ce=le.slice(3);function fe(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=ce.indexOf(t),i=ce.slice(n+1).concat(ce.slice(0,n));return e?i.reverse():i}var he={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function ue(t,r,o,e){var s=[0,0],a=-1!==["right","left"].indexOf(e),n=t.split(/(\+|\-)/).map(function(t){return t.trim()}),i=n.indexOf(Zt(n,function(t){return-1!==t.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(t,e){var n=(1===e?!a:a)?"height":"width",i=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,i=!0,t):i?(t[t.length-1]+=e,i=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var r=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),o=+r[1],s=r[2];if(!o)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Bt(a)[e]/100*o}if("vh"===s||"vw"===s)return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*o;return o}(t,n,r,o)})})).forEach(function(n,i){n.forEach(function(t,e){oe(t)&&(s[i]+=t*("-"===n[e-1]?-1:1))})}),s}var de={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var r=t.offsets,o=r.reference,s=r.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:Ft({},l,o[l]),end:Ft({},l,o[l]+o[c]-s[c])};t.offsets.popper=Ut({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,r=t.offsets,o=r.popper,s=r.reference,a=i.split("-")[0],l=void 0;return l=oe(+n)?[+n,0]:ue(n,o,s,a),"left"===a?(o.top+=l[0],o.left-=l[1]):"right"===a?(o.top+=l[0],o.left+=l[1]):"top"===a?(o.left+=l[0],o.top-=l[1]):"bottom"===a&&(o.left+=l[0],o.top+=l[1]),t.popper=o,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,i){var e=i.boundariesElement||kt(t.instance.popper);t.instance.reference===e&&(e=kt(e));var r=Yt(t.instance.popper,t.instance.reference,i.padding,e,t.positionFixed);i.boundaries=r;var n=i.priority,o=t.offsets.popper,s={primary:function(t){var e=o[t];return o[t]<r[t]&&!i.escapeWithReference&&(e=Math.max(o[t],r[t])),Ft({},t,e)},secondary:function(t){var e="right"===t?"left":"top",n=o[e];return o[t]>r[t]&&!i.escapeWithReference&&(n=Math.min(o[e],r[t]-("right"===t?o.width:o.height))),Ft({},e,n)}};return n.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";o=Ut({},o,s[e](t))}),t.offsets.popper=o,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,r=t.placement.split("-")[0],o=Math.floor,s=-1!==["top","bottom"].indexOf(r),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<o(i[l])&&(t.offsets.popper[l]=o(i[l])-n[c]),n[l]>o(i[a])&&(t.offsets.popper[l]=o(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!ae(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var r=t.placement.split("-")[0],o=t.offsets,s=o.popper,a=o.reference,l=-1!==["left","right"].indexOf(r),c=l?"height":"width",f=l?"Top":"Left",h=f.toLowerCase(),u=l?"left":"top",d=l?"bottom":"right",p=zt(i)[c];a[d]-p<s[h]&&(t.offsets.popper[h]-=s[h]-(a[d]-p)),a[h]+p>s[d]&&(t.offsets.popper[h]+=a[h]+p-s[d]),t.offsets.popper=Bt(t.offsets.popper);var g=a[h]+a[c]/2-p/2,m=Dt(t.instance.popper),_=parseFloat(m["margin"+f],10),v=parseFloat(m["border"+f+"Width"],10),E=g-t.offsets.popper[h]-_-v;return E=Math.max(Math.min(s[c]-p,E),0),t.arrowElement=i,t.offsets.arrow=(Ft(n={},h,Math.round(E)),Ft(n,u,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,g){if(te(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var m=Yt(p.instance.popper,p.instance.reference,g.padding,g.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=Xt(_),E=p.placement.split("-")[1]||"",y=[];switch(g.behavior){case he.FLIP:y=[_,v];break;case he.CLOCKWISE:y=fe(_);break;case he.COUNTERCLOCKWISE:y=fe(_,!0);break;default:y=g.behavior}return y.forEach(function(t,e){if(_!==t||y.length===e+1)return p;_=p.placement.split("-")[0],v=Xt(_);var n,i=p.offsets.popper,r=p.offsets.reference,o=Math.floor,s="left"===_&&o(i.right)>o(r.left)||"right"===_&&o(i.left)<o(r.right)||"top"===_&&o(i.bottom)>o(r.top)||"bottom"===_&&o(i.top)<o(r.bottom),a=o(i.left)<o(m.left),l=o(i.right)>o(m.right),c=o(i.top)<o(m.top),f=o(i.bottom)>o(m.bottom),h="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&f,u=-1!==["top","bottom"].indexOf(_),d=!!g.flipVariations&&(u&&"start"===E&&a||u&&"end"===E&&l||!u&&"start"===E&&c||!u&&"end"===E&&f);(s||h||d)&&(p.flipped=!0,(s||h)&&(_=y[e+1]),d&&(E="end"===(n=E)?"start":"start"===n?"end":n),p.placement=_+(E?"-"+E:""),p.offsets.popper=Ut({},p.offsets.popper,Jt(p.instance.popper,p.offsets.reference,p.placement)),p=$t(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,r=i.popper,o=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return r[s?"left":"top"]=o[n]-(a?r[s?"width":"height"]:0),t.placement=Xt(e),t.offsets.popper=Bt(r),t}},hide:{order:800,enabled:!0,fn:function(t){if(!ae(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Zt(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,r=t.offsets.popper,o=Zt(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==o&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==o?o:e.gpuAcceleration,a=Kt(kt(t.instance.popper)),l={position:r.position},c={left:Math.floor(r.left),top:Math.floor(r.top),bottom:Math.floor(r.bottom),right:Math.floor(r.right)},f="bottom"===n?"top":"bottom",h="right"===i?"left":"right",u=ee("transform"),d=void 0,p=void 0;if(p="bottom"===f?-a.height+c.bottom:c.top,d="right"===h?-a.width+c.right:c.left,s&&u)l[u]="translate3d("+d+"px, "+p+"px, 0)",l[f]=0,l[h]=0,l.willChange="transform";else{var g="bottom"===f?-1:1,m="right"===h?-1:1;l[f]=p*g,l[h]=d*m,l.willChange=f+", "+h}var _={"x-placement":t.placement};return t.attributes=Ut({},_,t.attributes),t.styles=Ut({},l,t.styles),t.arrowStyles=Ut({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return se(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&se(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,r){var o=qt(r,e,t,n.positionFixed),s=Gt(n.placement,o,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),se(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},pe=function(){function o(t,e){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};Ht(this,o),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=wt(this.update.bind(this)),this.options=Ut({},o.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=e&&e.jquery?e[0]:e,this.options.modifiers={},Object.keys(Ut({},o.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=Ut({},o.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Ut({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&It(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Wt(o,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=qt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=Gt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Jt(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=$t(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,te(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[ee("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ie(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return re.call(this)}}]),o}();pe.Utils=("undefined"!=typeof window?window:global).PopperUtils,pe.placements=le,pe.Defaults=de;var ge,me,_e,ve,Ee,ye,be,Te,Ce,we,Ie,De,Ae,Se,Oe,Ne,ke,Le,Pe,xe,je,Re,Me,He,We,Fe,Ue,Be,Ke,Ve,Qe,Ye,Ge,qe,ze,Xe,Je,Ze,$e,tn,en,nn,rn,on,sn,an,ln,cn,fn,hn,un,dn,pn,gn,mn,_n,vn,En,yn,bn,Tn,Cn,wn,In,Dn,An,Sn,On,Nn,kn,Ln,Pn,xn,jn,Rn,Mn,Hn,Wn,Fn,Un,Bn,Kn,Vn,Qn,Yn,Gn,qn,zn,Xn,Jn,Zn,$n,ti,ei,ni,ii,ri,oi,si,ai,li,ci,fi,hi,ui,di,pi,gi,mi,_i,vi,Ei,yi,bi=(me="dropdown",ve="."+(_e="bs.dropdown"),Ee=".data-api",ye=(ge=e).fn[me],be=new RegExp("38|40|27"),Te={HIDE:"hide"+ve,HIDDEN:"hidden"+ve,SHOW:"show"+ve,SHOWN:"shown"+ve,CLICK:"click"+ve,CLICK_DATA_API:"click"+ve+Ee,KEYDOWN_DATA_API:"keydown"+ve+Ee,KEYUP_DATA_API:"keyup"+ve+Ee},Ce="disabled",we="show",Ie="dropup",De="dropright",Ae="dropleft",Se="dropdown-menu-right",Oe="position-static",Ne='[data-toggle="dropdown"]',ke=".dropdown form",Le=".dropdown-menu",Pe=".navbar-nav",xe=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",je="top-start",Re="top-end",Me="bottom-start",He="bottom-end",We="right-start",Fe="left-start",Ue={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Be={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Ke=function(){function l(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=l.prototype;return t.toggle=function(){if(!this._element.disabled&&!ge(this._element).hasClass(Ce)){var t=l._getParentFromElement(this._element),e=ge(this._menu).hasClass(we);if(l._clearMenus(),!e){var n={relatedTarget:this._element},i=ge.Event(Te.SHOW,n);if(ge(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof pe)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=t:gt.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&ge(t).addClass(Oe),this._popper=new pe(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===ge(t).closest(Pe).length&&ge(document.body).children().on("mouseover",null,ge.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),ge(this._menu).toggleClass(we),ge(t).toggleClass(we).trigger(ge.Event(Te.SHOWN,n))}}}},t.dispose=function(){ge.removeData(this._element,_e),ge(this._element).off(ve),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;ge(this._element).on(Te.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=c({},this.constructor.Default,ge(this._element).data(),t),gt.typeCheckConfig(me,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=l._getParentFromElement(this._element);this._menu=ge(t).find(Le)[0]}return this._menu},t._getPlacement=function(){var t=ge(this._element).parent(),e=Me;return t.hasClass(Ie)?(e=je,ge(this._menu).hasClass(Se)&&(e=Re)):t.hasClass(De)?e=We:t.hasClass(Ae)?e=Fe:ge(this._menu).hasClass(Se)&&(e=He),e},t._detectNavbar=function(){return 0<ge(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=c({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},l._jQueryInterface=function(e){return this.each(function(){var t=ge(this).data(_e);if(t||(t=new l(this,"object"==typeof e?e:null),ge(this).data(_e,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},l._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=ge.makeArray(ge(Ne)),n=0;n<e.length;n++){var i=l._getParentFromElement(e[n]),r=ge(e[n]).data(_e),o={relatedTarget:e[n]};if(r){var s=r._menu;if(ge(i).hasClass(we)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&ge.contains(i,t.target))){var a=ge.Event(Te.HIDE,o);ge(i).trigger(a),a.isDefaultPrevented()||("ontouchstart"in document.documentElement&&ge(document.body).children().off("mouseover",null,ge.noop),e[n].setAttribute("aria-expanded","false"),ge(s).removeClass(we),ge(i).removeClass(we).trigger(ge.Event(Te.HIDDEN,o)))}}}},l._getParentFromElement=function(t){var e,n=gt.getSelectorFromElement(t);return n&&(e=ge(n)[0]),e||t.parentNode},l._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||ge(t.target).closest(Le).length)):be.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!ge(this).hasClass(Ce))){var e=l._getParentFromElement(this),n=ge(e).hasClass(we);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=ge(e).find(xe).get();if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var o=ge(e).find(Ne)[0];ge(o).trigger("focus")}ge(this).trigger("click")}}},s(l,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return Ue}},{key:"DefaultType",get:function(){return Be}}]),l}(),ge(document).on(Te.KEYDOWN_DATA_API,Ne,Ke._dataApiKeydownHandler).on(Te.KEYDOWN_DATA_API,Le,Ke._dataApiKeydownHandler).on(Te.CLICK_DATA_API+" "+Te.KEYUP_DATA_API,Ke._clearMenus).on(Te.CLICK_DATA_API,Ne,function(t){t.preventDefault(),t.stopPropagation(),Ke._jQueryInterface.call(ge(this),"toggle")}).on(Te.CLICK_DATA_API,ke,function(t){t.stopPropagation()}),ge.fn[me]=Ke._jQueryInterface,ge.fn[me].Constructor=Ke,ge.fn[me].noConflict=function(){return ge.fn[me]=ye,Ke._jQueryInterface},Ke),Ti=(Qe="modal",Ge="."+(Ye="bs.modal"),qe=(Ve=e).fn[Qe],ze={backdrop:!0,keyboard:!0,focus:!0,show:!0},Xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Je={HIDE:"hide"+Ge,HIDDEN:"hidden"+Ge,SHOW:"show"+Ge,SHOWN:"shown"+Ge,FOCUSIN:"focusin"+Ge,RESIZE:"resize"+Ge,CLICK_DISMISS:"click.dismiss"+Ge,KEYDOWN_DISMISS:"keydown.dismiss"+Ge,MOUSEUP_DISMISS:"mouseup.dismiss"+Ge,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Ge,CLICK_DATA_API:"click"+Ge+".data-api"},Ze="modal-scrollbar-measure",$e="modal-backdrop",tn="modal-open",en="fade",nn="show",rn={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},on=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Ve(t).find(rn.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isTransitioning&&!this._isShown){Ve(this._element).hasClass(en)&&(this._isTransitioning=!0);var n=Ve.Event(Je.SHOW,{relatedTarget:t});Ve(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),Ve(document.body).addClass(tn),this._setEscapeEvent(),this._setResizeEvent(),Ve(this._element).on(Je.CLICK_DISMISS,rn.DATA_DISMISS,function(t){return e.hide(t)}),Ve(this._dialog).on(Je.MOUSEDOWN_DISMISS,function(){Ve(e._element).one(Je.MOUSEUP_DISMISS,function(t){Ve(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var n=Ve.Event(Je.HIDE);if(Ve(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=Ve(this._element).hasClass(en);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Ve(document).off(Je.FOCUSIN),Ve(this._element).removeClass(nn),Ve(this._element).off(Je.CLICK_DISMISS),Ve(this._dialog).off(Je.MOUSEDOWN_DISMISS),i){var r=gt.getTransitionDurationFromElement(this._element);Ve(this._element).one(gt.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){Ve.removeData(this._element,Ye),Ve(window,document,this._element,this._backdrop).off(Ge),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=c({},ze,t),gt.typeCheckConfig(Qe,t,Xe),t},t._showElement=function(t){var e=this,n=Ve(this._element).hasClass(en);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&gt.reflow(this._element),Ve(this._element).addClass(nn),this._config.focus&&this._enforceFocus();var i=Ve.Event(Je.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Ve(e._element).trigger(i)};if(n){var o=gt.getTransitionDurationFromElement(this._element);Ve(this._dialog).one(gt.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},t._enforceFocus=function(){var e=this;Ve(document).off(Je.FOCUSIN).on(Je.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===Ve(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?Ve(this._element).on(Je.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||Ve(this._element).off(Je.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?Ve(window).on(Je.RESIZE,function(t){return e.handleUpdate(t)}):Ve(window).off(Je.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){Ve(document.body).removeClass(tn),t._resetAdjustments(),t._resetScrollbar(),Ve(t._element).trigger(Je.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(Ve(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=Ve(this._element).hasClass(en)?en:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=$e,n&&Ve(this._backdrop).addClass(n),Ve(this._backdrop).appendTo(document.body),Ve(this._element).on(Je.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&gt.reflow(this._backdrop),Ve(this._backdrop).addClass(nn),!t)return;if(!n)return void t();var i=gt.getTransitionDurationFromElement(this._backdrop);Ve(this._backdrop).one(gt.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){Ve(this._backdrop).removeClass(nn);var r=function(){e._removeBackdrop(),t&&t()};if(Ve(this._element).hasClass(en)){var o=gt.getTransitionDurationFromElement(this._backdrop);Ve(this._backdrop).one(gt.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){Ve(rn.FIXED_CONTENT).each(function(t,e){var n=Ve(e)[0].style.paddingRight,i=Ve(e).css("padding-right");Ve(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),Ve(rn.STICKY_CONTENT).each(function(t,e){var n=Ve(e)[0].style.marginRight,i=Ve(e).css("margin-right");Ve(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")}),Ve(rn.NAVBAR_TOGGLER).each(function(t,e){var n=Ve(e)[0].style.marginRight,i=Ve(e).css("margin-right");Ve(e).data("margin-right",n).css("margin-right",parseFloat(i)+r._scrollbarWidth+"px")});var t=document.body.style.paddingRight,e=Ve(document.body).css("padding-right");Ve(document.body).data("padding-right",t).css("padding-right",parseFloat(e)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){Ve(rn.FIXED_CONTENT).each(function(t,e){var n=Ve(e).data("padding-right");"undefined"!=typeof n&&Ve(e).css("padding-right",n).removeData("padding-right")}),Ve(rn.STICKY_CONTENT+", "+rn.NAVBAR_TOGGLER).each(function(t,e){var n=Ve(e).data("margin-right");"undefined"!=typeof n&&Ve(e).css("margin-right",n).removeData("margin-right")});var t=Ve(document.body).data("padding-right");"undefined"!=typeof t&&Ve(document.body).css("padding-right",t).removeData("padding-right")},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Ze,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=Ve(this).data(Ye),e=c({},r.Default,Ve(this).data(),"object"==typeof n&&n);if(t||(t=new r(this,e),Ve(this).data(Ye,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return ze}}]),r}(),Ve(document).on(Je.CLICK_DATA_API,rn.DATA_TOGGLE,function(t){var e,n=this,i=gt.getSelectorFromElement(this);i&&(e=Ve(i)[0]);var r=Ve(e).data(Ye)?"toggle":c({},Ve(e).data(),Ve(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var o=Ve(e).one(Je.SHOW,function(t){t.isDefaultPrevented()||o.one(Je.HIDDEN,function(){Ve(n).is(":visible")&&n.focus()})});on._jQueryInterface.call(Ve(e),r,this)}),Ve.fn[Qe]=on._jQueryInterface,Ve.fn[Qe].Constructor=on,Ve.fn[Qe].noConflict=function(){return Ve.fn[Qe]=qe,on._jQueryInterface},on),Ci=(an="tooltip",cn="."+(ln="bs.tooltip"),fn=(sn=e).fn[an],hn="bs-tooltip",un=new RegExp("(^|\\s)"+hn+"\\S+","g"),gn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(pn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(dn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},_n="out",vn={HIDE:"hide"+cn,HIDDEN:"hidden"+cn,SHOW:(mn="show")+cn,SHOWN:"shown"+cn,INSERTED:"inserted"+cn,CLICK:"click"+cn,FOCUSIN:"focusin"+cn,FOCUSOUT:"focusout"+cn,MOUSEENTER:"mouseenter"+cn,MOUSELEAVE:"mouseleave"+cn},En="fade",yn="show",bn=".tooltip-inner",Tn=".arrow",Cn="hover",wn="focus",In="click",Dn="manual",An=function(){function i(t,e){if("undefined"==typeof pe)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=sn(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),sn(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(sn(this.getTipElement()).hasClass(yn))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),sn.removeData(this.element,this.constructor.DATA_KEY),sn(this.element).off(this.constructor.EVENT_KEY),sn(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&sn(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===sn(this.element).css("display"))throw new Error("Please use show on visible elements");var t=sn.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){sn(this.element).trigger(t);var n=sn.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=gt.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&sn(i).addClass(En);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:sn(this.config.container);sn(i).data(this.constructor.DATA_KEY,this),sn.contains(this.element.ownerDocument.documentElement,this.tip)||sn(i).appendTo(a),sn(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new pe(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Tn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),sn(i).addClass(yn),"ontouchstart"in document.documentElement&&sn(document.body).children().on("mouseover",null,sn.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,sn(e.element).trigger(e.constructor.Event.SHOWN),t===_n&&e._leave(null,e)};if(sn(this.tip).hasClass(En)){var c=gt.getTransitionDurationFromElement(this.tip);sn(this.tip).one(gt.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=sn.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==mn&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),sn(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(sn(this.element).trigger(i),!i.isDefaultPrevented()){if(sn(n).removeClass(yn),"ontouchstart"in document.documentElement&&sn(document.body).children().off("mouseover",null,sn.noop),this._activeTrigger[In]=!1,this._activeTrigger[wn]=!1,this._activeTrigger[Cn]=!1,sn(this.tip).hasClass(En)){var o=gt.getTransitionDurationFromElement(n);sn(n).one(gt.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){sn(this.getTipElement()).addClass(hn+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||sn(this.config.template)[0],this.tip},t.setContent=function(){var t=sn(this.getTipElement());this.setElementContent(t.find(bn),this.getTitle()),t.removeClass(En+" "+yn)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?sn(e).parent().is(t)||t.empty().append(e):t.text(sn(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return pn[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)sn(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Dn){var e=t===Cn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Cn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;sn(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}sn(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=c({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||sn(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),sn(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?wn:Cn]=!0),sn(e.getTipElement()).hasClass(yn)||e._hoverState===mn?e._hoverState=mn:(clearTimeout(e._timeout),e._hoverState=mn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===mn&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||sn(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),sn(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?wn:Cn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=_n,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===_n&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=c({},this.constructor.Default,sn(this.element).data(),t)).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),gt.typeCheckConfig(an,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=sn(this.getTipElement()),e=t.attr("class").match(un);null!==e&&0<e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(sn(t).removeClass(En),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=sn(this).data(ln),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),sn(this).data(ln,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return gn}},{key:"NAME",get:function(){return an}},{key:"DATA_KEY",get:function(){return ln}},{key:"Event",get:function(){return vn}},{key:"EVENT_KEY",get:function(){return cn}},{key:"DefaultType",get:function(){return dn}}]),i}(),sn.fn[an]=An._jQueryInterface,sn.fn[an].Constructor=An,sn.fn[an].noConflict=function(){return sn.fn[an]=fn,An._jQueryInterface},An),wi=(On="popover",kn="."+(Nn="bs.popover"),Ln=(Sn=e).fn[On],Pn="bs-popover",xn=new RegExp("(^|\\s)"+Pn+"\\S+","g"),jn=c({},Ci.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Rn=c({},Ci.DefaultType,{content:"(string|element|function)"}),Mn="fade",Wn=".popover-header",Fn=".popover-body",Un={HIDE:"hide"+kn,HIDDEN:"hidden"+kn,SHOW:(Hn="show")+kn,SHOWN:"shown"+kn,INSERTED:"inserted"+kn,CLICK:"click"+kn,FOCUSIN:"focusin"+kn,FOCUSOUT:"focusout"+kn,MOUSEENTER:"mouseenter"+kn,MOUSELEAVE:"mouseleave"+kn},Bn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Sn(this.getTipElement()).addClass(Pn+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Sn(this.config.template)[0],this.tip},r.setContent=function(){var t=Sn(this.getTipElement());this.setElementContent(t.find(Wn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Fn),e),t.removeClass(Mn+" "+Hn)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Sn(this.getTipElement()),e=t.attr("class").match(xn);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=Sn(this).data(Nn),e="object"==typeof n?n:null;if((t||!/destroy|hide/.test(n))&&(t||(t=new i(this,e),Sn(this).data(Nn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return jn}},{key:"NAME",get:function(){return On}},{key:"DATA_KEY",get:function(){return Nn}},{key:"Event",get:function(){return Un}},{key:"EVENT_KEY",get:function(){return kn}},{key:"DefaultType",get:function(){return Rn}}]),i}(Ci),Sn.fn[On]=Bn._jQueryInterface,Sn.fn[On].Constructor=Bn,Sn.fn[On].noConflict=function(){return Sn.fn[On]=Ln,Bn._jQueryInterface},Bn),Ii=(Vn="scrollspy",Yn="."+(Qn="bs.scrollspy"),Gn=(Kn=e).fn[Vn],qn={offset:10,method:"auto",target:""},zn={offset:"number",method:"string",target:"(string|element)"},Xn={ACTIVATE:"activate"+Yn,SCROLL:"scroll"+Yn,LOAD_DATA_API:"load"+Yn+".data-api"},Jn="dropdown-item",Zn="active",$n={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},ti="offset",ei="position",ni=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+$n.NAV_LINKS+","+this._config.target+" "+$n.LIST_ITEMS+","+this._config.target+" "+$n.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Kn(this._scrollElement).on(Xn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?ti:ei,r="auto"===this._config.method?t:this._config.method,o=r===ei?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),Kn.makeArray(Kn(this._selector)).map(function(t){var e,n=gt.getSelectorFromElement(t);if(n&&(e=Kn(n)[0]),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[Kn(e)[r]().top+o,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){Kn.removeData(this._element,Qn),Kn(this._scrollElement).off(Yn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=c({},qn,t)).target){var e=Kn(t.target).attr("id");e||(e=gt.getUID(Vn),Kn(t.target).attr("id",e)),t.target="#"+e}return gt.typeCheckConfig(Vn,t,zn),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=Kn(t.join(","));n.hasClass(Jn)?(n.closest($n.DROPDOWN).find($n.DROPDOWN_TOGGLE).addClass(Zn),n.addClass(Zn)):(n.addClass(Zn),n.parents($n.NAV_LIST_GROUP).prev($n.NAV_LINKS+", "+$n.LIST_ITEMS).addClass(Zn),n.parents($n.NAV_LIST_GROUP).prev($n.NAV_ITEMS).children($n.NAV_LINKS).addClass(Zn)),Kn(this._scrollElement).trigger(Xn.ACTIVATE,{relatedTarget:e})},t._clear=function(){Kn(this._selector).filter($n.ACTIVE).removeClass(Zn)},n._jQueryInterface=function(e){return this.each(function(){var t=Kn(this).data(Qn);if(t||(t=new n(this,"object"==typeof e&&e),Kn(this).data(Qn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return qn}}]),n}(),Kn(window).on(Xn.LOAD_DATA_API,function(){for(var t=Kn.makeArray(Kn($n.DATA_SPY)),e=t.length;e--;){var n=Kn(t[e]);ni._jQueryInterface.call(n,n.data())}}),Kn.fn[Vn]=ni._jQueryInterface,Kn.fn[Vn].Constructor=ni,Kn.fn[Vn].noConflict=function(){return Kn.fn[Vn]=Gn,ni._jQueryInterface},ni),Di=(oi="."+(ri="bs.tab"),si=(ii=e).fn.tab,ai={HIDE:"hide"+oi,HIDDEN:"hidden"+oi,SHOW:"show"+oi,SHOWN:"shown"+oi,CLICK_DATA_API:"click"+oi+".data-api"},li="dropdown-menu",ci="active",fi="disabled",hi="fade",ui="show",di=".dropdown",pi=".nav, .list-group",gi=".active",mi="> li > .active",_i='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',vi=".dropdown-toggle",Ei="> .dropdown-menu .active",yi=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&ii(this._element).hasClass(ci)||ii(this._element).hasClass(fi))){var t,i,e=ii(this._element).closest(pi)[0],r=gt.getSelectorFromElement(this._element);if(e){var o="UL"===e.nodeName?mi:gi;i=(i=ii.makeArray(ii(e).find(o)))[i.length-1]}var s=ii.Event(ai.HIDE,{relatedTarget:this._element}),a=ii.Event(ai.SHOW,{relatedTarget:i});if(i&&ii(i).trigger(s),ii(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(t=ii(r)[0]),this._activate(this._element,e);var l=function(){var t=ii.Event(ai.HIDDEN,{relatedTarget:n._element}),e=ii.Event(ai.SHOWN,{relatedTarget:i});ii(i).trigger(t),ii(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){ii.removeData(this._element,ri),this._element=null},t._activate=function(t,e,n){var i=this,r=("UL"===e.nodeName?ii(e).find(mi):ii(e).children(gi))[0],o=n&&r&&ii(r).hasClass(hi),s=function(){return i._transitionComplete(t,r,n)};if(r&&o){var a=gt.getTransitionDurationFromElement(r);ii(r).one(gt.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){ii(e).removeClass(ui+" "+ci);var i=ii(e.parentNode).find(Ei)[0];i&&ii(i).removeClass(ci),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(ii(t).addClass(ci),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),gt.reflow(t),ii(t).addClass(ui),t.parentNode&&ii(t.parentNode).hasClass(li)){var r=ii(t).closest(di)[0];r&&ii(r).find(vi).addClass(ci),t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=ii(this),e=t.data(ri);if(e||(e=new i(this),t.data(ri,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),i}(),ii(document).on(ai.CLICK_DATA_API,_i,function(t){t.preventDefault(),yi._jQueryInterface.call(ii(this),"show")}),ii.fn.tab=yi._jQueryInterface,ii.fn.tab.Constructor=yi,ii.fn.tab.noConflict=function(){return ii.fn.tab=si,yi._jQueryInterface},yi);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=gt,t.Alert=mt,t.Button=_t,t.Carousel=vt,t.Collapse=Et,t.Dropdown=bi,t.Modal=Ti,t.Popover=wi,t.Scrollspy=Ii,t.Tab=Di,t.Tooltip=Ci,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.bundle.min.js.map b/library/bootstrap/js/bootstrap.bundle.min.js.map
index c234ff2cd..130a70801 100644
--- a/library/bootstrap/js/bootstrap.bundle.min.js.map
+++ b/library/bootstrap/js/bootstrap.bundle.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../rollupPluginBabelHelpers","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_extends","assign","arguments","source","hasOwnProperty","call","apply","this","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","ClassName","Alert","DATA_API_KEY","Selector","Button","Util","transition","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","document","getElementById","element","selector","getAttribute","charAt","escapeSelector","substr","replace","find","err","offsetHeight","trigger","end","Boolean","obj","nodeType","componentName","config","configTypes","property","expectedTypes","value","valueType","isElement","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","window","QUnit","fn","emulateTransitionEnd","supportsTransitionEnd","event","special","is","handleObj","handler","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","closeEvent","CLOSE","removeClass","hasClass","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","noConflict","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","FOCUS_BLUR_DATA_API","Carousel","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","nextWhenVisible","hidden","css","prev","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","ACTIVE","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","reflow","_this3","action","slide","TypeError","_dataApiClickHandler","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","DATA_TOGGLE","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","not","startEvent","SHOW","dimension","_getDimension","style","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","isBrowser","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","getOffsetParent","offsetParent","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","isIE10","isIE10$1","appVersion","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","instance","createClass","defineProperties","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getBoundaries","popper","reference","padding","boundariesElement","relativeOffset","boundaries","innerWidth","innerHeight","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","getWindow","defaultView","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","onLoad","modifierOptions","Popper","requestAnimationFrame","update","isDestroyed","isCreated","enableEventListeners","removeChild","Utils","global","PopperUtils","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","boundary","_getPopperConfig","noop","destroy","CLICK","stopPropagation","constructor","_getPlacement","$parentDropdown","offsetConf","toggles","context","dropdownMenu","hideEvent","_dataApiKeydownHandler","items","get","KEYDOWN_DATA_API","KEYUP_DATA_API","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","ELEMENT_NODE","appendChild","display","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","animate","backdrop","doAnimate","createElement","className","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","_this9","STICKY_CONTENT","actualMargin","calculatedMargin","NAVBAR_TOGGLER","margin","scrollDiv","scrollbarWidth","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","_TRANSITION_DURATION","_cleanTipClass","getTitle","CLASS_PREFIX","template","$tip","setElementContent","content","empty","append","text","title","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","tabClass","join","initConfigAnimation","Popover","subClass","superClass","create","__proto__","_getContent","ScrollSpy","OffsetMethod","_scrollElement","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","version"],"mappings":"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","sourcesContent":["export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n let element = this._element\n // For dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n Util.supportsTransitionEnd() &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../rollupPluginBabelHelpers","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_objectSpread","arguments","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","obj","value","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","ClassName","Alert","DATA_API_KEY","Selector","Button","Default","DefaultType","Direction","Carousel","Dimension","Collapse","Util","TRANSITION_END","transitionEndEmulator","duration","_this","this","called","one","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","find","err","getTransitionDurationFromElement","transitionDuration","css","parseFloat","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","hasOwnProperty","call","expectedTypes","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","is","handleObj","handler","apply","CLOSE","CLOSED","CLICK_DATA_API","_element","_proto","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","get","on","noConflict","FOCUS_BLUR_DATA_API","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","interval","keyboard","slide","pause","wrap","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_this2","_keydown","documentElement","clearTimeout","tagName","which","makeArray","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","nextIndicator","children","addClass","directionalClassName","orderClassName","_this3","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","action","TypeError","_dataApiClickHandler","slideIndex","window","$carousel","SHOW","SHOWN","HIDE","HIDDEN","ACTIVES","DATA_TOGGLE","_isTransitioning","_triggerArray","id","tabToggles","elem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","slice","getBoundingClientRect","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","isBrowser","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","cache","isIE","version","undefined","appVersion","all","some","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","instance","createClass","defineProperties","_extends","assign","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isIE10","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","isModifierEnabled","modifierName","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","getWindow","defaultView","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","position","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","onLoad","modifierOptions","Popper","requestAnimationFrame","update","isDestroyed","isCreated","enableEventListeners","removeChild","Utils","global","PopperUtils","REGEXP_KEYDOWN","AttachmentMap","Dropdown","Modal","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","Tooltip","Popover","OffsetMethod","ScrollSpy","Tab","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","boundary","display","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","referenceElement","_getPopperConfig","noop","destroy","stopPropagation","constructor","_getPlacement","$parentDropdown","offsetConf","popperConfig","toggles","context","dropdownMenu","hideEvent","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","handleUpdate","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","_this4","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this9","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this10","animation","template","title","delay","AUTO","TOP","RIGHT","BOTTOM","LEFT","container","fallbackPlacement","INSERTED","FOCUSOUT","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_handlePopperPlacementChange","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","$tip","setElementContent","content","empty","append","text","eventIn","eventOut","_fixTitle","titleType","tabClass","join","initConfigAnimation","_Tooltip","subClass","superClass","create","__proto__","_getContent","method","ACTIVATE","SCROLL","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","scrollSpys","$spy","previous","listElement","itemSelector","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement"],"mappings":"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","sourcesContent":["export { _createClass as createClass, _defineProperty as defineProperty, _objectSpread as objectSpread, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Tells if you are running Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @argument {number} version to check\n * @returns {Boolean} isIE\n */\nvar cache = {};\n\nvar isIE = function () {\n var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';\n\n version = version.toString();\n if (cache.hasOwnProperty(version)) {\n return cache[version];\n }\n switch (version) {\n case '11':\n cache[version] = navigator.userAgent.indexOf('Trident') !== -1;\n break;\n case '10':\n cache[version] = navigator.appVersion.indexOf('MSIE 10') !== -1;\n break;\n case 'all':\n cache[version] = navigator.userAgent.indexOf('Trident') !== -1 || navigator.userAgent.indexOf('MSIE') !== -1;\n break;\n }\n\n //Set IE\n cache.all = cache.all || Object.keys(cache).some(function (key) {\n return cache[key];\n });\n return cache[version];\n};\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && parent.nodeName === 'HTML') {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0]) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(document.body).css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.js b/library/bootstrap/js/bootstrap.js
index 6d9549d99..546a94f85 100644
--- a/library/bootstrap/js/bootstrap.js
+++ b/library/bootstrap/js/bootstrap.js
@@ -1,3894 +1,3925 @@
/*!
- * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
- typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
- (factory((global.bootstrap = {}),global.jQuery,global.Popper));
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
+ typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
+ (factory((global.bootstrap = {}),global.jQuery,global.Popper));
}(this, (function (exports,$,Popper) { 'use strict';
-$ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
+ Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
-function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
-}
-
-function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
-}
-
-function _extends() {
- _extends = Object.assign || function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
-
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
+ function _defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
}
-
- return target;
- };
-
- return _extends.apply(this, arguments);
-}
-
-function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- subClass.__proto__ = superClass;
-}
-
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): util.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
-
-var Util = function ($$$1) {
- /**
- * ------------------------------------------------------------------------
- * Private TransitionEnd Helpers
- * ------------------------------------------------------------------------
- */
- var transition = false;
- var MAX_UID = 1000000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
-
- function toType(obj) {
- return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}
- function getSpecialTransitionEndEvent() {
- return {
- bindType: transition.end,
- delegateType: transition.end,
- handle: function handle(event) {
- if ($$$1(event.target).is(this)) {
- return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
- }
-
- return undefined; // eslint-disable-line no-undefined
- }
- };
+ function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
}
- function transitionEndTest() {
- if (typeof window !== 'undefined' && window.QUnit) {
- return false;
+ function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
}
- return {
- end: 'transitionend'
- };
+ return obj;
}
- function transitionEndEmulator(duration) {
- var _this = this;
+ function _objectSpread(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+ var ownKeys = Object.keys(source);
- var called = false;
- $$$1(this).one(Util.TRANSITION_END, function () {
- called = true;
- });
- setTimeout(function () {
- if (!called) {
- Util.triggerTransitionEnd(_this);
+ if (typeof Object.getOwnPropertySymbols === 'function') {
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
+ }));
}
- }, duration);
- return this;
- }
- function setTransitionEndSupport() {
- transition = transitionEndTest();
- $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
-
- if (Util.supportsTransitionEnd()) {
- $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+ ownKeys.forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
}
+
+ return target;
}
- function escapeId(selector) {
- // We escape IDs in case of special selectors (selector = '#myId:something')
- // $.escapeSelector does not exist in jQuery < 3
- selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1');
- return selector;
+ function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
}
+
/**
* --------------------------------------------------------------------------
- * Public Util Api
+ * Bootstrap (v4.1.0): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
+ var Util = function ($$$1) {
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+ var TRANSITION_END = 'transitionend';
+ var MAX_UID = 1000000;
+ var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
+
+ function toType(obj) {
+ return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
+ }
- var Util = {
- TRANSITION_END: 'bsTransitionEnd',
- getUID: function getUID(prefix) {
- do {
- // eslint-disable-next-line no-bitwise
- prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
- } while (document.getElementById(prefix));
+ function getSpecialTransitionEndEvent() {
+ return {
+ bindType: TRANSITION_END,
+ delegateType: TRANSITION_END,
+ handle: function handle(event) {
+ if ($$$1(event.target).is(this)) {
+ return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
+ }
+
+ return undefined; // eslint-disable-line no-undefined
+ }
+ };
+ }
- return prefix;
- },
- getSelectorFromElement: function getSelectorFromElement(element) {
- var selector = element.getAttribute('data-target');
+ function transitionEndEmulator(duration) {
+ var _this = this;
- if (!selector || selector === '#') {
- selector = element.getAttribute('href') || '';
- } // If it's an ID
+ var called = false;
+ $$$1(this).one(Util.TRANSITION_END, function () {
+ called = true;
+ });
+ setTimeout(function () {
+ if (!called) {
+ Util.triggerTransitionEnd(_this);
+ }
+ }, duration);
+ return this;
+ }
+ function setTransitionEndSupport() {
+ $$$1.fn.emulateTransitionEnd = transitionEndEmulator;
+ $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
+ }
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
- if (selector.charAt(0) === '#') {
- selector = escapeId(selector);
- }
- try {
- var $selector = $$$1(document).find(selector);
- return $selector.length > 0 ? selector : null;
- } catch (err) {
- return null;
- }
- },
- reflow: function reflow(element) {
- return element.offsetHeight;
- },
- triggerTransitionEnd: function triggerTransitionEnd(element) {
- $$$1(element).trigger(transition.end);
- },
- supportsTransitionEnd: function supportsTransitionEnd() {
- return Boolean(transition);
- },
- isElement: function isElement(obj) {
- return (obj[0] || obj).nodeType;
- },
- typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
- for (var property in configTypes) {
- if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
- var expectedTypes = configTypes[property];
- var value = config[property];
- var valueType = value && Util.isElement(value) ? 'element' : toType(value);
-
- if (!new RegExp(expectedTypes).test(valueType)) {
- throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+ var Util = {
+ TRANSITION_END: 'bsTransitionEnd',
+ getUID: function getUID(prefix) {
+ do {
+ // eslint-disable-next-line no-bitwise
+ prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
+ } while (document.getElementById(prefix));
+
+ return prefix;
+ },
+ getSelectorFromElement: function getSelectorFromElement(element) {
+ var selector = element.getAttribute('data-target');
+
+ if (!selector || selector === '#') {
+ selector = element.getAttribute('href') || '';
+ }
+
+ try {
+ var $selector = $$$1(document).find(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (err) {
+ return null;
+ }
+ },
+ getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
+ if (!element) {
+ return 0;
+ } // Get transition-duration of the element
+
+
+ var transitionDuration = $$$1(element).css('transition-duration');
+ var floatTransitionDuration = parseFloat(transitionDuration); // Return 0 if element or transition duration is not found
+
+ if (!floatTransitionDuration) {
+ return 0;
+ } // If multiple durations are defined, take the first
+
+
+ transitionDuration = transitionDuration.split(',')[0];
+ return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER;
+ },
+ reflow: function reflow(element) {
+ return element.offsetHeight;
+ },
+ triggerTransitionEnd: function triggerTransitionEnd(element) {
+ $$$1(element).trigger(TRANSITION_END);
+ },
+ // TODO: Remove in v5
+ supportsTransitionEnd: function supportsTransitionEnd() {
+ return Boolean(TRANSITION_END);
+ },
+ isElement: function isElement(obj) {
+ return (obj[0] || obj).nodeType;
+ },
+ typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
+ for (var property in configTypes) {
+ if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
+ var expectedTypes = configTypes[property];
+ var value = config[property];
+ var valueType = value && Util.isElement(value) ? 'element' : toType(value);
+
+ if (!new RegExp(expectedTypes).test(valueType)) {
+ throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+ }
}
}
}
- }
- };
- setTransitionEndSupport();
- return Util;
-}($);
-
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): alert.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
-
-var Alert = function ($$$1) {
+ };
+ setTransitionEndSupport();
+ return Util;
+ }($);
+
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'alert';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.alert';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 150;
- var Selector = {
- DISMISS: '[data-dismiss="alert"]'
- };
- var Event = {
- CLOSE: "close" + EVENT_KEY,
- CLOSED: "closed" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- ALERT: 'alert',
- FADE: 'fade',
- SHOW: 'show'
+
+ var Alert = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'alert';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.alert';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Selector = {
+ DISMISS: '[data-dismiss="alert"]'
+ };
+ var Event = {
+ CLOSE: "close" + EVENT_KEY,
+ CLOSED: "closed" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ ALERT: 'alert',
+ FADE: 'fade',
+ SHOW: 'show'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Alert =
- /*#__PURE__*/
- function () {
- function Alert(element) {
- this._element = element;
- } // Getters
+ var Alert =
+ /*#__PURE__*/
+ function () {
+ function Alert(element) {
+ this._element = element;
+ } // Getters
- var _proto = Alert.prototype;
+ var _proto = Alert.prototype;
- // Public
- _proto.close = function close(element) {
- element = element || this._element;
+ // Public
+ _proto.close = function close(element) {
+ element = element || this._element;
- var rootElement = this._getRootElement(element);
+ var rootElement = this._getRootElement(element);
- var customEvent = this._triggerCloseEvent(rootElement);
+ var customEvent = this._triggerCloseEvent(rootElement);
- if (customEvent.isDefaultPrevented()) {
- return;
- }
+ if (customEvent.isDefaultPrevented()) {
+ return;
+ }
- this._removeElement(rootElement);
- };
+ this._removeElement(rootElement);
+ };
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._element = null;
- }; // Private
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Private
- _proto._getRootElement = function _getRootElement(element) {
- var selector = Util.getSelectorFromElement(element);
- var parent = false;
+ _proto._getRootElement = function _getRootElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ var parent = false;
- if (selector) {
- parent = $$$1(selector)[0];
- }
+ if (selector) {
+ parent = $$$1(selector)[0];
+ }
- if (!parent) {
- parent = $$$1(element).closest("." + ClassName.ALERT)[0];
- }
+ if (!parent) {
+ parent = $$$1(element).closest("." + ClassName.ALERT)[0];
+ }
- return parent;
- };
+ return parent;
+ };
- _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
- var closeEvent = $$$1.Event(Event.CLOSE);
- $$$1(element).trigger(closeEvent);
- return closeEvent;
- };
+ _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
+ var closeEvent = $$$1.Event(Event.CLOSE);
+ $$$1(element).trigger(closeEvent);
+ return closeEvent;
+ };
- _proto._removeElement = function _removeElement(element) {
- var _this = this;
+ _proto._removeElement = function _removeElement(element) {
+ var _this = this;
- $$$1(element).removeClass(ClassName.SHOW);
+ $$$1(element).removeClass(ClassName.SHOW);
- if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) {
- this._destroyElement(element);
+ if (!$$$1(element).hasClass(ClassName.FADE)) {
+ this._destroyElement(element);
- return;
- }
+ return;
+ }
- $$$1(element).one(Util.TRANSITION_END, function (event) {
- return _this._destroyElement(element, event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- };
+ var transitionDuration = Util.getTransitionDurationFromElement(element);
+ $$$1(element).one(Util.TRANSITION_END, function (event) {
+ return _this._destroyElement(element, event);
+ }).emulateTransitionEnd(transitionDuration);
+ };
- _proto._destroyElement = function _destroyElement(element) {
- $$$1(element).detach().trigger(Event.CLOSED).remove();
- }; // Static
+ _proto._destroyElement = function _destroyElement(element) {
+ $$$1(element).detach().trigger(Event.CLOSED).remove();
+ }; // Static
- Alert._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $element = $$$1(this);
- var data = $element.data(DATA_KEY);
+ Alert._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $$$1(this);
+ var data = $element.data(DATA_KEY);
- if (!data) {
- data = new Alert(this);
- $element.data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new Alert(this);
+ $element.data(DATA_KEY, data);
+ }
- if (config === 'close') {
- data[config](this);
- }
- });
- };
+ if (config === 'close') {
+ data[config](this);
+ }
+ });
+ };
- Alert._handleDismiss = function _handleDismiss(alertInstance) {
- return function (event) {
- if (event) {
- event.preventDefault();
- }
+ Alert._handleDismiss = function _handleDismiss(alertInstance) {
+ return function (event) {
+ if (event) {
+ event.preventDefault();
+ }
- alertInstance.close(this);
+ alertInstance.close(this);
+ };
};
- };
- _createClass(Alert, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }]);
- return Alert;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ _createClass(Alert, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }]);
+ return Alert;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
- $$$1.fn[NAME] = Alert._jQueryInterface;
- $$$1.fn[NAME].Constructor = Alert;
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Alert._jQueryInterface;
- };
+ $$$1.fn[NAME] = Alert._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Alert;
- return Alert;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Alert._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): button.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Alert;
+ }($);
-var Button = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'button';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.button';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var ClassName = {
- ACTIVE: 'active',
- BUTTON: 'btn',
- FOCUS: 'focus'
- };
- var Selector = {
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
- DATA_TOGGLE: '[data-toggle="buttons"]',
- INPUT: 'input',
- ACTIVE: '.active',
- BUTTON: '.btn'
- };
- var Event = {
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
+
+ var Button = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'button';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.button';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ClassName = {
+ ACTIVE: 'active',
+ BUTTON: 'btn',
+ FOCUS: 'focus'
+ };
+ var Selector = {
+ DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
+ DATA_TOGGLE: '[data-toggle="buttons"]',
+ INPUT: 'input',
+ ACTIVE: '.active',
+ BUTTON: '.btn'
+ };
+ var Event = {
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+ FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY + DATA_API_KEY + " " + ("blur" + EVENT_KEY + DATA_API_KEY)
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Button =
- /*#__PURE__*/
- function () {
- function Button(element) {
- this._element = element;
- } // Getters
+ var Button =
+ /*#__PURE__*/
+ function () {
+ function Button(element) {
+ this._element = element;
+ } // Getters
- var _proto = Button.prototype;
+ var _proto = Button.prototype;
- // Public
- _proto.toggle = function toggle() {
- var triggerChangeEvent = true;
- var addAriaPressed = true;
- var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
+ // Public
+ _proto.toggle = function toggle() {
+ var triggerChangeEvent = true;
+ var addAriaPressed = true;
+ var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0];
- if (rootElement) {
- var input = $$$1(this._element).find(Selector.INPUT)[0];
+ if (rootElement) {
+ var input = $$$1(this._element).find(Selector.INPUT)[0];
- if (input) {
- if (input.type === 'radio') {
- if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
- triggerChangeEvent = false;
- } else {
- var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
+ if (input) {
+ if (input.type === 'radio') {
+ if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) {
+ triggerChangeEvent = false;
+ } else {
+ var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0];
- if (activeElement) {
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ if (activeElement) {
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ }
}
}
- }
- if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
- return;
+ if (triggerChangeEvent) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ return;
+ }
+
+ input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
+ $$$1(input).trigger('change');
}
- input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE);
- $$$1(input).trigger('change');
+ input.focus();
+ addAriaPressed = false;
}
+ }
- input.focus();
- addAriaPressed = false;
+ if (addAriaPressed) {
+ this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
}
- }
- if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE));
- }
+ if (triggerChangeEvent) {
+ $$$1(this._element).toggleClass(ClassName.ACTIVE);
+ }
+ };
- if (triggerChangeEvent) {
- $$$1(this._element).toggleClass(ClassName.ACTIVE);
- }
- };
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Static
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._element = null;
- }; // Static
+ Button._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- Button._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ if (!data) {
+ data = new Button(this);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (!data) {
- data = new Button(this);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (config === 'toggle') {
+ data[config]();
+ }
+ });
+ };
- if (config === 'toggle') {
- data[config]();
+ _createClass(Button, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
-
- _createClass(Button, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }]);
- return Button;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ }]);
+ return Button;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
- event.preventDefault();
- var button = event.target;
- if (!$$$1(button).hasClass(ClassName.BUTTON)) {
- button = $$$1(button).closest(Selector.BUTTON);
- }
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ event.preventDefault();
+ var button = event.target;
- Button._jQueryInterface.call($$$1(button), 'toggle');
- }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
- var button = $$$1(event.target).closest(Selector.BUTTON)[0];
- $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ if (!$$$1(button).hasClass(ClassName.BUTTON)) {
+ button = $$$1(button).closest(Selector.BUTTON);
+ }
- $$$1.fn[NAME] = Button._jQueryInterface;
- $$$1.fn[NAME].Constructor = Button;
+ Button._jQueryInterface.call($$$1(button), 'toggle');
+ }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
+ var button = $$$1(event.target).closest(Selector.BUTTON)[0];
+ $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Button._jQueryInterface;
- };
+ $$$1.fn[NAME] = Button._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Button;
- return Button;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Button._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): carousel.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Button;
+ }($);
-var Carousel = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'carousel';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.carousel';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 600;
- var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
-
- var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
-
- var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
-
- var Default = {
- interval: 5000,
- keyboard: true,
- slide: false,
- pause: 'hover',
- wrap: true
- };
- var DefaultType = {
- interval: '(number|boolean)',
- keyboard: 'boolean',
- slide: '(boolean|string)',
- pause: '(string|boolean)',
- wrap: 'boolean'
- };
- var Direction = {
- NEXT: 'next',
- PREV: 'prev',
- LEFT: 'left',
- RIGHT: 'right'
- };
- var Event = {
- SLIDE: "slide" + EVENT_KEY,
- SLID: "slid" + EVENT_KEY,
- KEYDOWN: "keydown" + EVENT_KEY,
- MOUSEENTER: "mouseenter" + EVENT_KEY,
- MOUSELEAVE: "mouseleave" + EVENT_KEY,
- TOUCHEND: "touchend" + EVENT_KEY,
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- CAROUSEL: 'carousel',
- ACTIVE: 'active',
- SLIDE: 'slide',
- RIGHT: 'carousel-item-right',
- LEFT: 'carousel-item-left',
- NEXT: 'carousel-item-next',
- PREV: 'carousel-item-prev',
- ITEM: 'carousel-item'
- };
- var Selector = {
- ACTIVE: '.active',
- ACTIVE_ITEM: '.active.carousel-item',
- ITEM: '.carousel-item',
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
- INDICATORS: '.carousel-indicators',
- DATA_SLIDE: '[data-slide], [data-slide-to]',
- DATA_RIDE: '[data-ride="carousel"]'
+
+ var Carousel = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'carousel';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.carousel';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
+
+ var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
+
+ var Default = {
+ interval: 5000,
+ keyboard: true,
+ slide: false,
+ pause: 'hover',
+ wrap: true
+ };
+ var DefaultType = {
+ interval: '(number|boolean)',
+ keyboard: 'boolean',
+ slide: '(boolean|string)',
+ pause: '(string|boolean)',
+ wrap: 'boolean'
+ };
+ var Direction = {
+ NEXT: 'next',
+ PREV: 'prev',
+ LEFT: 'left',
+ RIGHT: 'right'
+ };
+ var Event = {
+ SLIDE: "slide" + EVENT_KEY,
+ SLID: "slid" + EVENT_KEY,
+ KEYDOWN: "keydown" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY,
+ TOUCHEND: "touchend" + EVENT_KEY,
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ CAROUSEL: 'carousel',
+ ACTIVE: 'active',
+ SLIDE: 'slide',
+ RIGHT: 'carousel-item-right',
+ LEFT: 'carousel-item-left',
+ NEXT: 'carousel-item-next',
+ PREV: 'carousel-item-prev',
+ ITEM: 'carousel-item'
+ };
+ var Selector = {
+ ACTIVE: '.active',
+ ACTIVE_ITEM: '.active.carousel-item',
+ ITEM: '.carousel-item',
+ NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
+ INDICATORS: '.carousel-indicators',
+ DATA_SLIDE: '[data-slide], [data-slide-to]',
+ DATA_RIDE: '[data-ride="carousel"]'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
-
- var Carousel =
- /*#__PURE__*/
- function () {
- function Carousel(element, config) {
- this._items = null;
- this._interval = null;
- this._activeElement = null;
- this._isPaused = false;
- this._isSliding = false;
- this.touchTimeout = null;
- this._config = this._getConfig(config);
- this._element = $$$1(element)[0];
- this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
-
- this._addEventListeners();
- } // Getters
+ };
+ var Carousel =
+ /*#__PURE__*/
+ function () {
+ function Carousel(element, config) {
+ this._items = null;
+ this._interval = null;
+ this._activeElement = null;
+ this._isPaused = false;
+ this._isSliding = false;
+ this.touchTimeout = null;
+ this._config = this._getConfig(config);
+ this._element = $$$1(element)[0];
+ this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0];
- var _proto = Carousel.prototype;
+ this._addEventListeners();
+ } // Getters
- // Public
- _proto.next = function next() {
- if (!this._isSliding) {
- this._slide(Direction.NEXT);
- }
- };
- _proto.nextWhenVisible = function nextWhenVisible() {
- // Don't call next when the page isn't visible
- // or the carousel or its parent isn't visible
- if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
- this.next();
- }
- };
+ var _proto = Carousel.prototype;
- _proto.prev = function prev() {
- if (!this._isSliding) {
- this._slide(Direction.PREV);
- }
- };
+ // Public
+ _proto.next = function next() {
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT);
+ }
+ };
- _proto.pause = function pause(event) {
- if (!event) {
- this._isPaused = true;
- }
+ _proto.nextWhenVisible = function nextWhenVisible() {
+ // Don't call next when the page isn't visible
+ // or the carousel or its parent isn't visible
+ if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') {
+ this.next();
+ }
+ };
- if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {
- Util.triggerTransitionEnd(this._element);
- this.cycle(true);
- }
+ _proto.prev = function prev() {
+ if (!this._isSliding) {
+ this._slide(Direction.PREV);
+ }
+ };
- clearInterval(this._interval);
- this._interval = null;
- };
+ _proto.pause = function pause(event) {
+ if (!event) {
+ this._isPaused = true;
+ }
- _proto.cycle = function cycle(event) {
- if (!event) {
- this._isPaused = false;
- }
+ if ($$$1(this._element).find(Selector.NEXT_PREV)[0]) {
+ Util.triggerTransitionEnd(this._element);
+ this.cycle(true);
+ }
- if (this._interval) {
clearInterval(this._interval);
this._interval = null;
- }
+ };
- if (this._config.interval && !this._isPaused) {
- this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
- }
- };
+ _proto.cycle = function cycle(event) {
+ if (!event) {
+ this._isPaused = false;
+ }
- _proto.to = function to(index) {
- var _this = this;
+ if (this._interval) {
+ clearInterval(this._interval);
+ this._interval = null;
+ }
+
+ if (this._config.interval && !this._isPaused) {
+ this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
+ }
+ };
- this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
+ _proto.to = function to(index) {
+ var _this = this;
- var activeIndex = this._getItemIndex(this._activeElement);
+ this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
- if (index > this._items.length - 1 || index < 0) {
- return;
- }
+ var activeIndex = this._getItemIndex(this._activeElement);
- if (this._isSliding) {
- $$$1(this._element).one(Event.SLID, function () {
- return _this.to(index);
- });
- return;
- }
+ if (index > this._items.length - 1 || index < 0) {
+ return;
+ }
- if (activeIndex === index) {
- this.pause();
- this.cycle();
- return;
- }
+ if (this._isSliding) {
+ $$$1(this._element).one(Event.SLID, function () {
+ return _this.to(index);
+ });
+ return;
+ }
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
+ if (activeIndex === index) {
+ this.pause();
+ this.cycle();
+ return;
+ }
- this._slide(direction, this._items[index]);
- };
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
- _proto.dispose = function dispose() {
- $$$1(this._element).off(EVENT_KEY);
- $$$1.removeData(this._element, DATA_KEY);
- this._items = null;
- this._config = null;
- this._element = null;
- this._interval = null;
- this._isPaused = null;
- this._isSliding = null;
- this._activeElement = null;
- this._indicatorsElement = null;
- }; // Private
-
-
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ this._slide(direction, this._items[index]);
+ };
- _proto._addEventListeners = function _addEventListeners() {
- var _this2 = this;
+ _proto.dispose = function dispose() {
+ $$$1(this._element).off(EVENT_KEY);
+ $$$1.removeData(this._element, DATA_KEY);
+ this._items = null;
+ this._config = null;
+ this._element = null;
+ this._interval = null;
+ this._isPaused = null;
+ this._isSliding = null;
+ this._activeElement = null;
+ this._indicatorsElement = null;
+ }; // Private
- if (this._config.keyboard) {
- $$$1(this._element).on(Event.KEYDOWN, function (event) {
- return _this2._keydown(event);
- });
- }
- if (this._config.pause === 'hover') {
- $$$1(this._element).on(Event.MOUSEENTER, function (event) {
- return _this2.pause(event);
- }).on(Event.MOUSELEAVE, function (event) {
- return _this2.cycle(event);
- });
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
- if ('ontouchstart' in document.documentElement) {
- // If it's a touch-enabled device, mouseenter/leave are fired as
- // part of the mouse compatibility events on first tap - the carousel
- // would stop cycling until user tapped out of it;
- // here, we listen for touchend, explicitly pause the carousel
- // (as if it's the second time we tap on it, mouseenter compat event
- // is NOT fired) and after a timeout (to allow for mouse compatibility
- // events to fire) we explicitly restart cycling
- $$$1(this._element).on(Event.TOUCHEND, function () {
- _this2.pause();
-
- if (_this2.touchTimeout) {
- clearTimeout(_this2.touchTimeout);
- }
+ _proto._addEventListeners = function _addEventListeners() {
+ var _this2 = this;
- _this2.touchTimeout = setTimeout(function (event) {
- return _this2.cycle(event);
- }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ if (this._config.keyboard) {
+ $$$1(this._element).on(Event.KEYDOWN, function (event) {
+ return _this2._keydown(event);
});
}
- }
- };
- _proto._keydown = function _keydown(event) {
- if (/input|textarea/i.test(event.target.tagName)) {
- return;
- }
+ if (this._config.pause === 'hover') {
+ $$$1(this._element).on(Event.MOUSEENTER, function (event) {
+ return _this2.pause(event);
+ }).on(Event.MOUSELEAVE, function (event) {
+ return _this2.cycle(event);
+ });
- switch (event.which) {
- case ARROW_LEFT_KEYCODE:
- event.preventDefault();
- this.prev();
- break;
+ if ('ontouchstart' in document.documentElement) {
+ // If it's a touch-enabled device, mouseenter/leave are fired as
+ // part of the mouse compatibility events on first tap - the carousel
+ // would stop cycling until user tapped out of it;
+ // here, we listen for touchend, explicitly pause the carousel
+ // (as if it's the second time we tap on it, mouseenter compat event
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
+ // events to fire) we explicitly restart cycling
+ $$$1(this._element).on(Event.TOUCHEND, function () {
+ _this2.pause();
+
+ if (_this2.touchTimeout) {
+ clearTimeout(_this2.touchTimeout);
+ }
- case ARROW_RIGHT_KEYCODE:
- event.preventDefault();
- this.next();
- break;
+ _this2.touchTimeout = setTimeout(function (event) {
+ return _this2.cycle(event);
+ }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ });
+ }
+ }
+ };
- default:
- }
- };
+ _proto._keydown = function _keydown(event) {
+ if (/input|textarea/i.test(event.target.tagName)) {
+ return;
+ }
- _proto._getItemIndex = function _getItemIndex(element) {
- this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
- return this._items.indexOf(element);
- };
+ switch (event.which) {
+ case ARROW_LEFT_KEYCODE:
+ event.preventDefault();
+ this.prev();
+ break;
+
+ case ARROW_RIGHT_KEYCODE:
+ event.preventDefault();
+ this.next();
+ break;
- _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
- var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREV;
+ default:
+ }
+ };
- var activeIndex = this._getItemIndex(activeElement);
+ _proto._getItemIndex = function _getItemIndex(element) {
+ this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM));
+ return this._items.indexOf(element);
+ };
- var lastItemIndex = this._items.length - 1;
- var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
+ _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
+ var isNextDirection = direction === Direction.NEXT;
+ var isPrevDirection = direction === Direction.PREV;
- if (isGoingToWrap && !this._config.wrap) {
- return activeElement;
- }
+ var activeIndex = this._getItemIndex(activeElement);
- var delta = direction === Direction.PREV ? -1 : 1;
- var itemIndex = (activeIndex + delta) % this._items.length;
- return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
- };
+ var lastItemIndex = this._items.length - 1;
+ var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
- _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
- var targetIndex = this._getItemIndex(relatedTarget);
+ if (isGoingToWrap && !this._config.wrap) {
+ return activeElement;
+ }
- var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
+ var delta = direction === Direction.PREV ? -1 : 1;
+ var itemIndex = (activeIndex + delta) % this._items.length;
+ return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
+ };
- var slideEvent = $$$1.Event(Event.SLIDE, {
- relatedTarget: relatedTarget,
- direction: eventDirectionName,
- from: fromIndex,
- to: targetIndex
- });
- $$$1(this._element).trigger(slideEvent);
- return slideEvent;
- };
+ _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var targetIndex = this._getItemIndex(relatedTarget);
- _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
- if (this._indicatorsElement) {
- $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]);
- var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+ var slideEvent = $$$1.Event(Event.SLIDE, {
+ relatedTarget: relatedTarget,
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
+ });
+ $$$1(this._element).trigger(slideEvent);
+ return slideEvent;
+ };
+
+ _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
+ if (this._indicatorsElement) {
+ $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
- if (nextIndicator) {
- $$$1(nextIndicator).addClass(ClassName.ACTIVE);
+ var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
+
+ if (nextIndicator) {
+ $$$1(nextIndicator).addClass(ClassName.ACTIVE);
+ }
}
- }
- };
+ };
- _proto._slide = function _slide(direction, element) {
- var _this3 = this;
+ _proto._slide = function _slide(direction, element) {
+ var _this3 = this;
- var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0];
- var activeElementIndex = this._getItemIndex(activeElement);
+ var activeElementIndex = this._getItemIndex(activeElement);
- var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
+ var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
- var nextElementIndex = this._getItemIndex(nextElement);
+ var nextElementIndex = this._getItemIndex(nextElement);
- var isCycling = Boolean(this._interval);
- var directionalClassName;
- var orderClassName;
- var eventDirectionName;
+ var isCycling = Boolean(this._interval);
+ var directionalClassName;
+ var orderClassName;
+ var eventDirectionName;
- if (direction === Direction.NEXT) {
- directionalClassName = ClassName.LEFT;
- orderClassName = ClassName.NEXT;
- eventDirectionName = Direction.LEFT;
- } else {
- directionalClassName = ClassName.RIGHT;
- orderClassName = ClassName.PREV;
- eventDirectionName = Direction.RIGHT;
- }
+ if (direction === Direction.NEXT) {
+ directionalClassName = ClassName.LEFT;
+ orderClassName = ClassName.NEXT;
+ eventDirectionName = Direction.LEFT;
+ } else {
+ directionalClassName = ClassName.RIGHT;
+ orderClassName = ClassName.PREV;
+ eventDirectionName = Direction.RIGHT;
+ }
- if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
- this._isSliding = false;
- return;
- }
+ if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) {
+ this._isSliding = false;
+ return;
+ }
- var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
+ var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
- if (slideEvent.isDefaultPrevented()) {
- return;
- }
+ if (slideEvent.isDefaultPrevented()) {
+ return;
+ }
- if (!activeElement || !nextElement) {
- // Some weirdness is happening, so we bail
- return;
- }
+ if (!activeElement || !nextElement) {
+ // Some weirdness is happening, so we bail
+ return;
+ }
- this._isSliding = true;
+ this._isSliding = true;
- if (isCycling) {
- this.pause();
- }
+ if (isCycling) {
+ this.pause();
+ }
- this._setActiveIndicatorElement(nextElement);
+ this._setActiveIndicatorElement(nextElement);
- var slidEvent = $$$1.Event(Event.SLID, {
- relatedTarget: nextElement,
- direction: eventDirectionName,
- from: activeElementIndex,
- to: nextElementIndex
- });
+ var slidEvent = $$$1.Event(Event.SLID, {
+ relatedTarget: nextElement,
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
+ });
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) {
- $$$1(nextElement).addClass(orderClassName);
- Util.reflow(nextElement);
- $$$1(activeElement).addClass(directionalClassName);
- $$$1(nextElement).addClass(directionalClassName);
- $$$1(activeElement).one(Util.TRANSITION_END, function () {
- $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
- $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
- _this3._isSliding = false;
- setTimeout(function () {
- return $$$1(_this3._element).trigger(slidEvent);
- }, 0);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- $$$1(activeElement).removeClass(ClassName.ACTIVE);
- $$$1(nextElement).addClass(ClassName.ACTIVE);
- this._isSliding = false;
- $$$1(this._element).trigger(slidEvent);
- }
+ if ($$$1(this._element).hasClass(ClassName.SLIDE)) {
+ $$$1(nextElement).addClass(orderClassName);
+ Util.reflow(nextElement);
+ $$$1(activeElement).addClass(directionalClassName);
+ $$$1(nextElement).addClass(directionalClassName);
+ var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
+ $$$1(activeElement).one(Util.TRANSITION_END, function () {
+ $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE);
+ $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName);
+ _this3._isSliding = false;
+ setTimeout(function () {
+ return $$$1(_this3._element).trigger(slidEvent);
+ }, 0);
+ }).emulateTransitionEnd(transitionDuration);
+ } else {
+ $$$1(activeElement).removeClass(ClassName.ACTIVE);
+ $$$1(nextElement).addClass(ClassName.ACTIVE);
+ this._isSliding = false;
+ $$$1(this._element).trigger(slidEvent);
+ }
- if (isCycling) {
- this.cycle();
- }
- }; // Static
+ if (isCycling) {
+ this.cycle();
+ }
+ }; // Static
- Carousel._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ Carousel._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- var _config = _extends({}, Default, $$$1(this).data());
+ var _config = _objectSpread({}, Default, $$$1(this).data());
- if (typeof config === 'object') {
- _config = _extends({}, _config, config);
- }
+ if (typeof config === 'object') {
+ _config = _objectSpread({}, _config, config);
+ }
- var action = typeof config === 'string' ? config : _config.slide;
+ var action = typeof config === 'string' ? config : _config.slide;
- if (!data) {
- data = new Carousel(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new Carousel(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (typeof config === 'number') {
- data.to(config);
- } else if (typeof action === 'string') {
- if (typeof data[action] === 'undefined') {
- throw new TypeError("No method named \"" + action + "\"");
+ if (typeof config === 'number') {
+ data.to(config);
+ } else if (typeof action === 'string') {
+ if (typeof data[action] === 'undefined') {
+ throw new TypeError("No method named \"" + action + "\"");
+ }
+
+ data[action]();
+ } else if (_config.interval) {
+ data.pause();
+ data.cycle();
}
+ });
+ };
+
+ Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
+ var selector = Util.getSelectorFromElement(this);
- data[action]();
- } else if (_config.interval) {
- data.pause();
- data.cycle();
+ if (!selector) {
+ return;
}
- });
- };
- Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
- var selector = Util.getSelectorFromElement(this);
+ var target = $$$1(selector)[0];
- if (!selector) {
- return;
- }
+ if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
+ return;
+ }
- var target = $$$1(selector)[0];
+ var config = _objectSpread({}, $$$1(target).data(), $$$1(this).data());
- if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) {
- return;
- }
+ var slideIndex = this.getAttribute('data-slide-to');
- var config = _extends({}, $$$1(target).data(), $$$1(this).data());
- var slideIndex = this.getAttribute('data-slide-to');
+ if (slideIndex) {
+ config.interval = false;
+ }
- if (slideIndex) {
- config.interval = false;
- }
+ Carousel._jQueryInterface.call($$$1(target), config);
- Carousel._jQueryInterface.call($$$1(target), config);
+ if (slideIndex) {
+ $$$1(target).data(DATA_KEY).to(slideIndex);
+ }
- if (slideIndex) {
- $$$1(target).data(DATA_KEY).to(slideIndex);
- }
+ event.preventDefault();
+ };
- event.preventDefault();
- };
+ _createClass(Carousel, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
- _createClass(Carousel, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
- return Carousel;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ return Carousel;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
- $$$1(window).on(Event.LOAD_DATA_API, function () {
- $$$1(Selector.DATA_RIDE).each(function () {
- var $carousel = $$$1(this);
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
+ $$$1(Selector.DATA_RIDE).each(function () {
+ var $carousel = $$$1(this);
- Carousel._jQueryInterface.call($carousel, $carousel.data());
+ Carousel._jQueryInterface.call($carousel, $carousel.data());
+ });
});
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
- $$$1.fn[NAME] = Carousel._jQueryInterface;
- $$$1.fn[NAME].Constructor = Carousel;
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Carousel._jQueryInterface;
- };
+ $$$1.fn[NAME] = Carousel._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Carousel;
- return Carousel;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Carousel._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): collapse.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Carousel;
+ }($);
-var Collapse = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'collapse';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.collapse';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 600;
- var Default = {
- toggle: true,
- parent: ''
- };
- var DefaultType = {
- toggle: 'boolean',
- parent: '(string|element)'
- };
- var Event = {
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- SHOW: 'show',
- COLLAPSE: 'collapse',
- COLLAPSING: 'collapsing',
- COLLAPSED: 'collapsed'
- };
- var Dimension = {
- WIDTH: 'width',
- HEIGHT: 'height'
- };
- var Selector = {
- ACTIVES: '.show, .collapsing',
- DATA_TOGGLE: '[data-toggle="collapse"]'
+
+ var Collapse = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'collapse';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.collapse';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Default = {
+ toggle: true,
+ parent: ''
+ };
+ var DefaultType = {
+ toggle: 'boolean',
+ parent: '(string|element)'
+ };
+ var Event = {
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ SHOW: 'show',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed'
+ };
+ var Dimension = {
+ WIDTH: 'width',
+ HEIGHT: 'height'
+ };
+ var Selector = {
+ ACTIVES: '.show, .collapsing',
+ DATA_TOGGLE: '[data-toggle="collapse"]'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Collapse =
- /*#__PURE__*/
- function () {
- function Collapse(element, config) {
- this._isTransitioning = false;
- this._element = element;
- this._config = this._getConfig(config);
- this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
- var tabToggles = $$$1(Selector.DATA_TOGGLE);
+ var Collapse =
+ /*#__PURE__*/
+ function () {
+ function Collapse(element, config) {
+ this._isTransitioning = false;
+ this._element = element;
+ this._config = this._getConfig(config);
+ this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
+ var tabToggles = $$$1(Selector.DATA_TOGGLE);
- for (var i = 0; i < tabToggles.length; i++) {
- var elem = tabToggles[i];
- var selector = Util.getSelectorFromElement(elem);
+ for (var i = 0; i < tabToggles.length; i++) {
+ var elem = tabToggles[i];
+ var selector = Util.getSelectorFromElement(elem);
- if (selector !== null && $$$1(selector).filter(element).length > 0) {
- this._selector = selector;
+ if (selector !== null && $$$1(selector).filter(element).length > 0) {
+ this._selector = selector;
- this._triggerArray.push(elem);
+ this._triggerArray.push(elem);
+ }
}
- }
- this._parent = this._config.parent ? this._getParent() : null;
+ this._parent = this._config.parent ? this._getParent() : null;
- if (!this._config.parent) {
- this._addAriaAndCollapsedClass(this._element, this._triggerArray);
- }
+ if (!this._config.parent) {
+ this._addAriaAndCollapsedClass(this._element, this._triggerArray);
+ }
- if (this._config.toggle) {
- this.toggle();
- }
- } // Getters
+ if (this._config.toggle) {
+ this.toggle();
+ }
+ } // Getters
- var _proto = Collapse.prototype;
+ var _proto = Collapse.prototype;
- // Public
- _proto.toggle = function toggle() {
- if ($$$1(this._element).hasClass(ClassName.SHOW)) {
- this.hide();
- } else {
- this.show();
- }
- };
+ // Public
+ _proto.toggle = function toggle() {
+ if ($$$1(this._element).hasClass(ClassName.SHOW)) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ };
- _proto.show = function show() {
- var _this = this;
+ _proto.show = function show() {
+ var _this = this;
- if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
- return;
- }
+ if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
- var actives;
- var activesData;
+ var actives;
+ var activesData;
- if (this._parent) {
- actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
+ if (this._parent) {
+ actives = $$$1.makeArray($$$1(this._parent).find(Selector.ACTIVES).filter("[data-parent=\"" + this._config.parent + "\"]"));
- if (actives.length === 0) {
- actives = null;
+ if (actives.length === 0) {
+ actives = null;
+ }
}
- }
- if (actives) {
- activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
+ if (actives) {
+ activesData = $$$1(actives).not(this._selector).data(DATA_KEY);
- if (activesData && activesData._isTransitioning) {
- return;
+ if (activesData && activesData._isTransitioning) {
+ return;
+ }
}
- }
- var startEvent = $$$1.Event(Event.SHOW);
- $$$1(this._element).trigger(startEvent);
+ var startEvent = $$$1.Event(Event.SHOW);
+ $$$1(this._element).trigger(startEvent);
- if (startEvent.isDefaultPrevented()) {
- return;
- }
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
- if (actives) {
- Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
+ if (actives) {
+ Collapse._jQueryInterface.call($$$1(actives).not(this._selector), 'hide');
- if (!activesData) {
- $$$1(actives).data(DATA_KEY, null);
+ if (!activesData) {
+ $$$1(actives).data(DATA_KEY, null);
+ }
}
- }
-
- var dimension = this._getDimension();
- $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
- this._element.style[dimension] = 0;
+ var dimension = this._getDimension();
- if (this._triggerArray.length > 0) {
- $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
- }
+ $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
+ this._element.style[dimension] = 0;
- this.setTransitioning(true);
+ if (this._triggerArray.length > 0) {
+ $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
+ }
- var complete = function complete() {
- $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
- _this._element.style[dimension] = '';
+ this.setTransitioning(true);
- _this.setTransitioning(false);
+ var complete = function complete() {
+ $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW);
+ _this._element.style[dimension] = '';
- $$$1(_this._element).trigger(Event.SHOWN);
- };
+ _this.setTransitioning(false);
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
+ $$$1(_this._element).trigger(Event.SHOWN);
+ };
- var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
- var scrollSize = "scroll" + capitalizedDimension;
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- this._element.style[dimension] = this._element[scrollSize] + "px";
- };
+ var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
+ var scrollSize = "scroll" + capitalizedDimension;
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ this._element.style[dimension] = this._element[scrollSize] + "px";
+ };
- _proto.hide = function hide() {
- var _this2 = this;
+ _proto.hide = function hide() {
+ var _this2 = this;
- if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
- return;
- }
+ if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) {
+ return;
+ }
- var startEvent = $$$1.Event(Event.HIDE);
- $$$1(this._element).trigger(startEvent);
+ var startEvent = $$$1.Event(Event.HIDE);
+ $$$1(this._element).trigger(startEvent);
- if (startEvent.isDefaultPrevented()) {
- return;
- }
+ if (startEvent.isDefaultPrevented()) {
+ return;
+ }
- var dimension = this._getDimension();
+ var dimension = this._getDimension();
- this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
- Util.reflow(this._element);
- $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
+ Util.reflow(this._element);
+ $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
- if (this._triggerArray.length > 0) {
- for (var i = 0; i < this._triggerArray.length; i++) {
- var trigger = this._triggerArray[i];
- var selector = Util.getSelectorFromElement(trigger);
+ if (this._triggerArray.length > 0) {
+ for (var i = 0; i < this._triggerArray.length; i++) {
+ var trigger = this._triggerArray[i];
+ var selector = Util.getSelectorFromElement(trigger);
- if (selector !== null) {
- var $elem = $$$1(selector);
+ if (selector !== null) {
+ var $elem = $$$1(selector);
- if (!$elem.hasClass(ClassName.SHOW)) {
- $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ if (!$elem.hasClass(ClassName.SHOW)) {
+ $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ }
}
}
}
- }
-
- this.setTransitioning(true);
- var complete = function complete() {
- _this2.setTransitioning(false);
+ this.setTransitioning(true);
- $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
- };
-
- this._element.style[dimension] = '';
+ var complete = function complete() {
+ _this2.setTransitioning(false);
- if (!Util.supportsTransitionEnd()) {
- complete();
- return;
- }
+ $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);
+ };
- $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- };
+ this._element.style[dimension] = '';
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ };
- _proto.setTransitioning = function setTransitioning(isTransitioning) {
- this._isTransitioning = isTransitioning;
- };
+ _proto.setTransitioning = function setTransitioning(isTransitioning) {
+ this._isTransitioning = isTransitioning;
+ };
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._config = null;
- this._parent = null;
- this._element = null;
- this._triggerArray = null;
- this._isTransitioning = null;
- }; // Private
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._config = null;
+ this._parent = null;
+ this._element = null;
+ this._triggerArray = null;
+ this._isTransitioning = null;
+ }; // Private
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
- config.toggle = Boolean(config.toggle); // Coerce string values
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
+ config.toggle = Boolean(config.toggle); // Coerce string values
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
- _proto._getDimension = function _getDimension() {
- var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
- };
+ _proto._getDimension = function _getDimension() {
+ var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH);
+ return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
+ };
- _proto._getParent = function _getParent() {
- var _this3 = this;
+ _proto._getParent = function _getParent() {
+ var _this3 = this;
- var parent = null;
+ var parent = null;
- if (Util.isElement(this._config.parent)) {
- parent = this._config.parent; // It's a jQuery object
+ if (Util.isElement(this._config.parent)) {
+ parent = this._config.parent; // It's a jQuery object
- if (typeof this._config.parent.jquery !== 'undefined') {
- parent = this._config.parent[0];
+ if (typeof this._config.parent.jquery !== 'undefined') {
+ parent = this._config.parent[0];
+ }
+ } else {
+ parent = $$$1(this._config.parent)[0];
}
- } else {
- parent = $$$1(this._config.parent)[0];
- }
- var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
- $$$1(parent).find(selector).each(function (i, element) {
- _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
- });
- return parent;
- };
+ var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
+ $$$1(parent).find(selector).each(function (i, element) {
+ _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
+ });
+ return parent;
+ };
- _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
- if (element) {
- var isOpen = $$$1(element).hasClass(ClassName.SHOW);
+ _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
+ if (element) {
+ var isOpen = $$$1(element).hasClass(ClassName.SHOW);
- if (triggerArray.length > 0) {
- $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ if (triggerArray.length > 0) {
+ $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
+ }
}
- }
- }; // Static
+ }; // Static
- Collapse._getTargetFromElement = function _getTargetFromElement(element) {
- var selector = Util.getSelectorFromElement(element);
- return selector ? $$$1(selector)[0] : null;
- };
+ Collapse._getTargetFromElement = function _getTargetFromElement(element) {
+ var selector = Util.getSelectorFromElement(element);
+ return selector ? $$$1(selector)[0] : null;
+ };
- Collapse._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $this = $$$1(this);
- var data = $this.data(DATA_KEY);
+ Collapse._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $$$1(this);
+ var data = $this.data(DATA_KEY);
- var _config = _extends({}, Default, $this.data(), typeof config === 'object' && config);
+ var _config = _objectSpread({}, Default, $this.data(), typeof config === 'object' && config);
- if (!data && _config.toggle && /show|hide/.test(config)) {
- _config.toggle = false;
- }
+ if (!data && _config.toggle && /show|hide/.test(config)) {
+ _config.toggle = false;
+ }
- if (!data) {
- data = new Collapse(this, _config);
- $this.data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new Collapse(this, _config);
+ $this.data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ data[config]();
}
+ });
+ };
- data[config]();
+ _createClass(Collapse, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
- _createClass(Collapse, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
- return Collapse;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ return Collapse;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
- if (event.currentTarget.tagName === 'A') {
- event.preventDefault();
- }
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+ if (event.currentTarget.tagName === 'A') {
+ event.preventDefault();
+ }
- var $trigger = $$$1(this);
- var selector = Util.getSelectorFromElement(this);
- $$$1(selector).each(function () {
- var $target = $$$1(this);
- var data = $target.data(DATA_KEY);
- var config = data ? 'toggle' : $trigger.data();
+ var $trigger = $$$1(this);
+ var selector = Util.getSelectorFromElement(this);
+ $$$1(selector).each(function () {
+ var $target = $$$1(this);
+ var data = $target.data(DATA_KEY);
+ var config = data ? 'toggle' : $trigger.data();
- Collapse._jQueryInterface.call($target, config);
+ Collapse._jQueryInterface.call($target, config);
+ });
});
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
- $$$1.fn[NAME] = Collapse._jQueryInterface;
- $$$1.fn[NAME].Constructor = Collapse;
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Collapse._jQueryInterface;
- };
+ $$$1.fn[NAME] = Collapse._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Collapse;
- return Collapse;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Collapse._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): dropdown.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Collapse;
+ }($);
-var Dropdown = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'dropdown';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.dropdown';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
-
- var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
-
- var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
-
- var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
-
- var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
-
- var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
-
- var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- CLICK: "click" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
- KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DISABLED: 'disabled',
- SHOW: 'show',
- DROPUP: 'dropup',
- DROPRIGHT: 'dropright',
- DROPLEFT: 'dropleft',
- MENURIGHT: 'dropdown-menu-right',
- MENULEFT: 'dropdown-menu-left',
- POSITION_STATIC: 'position-static'
- };
- var Selector = {
- DATA_TOGGLE: '[data-toggle="dropdown"]',
- FORM_CHILD: '.dropdown form',
- MENU: '.dropdown-menu',
- NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
- };
- var AttachmentMap = {
- TOP: 'top-start',
- TOPEND: 'top-end',
- BOTTOM: 'bottom-start',
- BOTTOMEND: 'bottom-end',
- RIGHT: 'right-start',
- RIGHTEND: 'right-end',
- LEFT: 'left-start',
- LEFTEND: 'left-end'
- };
- var Default = {
- offset: 0,
- flip: true,
- boundary: 'scrollParent'
- };
- var DefaultType = {
- offset: '(number|string|function)',
- flip: 'boolean',
- boundary: '(string|element)'
+
+ var Dropdown = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'dropdown';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.dropdown';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
+
+ var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
+
+ var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
+
+ var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY,
+ KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY,
+ KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DISABLED: 'disabled',
+ SHOW: 'show',
+ DROPUP: 'dropup',
+ DROPRIGHT: 'dropright',
+ DROPLEFT: 'dropleft',
+ MENURIGHT: 'dropdown-menu-right',
+ MENULEFT: 'dropdown-menu-left',
+ POSITION_STATIC: 'position-static'
+ };
+ var Selector = {
+ DATA_TOGGLE: '[data-toggle="dropdown"]',
+ FORM_CHILD: '.dropdown form',
+ MENU: '.dropdown-menu',
+ NAVBAR_NAV: '.navbar-nav',
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
+ };
+ var AttachmentMap = {
+ TOP: 'top-start',
+ TOPEND: 'top-end',
+ BOTTOM: 'bottom-start',
+ BOTTOMEND: 'bottom-end',
+ RIGHT: 'right-start',
+ RIGHTEND: 'right-end',
+ LEFT: 'left-start',
+ LEFTEND: 'left-end'
+ };
+ var Default = {
+ offset: 0,
+ flip: true,
+ boundary: 'scrollParent',
+ reference: 'toggle',
+ display: 'dynamic'
+ };
+ var DefaultType = {
+ offset: '(number|string|function)',
+ flip: 'boolean',
+ boundary: '(string|element)',
+ reference: '(string|element)',
+ display: 'string'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Dropdown =
- /*#__PURE__*/
- function () {
- function Dropdown(element, config) {
- this._element = element;
- this._popper = null;
- this._config = this._getConfig(config);
- this._menu = this._getMenuElement();
- this._inNavbar = this._detectNavbar();
+ var Dropdown =
+ /*#__PURE__*/
+ function () {
+ function Dropdown(element, config) {
+ this._element = element;
+ this._popper = null;
+ this._config = this._getConfig(config);
+ this._menu = this._getMenuElement();
+ this._inNavbar = this._detectNavbar();
- this._addEventListeners();
- } // Getters
+ this._addEventListeners();
+ } // Getters
- var _proto = Dropdown.prototype;
+ var _proto = Dropdown.prototype;
- // Public
- _proto.toggle = function toggle() {
- if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
- return;
- }
+ // Public
+ _proto.toggle = function toggle() {
+ if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- var parent = Dropdown._getParentFromElement(this._element);
+ var parent = Dropdown._getParentFromElement(this._element);
- var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
+ var isActive = $$$1(this._menu).hasClass(ClassName.SHOW);
- Dropdown._clearMenus();
+ Dropdown._clearMenus();
- if (isActive) {
- return;
- }
+ if (isActive) {
+ return;
+ }
- var relatedTarget = {
- relatedTarget: this._element
- };
- var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
- $$$1(parent).trigger(showEvent);
+ var relatedTarget = {
+ relatedTarget: this._element
+ };
+ var showEvent = $$$1.Event(Event.SHOW, relatedTarget);
+ $$$1(parent).trigger(showEvent);
- if (showEvent.isDefaultPrevented()) {
- return;
- } // Disable totally Popper.js for Dropdown in Navbar
+ if (showEvent.isDefaultPrevented()) {
+ return;
+ } // Disable totally Popper.js for Dropdown in Navbar
- if (!this._inNavbar) {
- /**
- * Check for Popper dependency
- * Popper - https://popper.js.org
- */
- if (typeof Popper === 'undefined') {
- throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
- }
+ if (!this._inNavbar) {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+ }
- var element = this._element; // For dropup with alignment we use the parent as popper container
+ var referenceElement = this._element;
- if ($$$1(parent).hasClass(ClassName.DROPUP)) {
- if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
- element = parent;
- }
- } // If boundary is not `scrollParent`, then set position to `static`
- // to allow the menu to "escape" the scroll parent's boundaries
- // https://github.com/twbs/bootstrap/issues/24251
+ if (this._config.reference === 'parent') {
+ referenceElement = parent;
+ } else if (Util.isElement(this._config.reference)) {
+ referenceElement = this._config.reference; // Check if it's jQuery element
+ if (typeof this._config.reference.jquery !== 'undefined') {
+ referenceElement = this._config.reference[0];
+ }
+ } // If boundary is not `scrollParent`, then set position to `static`
+ // to allow the menu to "escape" the scroll parent's boundaries
+ // https://github.com/twbs/bootstrap/issues/24251
- if (this._config.boundary !== 'scrollParent') {
- $$$1(parent).addClass(ClassName.POSITION_STATIC);
- }
- this._popper = new Popper(element, this._menu, this._getPopperConfig());
- } // If this is a touch-enabled device we add extra
- // empty mouseover listeners to the body's immediate children;
- // only needed because of broken event delegation on iOS
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if (this._config.boundary !== 'scrollParent') {
+ $$$1(parent).addClass(ClassName.POSITION_STATIC);
+ }
+ this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
+ } // If this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
- $$$1('body').children().on('mouseover', null, $$$1.noop);
- }
- this._element.focus();
+ if ('ontouchstart' in document.documentElement && $$$1(parent).closest(Selector.NAVBAR_NAV).length === 0) {
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
+ }
- this._element.setAttribute('aria-expanded', true);
+ this._element.focus();
- $$$1(this._menu).toggleClass(ClassName.SHOW);
- $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
- };
+ this._element.setAttribute('aria-expanded', true);
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- $$$1(this._element).off(EVENT_KEY);
- this._element = null;
- this._menu = null;
+ $$$1(this._menu).toggleClass(ClassName.SHOW);
+ $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget));
+ };
- if (this._popper !== null) {
- this._popper.destroy();
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(this._element).off(EVENT_KEY);
+ this._element = null;
+ this._menu = null;
- this._popper = null;
- }
- };
+ if (this._popper !== null) {
+ this._popper.destroy();
- _proto.update = function update() {
- this._inNavbar = this._detectNavbar();
+ this._popper = null;
+ }
+ };
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
- }
- }; // Private
+ _proto.update = function update() {
+ this._inNavbar = this._detectNavbar();
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ }; // Private
- _proto._addEventListeners = function _addEventListeners() {
- var _this = this;
- $$$1(this._element).on(Event.CLICK, function (event) {
- event.preventDefault();
- event.stopPropagation();
+ _proto._addEventListeners = function _addEventListeners() {
+ var _this = this;
- _this.toggle();
- });
- };
+ $$$1(this._element).on(Event.CLICK, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config);
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
- return config;
- };
+ _this.toggle();
+ });
+ };
- _proto._getMenuElement = function _getMenuElement() {
- if (!this._menu) {
- var parent = Dropdown._getParentFromElement(this._element);
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, this.constructor.Default, $$$1(this._element).data(), config);
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ return config;
+ };
- this._menu = $$$1(parent).find(Selector.MENU)[0];
- }
+ _proto._getMenuElement = function _getMenuElement() {
+ if (!this._menu) {
+ var parent = Dropdown._getParentFromElement(this._element);
- return this._menu;
- };
+ this._menu = $$$1(parent).find(Selector.MENU)[0];
+ }
+
+ return this._menu;
+ };
- _proto._getPlacement = function _getPlacement() {
- var $parentDropdown = $$$1(this._element).parent();
- var placement = AttachmentMap.BOTTOM; // Handle dropup
+ _proto._getPlacement = function _getPlacement() {
+ var $parentDropdown = $$$1(this._element).parent();
+ var placement = AttachmentMap.BOTTOM; // Handle dropup
- if ($parentDropdown.hasClass(ClassName.DROPUP)) {
- placement = AttachmentMap.TOP;
+ if ($parentDropdown.hasClass(ClassName.DROPUP)) {
+ placement = AttachmentMap.TOP;
- if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.TOPEND;
+ if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.TOPEND;
+ }
+ } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
+ placement = AttachmentMap.RIGHT;
+ } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
+ placement = AttachmentMap.LEFT;
+ } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.BOTTOMEND;
}
- } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {
- placement = AttachmentMap.RIGHT;
- } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {
- placement = AttachmentMap.LEFT;
- } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) {
- placement = AttachmentMap.BOTTOMEND;
- }
- return placement;
- };
+ return placement;
+ };
- _proto._detectNavbar = function _detectNavbar() {
- return $$$1(this._element).closest('.navbar').length > 0;
- };
+ _proto._detectNavbar = function _detectNavbar() {
+ return $$$1(this._element).closest('.navbar').length > 0;
+ };
+
+ _proto._getPopperConfig = function _getPopperConfig() {
+ var _this2 = this;
- _proto._getPopperConfig = function _getPopperConfig() {
- var _this2 = this;
+ var offsetConf = {};
- var offsetConf = {};
+ if (typeof this._config.offset === 'function') {
+ offsetConf.fn = function (data) {
+ data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets) || {});
+ return data;
+ };
+ } else {
+ offsetConf.offset = this._config.offset;
+ }
+
+ var popperConfig = {
+ placement: this._getPlacement(),
+ modifiers: {
+ offset: offsetConf,
+ flip: {
+ enabled: this._config.flip
+ },
+ preventOverflow: {
+ boundariesElement: this._config.boundary
+ }
+ } // Disable Popper.js if we have a static display
- if (typeof this._config.offset === 'function') {
- offsetConf.fn = function (data) {
- data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {});
- return data;
};
- } else {
- offsetConf.offset = this._config.offset;
- }
- var popperConfig = {
- placement: this._getPlacement(),
- modifiers: {
- offset: offsetConf,
- flip: {
- enabled: this._config.flip
- },
- preventOverflow: {
- boundariesElement: this._config.boundary
- }
+ if (this._config.display === 'static') {
+ popperConfig.modifiers.applyStyle = {
+ enabled: false
+ };
}
- };
- return popperConfig;
- }; // Static
+ return popperConfig;
+ }; // Static
- Dropdown._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
- var _config = typeof config === 'object' ? config : null;
+ Dropdown._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- if (!data) {
- data = new Dropdown(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ var _config = typeof config === 'object' ? config : null;
+
+ if (!data) {
+ data = new Dropdown(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
+
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ data[config]();
}
+ });
+ };
- data[config]();
+ Dropdown._clearMenus = function _clearMenus(event) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
+ return;
}
- });
- };
- Dropdown._clearMenus = function _clearMenus(event) {
- if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
- return;
- }
+ var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
- var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE));
+ for (var i = 0; i < toggles.length; i++) {
+ var parent = Dropdown._getParentFromElement(toggles[i]);
- for (var i = 0; i < toggles.length; i++) {
- var parent = Dropdown._getParentFromElement(toggles[i]);
+ var context = $$$1(toggles[i]).data(DATA_KEY);
+ var relatedTarget = {
+ relatedTarget: toggles[i]
+ };
- var context = $$$1(toggles[i]).data(DATA_KEY);
- var relatedTarget = {
- relatedTarget: toggles[i]
- };
+ if (!context) {
+ continue;
+ }
- if (!context) {
- continue;
- }
+ var dropdownMenu = context._menu;
- var dropdownMenu = context._menu;
+ if (!$$$1(parent).hasClass(ClassName.SHOW)) {
+ continue;
+ }
- if (!$$$1(parent).hasClass(ClassName.SHOW)) {
- continue;
- }
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
+ continue;
+ }
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) {
- continue;
- }
+ var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
+ $$$1(parent).trigger(hideEvent);
- var hideEvent = $$$1.Event(Event.HIDE, relatedTarget);
- $$$1(parent).trigger(hideEvent);
+ if (hideEvent.isDefaultPrevented()) {
+ continue;
+ } // If this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
- if (hideEvent.isDefaultPrevented()) {
- continue;
- } // If this is a touch-enabled device we remove the extra
- // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
+ }
- if ('ontouchstart' in document.documentElement) {
- $$$1('body').children().off('mouseover', null, $$$1.noop);
+ toggles[i].setAttribute('aria-expanded', 'false');
+ $$$1(dropdownMenu).removeClass(ClassName.SHOW);
+ $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
}
+ };
- toggles[i].setAttribute('aria-expanded', 'false');
- $$$1(dropdownMenu).removeClass(ClassName.SHOW);
- $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget));
- }
- };
+ Dropdown._getParentFromElement = function _getParentFromElement(element) {
+ var parent;
+ var selector = Util.getSelectorFromElement(element);
- Dropdown._getParentFromElement = function _getParentFromElement(element) {
- var parent;
- var selector = Util.getSelectorFromElement(element);
+ if (selector) {
+ parent = $$$1(selector)[0];
+ }
- if (selector) {
- parent = $$$1(selector)[0];
- }
+ return parent || element.parentNode;
+ }; // eslint-disable-next-line complexity
- return parent || element.parentNode;
- }; // eslint-disable-next-line complexity
+ Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
+ // If not input/textarea:
+ // - And not a key in REGEXP_KEYDOWN => not a dropdown command
+ // If input/textarea:
+ // - If space key => not a dropdown command
+ // - If key is other than escape
+ // - If key is not up or down => not a dropdown command
+ // - If trigger inside the menu => not a dropdown command
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ return;
+ }
- Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
- // If not input/textarea:
- // - And not a key in REGEXP_KEYDOWN => not a dropdown command
- // If input/textarea:
- // - If space key => not a dropdown command
- // - If key is other than escape
- // - If key is not up or down => not a dropdown command
- // - If trigger inside the menu => not a dropdown command
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
- return;
- }
+ event.preventDefault();
+ event.stopPropagation();
- event.preventDefault();
- event.stopPropagation();
+ if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) {
- return;
- }
+ var parent = Dropdown._getParentFromElement(this);
- var parent = Dropdown._getParentFromElement(this);
+ var isActive = $$$1(parent).hasClass(ClassName.SHOW);
- var isActive = $$$1(parent).hasClass(ClassName.SHOW);
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
+ if (event.which === ESCAPE_KEYCODE) {
+ var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
+ $$$1(toggle).trigger('focus');
+ }
- if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
- if (event.which === ESCAPE_KEYCODE) {
- var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0];
- $$$1(toggle).trigger('focus');
+ $$$1(this).trigger('click');
+ return;
}
- $$$1(this).trigger('click');
- return;
- }
+ var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
- var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get();
-
- if (items.length === 0) {
- return;
- }
+ if (items.length === 0) {
+ return;
+ }
- var index = items.indexOf(event.target);
+ var index = items.indexOf(event.target);
- if (event.which === ARROW_UP_KEYCODE && index > 0) {
- // Up
- index--;
- }
+ if (event.which === ARROW_UP_KEYCODE && index > 0) {
+ // Up
+ index--;
+ }
- if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
- // Down
- index++;
- }
+ if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
+ // Down
+ index++;
+ }
- if (index < 0) {
- index = 0;
- }
+ if (index < 0) {
+ index = 0;
+ }
- items[index].focus();
- };
+ items[index].focus();
+ };
- _createClass(Dropdown, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType;
- }
- }]);
- return Dropdown;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ _createClass(Dropdown, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+ return Dropdown;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault();
- event.stopPropagation();
- Dropdown._jQueryInterface.call($$$1(this), 'toggle');
- }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
- e.stopPropagation();
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
- $$$1.fn[NAME] = Dropdown._jQueryInterface;
- $$$1.fn[NAME].Constructor = Dropdown;
+ Dropdown._jQueryInterface.call($$$1(this), 'toggle');
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ e.stopPropagation();
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Dropdown._jQueryInterface;
- };
+ $$$1.fn[NAME] = Dropdown._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Dropdown;
- return Dropdown;
-}($, Popper);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Dropdown._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): modal.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Dropdown;
+ }($, Popper);
-var Modal = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'modal';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.modal';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 300;
- var BACKDROP_TRANSITION_DURATION = 150;
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
-
- var Default = {
- backdrop: true,
- keyboard: true,
- focus: true,
- show: true
- };
- var DefaultType = {
- backdrop: '(boolean|string)',
- keyboard: 'boolean',
- focus: 'boolean',
- show: 'boolean'
- };
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- FOCUSIN: "focusin" + EVENT_KEY,
- RESIZE: "resize" + EVENT_KEY,
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
- BACKDROP: 'modal-backdrop',
- OPEN: 'modal-open',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- DIALOG: '.modal-dialog',
- DATA_TOGGLE: '[data-toggle="modal"]',
- DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT: '.sticky-top',
- NAVBAR_TOGGLER: '.navbar-toggler'
+
+ var Modal = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'modal';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.modal';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+
+ var Default = {
+ backdrop: true,
+ keyboard: true,
+ focus: true,
+ show: true
+ };
+ var DefaultType = {
+ backdrop: '(boolean|string)',
+ keyboard: 'boolean',
+ focus: 'boolean',
+ show: 'boolean'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ RESIZE: "resize" + EVENT_KEY,
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
+ BACKDROP: 'modal-backdrop',
+ OPEN: 'modal-open',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ DIALOG: '.modal-dialog',
+ DATA_TOGGLE: '[data-toggle="modal"]',
+ DATA_DISMISS: '[data-dismiss="modal"]',
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ STICKY_CONTENT: '.sticky-top',
+ NAVBAR_TOGGLER: '.navbar-toggler'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
-
- var Modal =
- /*#__PURE__*/
- function () {
- function Modal(element, config) {
- this._config = this._getConfig(config);
- this._element = element;
- this._dialog = $$$1(element).find(Selector.DIALOG)[0];
- this._backdrop = null;
- this._isShown = false;
- this._isBodyOverflowing = false;
- this._ignoreBackdropClick = false;
- this._originalBodyPadding = 0;
- this._scrollbarWidth = 0;
- } // Getters
-
-
- var _proto = Modal.prototype;
-
- // Public
- _proto.toggle = function toggle(relatedTarget) {
- return this._isShown ? this.hide() : this.show(relatedTarget);
};
- _proto.show = function show(relatedTarget) {
- var _this = this;
+ var Modal =
+ /*#__PURE__*/
+ function () {
+ function Modal(element, config) {
+ this._config = this._getConfig(config);
+ this._element = element;
+ this._dialog = $$$1(element).find(Selector.DIALOG)[0];
+ this._backdrop = null;
+ this._isShown = false;
+ this._isBodyOverflowing = false;
+ this._ignoreBackdropClick = false;
+ this._scrollbarWidth = 0;
+ } // Getters
- if (this._isTransitioning || this._isShown) {
- return;
- }
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
- }
+ var _proto = Modal.prototype;
- var showEvent = $$$1.Event(Event.SHOW, {
- relatedTarget: relatedTarget
- });
- $$$1(this._element).trigger(showEvent);
+ // Public
+ _proto.toggle = function toggle(relatedTarget) {
+ return this._isShown ? this.hide() : this.show(relatedTarget);
+ };
- if (this._isShown || showEvent.isDefaultPrevented()) {
- return;
- }
+ _proto.show = function show(relatedTarget) {
+ var _this = this;
+
+ if (this._isTransitioning || this._isShown) {
+ return;
+ }
+
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
+ this._isTransitioning = true;
+ }
+
+ var showEvent = $$$1.Event(Event.SHOW, {
+ relatedTarget: relatedTarget
+ });
+ $$$1(this._element).trigger(showEvent);
- this._isShown = true;
+ if (this._isShown || showEvent.isDefaultPrevented()) {
+ return;
+ }
- this._checkScrollbar();
+ this._isShown = true;
- this._setScrollbar();
+ this._checkScrollbar();
- this._adjustDialog();
+ this._setScrollbar();
- $$$1(document.body).addClass(ClassName.OPEN);
+ this._adjustDialog();
- this._setEscapeEvent();
+ $$$1(document.body).addClass(ClassName.OPEN);
- this._setResizeEvent();
+ this._setEscapeEvent();
- $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
- return _this.hide(event);
- });
- $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
- $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
- if ($$$1(event.target).is(_this._element)) {
- _this._ignoreBackdropClick = true;
- }
+ this._setResizeEvent();
+
+ $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
+ return _this.hide(event);
+ });
+ $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
+ $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($$$1(event.target).is(_this._element)) {
+ _this._ignoreBackdropClick = true;
+ }
+ });
});
- });
- this._showBackdrop(function () {
- return _this._showElement(relatedTarget);
- });
- };
+ this._showBackdrop(function () {
+ return _this._showElement(relatedTarget);
+ });
+ };
- _proto.hide = function hide(event) {
- var _this2 = this;
+ _proto.hide = function hide(event) {
+ var _this2 = this;
- if (event) {
- event.preventDefault();
- }
+ if (event) {
+ event.preventDefault();
+ }
- if (this._isTransitioning || !this._isShown) {
- return;
- }
+ if (this._isTransitioning || !this._isShown) {
+ return;
+ }
- var hideEvent = $$$1.Event(Event.HIDE);
- $$$1(this._element).trigger(hideEvent);
+ var hideEvent = $$$1.Event(Event.HIDE);
+ $$$1(this._element).trigger(hideEvent);
- if (!this._isShown || hideEvent.isDefaultPrevented()) {
- return;
- }
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
+ return;
+ }
- this._isShown = false;
- var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
+ this._isShown = false;
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
- if (transition) {
- this._isTransitioning = true;
- }
+ if (transition) {
+ this._isTransitioning = true;
+ }
- this._setEscapeEvent();
+ this._setEscapeEvent();
- this._setResizeEvent();
+ this._setResizeEvent();
- $$$1(document).off(Event.FOCUSIN);
- $$$1(this._element).removeClass(ClassName.SHOW);
- $$$1(this._element).off(Event.CLICK_DISMISS);
- $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
+ $$$1(document).off(Event.FOCUSIN);
+ $$$1(this._element).removeClass(ClassName.SHOW);
+ $$$1(this._element).off(Event.CLICK_DISMISS);
+ $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS);
- if (transition) {
- $$$1(this._element).one(Util.TRANSITION_END, function (event) {
- return _this2._hideModal(event);
- }).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- this._hideModal();
- }
- };
+ if (transition) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._element).one(Util.TRANSITION_END, function (event) {
+ return _this2._hideModal(event);
+ }).emulateTransitionEnd(transitionDuration);
+ } else {
+ this._hideModal();
+ }
+ };
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
- this._config = null;
- this._element = null;
- this._dialog = null;
- this._backdrop = null;
- this._isShown = null;
- this._isBodyOverflowing = null;
- this._ignoreBackdropClick = null;
- this._scrollbarWidth = null;
- };
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(window, document, this._element, this._backdrop).off(EVENT_KEY);
+ this._config = null;
+ this._element = null;
+ this._dialog = null;
+ this._backdrop = null;
+ this._isShown = null;
+ this._isBodyOverflowing = null;
+ this._ignoreBackdropClick = null;
+ this._scrollbarWidth = null;
+ };
- _proto.handleUpdate = function handleUpdate() {
- this._adjustDialog();
- }; // Private
+ _proto.handleUpdate = function handleUpdate() {
+ this._adjustDialog();
+ }; // Private
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
- _proto._showElement = function _showElement(relatedTarget) {
- var _this3 = this;
+ _proto._showElement = function _showElement(relatedTarget) {
+ var _this3 = this;
- var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE);
+ var transition = $$$1(this._element).hasClass(ClassName.FADE);
- if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
- // Don't move modal's DOM position
- document.body.appendChild(this._element);
- }
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
+ // Don't move modal's DOM position
+ document.body.appendChild(this._element);
+ }
- this._element.style.display = 'block';
+ this._element.style.display = 'block';
- this._element.removeAttribute('aria-hidden');
+ this._element.removeAttribute('aria-hidden');
- this._element.scrollTop = 0;
+ this._element.scrollTop = 0;
- if (transition) {
- Util.reflow(this._element);
- }
+ if (transition) {
+ Util.reflow(this._element);
+ }
- $$$1(this._element).addClass(ClassName.SHOW);
+ $$$1(this._element).addClass(ClassName.SHOW);
- if (this._config.focus) {
- this._enforceFocus();
- }
+ if (this._config.focus) {
+ this._enforceFocus();
+ }
- var shownEvent = $$$1.Event(Event.SHOWN, {
- relatedTarget: relatedTarget
- });
+ var shownEvent = $$$1.Event(Event.SHOWN, {
+ relatedTarget: relatedTarget
+ });
+
+ var transitionComplete = function transitionComplete() {
+ if (_this3._config.focus) {
+ _this3._element.focus();
+ }
+
+ _this3._isTransitioning = false;
+ $$$1(_this3._element).trigger(shownEvent);
+ };
- var transitionComplete = function transitionComplete() {
- if (_this3._config.focus) {
- _this3._element.focus();
+ if (transition) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
+ $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
+ } else {
+ transitionComplete();
}
+ };
- _this3._isTransitioning = false;
- $$$1(_this3._element).trigger(shownEvent);
+ _proto._enforceFocus = function _enforceFocus() {
+ var _this4 = this;
+
+ $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
+ .on(Event.FOCUSIN, function (event) {
+ if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
+ _this4._element.focus();
+ }
+ });
};
- if (transition) {
- $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- transitionComplete();
- }
- };
+ _proto._setEscapeEvent = function _setEscapeEvent() {
+ var _this5 = this;
- _proto._enforceFocus = function _enforceFocus() {
- var _this4 = this;
+ if (this._isShown && this._config.keyboard) {
+ $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
+ if (event.which === ESCAPE_KEYCODE) {
+ event.preventDefault();
- $$$1(document).off(Event.FOCUSIN) // Guard against infinite focus loop
- .on(Event.FOCUSIN, function (event) {
- if (document !== event.target && _this4._element !== event.target && $$$1(_this4._element).has(event.target).length === 0) {
- _this4._element.focus();
+ _this5.hide();
+ }
+ });
+ } else if (!this._isShown) {
+ $$$1(this._element).off(Event.KEYDOWN_DISMISS);
}
- });
- };
+ };
- _proto._setEscapeEvent = function _setEscapeEvent() {
- var _this5 = this;
+ _proto._setResizeEvent = function _setResizeEvent() {
+ var _this6 = this;
- if (this._isShown && this._config.keyboard) {
- $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
- if (event.which === ESCAPE_KEYCODE) {
- event.preventDefault();
+ if (this._isShown) {
+ $$$1(window).on(Event.RESIZE, function (event) {
+ return _this6.handleUpdate(event);
+ });
+ } else {
+ $$$1(window).off(Event.RESIZE);
+ }
+ };
- _this5.hide();
- }
- });
- } else if (!this._isShown) {
- $$$1(this._element).off(Event.KEYDOWN_DISMISS);
- }
- };
+ _proto._hideModal = function _hideModal() {
+ var _this7 = this;
- _proto._setResizeEvent = function _setResizeEvent() {
- var _this6 = this;
+ this._element.style.display = 'none';
- if (this._isShown) {
- $$$1(window).on(Event.RESIZE, function (event) {
- return _this6.handleUpdate(event);
- });
- } else {
- $$$1(window).off(Event.RESIZE);
- }
- };
+ this._element.setAttribute('aria-hidden', true);
- _proto._hideModal = function _hideModal() {
- var _this7 = this;
+ this._isTransitioning = false;
- this._element.style.display = 'none';
+ this._showBackdrop(function () {
+ $$$1(document.body).removeClass(ClassName.OPEN);
- this._element.setAttribute('aria-hidden', true);
+ _this7._resetAdjustments();
- this._isTransitioning = false;
+ _this7._resetScrollbar();
- this._showBackdrop(function () {
- $$$1(document.body).removeClass(ClassName.OPEN);
+ $$$1(_this7._element).trigger(Event.HIDDEN);
+ });
+ };
- _this7._resetAdjustments();
+ _proto._removeBackdrop = function _removeBackdrop() {
+ if (this._backdrop) {
+ $$$1(this._backdrop).remove();
+ this._backdrop = null;
+ }
+ };
- _this7._resetScrollbar();
+ _proto._showBackdrop = function _showBackdrop(callback) {
+ var _this8 = this;
- $$$1(_this7._element).trigger(Event.HIDDEN);
- });
- };
+ var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
- _proto._removeBackdrop = function _removeBackdrop() {
- if (this._backdrop) {
- $$$1(this._backdrop).remove();
- this._backdrop = null;
- }
- };
+ if (this._isShown && this._config.backdrop) {
+ this._backdrop = document.createElement('div');
+ this._backdrop.className = ClassName.BACKDROP;
- _proto._showBackdrop = function _showBackdrop(callback) {
- var _this8 = this;
+ if (animate) {
+ $$$1(this._backdrop).addClass(animate);
+ }
- var animate = $$$1(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
+ $$$1(this._backdrop).appendTo(document.body);
+ $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
+ if (_this8._ignoreBackdropClick) {
+ _this8._ignoreBackdropClick = false;
+ return;
+ }
- if (this._isShown && this._config.backdrop) {
- var doAnimate = Util.supportsTransitionEnd() && animate;
- this._backdrop = document.createElement('div');
- this._backdrop.className = ClassName.BACKDROP;
+ if (event.target !== event.currentTarget) {
+ return;
+ }
- if (animate) {
- $$$1(this._backdrop).addClass(animate);
- }
+ if (_this8._config.backdrop === 'static') {
+ _this8._element.focus();
+ } else {
+ _this8.hide();
+ }
+ });
- $$$1(this._backdrop).appendTo(document.body);
- $$$1(this._element).on(Event.CLICK_DISMISS, function (event) {
- if (_this8._ignoreBackdropClick) {
- _this8._ignoreBackdropClick = false;
- return;
+ if (animate) {
+ Util.reflow(this._backdrop);
}
- if (event.target !== event.currentTarget) {
+ $$$1(this._backdrop).addClass(ClassName.SHOW);
+
+ if (!callback) {
return;
}
- if (_this8._config.backdrop === 'static') {
- _this8._element.focus();
- } else {
- _this8.hide();
+ if (!animate) {
+ callback();
+ return;
}
- });
- if (doAnimate) {
- Util.reflow(this._backdrop);
- }
+ var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
+ } else if (!this._isShown && this._backdrop) {
+ $$$1(this._backdrop).removeClass(ClassName.SHOW);
- $$$1(this._backdrop).addClass(ClassName.SHOW);
+ var callbackRemove = function callbackRemove() {
+ _this8._removeBackdrop();
- if (!callback) {
- return;
- }
+ if (callback) {
+ callback();
+ }
+ };
+
+ if ($$$1(this._element).hasClass(ClassName.FADE)) {
+ var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
- if (!doAnimate) {
+ $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
+ } else {
+ callbackRemove();
+ }
+ } else if (callback) {
callback();
- return;
}
+ }; // ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
- $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
- } else if (!this._isShown && this._backdrop) {
- $$$1(this._backdrop).removeClass(ClassName.SHOW);
- var callbackRemove = function callbackRemove() {
- _this8._removeBackdrop();
-
- if (callback) {
- callback();
- }
- };
+ _proto._adjustDialog = function _adjustDialog() {
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
- if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) {
- $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);
- } else {
- callbackRemove();
+ if (!this._isBodyOverflowing && isModalOverflowing) {
+ this._element.style.paddingLeft = this._scrollbarWidth + "px";
}
- } else if (callback) {
- callback();
- }
- }; // ----------------------------------------------------------------------
- // the following methods are used to handle overflowing modals
- // todo (fat): these should probably be refactored out of modal.js
- // ----------------------------------------------------------------------
+ if (this._isBodyOverflowing && !isModalOverflowing) {
+ this._element.style.paddingRight = this._scrollbarWidth + "px";
+ }
+ };
- _proto._adjustDialog = function _adjustDialog() {
- var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+ _proto._resetAdjustments = function _resetAdjustments() {
+ this._element.style.paddingLeft = '';
+ this._element.style.paddingRight = '';
+ };
- if (!this._isBodyOverflowing && isModalOverflowing) {
- this._element.style.paddingLeft = this._scrollbarWidth + "px";
- }
+ _proto._checkScrollbar = function _checkScrollbar() {
+ var rect = document.body.getBoundingClientRect();
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
+ this._scrollbarWidth = this._getScrollbarWidth();
+ };
- if (this._isBodyOverflowing && !isModalOverflowing) {
- this._element.style.paddingRight = this._scrollbarWidth + "px";
- }
- };
+ _proto._setScrollbar = function _setScrollbar() {
+ var _this9 = this;
+
+ if (this._isBodyOverflowing) {
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+ // Adjust fixed content padding
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
+ var actualPadding = $$$1(element)[0].style.paddingRight;
+ var calculatedPadding = $$$1(element).css('padding-right');
+ $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
+ }); // Adjust sticky content margin
+
+ $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
+ var actualMargin = $$$1(element)[0].style.marginRight;
+ var calculatedMargin = $$$1(element).css('margin-right');
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
+ }); // Adjust navbar-toggler margin
+
+ $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var actualMargin = $$$1(element)[0].style.marginRight;
+ var calculatedMargin = $$$1(element).css('margin-right');
+ $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
+ }); // Adjust body padding
+
+ var actualPadding = document.body.style.paddingRight;
+ var calculatedPadding = $$$1(document.body).css('padding-right');
+ $$$1(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
+ }
+ };
- _proto._resetAdjustments = function _resetAdjustments() {
- this._element.style.paddingLeft = '';
- this._element.style.paddingRight = '';
- };
+ _proto._resetScrollbar = function _resetScrollbar() {
+ // Restore fixed content padding
+ $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
+ var padding = $$$1(element).data('padding-right');
- _proto._checkScrollbar = function _checkScrollbar() {
- var rect = document.body.getBoundingClientRect();
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
- this._scrollbarWidth = this._getScrollbarWidth();
- };
+ if (typeof padding !== 'undefined') {
+ $$$1(element).css('padding-right', padding).removeData('padding-right');
+ }
+ }); // Restore sticky content and navbar-toggler margin
- _proto._setScrollbar = function _setScrollbar() {
- var _this9 = this;
+ $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var margin = $$$1(element).data('margin-right');
- if (this._isBodyOverflowing) {
- // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
- // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
- // Adjust fixed content padding
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
- var actualPadding = $$$1(element)[0].style.paddingRight;
- var calculatedPadding = $$$1(element).css('padding-right');
- $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
- }); // Adjust sticky content margin
-
- $$$1(Selector.STICKY_CONTENT).each(function (index, element) {
- var actualMargin = $$$1(element)[0].style.marginRight;
- var calculatedMargin = $$$1(element).css('margin-right');
- $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
- }); // Adjust navbar-toggler margin
-
- $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) {
- var actualMargin = $$$1(element)[0].style.marginRight;
- var calculatedMargin = $$$1(element).css('margin-right');
- $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px");
- }); // Adjust body padding
-
- var actualPadding = document.body.style.paddingRight;
- var calculatedPadding = $$$1('body').css('padding-right');
- $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
- }
- };
+ if (typeof margin !== 'undefined') {
+ $$$1(element).css('margin-right', margin).removeData('margin-right');
+ }
+ }); // Restore body padding
- _proto._resetScrollbar = function _resetScrollbar() {
- // Restore fixed content padding
- $$$1(Selector.FIXED_CONTENT).each(function (index, element) {
- var padding = $$$1(element).data('padding-right');
+ var padding = $$$1(document.body).data('padding-right');
if (typeof padding !== 'undefined') {
- $$$1(element).css('padding-right', padding).removeData('padding-right');
- }
- }); // Restore sticky content and navbar-toggler margin
-
- $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) {
- var margin = $$$1(element).data('margin-right');
-
- if (typeof margin !== 'undefined') {
- $$$1(element).css('margin-right', margin).removeData('margin-right');
+ $$$1(document.body).css('padding-right', padding).removeData('padding-right');
}
- }); // Restore body padding
+ };
- var padding = $$$1('body').data('padding-right');
+ _proto._getScrollbarWidth = function _getScrollbarWidth() {
+ // thx d.walsh
+ var scrollDiv = document.createElement('div');
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
+ document.body.appendChild(scrollDiv);
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ return scrollbarWidth;
+ }; // Static
- if (typeof padding !== 'undefined') {
- $$$1('body').css('padding-right', padding).removeData('padding-right');
- }
- };
- _proto._getScrollbarWidth = function _getScrollbarWidth() {
- // thx d.walsh
- var scrollDiv = document.createElement('div');
- scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
- document.body.appendChild(scrollDiv);
- var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
- document.body.removeChild(scrollDiv);
- return scrollbarWidth;
- }; // Static
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+ var _config = _objectSpread({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
- Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
-
- var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config);
+ if (!data) {
+ data = new Modal(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (!data) {
- data = new Modal(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ data[config](relatedTarget);
+ } else if (_config.show) {
+ data.show(relatedTarget);
}
+ });
+ };
- data[config](relatedTarget);
- } else if (_config.show) {
- data.show(relatedTarget);
+ _createClass(Modal, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
-
- _createClass(Modal, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
- return Modal;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return Modal;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- var _this10 = this;
- var target;
- var selector = Util.getSelectorFromElement(this);
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ var _this10 = this;
- if (selector) {
- target = $$$1(selector)[0];
- }
+ var target;
+ var selector = Util.getSelectorFromElement(this);
- var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data());
+ if (selector) {
+ target = $$$1(selector)[0];
+ }
- if (this.tagName === 'A' || this.tagName === 'AREA') {
- event.preventDefault();
- }
+ var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $$$1(target).data(), $$$1(this).data());
- var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
- if (showEvent.isDefaultPrevented()) {
- // Only register focus restorer if modal will actually get shown
- return;
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
+ event.preventDefault();
}
- $target.one(Event.HIDDEN, function () {
- if ($$$1(_this10).is(':visible')) {
- _this10.focus();
+ var $target = $$$1(target).one(Event.SHOW, function (showEvent) {
+ if (showEvent.isDefaultPrevented()) {
+ // Only register focus restorer if modal will actually get shown
+ return;
}
- });
- });
- Modal._jQueryInterface.call($$$1(target), config, this);
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ $target.one(Event.HIDDEN, function () {
+ if ($$$1(_this10).is(':visible')) {
+ _this10.focus();
+ }
+ });
+ });
- $$$1.fn[NAME] = Modal._jQueryInterface;
- $$$1.fn[NAME].Constructor = Modal;
+ Modal._jQueryInterface.call($$$1(target), config, this);
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Modal._jQueryInterface;
- };
+ $$$1.fn[NAME] = Modal._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Modal;
- return Modal;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Modal._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): tooltip.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Modal;
+ }($);
-var Tooltip = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'tooltip';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.tooltip';
- var EVENT_KEY = "." + DATA_KEY;
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 150;
- var CLASS_PREFIX = 'bs-tooltip';
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
- var DefaultType = {
- animation: 'boolean',
- template: 'string',
- title: '(string|element|function)',
- trigger: 'string',
- delay: '(number|object)',
- html: 'boolean',
- selector: '(string|boolean)',
- placement: '(string|function)',
- offset: '(number|string)',
- container: '(string|element|boolean)',
- fallbackPlacement: '(string|array)',
- boundary: '(string|element)'
- };
- var AttachmentMap = {
- AUTO: 'auto',
- TOP: 'top',
- RIGHT: 'right',
- BOTTOM: 'bottom',
- LEFT: 'left'
- };
- var Default = {
- animation: true,
- template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
- trigger: 'hover focus',
- title: '',
- delay: 0,
- html: false,
- selector: false,
- placement: 'top',
- offset: 0,
- container: false,
- fallbackPlacement: 'flip',
- boundary: 'scrollParent'
- };
- var HoverState = {
- SHOW: 'show',
- OUT: 'out'
- };
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- INSERTED: "inserted" + EVENT_KEY,
- CLICK: "click" + EVENT_KEY,
- FOCUSIN: "focusin" + EVENT_KEY,
- FOCUSOUT: "focusout" + EVENT_KEY,
- MOUSEENTER: "mouseenter" + EVENT_KEY,
- MOUSELEAVE: "mouseleave" + EVENT_KEY
- };
- var ClassName = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- TOOLTIP: '.tooltip',
- TOOLTIP_INNER: '.tooltip-inner',
- ARROW: '.arrow'
- };
- var Trigger = {
- HOVER: 'hover',
- FOCUS: 'focus',
- CLICK: 'click',
- MANUAL: 'manual'
+
+ var Tooltip = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
-
- };
-
- var Tooltip =
- /*#__PURE__*/
- function () {
- function Tooltip(element, config) {
+ var NAME = 'tooltip';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.tooltip';
+ var EVENT_KEY = "." + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var CLASS_PREFIX = 'bs-tooltip';
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+ var DefaultType = {
+ animation: 'boolean',
+ template: 'string',
+ title: '(string|element|function)',
+ trigger: 'string',
+ delay: '(number|object)',
+ html: 'boolean',
+ selector: '(string|boolean)',
+ placement: '(string|function)',
+ offset: '(number|string)',
+ container: '(string|element|boolean)',
+ fallbackPlacement: '(string|array)',
+ boundary: '(string|element)'
+ };
+ var AttachmentMap = {
+ AUTO: 'auto',
+ TOP: 'top',
+ RIGHT: 'right',
+ BOTTOM: 'bottom',
+ LEFT: 'left'
+ };
+ var Default = {
+ animation: true,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: 0,
+ container: false,
+ fallbackPlacement: 'flip',
+ boundary: 'scrollParent'
+ };
+ var HoverState = {
+ SHOW: 'show',
+ OUT: 'out'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ INSERTED: "inserted" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ FOCUSOUT: "focusout" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
+ };
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ TOOLTIP: '.tooltip',
+ TOOLTIP_INNER: '.tooltip-inner',
+ ARROW: '.arrow'
+ };
+ var Trigger = {
+ HOVER: 'hover',
+ FOCUS: 'focus',
+ CLICK: 'click',
+ MANUAL: 'manual'
/**
- * Check for Popper dependency
- * Popper - https://popper.js.org
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
*/
- if (typeof Popper === 'undefined') {
- throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
- } // private
+ };
- this._isEnabled = true;
- this._timeout = 0;
- this._hoverState = '';
- this._activeTrigger = {};
- this._popper = null; // Protected
+ var Tooltip =
+ /*#__PURE__*/
+ function () {
+ function Tooltip(element, config) {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)');
+ } // private
- this.element = element;
- this.config = this._getConfig(config);
- this.tip = null;
- this._setListeners();
- } // Getters
+ this._isEnabled = true;
+ this._timeout = 0;
+ this._hoverState = '';
+ this._activeTrigger = {};
+ this._popper = null; // Protected
+ this.element = element;
+ this.config = this._getConfig(config);
+ this.tip = null;
- var _proto = Tooltip.prototype;
+ this._setListeners();
+ } // Getters
- // Public
- _proto.enable = function enable() {
- this._isEnabled = true;
- };
- _proto.disable = function disable() {
- this._isEnabled = false;
- };
+ var _proto = Tooltip.prototype;
- _proto.toggleEnabled = function toggleEnabled() {
- this._isEnabled = !this._isEnabled;
- };
+ // Public
+ _proto.enable = function enable() {
+ this._isEnabled = true;
+ };
- _proto.toggle = function toggle(event) {
- if (!this._isEnabled) {
- return;
- }
+ _proto.disable = function disable() {
+ this._isEnabled = false;
+ };
- if (event) {
- var dataKey = this.constructor.DATA_KEY;
- var context = $$$1(event.currentTarget).data(dataKey);
+ _proto.toggleEnabled = function toggleEnabled() {
+ this._isEnabled = !this._isEnabled;
+ };
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $$$1(event.currentTarget).data(dataKey, context);
+ _proto.toggle = function toggle(event) {
+ if (!this._isEnabled) {
+ return;
}
- context._activeTrigger.click = !context._activeTrigger.click;
+ if (event) {
+ var dataKey = this.constructor.DATA_KEY;
+ var context = $$$1(event.currentTarget).data(dataKey);
+
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
- if (context._isWithActiveTrigger()) {
- context._enter(null, context);
+ context._activeTrigger.click = !context._activeTrigger.click;
+
+ if (context._isWithActiveTrigger()) {
+ context._enter(null, context);
+ } else {
+ context._leave(null, context);
+ }
} else {
- context._leave(null, context);
- }
- } else {
- if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
- this._leave(null, this);
+ if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) {
+ this._leave(null, this);
- return;
- }
+ return;
+ }
- this._enter(null, this);
- }
- };
+ this._enter(null, this);
+ }
+ };
- _proto.dispose = function dispose() {
- clearTimeout(this._timeout);
- $$$1.removeData(this.element, this.constructor.DATA_KEY);
- $$$1(this.element).off(this.constructor.EVENT_KEY);
- $$$1(this.element).closest('.modal').off('hide.bs.modal');
+ _proto.dispose = function dispose() {
+ clearTimeout(this._timeout);
+ $$$1.removeData(this.element, this.constructor.DATA_KEY);
+ $$$1(this.element).off(this.constructor.EVENT_KEY);
+ $$$1(this.element).closest('.modal').off('hide.bs.modal');
- if (this.tip) {
- $$$1(this.tip).remove();
- }
+ if (this.tip) {
+ $$$1(this.tip).remove();
+ }
- this._isEnabled = null;
- this._timeout = null;
- this._hoverState = null;
- this._activeTrigger = null;
+ this._isEnabled = null;
+ this._timeout = null;
+ this._hoverState = null;
+ this._activeTrigger = null;
- if (this._popper !== null) {
- this._popper.destroy();
- }
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
- this._popper = null;
- this.element = null;
- this.config = null;
- this.tip = null;
- };
+ this._popper = null;
+ this.element = null;
+ this.config = null;
+ this.tip = null;
+ };
- _proto.show = function show() {
- var _this = this;
+ _proto.show = function show() {
+ var _this = this;
- if ($$$1(this.element).css('display') === 'none') {
- throw new Error('Please use show on visible elements');
- }
+ if ($$$1(this.element).css('display') === 'none') {
+ throw new Error('Please use show on visible elements');
+ }
- var showEvent = $$$1.Event(this.constructor.Event.SHOW);
+ var showEvent = $$$1.Event(this.constructor.Event.SHOW);
- if (this.isWithContent() && this._isEnabled) {
- $$$1(this.element).trigger(showEvent);
- var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
+ if (this.isWithContent() && this._isEnabled) {
+ $$$1(this.element).trigger(showEvent);
+ var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element);
- if (showEvent.isDefaultPrevented() || !isInTheDom) {
- return;
- }
+ if (showEvent.isDefaultPrevented() || !isInTheDom) {
+ return;
+ }
- var tip = this.getTipElement();
- var tipId = Util.getUID(this.constructor.NAME);
- tip.setAttribute('id', tipId);
- this.element.setAttribute('aria-describedby', tipId);
- this.setContent();
+ var tip = this.getTipElement();
+ var tipId = Util.getUID(this.constructor.NAME);
+ tip.setAttribute('id', tipId);
+ this.element.setAttribute('aria-describedby', tipId);
+ this.setContent();
- if (this.config.animation) {
- $$$1(tip).addClass(ClassName.FADE);
- }
+ if (this.config.animation) {
+ $$$1(tip).addClass(ClassName.FADE);
+ }
- var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
+ var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
- var attachment = this._getAttachment(placement);
+ var attachment = this._getAttachment(placement);
- this.addAttachmentClass(attachment);
- var container = this.config.container === false ? document.body : $$$1(this.config.container);
- $$$1(tip).data(this.constructor.DATA_KEY, this);
+ this.addAttachmentClass(attachment);
+ var container = this.config.container === false ? document.body : $$$1(this.config.container);
+ $$$1(tip).data(this.constructor.DATA_KEY, this);
- if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
- $$$1(tip).appendTo(container);
- }
+ if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $$$1(tip).appendTo(container);
+ }
- $$$1(this.element).trigger(this.constructor.Event.INSERTED);
- this._popper = new Popper(this.element, tip, {
- placement: attachment,
- modifiers: {
- offset: {
- offset: this.config.offset
- },
- flip: {
- behavior: this.config.fallbackPlacement
+ $$$1(this.element).trigger(this.constructor.Event.INSERTED);
+ this._popper = new Popper(this.element, tip, {
+ placement: attachment,
+ modifiers: {
+ offset: {
+ offset: this.config.offset
+ },
+ flip: {
+ behavior: this.config.fallbackPlacement
+ },
+ arrow: {
+ element: Selector.ARROW
+ },
+ preventOverflow: {
+ boundariesElement: this.config.boundary
+ }
},
- arrow: {
- element: Selector.ARROW
+ onCreate: function onCreate(data) {
+ if (data.originalPlacement !== data.placement) {
+ _this._handlePopperPlacementChange(data);
+ }
},
- preventOverflow: {
- boundariesElement: this.config.boundary
- }
- },
- onCreate: function onCreate(data) {
- if (data.originalPlacement !== data.placement) {
+ onUpdate: function onUpdate(data) {
_this._handlePopperPlacementChange(data);
}
- },
- onUpdate: function onUpdate(data) {
- _this._handlePopperPlacementChange(data);
+ });
+ $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+
+ if ('ontouchstart' in document.documentElement) {
+ $$$1(document.body).children().on('mouseover', null, $$$1.noop);
}
- });
- $$$1(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
- // empty mouseover listeners to the body's immediate children;
- // only needed because of broken event delegation on iOS
- // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement) {
- $$$1('body').children().on('mouseover', null, $$$1.noop);
- }
+ var complete = function complete() {
+ if (_this.config.animation) {
+ _this._fixTransition();
+ }
- var complete = function complete() {
- if (_this.config.animation) {
- _this._fixTransition();
- }
+ var prevHoverState = _this._hoverState;
+ _this._hoverState = null;
+ $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
- var prevHoverState = _this._hoverState;
- _this._hoverState = null;
- $$$1(_this.element).trigger(_this.constructor.Event.SHOWN);
+ if (prevHoverState === HoverState.OUT) {
+ _this._leave(null, _this);
+ }
+ };
- if (prevHoverState === HoverState.OUT) {
- _this._leave(null, _this);
+ if ($$$1(this.tip).hasClass(ClassName.FADE)) {
+ var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
+ $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ } else {
+ complete();
}
- };
-
- if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
- $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
- } else {
- complete();
}
- }
- };
+ };
- _proto.hide = function hide(callback) {
- var _this2 = this;
+ _proto.hide = function hide(callback) {
+ var _this2 = this;
- var tip = this.getTipElement();
- var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
+ var tip = this.getTipElement();
+ var hideEvent = $$$1.Event(this.constructor.Event.HIDE);
- var complete = function complete() {
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
- tip.parentNode.removeChild(tip);
- }
+ var complete = function complete() {
+ if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
+ tip.parentNode.removeChild(tip);
+ }
- _this2._cleanTipClass();
+ _this2._cleanTipClass();
- _this2.element.removeAttribute('aria-describedby');
+ _this2.element.removeAttribute('aria-describedby');
- $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
+ $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
- if (_this2._popper !== null) {
- _this2._popper.destroy();
- }
+ if (_this2._popper !== null) {
+ _this2._popper.destroy();
+ }
- if (callback) {
- callback();
- }
- };
+ if (callback) {
+ callback();
+ }
+ };
- $$$1(this.element).trigger(hideEvent);
+ $$$1(this.element).trigger(hideEvent);
- if (hideEvent.isDefaultPrevented()) {
- return;
- }
+ if (hideEvent.isDefaultPrevented()) {
+ return;
+ }
- $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
- // empty mouseover listeners we added for iOS support
+ $$$1(tip).removeClass(ClassName.SHOW); // If this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
- if ('ontouchstart' in document.documentElement) {
- $$$1('body').children().off('mouseover', null, $$$1.noop);
- }
+ if ('ontouchstart' in document.documentElement) {
+ $$$1(document.body).children().off('mouseover', null, $$$1.noop);
+ }
- this._activeTrigger[Trigger.CLICK] = false;
- this._activeTrigger[Trigger.FOCUS] = false;
- this._activeTrigger[Trigger.HOVER] = false;
+ this._activeTrigger[Trigger.CLICK] = false;
+ this._activeTrigger[Trigger.FOCUS] = false;
+ this._activeTrigger[Trigger.HOVER] = false;
- if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) {
- $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- complete();
- }
+ if ($$$1(this.tip).hasClass(ClassName.FADE)) {
+ var transitionDuration = Util.getTransitionDurationFromElement(tip);
+ $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ } else {
+ complete();
+ }
- this._hoverState = '';
- };
+ this._hoverState = '';
+ };
- _proto.update = function update() {
- if (this._popper !== null) {
- this._popper.scheduleUpdate();
- }
- }; // Protected
+ _proto.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ }; // Protected
- _proto.isWithContent = function isWithContent() {
- return Boolean(this.getTitle());
- };
+ _proto.isWithContent = function isWithContent() {
+ return Boolean(this.getTitle());
+ };
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
- $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
- };
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ };
- _proto.getTipElement = function getTipElement() {
- this.tip = this.tip || $$$1(this.config.template)[0];
- return this.tip;
- };
+ _proto.getTipElement = function getTipElement() {
+ this.tip = this.tip || $$$1(this.config.template)[0];
+ return this.tip;
+ };
- _proto.setContent = function setContent() {
- var $tip = $$$1(this.getTipElement());
- this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
- };
+ _proto.setContent = function setContent() {
+ var $tip = $$$1(this.getTipElement());
+ this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ };
- _proto.setElementContent = function setElementContent($element, content) {
- var html = this.config.html;
+ _proto.setElementContent = function setElementContent($element, content) {
+ var html = this.config.html;
- if (typeof content === 'object' && (content.nodeType || content.jquery)) {
- // Content is a DOM node or a jQuery
- if (html) {
- if (!$$$1(content).parent().is($element)) {
- $element.empty().append(content);
+ if (typeof content === 'object' && (content.nodeType || content.jquery)) {
+ // Content is a DOM node or a jQuery
+ if (html) {
+ if (!$$$1(content).parent().is($element)) {
+ $element.empty().append(content);
+ }
+ } else {
+ $element.text($$$1(content).text());
}
} else {
- $element.text($$$1(content).text());
+ $element[html ? 'html' : 'text'](content);
}
- } else {
- $element[html ? 'html' : 'text'](content);
- }
- };
+ };
- _proto.getTitle = function getTitle() {
- var title = this.element.getAttribute('data-original-title');
+ _proto.getTitle = function getTitle() {
+ var title = this.element.getAttribute('data-original-title');
- if (!title) {
- title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
- }
+ if (!title) {
+ title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
+ }
- return title;
- }; // Private
+ return title;
+ }; // Private
- _proto._getAttachment = function _getAttachment(placement) {
- return AttachmentMap[placement.toUpperCase()];
- };
+ _proto._getAttachment = function _getAttachment(placement) {
+ return AttachmentMap[placement.toUpperCase()];
+ };
- _proto._setListeners = function _setListeners() {
- var _this3 = this;
+ _proto._setListeners = function _setListeners() {
+ var _this3 = this;
+
+ var triggers = this.config.trigger.split(' ');
+ triggers.forEach(function (trigger) {
+ if (trigger === 'click') {
+ $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
+ return _this3.toggle(event);
+ });
+ } else if (trigger !== Trigger.MANUAL) {
+ var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
+ $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
+ return _this3._enter(event);
+ }).on(eventOut, _this3.config.selector, function (event) {
+ return _this3._leave(event);
+ });
+ }
- var triggers = this.config.trigger.split(' ');
- triggers.forEach(function (trigger) {
- if (trigger === 'click') {
- $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
- return _this3.toggle(event);
+ $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this3.hide();
});
- } else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
- $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) {
- return _this3._enter(event);
- }).on(eventOut, _this3.config.selector, function (event) {
- return _this3._leave(event);
+ });
+
+ if (this.config.selector) {
+ this.config = _objectSpread({}, this.config, {
+ trigger: 'manual',
+ selector: ''
});
+ } else {
+ this._fixTitle();
}
+ };
- $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () {
- return _this3.hide();
- });
- });
-
- if (this.config.selector) {
- this.config = _extends({}, this.config, {
- trigger: 'manual',
- selector: ''
- });
- } else {
- this._fixTitle();
- }
- };
+ _proto._fixTitle = function _fixTitle() {
+ var titleType = typeof this.element.getAttribute('data-original-title');
- _proto._fixTitle = function _fixTitle() {
- var titleType = typeof this.element.getAttribute('data-original-title');
+ if (this.element.getAttribute('title') || titleType !== 'string') {
+ this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
+ this.element.setAttribute('title', '');
+ }
+ };
- if (this.element.getAttribute('title') || titleType !== 'string') {
- this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
- this.element.setAttribute('title', '');
- }
- };
+ _proto._enter = function _enter(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+ context = context || $$$1(event.currentTarget).data(dataKey);
- _proto._enter = function _enter(event, context) {
- var dataKey = this.constructor.DATA_KEY;
- context = context || $$$1(event.currentTarget).data(dataKey);
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $$$1(event.currentTarget).data(dataKey, context);
- }
+ if (event) {
+ context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
+ }
- if (event) {
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
- }
+ if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ context._hoverState = HoverState.SHOW;
+ return;
+ }
- if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
+ clearTimeout(context._timeout);
context._hoverState = HoverState.SHOW;
- return;
- }
- clearTimeout(context._timeout);
- context._hoverState = HoverState.SHOW;
-
- if (!context.config.delay || !context.config.delay.show) {
- context.show();
- return;
- }
-
- context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.SHOW) {
+ if (!context.config.delay || !context.config.delay.show) {
context.show();
+ return;
}
- }, context.config.delay.show);
- };
- _proto._leave = function _leave(event, context) {
- var dataKey = this.constructor.DATA_KEY;
- context = context || $$$1(event.currentTarget).data(dataKey);
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.SHOW) {
+ context.show();
+ }
+ }, context.config.delay.show);
+ };
- if (!context) {
- context = new this.constructor(event.currentTarget, this._getDelegateConfig());
- $$$1(event.currentTarget).data(dataKey, context);
- }
+ _proto._leave = function _leave(event, context) {
+ var dataKey = this.constructor.DATA_KEY;
+ context = context || $$$1(event.currentTarget).data(dataKey);
- if (event) {
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
- }
+ if (!context) {
+ context = new this.constructor(event.currentTarget, this._getDelegateConfig());
+ $$$1(event.currentTarget).data(dataKey, context);
+ }
- if (context._isWithActiveTrigger()) {
- return;
- }
+ if (event) {
+ context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
+ }
- clearTimeout(context._timeout);
- context._hoverState = HoverState.OUT;
+ if (context._isWithActiveTrigger()) {
+ return;
+ }
- if (!context.config.delay || !context.config.delay.hide) {
- context.hide();
- return;
- }
+ clearTimeout(context._timeout);
+ context._hoverState = HoverState.OUT;
- context._timeout = setTimeout(function () {
- if (context._hoverState === HoverState.OUT) {
+ if (!context.config.delay || !context.config.delay.hide) {
context.hide();
+ return;
}
- }, context.config.delay.hide);
- };
- _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
- for (var trigger in this._activeTrigger) {
- if (this._activeTrigger[trigger]) {
- return true;
+ context._timeout = setTimeout(function () {
+ if (context._hoverState === HoverState.OUT) {
+ context.hide();
+ }
+ }, context.config.delay.hide);
+ };
+
+ _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
+ for (var trigger in this._activeTrigger) {
+ if (this._activeTrigger[trigger]) {
+ return true;
+ }
}
- }
- return false;
- };
+ return false;
+ };
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config);
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, this.constructor.Default, $$$1(this.element).data(), config);
- if (typeof config.delay === 'number') {
- config.delay = {
- show: config.delay,
- hide: config.delay
- };
- }
+ if (typeof config.delay === 'number') {
+ config.delay = {
+ show: config.delay,
+ hide: config.delay
+ };
+ }
- if (typeof config.title === 'number') {
- config.title = config.title.toString();
- }
+ if (typeof config.title === 'number') {
+ config.title = config.title.toString();
+ }
- if (typeof config.content === 'number') {
- config.content = config.content.toString();
- }
+ if (typeof config.content === 'number') {
+ config.content = config.content.toString();
+ }
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
- return config;
- };
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ return config;
+ };
- _proto._getDelegateConfig = function _getDelegateConfig() {
- var config = {};
+ _proto._getDelegateConfig = function _getDelegateConfig() {
+ var config = {};
- if (this.config) {
- for (var key in this.config) {
- if (this.constructor.Default[key] !== this.config[key]) {
- config[key] = this.config[key];
+ if (this.config) {
+ for (var key in this.config) {
+ if (this.constructor.Default[key] !== this.config[key]) {
+ config[key] = this.config[key];
+ }
}
}
- }
- return config;
- };
-
- _proto._cleanTipClass = function _cleanTipClass() {
- var $tip = $$$1(this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ return config;
+ };
- if (tabClass !== null && tabClass.length > 0) {
- $tip.removeClass(tabClass.join(''));
- }
- };
+ _proto._cleanTipClass = function _cleanTipClass() {
+ var $tip = $$$1(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
- _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
- this._cleanTipClass();
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
- this.addAttachmentClass(this._getAttachment(data.placement));
- };
+ _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+ this._cleanTipClass();
- _proto._fixTransition = function _fixTransition() {
- var tip = this.getTipElement();
- var initConfigAnimation = this.config.animation;
+ this.addAttachmentClass(this._getAttachment(data.placement));
+ };
- if (tip.getAttribute('x-placement') !== null) {
- return;
- }
+ _proto._fixTransition = function _fixTransition() {
+ var tip = this.getTipElement();
+ var initConfigAnimation = this.config.animation;
- $$$1(tip).removeClass(ClassName.FADE);
- this.config.animation = false;
- this.hide();
- this.show();
- this.config.animation = initConfigAnimation;
- }; // Static
+ if (tip.getAttribute('x-placement') !== null) {
+ return;
+ }
+ $$$1(tip).removeClass(ClassName.FADE);
+ this.config.animation = false;
+ this.hide();
+ this.show();
+ this.config.animation = initConfigAnimation;
+ }; // Static
- Tooltip._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
- var _config = typeof config === 'object' && config;
+ Tooltip._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- if (!data && /dispose|hide/.test(config)) {
- return;
- }
+ var _config = typeof config === 'object' && config;
- if (!data) {
- data = new Tooltip(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (!data && /dispose|hide/.test(config)) {
+ return;
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (!data) {
+ data = new Tooltip(this, _config);
+ $$$1(this).data(DATA_KEY, data);
}
- data[config]();
- }
- });
- };
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- _createClass(Tooltip, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }, {
- key: "NAME",
- get: function get() {
- return NAME;
- }
- }, {
- key: "DATA_KEY",
- get: function get() {
- return DATA_KEY;
- }
- }, {
- key: "Event",
- get: function get() {
- return Event;
- }
- }, {
- key: "EVENT_KEY",
- get: function get() {
- return EVENT_KEY;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType;
- }
- }]);
- return Tooltip;
- }();
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ data[config]();
+ }
+ });
+ };
+ _createClass(Tooltip, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "NAME",
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: "DATA_KEY",
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: "Event",
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: "EVENT_KEY",
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+
+ return Tooltip;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME] = Tooltip._jQueryInterface;
- $$$1.fn[NAME].Constructor = Tooltip;
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Tooltip._jQueryInterface;
- };
+ $$$1.fn[NAME] = Tooltip._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Tooltip;
- return Tooltip;
-}($, Popper);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tooltip._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): popover.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Tooltip;
+ }($, Popper);
-var Popover = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'popover';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.popover';
- var EVENT_KEY = "." + DATA_KEY;
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var CLASS_PREFIX = 'bs-popover';
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
- var Default = _extends({}, Tooltip.Default, {
- placement: 'right',
- trigger: 'click',
- content: '',
- template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
- });
- var DefaultType = _extends({}, Tooltip.DefaultType, {
- content: '(string|element|function)'
- });
- var ClassName = {
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- TITLE: '.popover-header',
- CONTENT: '.popover-body'
- };
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- INSERTED: "inserted" + EVENT_KEY,
- CLICK: "click" + EVENT_KEY,
- FOCUSIN: "focusin" + EVENT_KEY,
- FOCUSOUT: "focusout" + EVENT_KEY,
- MOUSEENTER: "mouseenter" + EVENT_KEY,
- MOUSELEAVE: "mouseleave" + EVENT_KEY
+
+ var Popover = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'popover';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.popover';
+ var EVENT_KEY = "." + DATA_KEY;
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var CLASS_PREFIX = 'bs-popover';
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
+
+ var Default = _objectSpread({}, Tooltip.Default, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
+ });
- };
-
- var Popover =
- /*#__PURE__*/
- function (_Tooltip) {
- _inheritsLoose(Popover, _Tooltip);
-
- function Popover() {
- return _Tooltip.apply(this, arguments) || this;
- }
+ var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
+ content: '(string|element|function)'
+ });
- var _proto = Popover.prototype;
+ var ClassName = {
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ TITLE: '.popover-header',
+ CONTENT: '.popover-body'
+ };
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ INSERTED: "inserted" + EVENT_KEY,
+ CLICK: "click" + EVENT_KEY,
+ FOCUSIN: "focusin" + EVENT_KEY,
+ FOCUSOUT: "focusout" + EVENT_KEY,
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- // Overrides
- _proto.isWithContent = function isWithContent() {
- return this.getTitle() || this._getContent();
};
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
- $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
- };
+ var Popover =
+ /*#__PURE__*/
+ function (_Tooltip) {
+ _inheritsLoose(Popover, _Tooltip);
- _proto.getTipElement = function getTipElement() {
- this.tip = this.tip || $$$1(this.config.template)[0];
- return this.tip;
- };
+ function Popover() {
+ return _Tooltip.apply(this, arguments) || this;
+ }
- _proto.setContent = function setContent() {
- var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
+ var _proto = Popover.prototype;
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
+ // Overrides
+ _proto.isWithContent = function isWithContent() {
+ return this.getTitle() || this._getContent();
+ };
- var content = this._getContent();
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
+ };
- if (typeof content === 'function') {
- content = content.call(this.element);
- }
+ _proto.getTipElement = function getTipElement() {
+ this.tip = this.tip || $$$1(this.config.template)[0];
+ return this.tip;
+ };
- this.setElementContent($tip.find(Selector.CONTENT), content);
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
- }; // Private
+ _proto.setContent = function setContent() {
+ var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
- _proto._getContent = function _getContent() {
- return this.element.getAttribute('data-content') || this.config.content;
- };
+ var content = this._getContent();
- _proto._cleanTipClass = function _cleanTipClass() {
- var $tip = $$$1(this.getTipElement());
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (typeof content === 'function') {
+ content = content.call(this.element);
+ }
- if (tabClass !== null && tabClass.length > 0) {
- $tip.removeClass(tabClass.join(''));
- }
- }; // Static
+ this.setElementContent($tip.find(Selector.CONTENT), content);
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
+ }; // Private
- Popover._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ _proto._getContent = function _getContent() {
+ return this.element.getAttribute('data-content') || this.config.content;
+ };
- var _config = typeof config === 'object' ? config : null;
+ _proto._cleanTipClass = function _cleanTipClass() {
+ var $tip = $$$1(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
- if (!data && /destroy|hide/.test(config)) {
- return;
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
}
+ }; // Static
- if (!data) {
- data = new Popover(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ Popover._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
+
+ var _config = typeof config === 'object' ? config : null;
+
+ if (!data && /destroy|hide/.test(config)) {
+ return;
}
- data[config]();
- }
- });
- };
+ if (!data) {
+ data = new Popover(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- _createClass(Popover, null, [{
- key: "VERSION",
- // Getters
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }, {
- key: "NAME",
- get: function get() {
- return NAME;
- }
- }, {
- key: "DATA_KEY",
- get: function get() {
- return DATA_KEY;
- }
- }, {
- key: "Event",
- get: function get() {
- return Event;
- }
- }, {
- key: "EVENT_KEY",
- get: function get() {
- return EVENT_KEY;
- }
- }, {
- key: "DefaultType",
- get: function get() {
- return DefaultType;
- }
- }]);
- return Popover;
- }(Tooltip);
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
+ }
+ });
+ };
+ _createClass(Popover, null, [{
+ key: "VERSION",
+ // Getters
+ get: function get() {
+ return VERSION;
+ }
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: "NAME",
+ get: function get() {
+ return NAME;
+ }
+ }, {
+ key: "DATA_KEY",
+ get: function get() {
+ return DATA_KEY;
+ }
+ }, {
+ key: "Event",
+ get: function get() {
+ return Event;
+ }
+ }, {
+ key: "EVENT_KEY",
+ get: function get() {
+ return EVENT_KEY;
+ }
+ }, {
+ key: "DefaultType",
+ get: function get() {
+ return DefaultType;
+ }
+ }]);
+
+ return Popover;
+ }(Tooltip);
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME] = Popover._jQueryInterface;
- $$$1.fn[NAME].Constructor = Popover;
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Popover._jQueryInterface;
- };
+ $$$1.fn[NAME] = Popover._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Popover;
- return Popover;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Popover._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): scrollspy.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return Popover;
+ }($);
-var ScrollSpy = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'scrollspy';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.scrollspy';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var Default = {
- offset: 10,
- method: 'auto',
- target: ''
- };
- var DefaultType = {
- offset: 'number',
- method: 'string',
- target: '(string|element)'
- };
- var Event = {
- ACTIVATE: "activate" + EVENT_KEY,
- SCROLL: "scroll" + EVENT_KEY,
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DROPDOWN_ITEM: 'dropdown-item',
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active'
- };
- var Selector = {
- DATA_SPY: '[data-spy="scroll"]',
- ACTIVE: '.active',
- NAV_LIST_GROUP: '.nav, .list-group',
- NAV_LINKS: '.nav-link',
- NAV_ITEMS: '.nav-item',
- LIST_ITEMS: '.list-group-item',
- DROPDOWN: '.dropdown',
- DROPDOWN_ITEMS: '.dropdown-item',
- DROPDOWN_TOGGLE: '.dropdown-toggle'
- };
- var OffsetMethod = {
- OFFSET: 'offset',
- POSITION: 'position'
+
+ var ScrollSpy = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'scrollspy';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.scrollspy';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Default = {
+ offset: 10,
+ method: 'auto',
+ target: ''
+ };
+ var DefaultType = {
+ offset: 'number',
+ method: 'string',
+ target: '(string|element)'
+ };
+ var Event = {
+ ACTIVATE: "activate" + EVENT_KEY,
+ SCROLL: "scroll" + EVENT_KEY,
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DROPDOWN_ITEM: 'dropdown-item',
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active'
+ };
+ var Selector = {
+ DATA_SPY: '[data-spy="scroll"]',
+ ACTIVE: '.active',
+ NAV_LIST_GROUP: '.nav, .list-group',
+ NAV_LINKS: '.nav-link',
+ NAV_ITEMS: '.nav-item',
+ LIST_ITEMS: '.list-group-item',
+ DROPDOWN: '.dropdown',
+ DROPDOWN_ITEMS: '.dropdown-item',
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
+ };
+ var OffsetMethod = {
+ OFFSET: 'offset',
+ POSITION: 'position'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var ScrollSpy =
- /*#__PURE__*/
- function () {
- function ScrollSpy(element, config) {
- var _this = this;
+ var ScrollSpy =
+ /*#__PURE__*/
+ function () {
+ function ScrollSpy(element, config) {
+ var _this = this;
- this._element = element;
- this._scrollElement = element.tagName === 'BODY' ? window : element;
- this._config = this._getConfig(config);
- this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
- this._offsets = [];
- this._targets = [];
- this._activeTarget = null;
- this._scrollHeight = 0;
- $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
- return _this._process(event);
- });
- this.refresh();
+ this._element = element;
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
+ this._config = this._getConfig(config);
+ this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
+ this._offsets = [];
+ this._targets = [];
+ this._activeTarget = null;
+ this._scrollHeight = 0;
+ $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
+ return _this._process(event);
+ });
+ this.refresh();
- this._process();
- } // Getters
+ this._process();
+ } // Getters
- var _proto = ScrollSpy.prototype;
+ var _proto = ScrollSpy.prototype;
- // Public
- _proto.refresh = function refresh() {
- var _this2 = this;
+ // Public
+ _proto.refresh = function refresh() {
+ var _this2 = this;
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
- var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
- this._offsets = [];
- this._targets = [];
- this._scrollHeight = this._getScrollHeight();
- var targets = $$$1.makeArray($$$1(this._selector));
- targets.map(function (element) {
- var target;
- var targetSelector = Util.getSelectorFromElement(element);
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
+ this._offsets = [];
+ this._targets = [];
+ this._scrollHeight = this._getScrollHeight();
+ var targets = $$$1.makeArray($$$1(this._selector));
+ targets.map(function (element) {
+ var target;
+ var targetSelector = Util.getSelectorFromElement(element);
- if (targetSelector) {
- target = $$$1(targetSelector)[0];
- }
+ if (targetSelector) {
+ target = $$$1(targetSelector)[0];
+ }
- if (target) {
- var targetBCR = target.getBoundingClientRect();
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
- if (targetBCR.width || targetBCR.height) {
- // TODO (fat): remove sketch reliance on jQuery position/offset
- return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
+ if (targetBCR.width || targetBCR.height) {
+ // TODO (fat): remove sketch reliance on jQuery position/offset
+ return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
}
- }
- return null;
- }).filter(function (item) {
- return item;
- }).sort(function (a, b) {
- return a[0] - b[0];
- }).forEach(function (item) {
- _this2._offsets.push(item[0]);
+ return null;
+ }).filter(function (item) {
+ return item;
+ }).sort(function (a, b) {
+ return a[0] - b[0];
+ }).forEach(function (item) {
+ _this2._offsets.push(item[0]);
- _this2._targets.push(item[1]);
- });
- };
+ _this2._targets.push(item[1]);
+ });
+ };
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- $$$1(this._scrollElement).off(EVENT_KEY);
- this._element = null;
- this._scrollElement = null;
- this._config = null;
- this._selector = null;
- this._offsets = null;
- this._targets = null;
- this._activeTarget = null;
- this._scrollHeight = null;
- }; // Private
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ $$$1(this._scrollElement).off(EVENT_KEY);
+ this._element = null;
+ this._scrollElement = null;
+ this._config = null;
+ this._selector = null;
+ this._offsets = null;
+ this._targets = null;
+ this._activeTarget = null;
+ this._scrollHeight = null;
+ }; // Private
- _proto._getConfig = function _getConfig(config) {
- config = _extends({}, Default, config);
+ _proto._getConfig = function _getConfig(config) {
+ config = _objectSpread({}, Default, config);
- if (typeof config.target !== 'string') {
- var id = $$$1(config.target).attr('id');
+ if (typeof config.target !== 'string') {
+ var id = $$$1(config.target).attr('id');
+
+ if (!id) {
+ id = Util.getUID(NAME);
+ $$$1(config.target).attr('id', id);
+ }
- if (!id) {
- id = Util.getUID(NAME);
- $$$1(config.target).attr('id', id);
+ config.target = "#" + id;
}
- config.target = "#" + id;
- }
+ Util.typeCheckConfig(NAME, config, DefaultType);
+ return config;
+ };
- Util.typeCheckConfig(NAME, config, DefaultType);
- return config;
- };
+ _proto._getScrollTop = function _getScrollTop() {
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
+ };
- _proto._getScrollTop = function _getScrollTop() {
- return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
- };
+ _proto._getScrollHeight = function _getScrollHeight() {
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
+ };
- _proto._getScrollHeight = function _getScrollHeight() {
- return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
- };
+ _proto._getOffsetHeight = function _getOffsetHeight() {
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
+ };
- _proto._getOffsetHeight = function _getOffsetHeight() {
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
- };
+ _proto._process = function _process() {
+ var scrollTop = this._getScrollTop() + this._config.offset;
- _proto._process = function _process() {
- var scrollTop = this._getScrollTop() + this._config.offset;
+ var scrollHeight = this._getScrollHeight();
- var scrollHeight = this._getScrollHeight();
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
- var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
+ if (this._scrollHeight !== scrollHeight) {
+ this.refresh();
+ }
- if (this._scrollHeight !== scrollHeight) {
- this.refresh();
- }
+ if (scrollTop >= maxScroll) {
+ var target = this._targets[this._targets.length - 1];
- if (scrollTop >= maxScroll) {
- var target = this._targets[this._targets.length - 1];
+ if (this._activeTarget !== target) {
+ this._activate(target);
+ }
- if (this._activeTarget !== target) {
- this._activate(target);
+ return;
}
- return;
- }
-
- if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
- this._activeTarget = null;
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
+ this._activeTarget = null;
- this._clear();
+ this._clear();
- return;
- }
+ return;
+ }
- for (var i = this._offsets.length; i--;) {
- var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
+ for (var i = this._offsets.length; i--;) {
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
- if (isActiveTarget) {
- this._activate(this._targets[i]);
+ if (isActiveTarget) {
+ this._activate(this._targets[i]);
+ }
}
- }
- };
+ };
- _proto._activate = function _activate(target) {
- this._activeTarget = target;
+ _proto._activate = function _activate(target) {
+ this._activeTarget = target;
- this._clear();
+ this._clear();
- var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
+ var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
- queries = queries.map(function (selector) {
- return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
- });
- var $link = $$$1(queries.join(','));
+ queries = queries.map(function (selector) {
+ return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
+ });
+ var $link = $$$1(queries.join(','));
- if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
- $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
- $link.addClass(ClassName.ACTIVE);
- } else {
- // Set triggered link as active
- $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
- // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ $link.addClass(ClassName.ACTIVE);
+ } else {
+ // Set triggered link as active
+ $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
- }
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ }
- $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
- relatedTarget: target
- });
- };
+ $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
+ relatedTarget: target
+ });
+ };
- _proto._clear = function _clear() {
- $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
- }; // Static
+ _proto._clear = function _clear() {
+ $$$1(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
+ }; // Static
- ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var data = $$$1(this).data(DATA_KEY);
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var data = $$$1(this).data(DATA_KEY);
- var _config = typeof config === 'object' && config;
+ var _config = typeof config === 'object' && config;
- if (!data) {
- data = new ScrollSpy(this, _config);
- $$$1(this).data(DATA_KEY, data);
- }
+ if (!data) {
+ data = new ScrollSpy(this, _config);
+ $$$1(this).data(DATA_KEY, data);
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
+
+ data[config]();
}
+ });
+ };
- data[config]();
+ _createClass(ScrollSpy, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
-
- _createClass(ScrollSpy, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }, {
- key: "Default",
- get: function get() {
- return Default;
- }
- }]);
- return ScrollSpy;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ }, {
+ key: "Default",
+ get: function get() {
+ return Default;
+ }
+ }]);
+ return ScrollSpy;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(window).on(Event.LOAD_DATA_API, function () {
- var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
- for (var i = scrollSpys.length; i--;) {
- var $spy = $$$1(scrollSpys[i]);
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
+ var scrollSpys = $$$1.makeArray($$$1(Selector.DATA_SPY));
- ScrollSpy._jQueryInterface.call($spy, $spy.data());
- }
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ for (var i = scrollSpys.length; i--;) {
+ var $spy = $$$1(scrollSpys[i]);
- $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
- $$$1.fn[NAME].Constructor = ScrollSpy;
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
+ }
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return ScrollSpy._jQueryInterface;
- };
+ $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
+ $$$1.fn[NAME].Constructor = ScrollSpy;
- return ScrollSpy;
-}($);
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return ScrollSpy._jQueryInterface;
+ };
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0): tab.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ return ScrollSpy;
+ }($);
-var Tab = function ($$$1) {
/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.1.0): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
*/
- var NAME = 'tab';
- var VERSION = '4.0.0';
- var DATA_KEY = 'bs.tab';
- var EVENT_KEY = "." + DATA_KEY;
- var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
- var TRANSITION_DURATION = 150;
- var Event = {
- HIDE: "hide" + EVENT_KEY,
- HIDDEN: "hidden" + EVENT_KEY,
- SHOW: "show" + EVENT_KEY,
- SHOWN: "shown" + EVENT_KEY,
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
- };
- var ClassName = {
- DROPDOWN_MENU: 'dropdown-menu',
- ACTIVE: 'active',
- DISABLED: 'disabled',
- FADE: 'fade',
- SHOW: 'show'
- };
- var Selector = {
- DROPDOWN: '.dropdown',
- NAV_LIST_GROUP: '.nav, .list-group',
- ACTIVE: '.active',
- ACTIVE_UL: '> li > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
- DROPDOWN_TOGGLE: '.dropdown-toggle',
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+
+ var Tab = function ($$$1) {
/**
* ------------------------------------------------------------------------
- * Class Definition
+ * Constants
* ------------------------------------------------------------------------
*/
+ var NAME = 'tab';
+ var VERSION = '4.1.0';
+ var DATA_KEY = 'bs.tab';
+ var EVENT_KEY = "." + DATA_KEY;
+ var DATA_API_KEY = '.data-api';
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
+ var Event = {
+ HIDE: "hide" + EVENT_KEY,
+ HIDDEN: "hidden" + EVENT_KEY,
+ SHOW: "show" + EVENT_KEY,
+ SHOWN: "shown" + EVENT_KEY,
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
+ };
+ var ClassName = {
+ DROPDOWN_MENU: 'dropdown-menu',
+ ACTIVE: 'active',
+ DISABLED: 'disabled',
+ FADE: 'fade',
+ SHOW: 'show'
+ };
+ var Selector = {
+ DROPDOWN: '.dropdown',
+ NAV_LIST_GROUP: '.nav, .list-group',
+ ACTIVE: '.active',
+ ACTIVE_UL: '> li > .active',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
+ DROPDOWN_TOGGLE: '.dropdown-toggle',
+ DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- };
+ };
- var Tab =
- /*#__PURE__*/
- function () {
- function Tab(element) {
- this._element = element;
- } // Getters
+ var Tab =
+ /*#__PURE__*/
+ function () {
+ function Tab(element) {
+ this._element = element;
+ } // Getters
- var _proto = Tab.prototype;
+ var _proto = Tab.prototype;
- // Public
- _proto.show = function show() {
- var _this = this;
+ // Public
+ _proto.show = function show() {
+ var _this = this;
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
- return;
- }
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $$$1(this._element).hasClass(ClassName.ACTIVE) || $$$1(this._element).hasClass(ClassName.DISABLED)) {
+ return;
+ }
- var target;
- var previous;
- var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
- var selector = Util.getSelectorFromElement(this._element);
-
- if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
- previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
- previous = previous[previous.length - 1];
- }
+ var target;
+ var previous;
+ var listElement = $$$1(this._element).closest(Selector.NAV_LIST_GROUP)[0];
+ var selector = Util.getSelectorFromElement(this._element);
- var hideEvent = $$$1.Event(Event.HIDE, {
- relatedTarget: this._element
- });
- var showEvent = $$$1.Event(Event.SHOW, {
- relatedTarget: previous
- });
+ if (listElement) {
+ var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE;
+ previous = $$$1.makeArray($$$1(listElement).find(itemSelector));
+ previous = previous[previous.length - 1];
+ }
- if (previous) {
- $$$1(previous).trigger(hideEvent);
- }
+ var hideEvent = $$$1.Event(Event.HIDE, {
+ relatedTarget: this._element
+ });
+ var showEvent = $$$1.Event(Event.SHOW, {
+ relatedTarget: previous
+ });
- $$$1(this._element).trigger(showEvent);
+ if (previous) {
+ $$$1(previous).trigger(hideEvent);
+ }
- if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
- return;
- }
+ $$$1(this._element).trigger(showEvent);
- if (selector) {
- target = $$$1(selector)[0];
- }
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
+ return;
+ }
- this._activate(this._element, listElement);
+ if (selector) {
+ target = $$$1(selector)[0];
+ }
- var complete = function complete() {
- var hiddenEvent = $$$1.Event(Event.HIDDEN, {
- relatedTarget: _this._element
- });
- var shownEvent = $$$1.Event(Event.SHOWN, {
- relatedTarget: previous
- });
- $$$1(previous).trigger(hiddenEvent);
- $$$1(_this._element).trigger(shownEvent);
+ this._activate(this._element, listElement);
+
+ var complete = function complete() {
+ var hiddenEvent = $$$1.Event(Event.HIDDEN, {
+ relatedTarget: _this._element
+ });
+ var shownEvent = $$$1.Event(Event.SHOWN, {
+ relatedTarget: previous
+ });
+ $$$1(previous).trigger(hiddenEvent);
+ $$$1(_this._element).trigger(shownEvent);
+ };
+
+ if (target) {
+ this._activate(target, target.parentNode, complete);
+ } else {
+ complete();
+ }
};
- if (target) {
- this._activate(target, target.parentNode, complete);
- } else {
- complete();
- }
- };
+ _proto.dispose = function dispose() {
+ $$$1.removeData(this._element, DATA_KEY);
+ this._element = null;
+ }; // Private
- _proto.dispose = function dispose() {
- $$$1.removeData(this._element, DATA_KEY);
- this._element = null;
- }; // Private
+ _proto._activate = function _activate(element, container, callback) {
+ var _this2 = this;
- _proto._activate = function _activate(element, container, callback) {
- var _this2 = this;
+ var activeElements;
- var activeElements;
+ if (container.nodeName === 'UL') {
+ activeElements = $$$1(container).find(Selector.ACTIVE_UL);
+ } else {
+ activeElements = $$$1(container).children(Selector.ACTIVE);
+ }
- if (container.nodeName === 'UL') {
- activeElements = $$$1(container).find(Selector.ACTIVE_UL);
- } else {
- activeElements = $$$1(container).children(Selector.ACTIVE);
- }
+ var active = activeElements[0];
+ var isTransitioning = callback && active && $$$1(active).hasClass(ClassName.FADE);
- var active = activeElements[0];
- var isTransitioning = callback && Util.supportsTransitionEnd() && active && $$$1(active).hasClass(ClassName.FADE);
+ var complete = function complete() {
+ return _this2._transitionComplete(element, active, callback);
+ };
- var complete = function complete() {
- return _this2._transitionComplete(element, active, callback);
+ if (active && isTransitioning) {
+ var transitionDuration = Util.getTransitionDurationFromElement(active);
+ $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
+ } else {
+ complete();
+ }
};
- if (active && isTransitioning) {
- $$$1(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
- } else {
- complete();
- }
- };
+ _proto._transitionComplete = function _transitionComplete(element, active, callback) {
+ if (active) {
+ $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
+ var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
- _proto._transitionComplete = function _transitionComplete(element, active, callback) {
- if (active) {
- $$$1(active).removeClass(ClassName.SHOW + " " + ClassName.ACTIVE);
- var dropdownChild = $$$1(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];
+ if (dropdownChild) {
+ $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
+ }
- if (dropdownChild) {
- $$$1(dropdownChild).removeClass(ClassName.ACTIVE);
+ if (active.getAttribute('role') === 'tab') {
+ active.setAttribute('aria-selected', false);
+ }
}
- if (active.getAttribute('role') === 'tab') {
- active.setAttribute('aria-selected', false);
- }
- }
+ $$$1(element).addClass(ClassName.ACTIVE);
- $$$1(element).addClass(ClassName.ACTIVE);
+ if (element.getAttribute('role') === 'tab') {
+ element.setAttribute('aria-selected', true);
+ }
- if (element.getAttribute('role') === 'tab') {
- element.setAttribute('aria-selected', true);
- }
+ Util.reflow(element);
+ $$$1(element).addClass(ClassName.SHOW);
- Util.reflow(element);
- $$$1(element).addClass(ClassName.SHOW);
+ if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+ var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
- if (element.parentNode && $$$1(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
- var dropdownElement = $$$1(element).closest(Selector.DROPDOWN)[0];
+ if (dropdownElement) {
+ $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ }
- if (dropdownElement) {
- $$$1(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
+ element.setAttribute('aria-expanded', true);
}
- element.setAttribute('aria-expanded', true);
- }
+ if (callback) {
+ callback();
+ }
+ }; // Static
- if (callback) {
- callback();
- }
- }; // Static
+ Tab._jQueryInterface = function _jQueryInterface(config) {
+ return this.each(function () {
+ var $this = $$$1(this);
+ var data = $this.data(DATA_KEY);
- Tab._jQueryInterface = function _jQueryInterface(config) {
- return this.each(function () {
- var $this = $$$1(this);
- var data = $this.data(DATA_KEY);
+ if (!data) {
+ data = new Tab(this);
+ $this.data(DATA_KEY, data);
+ }
- if (!data) {
- data = new Tab(this);
- $this.data(DATA_KEY, data);
- }
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError("No method named \"" + config + "\"");
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError("No method named \"" + config + "\"");
+ data[config]();
}
+ });
+ };
- data[config]();
+ _createClass(Tab, null, [{
+ key: "VERSION",
+ get: function get() {
+ return VERSION;
}
- });
- };
+ }]);
- _createClass(Tab, null, [{
- key: "VERSION",
- get: function get() {
- return VERSION;
- }
- }]);
- return Tab;
- }();
- /**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
- */
+ return Tab;
+ }();
+ /**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
- $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault();
+ $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
- Tab._jQueryInterface.call($$$1(this), 'show');
- });
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
+ Tab._jQueryInterface.call($$$1(this), 'show');
+ });
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- $$$1.fn[NAME] = Tab._jQueryInterface;
- $$$1.fn[NAME].Constructor = Tab;
+ $$$1.fn[NAME] = Tab._jQueryInterface;
+ $$$1.fn[NAME].Constructor = Tab;
- $$$1.fn[NAME].noConflict = function () {
- $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
- return Tab._jQueryInterface;
- };
+ $$$1.fn[NAME].noConflict = function () {
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
+ return Tab._jQueryInterface;
+ };
- return Tab;
-}($);
+ return Tab;
+ }($);
-/**
- * --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.6): index.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
+ /**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0): index.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */
-(function ($$$1) {
- if (typeof $$$1 === 'undefined') {
- throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
- }
+ (function ($$$1) {
+ if (typeof $$$1 === 'undefined') {
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
+ }
- var version = $$$1.fn.jquery.split(' ')[0].split('.');
- var minMajor = 1;
- var ltMajor = 2;
- var minMinor = 9;
- var minPatch = 1;
- var maxMajor = 4;
+ var version = $$$1.fn.jquery.split(' ')[0].split('.');
+ var minMajor = 1;
+ var ltMajor = 2;
+ var minMinor = 9;
+ var minPatch = 1;
+ var maxMajor = 4;
- if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
- throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
- }
-})($);
-
-exports.Util = Util;
-exports.Alert = Alert;
-exports.Button = Button;
-exports.Carousel = Carousel;
-exports.Collapse = Collapse;
-exports.Dropdown = Dropdown;
-exports.Modal = Modal;
-exports.Popover = Popover;
-exports.Scrollspy = ScrollSpy;
-exports.Tab = Tab;
-exports.Tooltip = Tooltip;
-
-Object.defineProperty(exports, '__esModule', { value: true });
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
+ }
+ })($);
+
+ exports.Util = Util;
+ exports.Alert = Alert;
+ exports.Button = Button;
+ exports.Carousel = Carousel;
+ exports.Collapse = Collapse;
+ exports.Dropdown = Dropdown;
+ exports.Modal = Modal;
+ exports.Popover = Popover;
+ exports.Scrollspy = ScrollSpy;
+ exports.Tab = Tab;
+ exports.Tooltip = Tooltip;
+
+ Object.defineProperty(exports, '__esModule', { value: true });
})));
//# sourceMappingURL=bootstrap.js.map
diff --git a/library/bootstrap/js/bootstrap.js.map b/library/bootstrap/js/bootstrap.js.map
index cafe4cb3d..7b50f7d47 100644
--- a/library/bootstrap/js/bootstrap.js.map
+++ b/library/bootstrap/js/bootstrap.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n let element = this._element\n // For dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n Util.supportsTransitionEnd() &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"names":["Util","$","transition","MAX_UID","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","end","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","escapeId","selector","escapeSelector","substr","replace","prefix","Math","random","document","getElementById","element","getAttribute","charAt","$selector","find","length","err","offsetHeight","trigger","Boolean","nodeType","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","isElement","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","TRANSITION_DURATION","Selector","Event","ClassName","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","ALERT","closeEvent","CLOSE","removeClass","SHOW","hasClass","FADE","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","DISMISS","Constructor","noConflict","Button","toggle","triggerChangeEvent","addAriaPressed","DATA_TOGGLE","input","INPUT","type","checked","ACTIVE","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","DATA_TOGGLE_CARROT","button","BUTTON","FOCUS_BLUR_DATA_API","FOCUS","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","NEXT","nextWhenVisible","hidden","css","prev","PREV","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","typeCheckConfig","keyboard","KEYDOWN","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","wrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","LEFT","RIGHT","slidEvent","reflow","action","slide","TypeError","_dataApiClickHandler","CAROUSEL","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","not","startEvent","dimension","_getDimension","COLLAPSE","COLLAPSING","style","COLLAPSED","attr","setTransitioning","complete","SHOWN","capitalizedDimension","slice","scrollSize","HIDE","getBoundingClientRect","$elem","HIDDEN","isTransitioning","hasWidth","WIDTH","HEIGHT","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","DISABLED","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","DROPUP","MENULEFT","MENURIGHT","boundary","POSITION_STATIC","_getPopperConfig","NAVBAR_NAV","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","MENU","_getPlacement","$parentDropdown","placement","BOTTOM","TOP","TOPEND","DROPRIGHT","DROPLEFT","BOTTOMEND","offsetConf","offset","offsets","popperConfig","flip","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","VISIBLE_ITEMS","get","KEYDOWN_DATA_API","KEYUP_DATA_API","FORM_CHILD","e","Modal","BACKDROP_TRANSITION_DURATION","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","OPEN","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","KEYDOWN_DISMISS","RESIZE","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","backdrop","doAnimate","createElement","className","BACKDROP","appendTo","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","SCROLLBAR_MEASURER","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","ARROW","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","OUT","_TRANSITION_DURATION","_cleanTipClass","HOVER","getTitle","template","$tip","setElementContent","TOOLTIP_INNER","content","html","empty","append","text","title","triggers","split","forEach","MANUAL","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","key","tabClass","join","initConfigAnimation","Popover","_getContent","TITLE","CONTENT","ScrollSpy","OffsetMethod","_scrollElement","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","OFFSET","POSITION","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","DROPDOWN_ITEM","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","ACTIVE_UL","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","DROPDOWN_ACTIVE_CHILD","DROPDOWN_MENU","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"sourcesContent":["export { _createClass as createClass, _defineProperty as defineProperty, _objectSpread as objectSpread, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0]) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(document.body).css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"names":["Util","$","TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","$selector","find","length","err","getTransitionDurationFromElement","transitionDuration","css","floatTransitionDuration","parseFloat","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","Alert","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","Carousel","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CAROUSEL","ITEM","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_keydown","documentElement","clearTimeout","tagName","which","makeArray","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","action","TypeError","_dataApiClickHandler","slideIndex","window","$carousel","Collapse","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","_isTransitioning","_triggerArray","id","tabToggles","i","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","slice","scrollSize","getBoundingClientRect","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","get","e","Modal","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","Tooltip","CLASS_PREFIX","BSCLS_PREFIX_REGEX","animation","template","title","delay","html","container","fallbackPlacement","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","$tip","setElementContent","content","empty","append","text","triggers","forEach","eventIn","eventOut","_fixTitle","titleType","key","tabClass","join","initConfigAnimation","Popover","TITLE","CONTENT","_getContent","ScrollSpy","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","isActiveTarget","queries","$link","parents","scrollSpys","$spy","Tab","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","previous","listElement","itemSelector","nodeName","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"} \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.min.js b/library/bootstrap/js/bootstrap.min.js
index 534d53343..eac9842d7 100644
--- a/library/bootstrap/js/bootstrap.min.js
+++ b/library/bootstrap/js/bootstrap.min.js
@@ -1,7 +1,7 @@
/*!
- * Bootstrap v4.0.0 (https://getbootstrap.com)
+ * Bootstrap v4.1.0 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,n){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}e=e&&e.hasOwnProperty("default")?e.default:e,n=n&&n.hasOwnProperty("default")?n.default:n;var o,a,l,h,c,u,f,d,_,g,p,m,v,E,T,y,C,I,A,b,D,S,w,N,O,k,P=function(t){var e=!1;function n(e){var n=this,s=!1;return t(this).one(i.TRANSITION_END,function(){s=!0}),setTimeout(function(){s||i.triggerTransitionEnd(n)},e),this}var i={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n,i=e.getAttribute("data-target");i&&"#"!==i||(i=e.getAttribute("href")||""),"#"===i.charAt(0)&&(n=i,i=n="function"==typeof t.escapeSelector?t.escapeSelector(n).substr(1):n.replace(/(:|\.|\[|\]|,|=|@)/g,"\\$1"));try{return t(document).find(i).length>0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var r=n[s],o=e[s],a=o&&i.isElement(o)?"element":(l=o,{}.toString.call(l).match(/\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+s+'" provided type "'+a+'" but expected type "'+r+'".')}var l}};return e=("undefined"==typeof window||!window.QUnit)&&{end:"transitionend"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e),L=(a="alert",h="."+(l="bs.alert"),c=(o=e).fn[a],u={CLOSE:"close"+h,CLOSED:"closed"+h,CLICK_DATA_API:"click"+h+".data-api"},f="alert",d="fade",_="show",g=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,l),this._element=null},e._getRootElement=function(t){var e=P.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest("."+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(u.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(_),P.supportsTransitionEnd()&&o(t).hasClass(d)?o(t).one(P.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(u.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(l);i||(i=new t(this),n.data(l,i)),"close"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),o(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),o.fn[a]=g._jQueryInterface,o.fn[a].Constructor=g,o.fn[a].noConflict=function(){return o.fn[a]=c,g._jQueryInterface},g),R=(m="button",E="."+(v="bs.button"),T=".data-api",y=(p=e).fn[m],C="active",I="btn",A="focus",b='[data-toggle^="button"]',D='[data-toggle="buttons"]',S="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+E+T,FOCUS_BLUR_DATA_API:"focus"+E+T+" blur"+E+T},k=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=p(this._element).find(S)[0];if(i){if("radio"===i.type)if(i.checked&&p(this._element).hasClass(C))t=!1;else{var s=p(n).find(w)[0];s&&p(s).removeClass(C)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!p(this._element).hasClass(C),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!p(this._element).hasClass(C)),t&&p(this._element).toggleClass(C)},e.dispose=function(){p.removeData(this._element,v),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=p(this).data(v);n||(n=new t(this),p(this).data(v,n)),"toggle"===e&&n[e]()})},s(t,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),t}(),p(document).on(O.CLICK_DATA_API,b,function(t){t.preventDefault();var e=t.target;p(e).hasClass(I)||(e=p(e).closest(N)),k._jQueryInterface.call(p(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,b,function(t){var e=p(t.target).closest(N)[0];p(e).toggleClass(A,/^focus(in)?$/.test(t.type))}),p.fn[m]=k._jQueryInterface,p.fn[m].Constructor=k,p.fn[m].noConflict=function(){return p.fn[m]=y,k._jQueryInterface},k),j=function(t){var e="carousel",n="bs.carousel",i="."+n,o=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},l={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},h="next",c="prev",u="left",f="right",d={SLIDE:"slide"+i,SLID:"slid"+i,KEYDOWN:"keydown"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i,TOUCHEND:"touchend"+i,LOAD_DATA_API:"load"+i+".data-api",CLICK_DATA_API:"click"+i+".data-api"},_="carousel",g="active",p="slide",m="carousel-item-right",v="carousel-item-left",E="carousel-item-next",T="carousel-item-prev",y={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},C=function(){function o(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(y.INDICATORS)[0],this._addEventListeners()}var C=o.prototype;return C.next=function(){this._isSliding||this._slide(h)},C.nextWhenVisible=function(){!document.hidden&&t(this._element).is(":visible")&&"hidden"!==t(this._element).css("visibility")&&this.next()},C.prev=function(){this._isSliding||this._slide(c)},C.pause=function(e){e||(this._isPaused=!0),t(this._element).find(y.NEXT_PREV)[0]&&P.supportsTransitionEnd()&&(P.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},C.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},C.to=function(e){var n=this;this._activeElement=t(this._element).find(y.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var s=e>i?h:c;this._slide(s,this._items[e])}},C.dispose=function(){t(this._element).off(i),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},C._getConfig=function(t){return t=r({},a,t),P.typeCheckConfig(e,t,l),t},C._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},C._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},C._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(y.ITEM)),this._items.indexOf(e)},C._getItemByDirection=function(t,e){var n=t===h,i=t===c,s=this._getItemIndex(e),r=this._items.length-1;if((i&&0===s||n&&s===r)&&!this._config.wrap)return e;var o=(s+(t===c?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},C._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),s=this._getItemIndex(t(this._element).find(y.ACTIVE_ITEM)[0]),r=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:s,to:i});return t(this._element).trigger(r),r},C._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(y.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},C._slide=function(e,n){var i,s,r,o=this,a=t(this._element).find(y.ACTIVE_ITEM)[0],l=this._getItemIndex(a),c=n||a&&this._getItemByDirection(e,a),_=this._getItemIndex(c),C=Boolean(this._interval);if(e===h?(i=v,s=E,r=u):(i=m,s=T,r=f),c&&t(c).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(c,r).isDefaultPrevented()&&a&&c){this._isSliding=!0,C&&this.pause(),this._setActiveIndicatorElement(c);var I=t.Event(d.SLID,{relatedTarget:c,direction:r,from:l,to:_});P.supportsTransitionEnd()&&t(this._element).hasClass(p)?(t(c).addClass(s),P.reflow(c),t(a).addClass(i),t(c).addClass(i),t(a).one(P.TRANSITION_END,function(){t(c).removeClass(i+" "+s).addClass(g),t(a).removeClass(g+" "+s+" "+i),o._isSliding=!1,setTimeout(function(){return t(o._element).trigger(I)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(c).addClass(g),this._isSliding=!1,t(this._element).trigger(I)),C&&this.cycle()}},o._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s=r({},a,t(this).data());"object"==typeof e&&(s=r({},s,e));var l="string"==typeof e?e:s.slide;if(i||(i=new o(this,s),t(this).data(n,i)),"number"==typeof e)i.to(e);else if("string"==typeof l){if("undefined"==typeof i[l])throw new TypeError('No method named "'+l+'"');i[l]()}else s.interval&&(i.pause(),i.cycle())})},o._dataApiClickHandler=function(e){var i=P.getSelectorFromElement(this);if(i){var s=t(i)[0];if(s&&t(s).hasClass(_)){var a=r({},t(s).data(),t(this).data()),l=this.getAttribute("data-slide-to");l&&(a.interval=!1),o._jQueryInterface.call(t(s),a),l&&t(s).data(n).to(l),e.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(d.CLICK_DATA_API,y.DATA_SLIDE,C._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(y.DATA_RIDE).each(function(){var e=t(this);C._jQueryInterface.call(e,e.data())})}),t.fn[e]=C._jQueryInterface,t.fn[e].Constructor=C,t.fn[e].noConflict=function(){return t.fn[e]=o,C._jQueryInterface},C}(e),H=function(t){var e="collapse",n="bs.collapse",i="."+n,o=t.fn[e],a={toggle:!0,parent:""},l={toggle:"boolean",parent:"(string|element)"},h={SHOW:"show"+i,SHOWN:"shown"+i,HIDE:"hide"+i,HIDDEN:"hidden"+i,CLICK_DATA_API:"click"+i+".data-api"},c="show",u="collapse",f="collapsing",d="collapsed",_="width",g="height",p={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},m=function(){function i(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var i=t(p.DATA_TOGGLE),s=0;s<i.length;s++){var r=i[s],o=P.getSelectorFromElement(r);null!==o&&t(o).filter(e).length>0&&(this._selector=o,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var o=i.prototype;return o.toggle=function(){t(this._element).hasClass(c)?this.hide():this.show()},o.show=function(){var e,s,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(c)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(p.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(e=null),!(e&&(s=t(e).not(this._selector).data(n))&&s._isTransitioning))){var o=t.Event(h.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){e&&(i._jQueryInterface.call(t(e).not(this._selector),"hide"),s||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(u).addClass(f),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr("aria-expanded",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(f).addClass(u).addClass(c),r._element.style[a]="",r.setTransitioning(!1),t(r._element).trigger(h.SHOWN)};if(P.supportsTransitionEnd()){var _="scroll"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(P.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[_]+"px"}else l()}}},o.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(c)){var n=t.Event(h.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",P.reflow(this._element),t(this._element).addClass(f).removeClass(u).removeClass(c),this._triggerArray.length>0)for(var s=0;s<this._triggerArray.length;s++){var r=this._triggerArray[s],o=P.getSelectorFromElement(r);if(null!==o)t(o).hasClass(c)||t(r).addClass(d).attr("aria-expanded",!1)}this.setTransitioning(!0);var a=function(){e.setTransitioning(!1),t(e._element).removeClass(f).addClass(u).trigger(h.HIDDEN)};this._element.style[i]="",P.supportsTransitionEnd()?t(this._element).one(P.TRANSITION_END,a).emulateTransitionEnd(600):a()}}},o.setTransitioning=function(t){this._isTransitioning=t},o.dispose=function(){t.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},o._getConfig=function(t){return(t=r({},a,t)).toggle=Boolean(t.toggle),P.typeCheckConfig(e,t,l),t},o._getDimension=function(){return t(this._element).hasClass(_)?_:g},o._getParent=function(){var e=this,n=null;P.isElement(this._config.parent)?(n=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=t(this._config.parent)[0];var s='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(s).each(function(t,n){e._addAriaAndCollapsedClass(i._getTargetFromElement(n),[n])}),n},o._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(c);n.length>0&&t(n).toggleClass(d,!i).attr("aria-expanded",i)}},i._getTargetFromElement=function(e){var n=P.getSelectorFromElement(e);return n?t(n)[0]:null},i._jQueryInterface=function(e){return this.each(function(){var s=t(this),o=s.data(n),l=r({},a,s.data(),"object"==typeof e&&e);if(!o&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),o||(o=new i(this,l),s.data(n,o)),"string"==typeof e){if("undefined"==typeof o[e])throw new TypeError('No method named "'+e+'"');o[e]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),i}();return t(document).on(h.CLICK_DATA_API,p.DATA_TOGGLE,function(e){"A"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),s=P.getSelectorFromElement(this);t(s).each(function(){var e=t(this),s=e.data(n)?"toggle":i.data();m._jQueryInterface.call(e,s)})}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=o,m._jQueryInterface},m}(e),W=function(t){var e="dropdown",i="bs.dropdown",o="."+i,a=".data-api",l=t.fn[e],h=new RegExp("38|40|27"),c={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,CLICK:"click"+o,CLICK_DATA_API:"click"+o+a,KEYDOWN_DATA_API:"keydown"+o+a,KEYUP_DATA_API:"keyup"+o+a},u="disabled",f="show",d="dropup",_="dropright",g="dropleft",p="dropdown-menu-right",m="dropdown-menu-left",v="position-static",E='[data-toggle="dropdown"]',T=".dropdown form",y=".dropdown-menu",C=".navbar-nav",I=".dropdown-menu .dropdown-item:not(.disabled)",A="top-start",b="top-end",D="bottom-start",S="bottom-end",w="right-start",N="left-start",O={offset:0,flip:!0,boundary:"scrollParent"},k={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)"},L=function(){function a(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var l=a.prototype;return l.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(u)){var e=a._getParentFromElement(this._element),i=t(this._menu).hasClass(f);if(a._clearMenus(),!i){var s={relatedTarget:this._element},r=t.Event(c.SHOW,s);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof n)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var o=this._element;t(e).hasClass(d)&&(t(this._menu).hasClass(m)||t(this._menu).hasClass(p))&&(o=e),"scrollParent"!==this._config.boundary&&t(e).addClass(v),this._popper=new n(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===t(e).closest(C).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(f),t(e).toggleClass(f).trigger(t.Event(c.SHOWN,s))}}}},l.dispose=function(){t.removeData(this._element,i),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},l.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},l._addEventListeners=function(){var e=this;t(this._element).on(c.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},l._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},l._getMenuElement=function(){if(!this._menu){var e=a._getParentFromElement(this._element);this._menu=t(e).find(y)[0]}return this._menu},l._getPlacement=function(){var e=t(this._element).parent(),n=D;return e.hasClass(d)?(n=A,t(this._menu).hasClass(p)&&(n=b)):e.hasClass(_)?n=w:e.hasClass(g)?n=N:t(this._menu).hasClass(p)&&(n=S),n},l._detectNavbar=function(){return t(this._element).closest(".navbar").length>0},l._getPopperConfig=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i);if(n||(n=new a(this,"object"==typeof e?e:null),t(this).data(i,n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},a._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=t.makeArray(t(E)),s=0;s<n.length;s++){var r=a._getParentFromElement(n[s]),o=t(n[s]).data(i),l={relatedTarget:n[s]};if(o){var h=o._menu;if(t(r).hasClass(f)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&t.contains(r,e.target))){var u=t.Event(c.HIDE,l);t(r).trigger(u),u.isDefaultPrevented()||("ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),n[s].setAttribute("aria-expanded","false"),t(h).removeClass(f),t(r).removeClass(f).trigger(t.Event(c.HIDDEN,l)))}}}},a._getParentFromElement=function(e){var n,i=P.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},a._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||t(e.target).closest(y).length)):h.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!t(this).hasClass(u))){var n=a._getParentFromElement(this),i=t(n).hasClass(f);if((i||27===e.which&&32===e.which)&&(!i||27!==e.which&&32!==e.which)){var s=t(n).find(I).get();if(0!==s.length){var r=s.indexOf(e.target);38===e.which&&r>0&&r--,40===e.which&&r<s.length-1&&r++,r<0&&(r=0),s[r].focus()}}else{if(27===e.which){var o=t(n).find(E)[0];t(o).trigger("focus")}t(this).trigger("click")}}},s(a,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return O}},{key:"DefaultType",get:function(){return k}}]),a}();return t(document).on(c.KEYDOWN_DATA_API,E,L._dataApiKeydownHandler).on(c.KEYDOWN_DATA_API,y,L._dataApiKeydownHandler).on(c.CLICK_DATA_API+" "+c.KEYUP_DATA_API,L._clearMenus).on(c.CLICK_DATA_API,E,function(e){e.preventDefault(),e.stopPropagation(),L._jQueryInterface.call(t(this),"toggle")}).on(c.CLICK_DATA_API,T,function(t){t.stopPropagation()}),t.fn[e]=L._jQueryInterface,t.fn[e].Constructor=L,t.fn[e].noConflict=function(){return t.fn[e]=l,L._jQueryInterface},L}(e),M=function(t){var e="modal",n="bs.modal",i="."+n,o=t.fn.modal,a={backdrop:!0,keyboard:!0,focus:!0,show:!0},l={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},h={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,FOCUSIN:"focusin"+i,RESIZE:"resize"+i,CLICK_DISMISS:"click.dismiss"+i,KEYDOWN_DISMISS:"keydown.dismiss"+i,MOUSEUP_DISMISS:"mouseup.dismiss"+i,MOUSEDOWN_DISMISS:"mousedown.dismiss"+i,CLICK_DATA_API:"click"+i+".data-api"},c="modal-scrollbar-measure",u="modal-backdrop",f="modal-open",d="fade",_="show",g={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},p=function(){function o(e,n){this._config=this._getConfig(n),this._element=e,this._dialog=t(e).find(g.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var p=o.prototype;return p.toggle=function(t){return this._isShown?this.hide():this.show(t)},p.show=function(e){var n=this;if(!this._isTransitioning&&!this._isShown){P.supportsTransitionEnd()&&t(this._element).hasClass(d)&&(this._isTransitioning=!0);var i=t.Event(h.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),t(document.body).addClass(f),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(h.CLICK_DISMISS,g.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(h.MOUSEDOWN_DISMISS,function(){t(n._element).one(h.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},p.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=t.Event(h.HIDE);if(t(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var s=P.supportsTransitionEnd()&&t(this._element).hasClass(d);s&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),t(document).off(h.FOCUSIN),t(this._element).removeClass(_),t(this._element).off(h.CLICK_DISMISS),t(this._dialog).off(h.MOUSEDOWN_DISMISS),s?t(this._element).one(P.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},p.dispose=function(){t.removeData(this._element,n),t(window,document,this._element,this._backdrop).off(i),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},p.handleUpdate=function(){this._adjustDialog()},p._getConfig=function(t){return t=r({},a,t),P.typeCheckConfig(e,t,l),t},p._showElement=function(e){var n=this,i=P.supportsTransitionEnd()&&t(this._element).hasClass(d);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&P.reflow(this._element),t(this._element).addClass(_),this._config.focus&&this._enforceFocus();var s=t.Event(h.SHOWN,{relatedTarget:e}),r=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(s)};i?t(this._dialog).one(P.TRANSITION_END,r).emulateTransitionEnd(300):r()},p._enforceFocus=function(){var e=this;t(document).off(h.FOCUSIN).on(h.FOCUSIN,function(n){document!==n.target&&e._element!==n.target&&0===t(e._element).has(n.target).length&&e._element.focus()})},p._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(h.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(h.KEYDOWN_DISMISS)},p._setResizeEvent=function(){var e=this;this._isShown?t(window).on(h.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(h.RESIZE)},p._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(f),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(h.HIDDEN)})},p._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},p._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(d)?d:"";if(this._isShown&&this._config.backdrop){var s=P.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=u,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(h.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),s&&P.reflow(this._backdrop),t(this._backdrop).addClass(_),!e)return;if(!s)return void e();t(this._backdrop).one(P.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(_);var r=function(){n._removeBackdrop(),e&&e()};P.supportsTransitionEnd()&&t(this._element).hasClass(d)?t(this._backdrop).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r()}else e&&e()},p._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},p._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},p._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},p._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){t(g.FIXED_CONTENT).each(function(n,i){var s=t(i)[0].style.paddingRight,r=t(i).css("padding-right");t(i).data("padding-right",s).css("padding-right",parseFloat(r)+e._scrollbarWidth+"px")}),t(g.STICKY_CONTENT).each(function(n,i){var s=t(i)[0].style.marginRight,r=t(i).css("margin-right");t(i).data("margin-right",s).css("margin-right",parseFloat(r)-e._scrollbarWidth+"px")}),t(g.NAVBAR_TOGGLER).each(function(n,i){var s=t(i)[0].style.marginRight,r=t(i).css("margin-right");t(i).data("margin-right",s).css("margin-right",parseFloat(r)+e._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=t("body").css("padding-right");t("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},p._resetScrollbar=function(){t(g.FIXED_CONTENT).each(function(e,n){var i=t(n).data("padding-right");"undefined"!=typeof i&&t(n).css("padding-right",i).removeData("padding-right")}),t(g.STICKY_CONTENT+", "+g.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data("margin-right");"undefined"!=typeof i&&t(n).css("margin-right",i).removeData("margin-right")});var e=t("body").data("padding-right");"undefined"!=typeof e&&t("body").css("padding-right",e).removeData("padding-right")},p._getScrollbarWidth=function(){var t=document.createElement("div");t.className=c,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(e,i){return this.each(function(){var s=t(this).data(n),a=r({},o.Default,t(this).data(),"object"==typeof e&&e);if(s||(s=new o(this,a),t(this).data(n,s)),"string"==typeof e){if("undefined"==typeof s[e])throw new TypeError('No method named "'+e+'"');s[e](i)}else a.show&&s.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(document).on(h.CLICK_DATA_API,g.DATA_TOGGLE,function(e){var i,s=this,o=P.getSelectorFromElement(this);o&&(i=t(o)[0]);var a=t(i).data(n)?"toggle":r({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(h.SHOW,function(e){e.isDefaultPrevented()||l.one(h.HIDDEN,function(){t(s).is(":visible")&&s.focus()})});p._jQueryInterface.call(t(i),a,this)}),t.fn.modal=p._jQueryInterface,t.fn.modal.Constructor=p,t.fn.modal.noConflict=function(){return t.fn.modal=o,p._jQueryInterface},p}(e),U=function(t){var e="tooltip",i="bs.tooltip",o="."+i,a=t.fn[e],l=new RegExp("(^|\\s)bs-tooltip\\S+","g"),h={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},c={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},u={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},f="show",d="out",_={HIDE:"hide"+o,HIDDEN:"hidden"+o,SHOW:"show"+o,SHOWN:"shown"+o,INSERTED:"inserted"+o,CLICK:"click"+o,FOCUSIN:"focusin"+o,FOCUSOUT:"focusout"+o,MOUSEENTER:"mouseenter"+o,MOUSELEAVE:"mouseleave"+o},g="fade",p="show",m=".tooltip-inner",v=".arrow",E="hover",T="focus",y="click",C="manual",I=function(){function a(t,e){if("undefined"==typeof n)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var I=a.prototype;return I.enable=function(){this._isEnabled=!0},I.disable=function(){this._isEnabled=!1},I.toggleEnabled=function(){this._isEnabled=!this._isEnabled},I.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p))return void this._leave(null,this);this._enter(null,this)}},I.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},I.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var i=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(i);var s=t.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),o=P.getUID(this.constructor.NAME);r.setAttribute("id",o),this.element.setAttribute("aria-describedby",o),this.setContent(),this.config.animation&&t(r).addClass(g);var l="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:h,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(p),"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d&&e._leave(null,e)};P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(this.tip).one(P.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},I.hide=function(e){var n=this,i=this.getTipElement(),s=t.Event(this.constructor.Event.HIDE),r=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(s),s.isDefaultPrevented()||(t(i).removeClass(p),"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[T]=!1,this._activeTrigger[E]=!1,P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(i).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r(),this._hoverState="")},I.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},I.isWithContent=function(){return Boolean(this.getTitle())},I.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},I.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},I.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(g+" "+p)},I.setElementContent=function(e,n){var i=this.config.html;"object"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?"html":"text"](n)},I.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},I._getAttachment=function(t){return c[t.toUpperCase()]},I._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==C){var i=n===E?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,s=n===E?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(s,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},I._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},I._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T:E]=!0),t(n.getTipElement()).hasClass(p)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},I._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T:E]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=d,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===d&&n.hide()},n.config.delay.hide):n.hide())},I._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},I._getConfig=function(n){return"number"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),"number"==typeof n.title&&(n.title=n.title.toString()),"number"==typeof n.content&&(n.content=n.content.toString()),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},I._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},I._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},I._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},I._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(g),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i),s="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,s),t(this).data(i,n)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return i}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return o}},{key:"DefaultType",get:function(){return h}}]),a}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=a,I._jQueryInterface},I}(e),x=function(t){var e="popover",n="bs.popover",i="."+n,o=t.fn[e],a=new RegExp("(^|\\s)bs-popover\\S+","g"),l=r({},U.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),h=r({},U.DefaultType,{content:"(string|element|function)"}),c="fade",u="show",f=".popover-header",d=".popover-body",_={HIDE:"hide"+i,HIDDEN:"hidden"+i,SHOW:"show"+i,SHOWN:"shown"+i,INSERTED:"inserted"+i,CLICK:"click"+i,FOCUSIN:"focusin"+i,FOCUSOUT:"focusout"+i,MOUSEENTER:"mouseenter"+i,MOUSELEAVE:"mouseleave"+i},g=function(r){var o,g;function p(){return r.apply(this,arguments)||this}g=r,(o=p).prototype=Object.create(g.prototype),o.prototype.constructor=o,o.__proto__=g;var m=p.prototype;return m.isWithContent=function(){return this.getTitle()||this._getContent()},m.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-popover-"+e)},m.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},m.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(f),this.getTitle());var n=this._getContent();"function"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(c+" "+u)},m._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},m._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(a);null!==n&&n.length>0&&e.removeClass(n.join(""))},p._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s="object"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new p(this,s),t(this).data(n,i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s(p,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return l}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return n}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return i}},{key:"DefaultType",get:function(){return h}}]),p}(U);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),K=function(t){var e="scrollspy",n="bs.scrollspy",i="."+n,o=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},h={ACTIVATE:"activate"+i,SCROLL:"scroll"+i,LOAD_DATA_API:"load"+i+".data-api"},c="dropdown-item",u="active",f={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d="offset",_="position",g=function(){function o(e,n){var i=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+" "+f.NAV_LINKS+","+this._config.target+" "+f.LIST_ITEMS+","+this._config.target+" "+f.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=o.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:_,i="auto"===this._config.method?n:this._config.method,s=i===_?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,r=P.getSelectorFromElement(e);if(r&&(n=t(r)[0]),n){var o=n.getBoundingClientRect();if(o.width||o.height)return[t(n)[i]().top+s,r]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if("string"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr("id");i||(i=P.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return P.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;){this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&("undefined"==typeof this._offsets[s+1]||t<this._offsets[s+1])&&this._activate(this._targets[s])}}},g._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(c)?(i.closest(f.DROPDOWN).find(f.DROPDOWN_TOGGLE).addClass(u),i.addClass(u)):(i.addClass(u),i.parents(f.NAV_LIST_GROUP).prev(f.NAV_LINKS+", "+f.LIST_ITEMS).addClass(u),i.parents(f.NAV_LIST_GROUP).prev(f.NAV_ITEMS).children(f.NAV_LINKS).addClass(u)),t(this._scrollElement).trigger(h.ACTIVATE,{relatedTarget:e})},g._clear=function(){t(this._selector).filter(f.ACTIVE).removeClass(u)},o._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n);if(i||(i=new o(this,"object"==typeof e&&e),t(this).data(n,i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}})},s(o,null,[{key:"VERSION",get:function(){return"4.0.0"}},{key:"Default",get:function(){return a}}]),o}();return t(window).on(h.LOAD_DATA_API,function(){for(var e=t.makeArray(t(f.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);g._jQueryInterface.call(i,i.data())}}),t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),V=function(t){var e="bs.tab",n="."+e,i=t.fn.tab,r={HIDE:"hide"+n,HIDDEN:"hidden"+n,SHOW:"show"+n,SHOWN:"shown"+n,CLICK_DATA_API:"click.bs.tab.data-api"},o="dropdown-menu",a="active",l="disabled",h="fade",c="show",u=".dropdown",f=".nav, .list-group",d=".active",_="> li > .active",g='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',p=".dropdown-toggle",m="> .dropdown-menu .active",v=function(){function n(t){this._element=t}var i=n.prototype;return i.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(a)||t(this._element).hasClass(l))){var n,i,s=t(this._element).closest(f)[0],o=P.getSelectorFromElement(this._element);if(s){var h="UL"===s.nodeName?_:d;i=(i=t.makeArray(t(s).find(h)))[i.length-1]}var c=t.Event(r.HIDE,{relatedTarget:this._element}),u=t.Event(r.SHOW,{relatedTarget:i});if(i&&t(i).trigger(c),t(this._element).trigger(u),!u.isDefaultPrevented()&&!c.isDefaultPrevented()){o&&(n=t(o)[0]),this._activate(this._element,s);var g=function(){var n=t.Event(r.HIDDEN,{relatedTarget:e._element}),s=t.Event(r.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(s)};n?this._activate(n,n.parentNode,g):g()}}},i.dispose=function(){t.removeData(this._element,e),this._element=null},i._activate=function(e,n,i){var s=this,r=("UL"===n.nodeName?t(n).find(_):t(n).children(d))[0],o=i&&P.supportsTransitionEnd()&&r&&t(r).hasClass(h),a=function(){return s._transitionComplete(e,r,i)};r&&o?t(r).one(P.TRANSITION_END,a).emulateTransitionEnd(150):a()},i._transitionComplete=function(e,n,i){if(n){t(n).removeClass(c+" "+a);var s=t(n.parentNode).find(m)[0];s&&t(s).removeClass(a),"tab"===n.getAttribute("role")&&n.setAttribute("aria-selected",!1)}if(t(e).addClass(a),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),P.reflow(e),t(e).addClass(c),e.parentNode&&t(e.parentNode).hasClass(o)){var r=t(e).closest(u)[0];r&&t(r).find(p).addClass(a),e.setAttribute("aria-expanded",!0)}i&&i()},n._jQueryInterface=function(i){return this.each(function(){var s=t(this),r=s.data(e);if(r||(r=new n(this),s.data(e,r)),"string"==typeof i){if("undefined"==typeof r[i])throw new TypeError('No method named "'+i+'"');r[i]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.0.0"}}]),n}();return t(document).on(r.CLICK_DATA_API,g,function(e){e.preventDefault(),v._jQueryInterface.call(t(this),"show")}),t.fn.tab=v._jQueryInterface,t.fn.tab.Constructor=v,t.fn.tab.noConflict=function(){return t.fn.tab=i,v._jQueryInterface},v}(e);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=P,t.Alert=L,t.Button=R,t.Carousel=j,t.Collapse=H,t.Dropdown=W,t.Modal=M,t.Popover=x,t.Scrollspy=K,t.Tab=V,t.Tooltip=U,Object.defineProperty(t,"__esModule",{value:!0})});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,c){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function h(r){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{},e=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(s).filter(function(t){return Object.getOwnPropertyDescriptor(s,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=s[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}e=e&&e.hasOwnProperty("default")?e.default:e,c=c&&c.hasOwnProperty("default")?c.default:c;var r,n,s,a,l,u,f,d,_,g,m,p,v,E,y,T,C,I,A,D,b,S,w,N,O,k,P,L,j,R,H,W,M,x,U,K,F,V,Q,B,Y,G,q,z,X,J,Z,$,tt,et,nt,it,rt,st,ot,at,lt,ht,ct,ut,ft,dt,_t,gt,mt,pt,vt,Et,yt,Tt,Ct,It,At,Dt,bt,St,wt,Nt,Ot,kt,Pt,Lt,jt,Rt,Ht,Wt,Mt,xt,Ut,Kt,Ft,Vt,Qt,Bt,Yt,Gt,qt,zt,Xt,Jt,Zt,$t,te,ee,ne,ie,re,se,oe,ae,le,he,ce,ue,fe,de,_e,ge,me,pe,ve,Ee,ye,Te,Ce,Ie,Ae,De,be,Se,we,Ne,Oe,ke,Pe,Le,je,Re,He,We,Me,xe,Ue,Ke,Fe,Ve,Qe,Be,Ye,Ge,qe,ze,Xe,Je,Ze,$e,tn,en,nn,rn,sn,on,an,ln,hn,cn,un,fn,dn,_n,gn,mn,pn,vn,En,yn,Tn,Cn=function(i){var e="transitionend";function t(t){var e=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(e)},t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");e&&"#"!==e||(e=t.getAttribute("href")||"");try{return 0<i(document).find(e).length?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=i(t).css("transition-duration");return parseFloat(e)?(e=e.split(",")[0],1e3*parseFloat(e)):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){i(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],s=e[i],o=s&&l.isElement(s)?"element":(a=s,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(o))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+o+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=t,i.event.special[l.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(i(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}},l}(e),In=(n="alert",a="."+(s="bs.alert"),l=(r=e).fn[n],u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",_="show",g=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){r.removeData(this._element,s),this._element=null},t._getRootElement=function(t){var e=Cn.getSelectorFromElement(t),n=!1;return e&&(n=r(e)[0]),n||(n=r(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=r.Event(u.CLOSE);return r(t).trigger(e),e},t._removeElement=function(e){var n=this;if(r(e).removeClass(_),r(e).hasClass(d)){var t=Cn.getTransitionDurationFromElement(e);r(e).one(Cn.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){r(t).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=r(this),e=t.data(s);e||(e=new i(this),t.data(s,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},o(i,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),i}(),r(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),r.fn[n]=g._jQueryInterface,r.fn[n].Constructor=g,r.fn[n].noConflict=function(){return r.fn[n]=l,g._jQueryInterface},g),An=(p="button",E="."+(v="bs.button"),y=".data-api",T=(m=e).fn[p],C="active",I="btn",D='[data-toggle^="button"]',b='[data-toggle="buttons"]',S="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+E+y,FOCUS_BLUR_DATA_API:(A="focus")+E+y+" blur"+E+y},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=m(this._element).closest(b)[0];if(n){var i=m(this._element).find(S)[0];if(i){if("radio"===i.type)if(i.checked&&m(this._element).hasClass(C))t=!1;else{var r=m(n).find(w)[0];r&&m(r).removeClass(C)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!m(this._element).hasClass(C),m(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!m(this._element).hasClass(C)),t&&m(this._element).toggleClass(C)},t.dispose=function(){m.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=m(this).data(v);t||(t=new n(this),m(this).data(v,t)),"toggle"===e&&t[e]()})},o(n,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),n}(),m(document).on(O.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;m(e).hasClass(I)||(e=m(e).closest(N)),k._jQueryInterface.call(m(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,D,function(t){var e=m(t.target).closest(N)[0];m(e).toggleClass(A,/^focus(in)?$/.test(t.type))}),m.fn[p]=k._jQueryInterface,m.fn[p].Constructor=k,m.fn[p].noConflict=function(){return m.fn[p]=T,k._jQueryInterface},k),Dn=(L="carousel",R="."+(j="bs.carousel"),H=".data-api",W=(P=e).fn[L],M={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},x={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},U="next",K="prev",F="left",V="right",Q={SLIDE:"slide"+R,SLID:"slid"+R,KEYDOWN:"keydown"+R,MOUSEENTER:"mouseenter"+R,MOUSELEAVE:"mouseleave"+R,TOUCHEND:"touchend"+R,LOAD_DATA_API:"load"+R+H,CLICK_DATA_API:"click"+R+H},B="carousel",Y="active",G="slide",q="carousel-item-right",z="carousel-item-left",X="carousel-item-next",J="carousel-item-prev",Z={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},$=function(){function s(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(e),this._element=P(t)[0],this._indicatorsElement=P(this._element).find(Z.INDICATORS)[0],this._addEventListeners()}var t=s.prototype;return t.next=function(){this._isSliding||this._slide(U)},t.nextWhenVisible=function(){!document.hidden&&P(this._element).is(":visible")&&"hidden"!==P(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(K)},t.pause=function(t){t||(this._isPaused=!0),P(this._element).find(Z.NEXT_PREV)[0]&&(Cn.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=P(this._element).find(Z.ACTIVE_ITEM)[0];var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?U:K;this._slide(i,this._items[t])}},t.dispose=function(){P(this._element).off(R),P.removeData(this._element,j),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=h({},M,t),Cn.typeCheckConfig(L,t,x),t},t._addEventListeners=function(){var e=this;this._config.keyboard&&P(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(P(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&P(this._element).on(Q.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=P.makeArray(P(t).parent().find(Z.ITEM)),this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===U,i=t===K,r=this._getItemIndex(e),s=this._items.length-1;if((i&&0===r||n&&r===s)&&!this._config.wrap)return e;var o=(r+(t===K?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(P(this._element).find(Z.ACTIVE_ITEM)[0]),r=P.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return P(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){P(this._indicatorsElement).find(Z.ACTIVE).removeClass(Y);var e=this._indicatorsElement.children[this._getItemIndex(t)];e&&P(e).addClass(Y)}},t._slide=function(t,e){var n,i,r,s=this,o=P(this._element).find(Z.ACTIVE_ITEM)[0],a=this._getItemIndex(o),l=e||o&&this._getItemByDirection(t,o),h=this._getItemIndex(l),c=Boolean(this._interval);if(t===U?(n=z,i=X,r=F):(n=q,i=J,r=V),l&&P(l).hasClass(Y))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&o&&l){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(l);var u=P.Event(Q.SLID,{relatedTarget:l,direction:r,from:a,to:h});if(P(this._element).hasClass(G)){P(l).addClass(i),Cn.reflow(l),P(o).addClass(n),P(l).addClass(n);var f=Cn.getTransitionDurationFromElement(o);P(o).one(Cn.TRANSITION_END,function(){P(l).removeClass(n+" "+i).addClass(Y),P(o).removeClass(Y+" "+i+" "+n),s._isSliding=!1,setTimeout(function(){return P(s._element).trigger(u)},0)}).emulateTransitionEnd(f)}else P(o).removeClass(Y),P(l).addClass(Y),this._isSliding=!1,P(this._element).trigger(u);c&&this.cycle()}},s._jQueryInterface=function(i){return this.each(function(){var t=P(this).data(j),e=h({},M,P(this).data());"object"==typeof i&&(e=h({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new s(this,e),P(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},s._dataApiClickHandler=function(t){var e=Cn.getSelectorFromElement(this);if(e){var n=P(e)[0];if(n&&P(n).hasClass(B)){var i=h({},P(n).data(),P(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),s._jQueryInterface.call(P(n),i),r&&P(n).data(j).to(r),t.preventDefault()}}},o(s,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return M}}]),s}(),P(document).on(Q.CLICK_DATA_API,Z.DATA_SLIDE,$._dataApiClickHandler),P(window).on(Q.LOAD_DATA_API,function(){P(Z.DATA_RIDE).each(function(){var t=P(this);$._jQueryInterface.call(t,t.data())})}),P.fn[L]=$._jQueryInterface,P.fn[L].Constructor=$,P.fn[L].noConflict=function(){return P.fn[L]=W,$._jQueryInterface},$),bn=(et="collapse",it="."+(nt="bs.collapse"),rt=(tt=e).fn[et],st={toggle:!0,parent:""},ot={toggle:"boolean",parent:"(string|element)"},at={SHOW:"show"+it,SHOWN:"shown"+it,HIDE:"hide"+it,HIDDEN:"hidden"+it,CLICK_DATA_API:"click"+it+".data-api"},lt="show",ht="collapse",ct="collapsing",ut="collapsed",ft="width",dt="height",_t={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},gt=function(){function a(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=tt.makeArray(tt('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=tt(_t.DATA_TOGGLE),i=0;i<n.length;i++){var r=n[i],s=Cn.getSelectorFromElement(r);null!==s&&0<tt(s).filter(t).length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){tt(this._element).hasClass(lt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!tt(this._element).hasClass(lt)&&(this._parent&&0===(t=tt.makeArray(tt(this._parent).find(_t.ACTIVES).filter('[data-parent="'+this._config.parent+'"]'))).length&&(t=null),!(t&&(e=tt(t).not(this._selector).data(nt))&&e._isTransitioning))){var i=tt.Event(at.SHOW);if(tt(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(tt(t).not(this._selector),"hide"),e||tt(t).data(nt,null));var r=this._getDimension();tt(this._element).removeClass(ht).addClass(ct),(this._element.style[r]=0)<this._triggerArray.length&&tt(this._triggerArray).removeClass(ut).attr("aria-expanded",!0),this.setTransitioning(!0);var s="scroll"+(r[0].toUpperCase()+r.slice(1)),o=Cn.getTransitionDurationFromElement(this._element);tt(this._element).one(Cn.TRANSITION_END,function(){tt(n._element).removeClass(ct).addClass(ht).addClass(lt),n._element.style[r]="",n.setTransitioning(!1),tt(n._element).trigger(at.SHOWN)}).emulateTransitionEnd(o),this._element.style[r]=this._element[s]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&tt(this._element).hasClass(lt)){var e=tt.Event(at.HIDE);if(tt(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();if(this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",Cn.reflow(this._element),tt(this._element).addClass(ct).removeClass(ht).removeClass(lt),0<this._triggerArray.length)for(var i=0;i<this._triggerArray.length;i++){var r=this._triggerArray[i],s=Cn.getSelectorFromElement(r);if(null!==s)tt(s).hasClass(lt)||tt(r).addClass(ut).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var o=Cn.getTransitionDurationFromElement(this._element);tt(this._element).one(Cn.TRANSITION_END,function(){t.setTransitioning(!1),tt(t._element).removeClass(ct).addClass(ht).trigger(at.HIDDEN)}).emulateTransitionEnd(o)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){tt.removeData(this._element,nt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=h({},st,t)).toggle=Boolean(t.toggle),Cn.typeCheckConfig(et,t,ot),t},t._getDimension=function(){return tt(this._element).hasClass(ft)?ft:dt},t._getParent=function(){var n=this,t=null;Cn.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=tt(this._config.parent)[0];var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return tt(t).find(e).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){if(t){var n=tt(t).hasClass(lt);0<e.length&&tt(e).toggleClass(ut,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(t){var e=Cn.getSelectorFromElement(t);return e?tt(e)[0]:null},a._jQueryInterface=function(i){return this.each(function(){var t=tt(this),e=t.data(nt),n=h({},st,t.data(),"object"==typeof i&&i);if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(nt,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return st}}]),a}(),tt(document).on(at.CLICK_DATA_API,_t.DATA_TOGGLE,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=tt(this),e=Cn.getSelectorFromElement(this);tt(e).each(function(){var t=tt(this),e=t.data(nt)?"toggle":n.data();gt._jQueryInterface.call(t,e)})}),tt.fn[et]=gt._jQueryInterface,tt.fn[et].Constructor=gt,tt.fn[et].noConflict=function(){return tt.fn[et]=rt,gt._jQueryInterface},gt),Sn=(pt="dropdown",Et="."+(vt="bs.dropdown"),yt=".data-api",Tt=(mt=e).fn[pt],Ct=new RegExp("38|40|27"),It={HIDE:"hide"+Et,HIDDEN:"hidden"+Et,SHOW:"show"+Et,SHOWN:"shown"+Et,CLICK:"click"+Et,CLICK_DATA_API:"click"+Et+yt,KEYDOWN_DATA_API:"keydown"+Et+yt,KEYUP_DATA_API:"keyup"+Et+yt},At="disabled",Dt="show",bt="dropup",St="dropright",wt="dropleft",Nt="dropdown-menu-right",Ot="position-static",kt='[data-toggle="dropdown"]',Pt=".dropdown form",Lt=".dropdown-menu",jt=".navbar-nav",Rt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Ht="top-start",Wt="top-end",Mt="bottom-start",xt="bottom-end",Ut="right-start",Kt="left-start",Ft={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Vt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Qt=function(){function l(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=l.prototype;return t.toggle=function(){if(!this._element.disabled&&!mt(this._element).hasClass(At)){var t=l._getParentFromElement(this._element),e=mt(this._menu).hasClass(Dt);if(l._clearMenus(),!e){var n={relatedTarget:this._element},i=mt.Event(It.SHOW,n);if(mt(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof c)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=t:Cn.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&mt(t).addClass(Ot),this._popper=new c(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===mt(t).closest(jt).length&&mt(document.body).children().on("mouseover",null,mt.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),mt(this._menu).toggleClass(Dt),mt(t).toggleClass(Dt).trigger(mt.Event(It.SHOWN,n))}}}},t.dispose=function(){mt.removeData(this._element,vt),mt(this._element).off(Et),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;mt(this._element).on(It.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=h({},this.constructor.Default,mt(this._element).data(),t),Cn.typeCheckConfig(pt,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=l._getParentFromElement(this._element);this._menu=mt(t).find(Lt)[0]}return this._menu},t._getPlacement=function(){var t=mt(this._element).parent(),e=Mt;return t.hasClass(bt)?(e=Ht,mt(this._menu).hasClass(Nt)&&(e=Wt)):t.hasClass(St)?e=Ut:t.hasClass(wt)?e=Kt:mt(this._menu).hasClass(Nt)&&(e=xt),e},t._detectNavbar=function(){return 0<mt(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=h({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},l._jQueryInterface=function(e){return this.each(function(){var t=mt(this).data(vt);if(t||(t=new l(this,"object"==typeof e?e:null),mt(this).data(vt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},l._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=mt.makeArray(mt(kt)),n=0;n<e.length;n++){var i=l._getParentFromElement(e[n]),r=mt(e[n]).data(vt),s={relatedTarget:e[n]};if(r){var o=r._menu;if(mt(i).hasClass(Dt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&mt.contains(i,t.target))){var a=mt.Event(It.HIDE,s);mt(i).trigger(a),a.isDefaultPrevented()||("ontouchstart"in document.documentElement&&mt(document.body).children().off("mouseover",null,mt.noop),e[n].setAttribute("aria-expanded","false"),mt(o).removeClass(Dt),mt(i).removeClass(Dt).trigger(mt.Event(It.HIDDEN,s)))}}}},l._getParentFromElement=function(t){var e,n=Cn.getSelectorFromElement(t);return n&&(e=mt(n)[0]),e||t.parentNode},l._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||mt(t.target).closest(Lt).length)):Ct.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!mt(this).hasClass(At))){var e=l._getParentFromElement(this),n=mt(e).hasClass(Dt);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=mt(e).find(Rt).get();if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var s=mt(e).find(kt)[0];mt(s).trigger("focus")}mt(this).trigger("click")}}},o(l,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return Ft}},{key:"DefaultType",get:function(){return Vt}}]),l}(),mt(document).on(It.KEYDOWN_DATA_API,kt,Qt._dataApiKeydownHandler).on(It.KEYDOWN_DATA_API,Lt,Qt._dataApiKeydownHandler).on(It.CLICK_DATA_API+" "+It.KEYUP_DATA_API,Qt._clearMenus).on(It.CLICK_DATA_API,kt,function(t){t.preventDefault(),t.stopPropagation(),Qt._jQueryInterface.call(mt(this),"toggle")}).on(It.CLICK_DATA_API,Pt,function(t){t.stopPropagation()}),mt.fn[pt]=Qt._jQueryInterface,mt.fn[pt].Constructor=Qt,mt.fn[pt].noConflict=function(){return mt.fn[pt]=Tt,Qt._jQueryInterface},Qt),wn=(Yt="modal",qt="."+(Gt="bs.modal"),zt=(Bt=e).fn[Yt],Xt={backdrop:!0,keyboard:!0,focus:!0,show:!0},Jt={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Zt={HIDE:"hide"+qt,HIDDEN:"hidden"+qt,SHOW:"show"+qt,SHOWN:"shown"+qt,FOCUSIN:"focusin"+qt,RESIZE:"resize"+qt,CLICK_DISMISS:"click.dismiss"+qt,KEYDOWN_DISMISS:"keydown.dismiss"+qt,MOUSEUP_DISMISS:"mouseup.dismiss"+qt,MOUSEDOWN_DISMISS:"mousedown.dismiss"+qt,CLICK_DATA_API:"click"+qt+".data-api"},$t="modal-scrollbar-measure",te="modal-backdrop",ee="modal-open",ne="fade",ie="show",re={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},se=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Bt(t).find(re.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isTransitioning&&!this._isShown){Bt(this._element).hasClass(ne)&&(this._isTransitioning=!0);var n=Bt.Event(Zt.SHOW,{relatedTarget:t});Bt(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),Bt(document.body).addClass(ee),this._setEscapeEvent(),this._setResizeEvent(),Bt(this._element).on(Zt.CLICK_DISMISS,re.DATA_DISMISS,function(t){return e.hide(t)}),Bt(this._dialog).on(Zt.MOUSEDOWN_DISMISS,function(){Bt(e._element).one(Zt.MOUSEUP_DISMISS,function(t){Bt(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var n=Bt.Event(Zt.HIDE);if(Bt(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=Bt(this._element).hasClass(ne);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Bt(document).off(Zt.FOCUSIN),Bt(this._element).removeClass(ie),Bt(this._element).off(Zt.CLICK_DISMISS),Bt(this._dialog).off(Zt.MOUSEDOWN_DISMISS),i){var r=Cn.getTransitionDurationFromElement(this._element);Bt(this._element).one(Cn.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){Bt.removeData(this._element,Gt),Bt(window,document,this._element,this._backdrop).off(qt),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=h({},Xt,t),Cn.typeCheckConfig(Yt,t,Jt),t},t._showElement=function(t){var e=this,n=Bt(this._element).hasClass(ne);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&Cn.reflow(this._element),Bt(this._element).addClass(ie),this._config.focus&&this._enforceFocus();var i=Bt.Event(Zt.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Bt(e._element).trigger(i)};if(n){var s=Cn.getTransitionDurationFromElement(this._element);Bt(this._dialog).one(Cn.TRANSITION_END,r).emulateTransitionEnd(s)}else r()},t._enforceFocus=function(){var e=this;Bt(document).off(Zt.FOCUSIN).on(Zt.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===Bt(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?Bt(this._element).on(Zt.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||Bt(this._element).off(Zt.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?Bt(window).on(Zt.RESIZE,function(t){return e.handleUpdate(t)}):Bt(window).off(Zt.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){Bt(document.body).removeClass(ee),t._resetAdjustments(),t._resetScrollbar(),Bt(t._element).trigger(Zt.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(Bt(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=Bt(this._element).hasClass(ne)?ne:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=te,n&&Bt(this._backdrop).addClass(n),Bt(this._backdrop).appendTo(document.body),Bt(this._element).on(Zt.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&Cn.reflow(this._backdrop),Bt(this._backdrop).addClass(ie),!t)return;if(!n)return void t();var i=Cn.getTransitionDurationFromElement(this._backdrop);Bt(this._backdrop).one(Cn.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){Bt(this._backdrop).removeClass(ie);var r=function(){e._removeBackdrop(),t&&t()};if(Bt(this._element).hasClass(ne)){var s=Cn.getTransitionDurationFromElement(this._backdrop);Bt(this._backdrop).one(Cn.TRANSITION_END,r).emulateTransitionEnd(s)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){Bt(re.FIXED_CONTENT).each(function(t,e){var n=Bt(e)[0].style.paddingRight,i=Bt(e).css("padding-right");Bt(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),Bt(re.STICKY_CONTENT).each(function(t,e){var n=Bt(e)[0].style.marginRight,i=Bt(e).css("margin-right");Bt(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")}),Bt(re.NAVBAR_TOGGLER).each(function(t,e){var n=Bt(e)[0].style.marginRight,i=Bt(e).css("margin-right");Bt(e).data("margin-right",n).css("margin-right",parseFloat(i)+r._scrollbarWidth+"px")});var t=document.body.style.paddingRight,e=Bt(document.body).css("padding-right");Bt(document.body).data("padding-right",t).css("padding-right",parseFloat(e)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){Bt(re.FIXED_CONTENT).each(function(t,e){var n=Bt(e).data("padding-right");"undefined"!=typeof n&&Bt(e).css("padding-right",n).removeData("padding-right")}),Bt(re.STICKY_CONTENT+", "+re.NAVBAR_TOGGLER).each(function(t,e){var n=Bt(e).data("margin-right");"undefined"!=typeof n&&Bt(e).css("margin-right",n).removeData("margin-right")});var t=Bt(document.body).data("padding-right");"undefined"!=typeof t&&Bt(document.body).css("padding-right",t).removeData("padding-right")},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=$t,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=Bt(this).data(Gt),e=h({},r.Default,Bt(this).data(),"object"==typeof n&&n);if(t||(t=new r(this,e),Bt(this).data(Gt,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},o(r,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return Xt}}]),r}(),Bt(document).on(Zt.CLICK_DATA_API,re.DATA_TOGGLE,function(t){var e,n=this,i=Cn.getSelectorFromElement(this);i&&(e=Bt(i)[0]);var r=Bt(e).data(Gt)?"toggle":h({},Bt(e).data(),Bt(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var s=Bt(e).one(Zt.SHOW,function(t){t.isDefaultPrevented()||s.one(Zt.HIDDEN,function(){Bt(n).is(":visible")&&n.focus()})});se._jQueryInterface.call(Bt(e),r,this)}),Bt.fn[Yt]=se._jQueryInterface,Bt.fn[Yt].Constructor=se,Bt.fn[Yt].noConflict=function(){return Bt.fn[Yt]=zt,se._jQueryInterface},se),Nn=(ae="tooltip",he="."+(le="bs.tooltip"),ce=(oe=e).fn[ae],ue="bs-tooltip",fe=new RegExp("(^|\\s)"+ue+"\\S+","g"),ge={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(_e={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(de={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},pe="out",ve={HIDE:"hide"+he,HIDDEN:"hidden"+he,SHOW:(me="show")+he,SHOWN:"shown"+he,INSERTED:"inserted"+he,CLICK:"click"+he,FOCUSIN:"focusin"+he,FOCUSOUT:"focusout"+he,MOUSEENTER:"mouseenter"+he,MOUSELEAVE:"mouseleave"+he},Ee="fade",ye="show",Te=".tooltip-inner",Ce=".arrow",Ie="hover",Ae="focus",De="click",be="manual",Se=function(){function i(t,e){if("undefined"==typeof c)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=oe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(oe(this.getTipElement()).hasClass(ye))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),oe.removeData(this.element,this.constructor.DATA_KEY),oe(this.element).off(this.constructor.EVENT_KEY),oe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&oe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===oe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=oe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){oe(this.element).trigger(t);var n=oe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Cn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&oe(i).addClass(Ee);var s="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,o=this._getAttachment(s);this.addAttachmentClass(o);var a=!1===this.config.container?document.body:oe(this.config.container);oe(i).data(this.constructor.DATA_KEY,this),oe.contains(this.element.ownerDocument.documentElement,this.tip)||oe(i).appendTo(a),oe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new c(this.element,i,{placement:o,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Ce},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),oe(i).addClass(ye),"ontouchstart"in document.documentElement&&oe(document.body).children().on("mouseover",null,oe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,oe(e.element).trigger(e.constructor.Event.SHOWN),t===pe&&e._leave(null,e)};if(oe(this.tip).hasClass(Ee)){var h=Cn.getTransitionDurationFromElement(this.tip);oe(this.tip).one(Cn.TRANSITION_END,l).emulateTransitionEnd(h)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=oe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==me&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),oe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(oe(this.element).trigger(i),!i.isDefaultPrevented()){if(oe(n).removeClass(ye),"ontouchstart"in document.documentElement&&oe(document.body).children().off("mouseover",null,oe.noop),this._activeTrigger[De]=!1,this._activeTrigger[Ae]=!1,this._activeTrigger[Ie]=!1,oe(this.tip).hasClass(Ee)){var s=Cn.getTransitionDurationFromElement(n);oe(n).one(Cn.TRANSITION_END,r).emulateTransitionEnd(s)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){oe(this.getTipElement()).addClass(ue+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||oe(this.config.template)[0],this.tip},t.setContent=function(){var t=oe(this.getTipElement());this.setElementContent(t.find(Te),this.getTitle()),t.removeClass(Ee+" "+ye)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?oe(e).parent().is(t)||t.empty().append(e):t.text(oe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return _e[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)oe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==be){var e=t===Ie?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Ie?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;oe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}oe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=h({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||oe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ae:Ie]=!0),oe(e.getTipElement()).hasClass(ye)||e._hoverState===me?e._hoverState=me:(clearTimeout(e._timeout),e._hoverState=me,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===me&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||oe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ae:Ie]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=pe,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===pe&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=h({},this.constructor.Default,oe(this.element).data(),t)).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Cn.typeCheckConfig(ae,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=oe(this.getTipElement()),e=t.attr("class").match(fe);null!==e&&0<e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(oe(t).removeClass(Ee),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=oe(this).data(le),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),oe(this).data(le,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},o(i,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return ge}},{key:"NAME",get:function(){return ae}},{key:"DATA_KEY",get:function(){return le}},{key:"Event",get:function(){return ve}},{key:"EVENT_KEY",get:function(){return he}},{key:"DefaultType",get:function(){return de}}]),i}(),oe.fn[ae]=Se._jQueryInterface,oe.fn[ae].Constructor=Se,oe.fn[ae].noConflict=function(){return oe.fn[ae]=ce,Se._jQueryInterface},Se),On=(Ne="popover",ke="."+(Oe="bs.popover"),Pe=(we=e).fn[Ne],Le="bs-popover",je=new RegExp("(^|\\s)"+Le+"\\S+","g"),Re=h({},Nn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),He=h({},Nn.DefaultType,{content:"(string|element|function)"}),We="fade",xe=".popover-header",Ue=".popover-body",Ke={HIDE:"hide"+ke,HIDDEN:"hidden"+ke,SHOW:(Me="show")+ke,SHOWN:"shown"+ke,INSERTED:"inserted"+ke,CLICK:"click"+ke,FOCUSIN:"focusin"+ke,FOCUSOUT:"focusout"+ke,MOUSEENTER:"mouseenter"+ke,MOUSELEAVE:"mouseleave"+ke},Fe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){we(this.getTipElement()).addClass(Le+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||we(this.config.template)[0],this.tip},r.setContent=function(){var t=we(this.getTipElement());this.setElementContent(t.find(xe),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ue),e),t.removeClass(We+" "+Me)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=we(this.getTipElement()),e=t.attr("class").match(je);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=we(this).data(Oe),e="object"==typeof n?n:null;if((t||!/destroy|hide/.test(n))&&(t||(t=new i(this,e),we(this).data(Oe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},o(i,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return Re}},{key:"NAME",get:function(){return Ne}},{key:"DATA_KEY",get:function(){return Oe}},{key:"Event",get:function(){return Ke}},{key:"EVENT_KEY",get:function(){return ke}},{key:"DefaultType",get:function(){return He}}]),i}(Nn),we.fn[Ne]=Fe._jQueryInterface,we.fn[Ne].Constructor=Fe,we.fn[Ne].noConflict=function(){return we.fn[Ne]=Pe,Fe._jQueryInterface},Fe),kn=(Qe="scrollspy",Ye="."+(Be="bs.scrollspy"),Ge=(Ve=e).fn[Qe],qe={offset:10,method:"auto",target:""},ze={offset:"number",method:"string",target:"(string|element)"},Xe={ACTIVATE:"activate"+Ye,SCROLL:"scroll"+Ye,LOAD_DATA_API:"load"+Ye+".data-api"},Je="dropdown-item",Ze="active",$e={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},tn="offset",en="position",nn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+$e.NAV_LINKS+","+this._config.target+" "+$e.LIST_ITEMS+","+this._config.target+" "+$e.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Ve(this._scrollElement).on(Xe.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?tn:en,r="auto"===this._config.method?t:this._config.method,s=r===en?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),Ve.makeArray(Ve(this._selector)).map(function(t){var e,n=Cn.getSelectorFromElement(t);if(n&&(e=Ve(n)[0]),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[Ve(e)[r]().top+s,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){Ve.removeData(this._element,Be),Ve(this._scrollElement).off(Ye),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=h({},qe,t)).target){var e=Ve(t.target).attr("id");e||(e=Cn.getUID(Qe),Ve(t.target).attr("id",e)),t.target="#"+e}return Cn.typeCheckConfig(Qe,t,ze),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=Ve(t.join(","));n.hasClass(Je)?(n.closest($e.DROPDOWN).find($e.DROPDOWN_TOGGLE).addClass(Ze),n.addClass(Ze)):(n.addClass(Ze),n.parents($e.NAV_LIST_GROUP).prev($e.NAV_LINKS+", "+$e.LIST_ITEMS).addClass(Ze),n.parents($e.NAV_LIST_GROUP).prev($e.NAV_ITEMS).children($e.NAV_LINKS).addClass(Ze)),Ve(this._scrollElement).trigger(Xe.ACTIVATE,{relatedTarget:e})},t._clear=function(){Ve(this._selector).filter($e.ACTIVE).removeClass(Ze)},n._jQueryInterface=function(e){return this.each(function(){var t=Ve(this).data(Be);if(t||(t=new n(this,"object"==typeof e&&e),Ve(this).data(Be,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},o(n,null,[{key:"VERSION",get:function(){return"4.1.0"}},{key:"Default",get:function(){return qe}}]),n}(),Ve(window).on(Xe.LOAD_DATA_API,function(){for(var t=Ve.makeArray(Ve($e.DATA_SPY)),e=t.length;e--;){var n=Ve(t[e]);nn._jQueryInterface.call(n,n.data())}}),Ve.fn[Qe]=nn._jQueryInterface,Ve.fn[Qe].Constructor=nn,Ve.fn[Qe].noConflict=function(){return Ve.fn[Qe]=Ge,nn._jQueryInterface},nn),Pn=(on="."+(sn="bs.tab"),an=(rn=e).fn.tab,ln={HIDE:"hide"+on,HIDDEN:"hidden"+on,SHOW:"show"+on,SHOWN:"shown"+on,CLICK_DATA_API:"click"+on+".data-api"},hn="dropdown-menu",cn="active",un="disabled",fn="fade",dn="show",_n=".dropdown",gn=".nav, .list-group",mn=".active",pn="> li > .active",vn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',En=".dropdown-toggle",yn="> .dropdown-menu .active",Tn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&rn(this._element).hasClass(cn)||rn(this._element).hasClass(un))){var t,i,e=rn(this._element).closest(gn)[0],r=Cn.getSelectorFromElement(this._element);if(e){var s="UL"===e.nodeName?pn:mn;i=(i=rn.makeArray(rn(e).find(s)))[i.length-1]}var o=rn.Event(ln.HIDE,{relatedTarget:this._element}),a=rn.Event(ln.SHOW,{relatedTarget:i});if(i&&rn(i).trigger(o),rn(this._element).trigger(a),!a.isDefaultPrevented()&&!o.isDefaultPrevented()){r&&(t=rn(r)[0]),this._activate(this._element,e);var l=function(){var t=rn.Event(ln.HIDDEN,{relatedTarget:n._element}),e=rn.Event(ln.SHOWN,{relatedTarget:i});rn(i).trigger(t),rn(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){rn.removeData(this._element,sn),this._element=null},t._activate=function(t,e,n){var i=this,r=("UL"===e.nodeName?rn(e).find(pn):rn(e).children(mn))[0],s=n&&r&&rn(r).hasClass(fn),o=function(){return i._transitionComplete(t,r,n)};if(r&&s){var a=Cn.getTransitionDurationFromElement(r);rn(r).one(Cn.TRANSITION_END,o).emulateTransitionEnd(a)}else o()},t._transitionComplete=function(t,e,n){if(e){rn(e).removeClass(dn+" "+cn);var i=rn(e.parentNode).find(yn)[0];i&&rn(i).removeClass(cn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(rn(t).addClass(cn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),Cn.reflow(t),rn(t).addClass(dn),t.parentNode&&rn(t.parentNode).hasClass(hn)){var r=rn(t).closest(_n)[0];r&&rn(r).find(En).addClass(cn),t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=rn(this),e=t.data(sn);if(e||(e=new i(this),t.data(sn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},o(i,null,[{key:"VERSION",get:function(){return"4.1.0"}}]),i}(),rn(document).on(ln.CLICK_DATA_API,vn,function(t){t.preventDefault(),Tn._jQueryInterface.call(rn(this),"show")}),rn.fn.tab=Tn._jQueryInterface,rn.fn.tab.Constructor=Tn,rn.fn.tab.noConflict=function(){return rn.fn.tab=an,Tn._jQueryInterface},Tn);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=Cn,t.Alert=In,t.Button=An,t.Carousel=Dn,t.Collapse=bn,t.Dropdown=Sn,t.Modal=wn,t.Popover=On,t.Scrollspy=kn,t.Tab=Pn,t.Tooltip=Nn,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.min.js.map b/library/bootstrap/js/bootstrap.min.js.map
index a2100fa39..2cbfeaca8 100644
--- a/library/bootstrap/js/bootstrap.min.js.map
+++ b/library/bootstrap/js/bootstrap.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_extends","assign","arguments","source","hasOwnProperty","call","apply","this","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","ClassName","Alert","DATA_API_KEY","Selector","Button","Util","transition","transitionEndEmulator","duration","called","one","TRANSITION_END","triggerTransitionEnd","_this","prefix","Math","random","document","getElementById","element","selector","getAttribute","charAt","escapeSelector","substr","replace","find","err","offsetHeight","trigger","end","Boolean","obj","nodeType","componentName","config","configTypes","property","expectedTypes","value","valueType","isElement","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","window","QUnit","fn","emulateTransitionEnd","supportsTransitionEnd","event","special","is","handleObj","handler","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","getSelectorFromElement","parent","closest","closeEvent","CLOSE","removeClass","hasClass","_destroyElement","detach","CLOSED","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","CLICK_DATA_API","noConflict","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","FOCUS_BLUR_DATA_API","Carousel","Default","DefaultType","Direction","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","INDICATORS","_addEventListeners","next","_slide","nextWhenVisible","hidden","css","prev","pause","NEXT_PREV","cycle","interval","setInterval","visibilityState","bind","to","index","ACTIVE_ITEM","activeIndex","_getItemIndex","SLID","direction","off","typeCheckConfig","keyboard","KEYDOWN","_this2","_keydown","MOUSEENTER","MOUSELEAVE","documentElement","TOUCHEND","setTimeout","tagName","which","makeArray","ITEM","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","wrap","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","SLIDE","_setActiveIndicatorElement","ACTIVE","nextIndicator","children","addClass","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","reflow","_this3","action","slide","TypeError","_dataApiClickHandler","slideIndex","DATA_SLIDE","LOAD_DATA_API","DATA_RIDE","$carousel","Collapse","Dimension","_isTransitioning","_triggerArray","id","tabToggles","DATA_TOGGLE","elem","filter","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","ACTIVES","not","startEvent","SHOW","dimension","_getDimension","style","attr","setTransitioning","complete","SHOWN","scrollSize","slice","HIDE","getBoundingClientRect","HIDDEN","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","Dropdown","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","AttachmentMap","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","boundary","_getPopperConfig","noop","destroy","update","scheduleUpdate","CLICK","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offset","offsets","flip","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","get","KEYDOWN_DATA_API","KEYUP_DATA_API","e","Modal","_dialog","DIALOG","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","body","_setEscapeEvent","_setResizeEvent","CLICK_DISMISS","DATA_DISMISS","MOUSEDOWN_DISMISS","MOUSEUP_DISMISS","_showBackdrop","_showElement","FOCUSIN","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","display","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","KEYDOWN_DISMISS","RESIZE","_this6","_resetAdjustments","_resetScrollbar","_this7","_removeBackdrop","callback","animate","backdrop","doAnimate","createElement","className","appendTo","_this8","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","FIXED_CONTENT","actualPadding","calculatedPadding","parseFloat","_this9","STICKY_CONTENT","actualMargin","marginRight","calculatedMargin","NAVBAR_TOGGLER","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","Tooltip","BSCLS_PREFIX_REGEX","HoverState","Trigger","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","getUID","setContent","animation","attachment","_getAttachment","addAttachmentClass","container","INSERTED","fallbackPlacement","originalPlacement","_handlePopperPlacementChange","_fixTransition","prevHoverState","_TRANSITION_DURATION","_cleanTipClass","getTitle","CLASS_PREFIX","template","$tip","setElementContent","content","html","empty","append","text","title","split","forEach","eventIn","eventOut","FOCUSOUT","_fixTitle","titleType","delay","tabClass","join","initConfigAnimation","Popover","subClass","superClass","create","__proto__","_getContent","ScrollSpy","OffsetMethod","_scrollElement","NAV_LINKS","LIST_ITEMS","DROPDOWN_ITEMS","_offsets","_targets","_activeTarget","_scrollHeight","SCROLL","_process","refresh","autoMethod","offsetMethod","method","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","DROPDOWN","DROPDOWN_TOGGLE","parents","NAV_LIST_GROUP","NAV_ITEMS","ACTIVATE","scrollSpys","DATA_SPY","$spy","Tab","previous","listElement","itemSelector","nodeName","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","version"],"mappings":"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","sourcesContent":["export { _createClass as createClass, _extends as extends, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (typeof window !== 'undefined' && window.QUnit) {\n return false\n }\n\n return {\n end: 'transitionend'\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n function escapeId(selector) {\n // We escape IDs in case of special selectors (selector = '#myId:something')\n // $.escapeSelector does not exist in jQuery < 3\n selector = typeof $.escapeSelector === 'function' ? $.escapeSelector(selector).substr(1)\n : selector.replace(/(:|\\.|\\[|\\]|,|=|@)/g, '\\\\$1')\n\n return selector\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n // If it's an ID\n if (selector.charAt(0) === '#') {\n selector = escapeId(selector)\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n let element = this._element\n // For dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(element, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n Util.supportsTransitionEnd() &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../rollupPluginBabelHelpers","../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/index.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_objectSpread","arguments","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","obj","value","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","ClassName","Alert","DATA_API_KEY","Selector","Button","Default","DefaultType","Direction","Carousel","Dimension","Collapse","REGEXP_KEYDOWN","AttachmentMap","Dropdown","Modal","CLASS_PREFIX","BSCLS_PREFIX_REGEX","HoverState","Trigger","Tooltip","Popover","OffsetMethod","ScrollSpy","Tab","Util","TRANSITION_END","transitionEndEmulator","duration","_this","this","called","one","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","find","err","getTransitionDurationFromElement","transitionDuration","css","parseFloat","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","hasOwnProperty","call","expectedTypes","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","is","handleObj","handler","apply","CLOSE","CLOSED","CLICK_DATA_API","_element","_proto","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","get","on","noConflict","FOCUS_BLUR_DATA_API","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","activeElement","hasAttribute","classList","contains","focus","setAttribute","toggleClass","button","interval","keyboard","slide","pause","wrap","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_indicatorsElement","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_this2","_keydown","documentElement","clearTimeout","tagName","which","makeArray","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","nextIndicator","children","addClass","directionalClassName","orderClassName","_this3","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","action","TypeError","_dataApiClickHandler","slideIndex","window","$carousel","SHOW","SHOWN","HIDE","HIDDEN","ACTIVES","DATA_TOGGLE","_isTransitioning","_triggerArray","id","tabToggles","elem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","slice","getBoundingClientRect","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","$target","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","offset","flip","boundary","reference","display","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","offsetConf","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","dropdownMenu","hideEvent","parentNode","_dataApiKeydownHandler","items","e","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this4","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","_this9","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this10","animation","template","title","delay","html","AUTO","TOP","RIGHT","BOTTOM","LEFT","container","fallbackPlacement","INSERTED","FOCUSOUT","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","$tip","setElementContent","content","empty","append","text","eventIn","eventOut","_fixTitle","titleType","tabClass","join","initConfigAnimation","_Tooltip","subClass","superClass","create","__proto__","_getContent","method","ACTIVATE","SCROLL","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","a","b","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","scrollSpys","$spy","previous","listElement","itemSelector","nodeName","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","version"],"mappings":"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","sourcesContent":["export { _createClass as createClass, _defineProperty as defineProperty, _objectSpread as objectSpread, _inheritsLoose as inheritsLoose };\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(document).find(selector)\n return $selector.length > 0 ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0]) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const tabToggles = $(Selector.DATA_TOGGLE)\n for (let i = 0; i < tabToggles.length; i++) {\n const elem = tabToggles[i]\n const selector = Util.getSelectorFromElement(elem)\n if (selector !== null && $(selector).filter(element).length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray(\n $(this._parent)\n .find(Selector.ACTIVES)\n .filter(`[data-parent=\"${this._config.parent}\"]`)\n )\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length > 0) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length > 0) {\n for (let i = 0; i < this._triggerArray.length; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $(selector)\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = $(this._config.parent)[0]\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length > 0) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n $(selector).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(Selector.STICKY_CONTENT).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n $(`${Selector.STICKY_CONTENT}, ${Selector.NAVBAR_TOGGLER}`).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(document.body).css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Modal.Default,\n ...$(this).data(),\n ...typeof config === 'object' && config\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...config\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n // Handle special case when .nav-link is inside .nav-item\n $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n})($)\n\nexport default ScrollSpy\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.0): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.1.0'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n ACTIVE_UL : '> li > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = $.makeArray($(listElement).find(itemSelector))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n let activeElements\n if (container.nodeName === 'UL') {\n activeElements = $(container).find(Selector.ACTIVE_UL)\n } else {\n activeElements = $(container).children(Selector.ACTIVE)\n }\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(`${ClassName.SHOW} ${ClassName.ACTIVE}`)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n $(element).addClass(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n})($)\n\nexport default Tab\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"]} \ No newline at end of file
diff --git a/library/justifiedGallery/jquery.justifiedGallery.js b/library/justifiedGallery/jquery.justifiedGallery.js
index 82445b403..85a4168bd 100644
--- a/library/justifiedGallery/jquery.justifiedGallery.js
+++ b/library/justifiedGallery/jquery.justifiedGallery.js
@@ -1,7 +1,7 @@
/*!
- * Justified Gallery - v3.6.3
+ * Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2016 Miro Mannino
+ * Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
(function($) {
@@ -130,7 +130,7 @@
if (callback) callback();
} else {
$entry.stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
- $entry.find('> img, > a > img').stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
+ $entry.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
}
};
@@ -149,8 +149,7 @@
/** @returns {jQuery} the image in the given entry */
JustifiedGallery.prototype.imgFromEntry = function ($entry) {
- var $img = $entry.find('> img');
- if ($img.length === 0) $img = $entry.find('> a > img');
+ var $img = $entry.find(this.settings.imgSelector);
return $img.length === 0 ? null : $img;
};
@@ -320,6 +319,15 @@
};
/**
+ * Clear the building row data to be used for a new row
+ */
+ JustifiedGallery.prototype.clearBuildingRow = function () {
+ this.buildingRow.entriesBuff = [];
+ this.buildingRow.aspectRatio = 0;
+ this.buildingRow.width = 0;
+ };
+
+ /**
* Justify the building row, preparing it to
*
* @param isLastRow
@@ -381,15 +389,6 @@
};
/**
- * Clear the building row data to be used for a new row
- */
- JustifiedGallery.prototype.clearBuildingRow = function () {
- this.buildingRow.entriesBuff = [];
- this.buildingRow.aspectRatio = 0;
- this.buildingRow.width = 0;
- };
-
- /**
* Flush a row: justify it, modify the gallery height accordingly to the row height
*
* @param isLastRow
@@ -404,16 +403,12 @@
return;
}
- if (this.maxRowHeight) {
- if (this.maxRowHeight.isPercentage && this.maxRowHeight.value * settings.rowHeight < this.buildingRow.height) {
- this.buildingRow.height = this.maxRowHeight.value * settings.rowHeight;
- } else if (this.maxRowHeight.value >= settings.rowHeight && this.maxRowHeight.value < this.buildingRow.height) {
- this.buildingRow.height = this.maxRowHeight.value;
- }
+ if(this.maxRowHeight) {
+ if(this.maxRowHeight < this.buildingRow.height) this.buildingRow.height = this.maxRowHeight;
}
//Align last (unjustified) row
- if (settings.lastRow === 'center' || settings.lastRow === 'right') {
+ if (isLastRow && (settings.lastRow === 'center' || settings.lastRow === 'right')) {
var availableWidth = this.galleryWidth - 2 * this.border - (this.buildingRow.entriesBuff.length - 1) * settings.margins;
for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
@@ -427,15 +422,16 @@
offX += availableWidth;
}
- for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
- $entry = this.buildingRow.entriesBuff[i];
+ var lastEntryIdx = this.buildingRow.entriesBuff.length - 1;
+ for (i = 0; i <= lastEntryIdx; i++) {
+ $entry = this.buildingRow.entriesBuff[ this.settings.rtl ? lastEntryIdx - i : i ];
this.displayEntry($entry, offX, this.offY, $entry.data('jg.jwidth'), $entry.data('jg.jheight'), this.buildingRow.height);
offX += $entry.data('jg.jwidth') + settings.margins;
}
//Gallery Height
this.galleryHeightToSet = this.offY + this.buildingRow.height + this.border;
- this.$gallery.height(this.galleryHeightToSet + this.getSpinnerHeight());
+ this.setGalleryTempHeight(this.galleryHeightToSet + this.getSpinnerHeight());
if (!isLastRow || (this.buildingRow.height <= settings.rowHeight && buildingRowRes)) {
//Ready for a new row
@@ -446,18 +442,45 @@
}
};
+
+ // Scroll position not restoring: https://github.com/miromannino/Justified-Gallery/issues/221
+ var galleryPrevStaticHeight = 0;
+
+ JustifiedGallery.prototype.rememberGalleryHeight = function () {
+ galleryPrevStaticHeight = this.$gallery.height();
+ this.$gallery.height(galleryPrevStaticHeight);
+ };
+
+ // grow only
+ JustifiedGallery.prototype.setGalleryTempHeight = function (height) {
+ galleryPrevStaticHeight = Math.max(height, galleryPrevStaticHeight);
+ this.$gallery.height(galleryPrevStaticHeight);
+ };
+
+ JustifiedGallery.prototype.setGalleryFinalHeight = function (height) {
+ galleryPrevStaticHeight = height;
+ this.$gallery.height(height);
+ };
+
+
/**
* Checks the width of the gallery container, to know if a new justification is needed
*/
var scrollBarOn = false;
JustifiedGallery.prototype.checkWidth = function () {
this.checkWidthIntervalId = setInterval($.proxy(function () {
+
+ // if the gallery is not currently visible, abort.
+ if (!this.$gallery.is(":visible")) return;
+
var galleryWidth = parseFloat(this.$gallery.width());
if (hasScrollBar() === scrollBarOn) {
if (Math.abs(galleryWidth - this.galleryWidth) > this.settings.refreshSensitivity) {
this.galleryWidth = galleryWidth;
this.rewind();
+ this.rememberGalleryHeight();
+
// Restart to analyze
this.startImgAnalyzer(true);
}
@@ -488,7 +511,7 @@
JustifiedGallery.prototype.stopLoadingSpinnerAnimation = function () {
clearInterval(this.spinner.intervalId);
this.spinner.intervalId = null;
- this.$gallery.height(this.$gallery.height() - this.getSpinnerHeight());
+ this.setGalleryTempHeight(this.$gallery.height() - this.getSpinnerHeight());
this.spinner.$el.detach();
};
@@ -500,7 +523,7 @@
var $spinnerPoints = spinnerContext.$el.find('span');
clearInterval(spinnerContext.intervalId);
this.$gallery.append(spinnerContext.$el);
- this.$gallery.height(this.offY + this.buildingRow.height + this.getSpinnerHeight());
+ this.setGalleryTempHeight(this.offY + this.buildingRow.height + this.getSpinnerHeight());
spinnerContext.intervalId = setInterval(function () {
if (spinnerContext.phase < $spinnerPoints.length) {
$spinnerPoints.eq(spinnerContext.phase).fadeTo(spinnerContext.timeSlot, 1);
@@ -636,7 +659,7 @@
// Filter using the passed function
var filteredArr = a.filter(settings.filter);
for (var i = 0; i < a.length; i++) {
- if (filteredArr.indexOf(a[i]) == -1) {
+ if (filteredArr.indexOf(a[i]) === -1) {
$(a[i]).addClass('jg-filtered').removeClass('jg-visible');
} else {
$(a[i]).removeClass('jg-filtered');
@@ -710,6 +733,7 @@
var imgAspectRatio = $entry.data('jg.width') / $entry.data('jg.height');
if (availableWidth / (this.buildingRow.aspectRatio + imgAspectRatio) < this.settings.rowHeight) {
this.flushRow(false);
+
if(++this.yield.flushed >= this.yield.every) {
this.startImgAnalyzer(isForResize);
return;
@@ -741,7 +765,7 @@
//On complete callback
this.$gallery.trigger(isForResize ? 'jg.resize' : 'jg.complete');
- this.$gallery.height(this.galleryHeightToSet);
+ this.setGalleryFinalHeight(this.galleryHeightToSet);
};
/**
@@ -749,7 +773,10 @@
*/
JustifiedGallery.prototype.stopImgAnalyzerStarter = function () {
this.yield.flushed = 0;
- if (this.imgAnalyzerTimeout !== null) clearTimeout(this.imgAnalyzerTimeout);
+ if (this.imgAnalyzerTimeout !== null) {
+ clearTimeout(this.imgAnalyzerTimeout);
+ this.imgAnalyzerTimeout = null;
+ }
};
/**
@@ -822,8 +849,8 @@
/* If we have the height and the width, we don't wait that the image is loaded, but we start directly
* with the justification */
if (that.settings.waitThumbnailsLoad === false) {
- var width = parseFloat($image.attr('width'));
- var height = parseFloat($image.attr('height'));
+ var width = parseFloat($image.prop('width'));
+ var height = parseFloat($image.prop('height'));
if (!isNaN(width) && !isNaN(height)) {
$entry.data('jg.width', width);
$entry.data('jg.height', height);
@@ -915,36 +942,33 @@
/**
* check and convert the maxRowHeight setting
+ * requires rowHeight to be already set
+ * TODO: should be always called when only rowHeight is changed
+ * @return number or null
*/
JustifiedGallery.prototype.retrieveMaxRowHeight = function () {
- var newMaxRowHeight = { };
+ var newMaxRowHeight = null;
+ var rowHeight = this.settings.rowHeight;
if ($.type(this.settings.maxRowHeight) === 'string') {
if (this.settings.maxRowHeight.match(/^[0-9]+%$/)) {
- newMaxRowHeight.value = parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1]) / 100;
- newMaxRowHeight.isPercentage = false;
+ newMaxRowHeight = rowHeight * parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1]) / 100;
} else {
- newMaxRowHeight.value = parseFloat(this.settings.maxRowHeight);
- newMaxRowHeight.isPercentage = true;
+ newMaxRowHeight = parseFloat(this.settings.maxRowHeight);
}
} else if ($.type(this.settings.maxRowHeight) === 'number') {
- newMaxRowHeight.value = this.settings.maxRowHeight;
- newMaxRowHeight.isPercentage = false;
- } else if (this.settings.maxRowHeight === false ||
- this.settings.maxRowHeight === null ||
- typeof this.settings.maxRowHeight == 'undefined') {
+ newMaxRowHeight = this.settings.maxRowHeight;
+ } else if (this.settings.maxRowHeight === false || this.settings.maxRowHeight == null) {
return null;
} else {
throw 'maxRowHeight must be a number or a percentage';
}
// check if the converted value is not a number
- if (isNaN(newMaxRowHeight.value)) throw 'invalid number for maxRowHeight';
+ if (isNaN(newMaxRowHeight)) throw 'invalid number for maxRowHeight';
- // check values
- if (newMaxRowHeight.isPercentage) {
- if (newMaxRowHeight.value < 100) newMaxRowHeight.value = 100;
- }
+ // check values, maxRowHeight must be >= rowHeight
+ if (newMaxRowHeight < rowHeight) newMaxRowHeight = rowHeight;
return newMaxRowHeight;
};
@@ -1102,7 +1126,7 @@
thumbnailPath: undefined, /* If defined, sizeRangeSuffixes is not used, and this function is used to determine the
path relative to a specific thumbnail size. The function should accept respectively three arguments:
current path, width and height */
- rowHeight: 120,
+ rowHeight: 120, // required? required to be > 0?
maxRowHeight: false, // false or negative value to deactivate. Positive number to express the value in pixels,
// A string '[0-9]+%' to express in percentage (e.g. 300% means that the row height
// can't exceed 3 * rowHeight)
@@ -1128,6 +1152,7 @@
refreshTime: 200, // time interval (in ms) to check if the page changes its width
refreshSensitivity: 0, // change in width allowed (in px) without re-building the gallery
randomize: false,
+ rtl: false, // right-to-left mode
sort: false, /*
- false: to do not sort
- function: to sort them using the function as comparator (see Array.prototype.sort())
@@ -1139,7 +1164,8 @@
- a function: invoked with arguments (entry, index, array). Return true to keep the entry, false otherwise.
It follows the specifications of the Array.prototype.filter() function of JavaScript.
*/
- selector: 'a, div:not(.spinner)' // The selector that is used to know what are the entries of the gallery
+ selector: 'a, div:not(.spinner)', // The selector that is used to know what are the entries of the gallery
+ imgSelector: '> img, > a > img' // The selector that is used to know what are the images of each entry
};
}(jQuery));
diff --git a/library/justifiedGallery/jquery.justifiedGallery.min.js b/library/justifiedGallery/jquery.justifiedGallery.min.js
index 91ebcd259..87519987b 100644
--- a/library/justifiedGallery/jquery.justifiedGallery.min.js
+++ b/library/justifiedGallery/jquery.justifiedGallery.min.js
@@ -1,7 +1,7 @@
/*!
- * Justified Gallery - v3.6.3
+ * Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2016 Miro Mannino
+ * Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
-!function(a){function b(){return a("body").height()>a(window).height()}var c=function(b,c){this.settings=c,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=c.border>=0?c.border:c.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:a('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.checkWidthIntervalId=null,this.galleryWidth=b.width(),this.$gallery=b};c.prototype.getSuffix=function(a,b){var c,d;for(c=a>b?a:b,d=0;d<this.suffixRanges.length;d++)if(c<=this.suffixRanges[d])return this.settings.sizeRangeSuffixes[this.suffixRanges[d]];return this.settings.sizeRangeSuffixes[this.suffixRanges[d-1]]},c.prototype.removeSuffix=function(a,b){return a.substring(0,a.length-b.length)},c.prototype.endsWith=function(a,b){return-1!==a.indexOf(b,a.length-b.length)},c.prototype.getUsedSuffix=function(a){for(var b in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(b)){if(0===this.settings.sizeRangeSuffixes[b].length)continue;if(this.endsWith(a,this.settings.sizeRangeSuffixes[b]))return this.settings.sizeRangeSuffixes[b]}return""},c.prototype.newSrc=function(a,b,c,d){var e;if(this.settings.thumbnailPath)e=this.settings.thumbnailPath(a,b,c,d);else{var f=a.match(this.settings.extension),g=null!==f?f[0]:"";e=a.replace(this.settings.extension,""),e=this.removeSuffix(e,this.getUsedSuffix(e)),e+=this.getSuffix(b,c)+g}return e},c.prototype.showImg=function(a,b){this.settings.cssAnimation?(a.addClass("entry-visible"),b&&b()):(a.stop().fadeTo(this.settings.imagesAnimationDuration,1,b),a.find("> img, > a > img").stop().fadeTo(this.settings.imagesAnimationDuration,1,b))},c.prototype.extractImgSrcFromImage=function(a){var b="undefined"!=typeof a.data("safe-src")?a.data("safe-src"):a.attr("src");return a.data("jg.originalSrc",b),b},c.prototype.imgFromEntry=function(a){var b=a.find("> img");return 0===b.length&&(b=a.find("> a > img")),0===b.length?null:b},c.prototype.captionFromEntry=function(a){var b=a.find("> .caption");return 0===b.length?null:b},c.prototype.displayEntry=function(b,c,d,e,f,g){b.width(e),b.height(g),b.css("top",d),b.css("left",c);var h=this.imgFromEntry(b);if(null!==h){h.css("width",e),h.css("height",f),h.css("margin-left",-e/2),h.css("margin-top",-f/2);var i=h.attr("src"),j=this.newSrc(i,e,f,h[0]);h.one("error",function(){h.attr("src",h.data("jg.originalSrc"))});var k=function(){i!==j&&h.attr("src",j)};"skipped"===b.data("jg.loaded")?this.onImageEvent(i,a.proxy(function(){this.showImg(b,k),b.data("jg.loaded",!0)},this)):this.showImg(b,k)}else this.showImg(b);this.displayEntryCaption(b)},c.prototype.displayEntryCaption=function(b){var c=this.imgFromEntry(b);if(null!==c&&this.settings.captions){var d=this.captionFromEntry(b);if(null===d){var e=c.attr("alt");this.isValidCaption(e)||(e=b.attr("title")),this.isValidCaption(e)&&(d=a('<div class="caption">'+e+"</div>"),b.append(d),b.data("jg.createdCaption",!0))}null!==d&&(this.settings.cssAnimation||d.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(b))}else this.removeCaptionEventsHandlers(b)},c.prototype.isValidCaption=function(a){return"undefined"!=typeof a&&a.length>0},c.prototype.onEntryMouseEnterForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.addClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},c.prototype.onEntryMouseLeaveForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.removeClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},c.prototype.addCaptionEventsHandlers=function(b){var c=b.data("jg.captionMouseEvents");"undefined"==typeof c&&(c={mouseenter:a.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:a.proxy(this.onEntryMouseLeaveForCaption,this)},b.on("mouseenter",void 0,void 0,c.mouseenter),b.on("mouseleave",void 0,void 0,c.mouseleave),b.data("jg.captionMouseEvents",c))},c.prototype.removeCaptionEventsHandlers=function(a){var b=a.data("jg.captionMouseEvents");"undefined"!=typeof b&&(a.off("mouseenter",void 0,b.mouseenter),a.off("mouseleave",void 0,b.mouseleave),a.removeData("jg.captionMouseEvents"))},c.prototype.prepareBuildingRow=function(a){var b,c,d,e,f,g=!0,h=0,i=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,j=i/this.buildingRow.aspectRatio,k=this.settings.rowHeight,l=this.buildingRow.width/i>this.settings.justifyThreshold;if(a&&"hide"===this.settings.lastRow&&!l){for(b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],this.settings.cssAnimation?c.removeClass("entry-visible"):(c.stop().fadeTo(0,.1),c.find("> img, > a > img").fadeTo(0,0));return-1}for(a&&!l&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(g=!1,this.rows>0&&(k=(this.offY-this.border-this.settings.margins*this.rows)/this.rows,g=k*this.buildingRow.aspectRatio/i>this.settings.justifyThreshold)),b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],d=c.data("jg.width")/c.data("jg.height"),g?(e=b===this.buildingRow.entriesBuff.length-1?i:j*d,f=j):(e=k*d,f=k),i-=Math.round(e),c.data("jg.jwidth",Math.round(e)),c.data("jg.jheight",Math.ceil(f)),(0===b||h>f)&&(h=f);return this.buildingRow.height=h,g},c.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},c.prototype.flushRow=function(a){var b,c,d,e=this.settings,f=this.border;if(c=this.prepareBuildingRow(a),a&&"hide"===e.lastRow&&-1===c)return void this.clearBuildingRow();if(this.maxRowHeight&&(this.maxRowHeight.isPercentage&&this.maxRowHeight.value*e.rowHeight<this.buildingRow.height?this.buildingRow.height=this.maxRowHeight.value*e.rowHeight:this.maxRowHeight.value>=e.rowHeight&&this.maxRowHeight.value<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value)),"center"===e.lastRow||"right"===e.lastRow){var g=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*e.margins;for(d=0;d<this.buildingRow.entriesBuff.length;d++)b=this.buildingRow.entriesBuff[d],g-=b.data("jg.jwidth");"center"===e.lastRow?f+=g/2:"right"===e.lastRow&&(f+=g)}for(d=0;d<this.buildingRow.entriesBuff.length;d++)b=this.buildingRow.entriesBuff[d],this.displayEntry(b,f,this.offY,b.data("jg.jwidth"),b.data("jg.jheight"),this.buildingRow.height),f+=b.data("jg.jwidth")+e.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.$gallery.height(this.galleryHeightToSet+this.getSpinnerHeight()),(!a||this.buildingRow.height<=e.rowHeight&&c)&&(this.offY+=this.buildingRow.height+e.margins,this.rows+=1,this.clearBuildingRow(),this.$gallery.trigger("jg.rowflush"))};var d=!1;c.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(a.proxy(function(){var a=parseFloat(this.$gallery.width());b()===d?Math.abs(a-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=a,this.rewind(),this.startImgAnalyzer(!0)):(d=b(),this.galleryWidth=a)},this),this.settings.refreshTime)},c.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},c.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},c.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.$gallery.height(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},c.prototype.startLoadingSpinnerAnimation=function(){var a=this.spinner,b=a.$el.find("span");clearInterval(a.intervalId),this.$gallery.append(a.$el),this.$gallery.height(this.offY+this.buildingRow.height+this.getSpinnerHeight()),a.intervalId=setInterval(function(){a.phase<b.length?b.eq(a.phase).fadeTo(a.timeSlot,1):b.eq(a.phase-b.length).fadeTo(a.timeSlot,0),a.phase=(a.phase+1)%(2*b.length)},a.timeSlot)},c.prototype.rewind=function(){this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},c.prototype.updateEntries=function(b){var c;return b&&null!=this.lastFetchedEntry?c=a(this.lastFetchedEntry).nextAll(this.settings.selector).toArray():(this.entries=[],c=this.$gallery.children(this.settings.selector).toArray()),c.length>0&&(a.isFunction(this.settings.sort)?c=this.sortArray(c):this.settings.randomize&&(c=this.shuffleArray(c)),this.lastFetchedEntry=c[c.length-1],this.settings.filter?c=this.filterArray(c):this.resetFilters(c)),this.entries=this.entries.concat(c),!0},c.prototype.insertToGallery=function(b){var c=this;a.each(b,function(){a(this).appendTo(c.$gallery)})},c.prototype.shuffleArray=function(a){var b,c,d;for(b=a.length-1;b>0;b--)c=Math.floor(Math.random()*(b+1)),d=a[b],a[b]=a[c],a[c]=d;return this.insertToGallery(a),a},c.prototype.sortArray=function(a){return a.sort(this.settings.sort),this.insertToGallery(a),a},c.prototype.resetFilters=function(b){for(var c=0;c<b.length;c++)a(b[c]).removeClass("jg-filtered")},c.prototype.filterArray=function(b){var c=this.settings;if("string"===a.type(c.filter))return b.filter(function(b){var d=a(b);return d.is(c.filter)?(d.removeClass("jg-filtered"),!0):(d.addClass("jg-filtered").removeClass("jg-visible"),!1)});if(a.isFunction(c.filter)){for(var d=b.filter(c.filter),e=0;e<b.length;e++)-1==d.indexOf(b[e])?a(b[e]).addClass("jg-filtered").removeClass("jg-visible"):a(b[e]).removeClass("jg-filtered");return d}},c.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),a.each(this.entries,a.proxy(function(b,c){var d=a(c);d.css("width",""),d.css("height",""),d.css("top",""),d.css("left",""),d.data("jg.loaded",void 0),d.removeClass("jg-entry");var e=this.imgFromEntry(d);e.css("width",""),e.css("height",""),e.css("margin-left",""),e.css("margin-top",""),e.attr("src",e.data("jg.originalSrc")),e.data("jg.originalSrc",void 0),this.removeCaptionEventsHandlers(d);var f=this.captionFromEntry(d);d.data("jg.createdCaption")?(d.data("jg.createdCaption",void 0),null!==f&&f.remove()):null!==f&&f.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0)},c.prototype.analyzeImages=function(b){for(var c=this.lastAnalyzedIndex+1;c<this.entries.length;c++){var d=a(this.entries[c]);if(d.data("jg.loaded")===!0||"skipped"===d.data("jg.loaded")){var e=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,f=d.data("jg.width")/d.data("jg.height");if(e/(this.buildingRow.aspectRatio+f)<this.settings.rowHeight&&(this.flushRow(!1),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(b);this.buildingRow.entriesBuff.push(d),this.buildingRow.aspectRatio+=f,this.buildingRow.width+=f*this.settings.rowHeight,this.lastAnalyzedIndex=c}else if("error"!==d.data("jg.loaded"))return}this.buildingRow.entriesBuff.length>0&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.$gallery.trigger(b?"jg.resize":"jg.complete"),this.$gallery.height(this.galleryHeightToSet)},c.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&clearTimeout(this.imgAnalyzerTimeout)},c.prototype.startImgAnalyzer=function(a){var b=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){b.analyzeImages(a)},.001)},c.prototype.onImageEvent=function(b,c,d){if(c||d){var e=new Image,f=a(e);c&&f.one("load",function(){f.off("load error"),c(e)}),d&&f.one("error",function(){f.off("load error"),d(e)}),e.src=b}},c.prototype.init=function(){var b=!1,c=!1,d=this;a.each(this.entries,function(e,f){var g=a(f),h=d.imgFromEntry(g);if(g.addClass("jg-entry"),g.data("jg.loaded")!==!0&&"skipped"!==g.data("jg.loaded"))if(null!==d.settings.rel&&g.attr("rel",d.settings.rel),null!==d.settings.target&&g.attr("target",d.settings.target),null!==h){var i=d.extractImgSrcFromImage(h);if(h.attr("src",i),d.settings.waitThumbnailsLoad===!1){var j=parseFloat(h.attr("width")),k=parseFloat(h.attr("height"));if(!isNaN(j)&&!isNaN(k))return g.data("jg.width",j),g.data("jg.height",k),g.data("jg.loaded","skipped"),c=!0,d.startImgAnalyzer(!1),!0}g.data("jg.loaded",!1),b=!0,d.isSpinnerActive()||d.startLoadingSpinnerAnimation(),d.onImageEvent(i,function(a){g.data("jg.width",a.width),g.data("jg.height",a.height),g.data("jg.loaded",!0),d.startImgAnalyzer(!1)},function(){g.data("jg.loaded","error"),d.startImgAnalyzer(!1)})}else g.data("jg.loaded",!0),g.data("jg.width",g.width()|parseFloat(g.css("width"))|1),g.data("jg.height",g.height()|parseFloat(g.css("height"))|1)}),b||c||this.startImgAnalyzer(!1),this.checkWidth()},c.prototype.checkOrConvertNumber=function(b,c){if("string"===a.type(b[c])&&(b[c]=parseFloat(b[c])),"number"!==a.type(b[c]))throw c+" must be a number";if(isNaN(b[c]))throw"invalid number for "+c},c.prototype.checkSizeRangesSuffixes=function(){if("object"!==a.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var b=[];for(var c in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(c)&&b.push(c);for(var d={0:""},e=0;e<b.length;e++)if("string"===a.type(b[e]))try{var f=parseInt(b[e].replace(/^[a-z]+/,""),10);d[f]=this.settings.sizeRangeSuffixes[b[e]]}catch(g){throw"sizeRangeSuffixes keys must contains correct numbers ("+g+")"}else d[b[e]]=this.settings.sizeRangeSuffixes[b[e]];this.settings.sizeRangeSuffixes=d},c.prototype.retrieveMaxRowHeight=function(){var b={};if("string"===a.type(this.settings.maxRowHeight))this.settings.maxRowHeight.match(/^[0-9]+%$/)?(b.value=parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100,b.isPercentage=!1):(b.value=parseFloat(this.settings.maxRowHeight),b.isPercentage=!0);else{if("number"!==a.type(this.settings.maxRowHeight)){if(this.settings.maxRowHeight===!1||null===this.settings.maxRowHeight||"undefined"==typeof this.settings.maxRowHeight)return null;throw"maxRowHeight must be a number or a percentage"}b.value=this.settings.maxRowHeight,b.isPercentage=!1}if(isNaN(b.value))throw"invalid number for maxRowHeight";return b.isPercentage&&b.value<100&&(b.value=100),b},c.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border");var b=["justify","nojustify","left","center","right","hide"];if(-1===b.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+b.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||this.settings.justifyThreshold>1)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==a.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==a.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||this.settings.captionSettings.visibleOpacity>1)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||this.settings.captionSettings.nonVisibleOpacity>1)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==a.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==a.type(this.settings.selector))throw"selector must be a string";if(this.settings.sort!==!1&&!a.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(this.settings.filter!==!1&&!a.isFunction(this.settings.filter)&&"string"!==a.type(this.settings.filter))throw"filter must be false, a string or a filter function"},c.prototype.retrieveSuffixRanges=function(){var a=[];for(var b in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(b)&&a.push(parseInt(b,10));return a.sort(function(a,b){return a>b?1:b>a?-1:0}),a},c.prototype.updateSettings=function(b){this.settings=a.extend({},this.settings,b),this.checkSettings(),this.border=this.settings.border>=0?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},a.fn.justifiedGallery=function(b){return this.each(function(d,e){var f=a(e);f.addClass("justified-gallery");var g=f.data("jg.controller");if("undefined"==typeof g){if("undefined"!=typeof b&&null!==b&&"object"!==a.type(b)){if("destroy"===b)return;throw"The argument must be an object"}g=new c(f,a.extend({},a.fn.justifiedGallery.defaults,b)),f.data("jg.controller",g)}else if("norewind"===b);else{if("destroy"===b)return void g.destroy();g.updateSettings(b),g.rewind()}g.updateEntries("norewind"===b)&&g.init()})},a.fn.justifiedGallery.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:!1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!0,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,sort:!1,filter:!1,selector:"a, div:not(.spinner)"}}(jQuery); \ No newline at end of file
+!function(a){function b(){return a("body").height()>a(window).height()}var c=function(b,c){this.settings=c,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=c.border>=0?c.border:c.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:a('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.checkWidthIntervalId=null,this.galleryWidth=b.width(),this.$gallery=b};c.prototype.getSuffix=function(a,b){var c,d;for(c=a>b?a:b,d=0;d<this.suffixRanges.length;d++)if(c<=this.suffixRanges[d])return this.settings.sizeRangeSuffixes[this.suffixRanges[d]];return this.settings.sizeRangeSuffixes[this.suffixRanges[d-1]]},c.prototype.removeSuffix=function(a,b){return a.substring(0,a.length-b.length)},c.prototype.endsWith=function(a,b){return-1!==a.indexOf(b,a.length-b.length)},c.prototype.getUsedSuffix=function(a){for(var b in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(b)){if(0===this.settings.sizeRangeSuffixes[b].length)continue;if(this.endsWith(a,this.settings.sizeRangeSuffixes[b]))return this.settings.sizeRangeSuffixes[b]}return""},c.prototype.newSrc=function(a,b,c,d){var e;if(this.settings.thumbnailPath)e=this.settings.thumbnailPath(a,b,c,d);else{var f=a.match(this.settings.extension),g=null!==f?f[0]:"";e=a.replace(this.settings.extension,""),e=this.removeSuffix(e,this.getUsedSuffix(e)),e+=this.getSuffix(b,c)+g}return e},c.prototype.showImg=function(a,b){this.settings.cssAnimation?(a.addClass("entry-visible"),b&&b()):(a.stop().fadeTo(this.settings.imagesAnimationDuration,1,b),a.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration,1,b))},c.prototype.extractImgSrcFromImage=function(a){var b="undefined"!=typeof a.data("safe-src")?a.data("safe-src"):a.attr("src");return a.data("jg.originalSrc",b),b},c.prototype.imgFromEntry=function(a){var b=a.find(this.settings.imgSelector);return 0===b.length?null:b},c.prototype.captionFromEntry=function(a){var b=a.find("> .caption");return 0===b.length?null:b},c.prototype.displayEntry=function(b,c,d,e,f,g){b.width(e),b.height(g),b.css("top",d),b.css("left",c);var h=this.imgFromEntry(b);if(null!==h){h.css("width",e),h.css("height",f),h.css("margin-left",-e/2),h.css("margin-top",-f/2);var i=h.attr("src"),j=this.newSrc(i,e,f,h[0]);h.one("error",function(){h.attr("src",h.data("jg.originalSrc"))});var k=function(){i!==j&&h.attr("src",j)};"skipped"===b.data("jg.loaded")?this.onImageEvent(i,a.proxy(function(){this.showImg(b,k),b.data("jg.loaded",!0)},this)):this.showImg(b,k)}else this.showImg(b);this.displayEntryCaption(b)},c.prototype.displayEntryCaption=function(b){var c=this.imgFromEntry(b);if(null!==c&&this.settings.captions){var d=this.captionFromEntry(b);if(null===d){var e=c.attr("alt");this.isValidCaption(e)||(e=b.attr("title")),this.isValidCaption(e)&&(d=a('<div class="caption">'+e+"</div>"),b.append(d),b.data("jg.createdCaption",!0))}null!==d&&(this.settings.cssAnimation||d.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(b))}else this.removeCaptionEventsHandlers(b)},c.prototype.isValidCaption=function(a){return"undefined"!=typeof a&&a.length>0},c.prototype.onEntryMouseEnterForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.addClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},c.prototype.onEntryMouseLeaveForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.removeClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},c.prototype.addCaptionEventsHandlers=function(b){var c=b.data("jg.captionMouseEvents");"undefined"==typeof c&&(c={mouseenter:a.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:a.proxy(this.onEntryMouseLeaveForCaption,this)},b.on("mouseenter",void 0,void 0,c.mouseenter),b.on("mouseleave",void 0,void 0,c.mouseleave),b.data("jg.captionMouseEvents",c))},c.prototype.removeCaptionEventsHandlers=function(a){var b=a.data("jg.captionMouseEvents");"undefined"!=typeof b&&(a.off("mouseenter",void 0,b.mouseenter),a.off("mouseleave",void 0,b.mouseleave),a.removeData("jg.captionMouseEvents"))},c.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},c.prototype.prepareBuildingRow=function(a){var b,c,d,e,f,g=!0,h=0,i=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,j=i/this.buildingRow.aspectRatio,k=this.settings.rowHeight,l=this.buildingRow.width/i>this.settings.justifyThreshold;if(a&&"hide"===this.settings.lastRow&&!l){for(b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],this.settings.cssAnimation?c.removeClass("entry-visible"):(c.stop().fadeTo(0,.1),c.find("> img, > a > img").fadeTo(0,0));return-1}for(a&&!l&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(g=!1,this.rows>0&&(k=(this.offY-this.border-this.settings.margins*this.rows)/this.rows,g=k*this.buildingRow.aspectRatio/i>this.settings.justifyThreshold)),b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],d=c.data("jg.width")/c.data("jg.height"),g?(e=b===this.buildingRow.entriesBuff.length-1?i:j*d,f=j):(e=k*d,f=k),i-=Math.round(e),c.data("jg.jwidth",Math.round(e)),c.data("jg.jheight",Math.ceil(f)),(0===b||h>f)&&(h=f);return this.buildingRow.height=h,g},c.prototype.flushRow=function(a){var b,c,d,e=this.settings,f=this.border;if(c=this.prepareBuildingRow(a),a&&"hide"===e.lastRow&&-1===c)return void this.clearBuildingRow();if(this.maxRowHeight&&this.maxRowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight),a&&("center"===e.lastRow||"right"===e.lastRow)){var g=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*e.margins;for(d=0;d<this.buildingRow.entriesBuff.length;d++)b=this.buildingRow.entriesBuff[d],g-=b.data("jg.jwidth");"center"===e.lastRow?f+=g/2:"right"===e.lastRow&&(f+=g)}var h=this.buildingRow.entriesBuff.length-1;for(d=0;h>=d;d++)b=this.buildingRow.entriesBuff[this.settings.rtl?h-d:d],this.displayEntry(b,f,this.offY,b.data("jg.jwidth"),b.data("jg.jheight"),this.buildingRow.height),f+=b.data("jg.jwidth")+e.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.setGalleryTempHeight(this.galleryHeightToSet+this.getSpinnerHeight()),(!a||this.buildingRow.height<=e.rowHeight&&c)&&(this.offY+=this.buildingRow.height+e.margins,this.rows+=1,this.clearBuildingRow(),this.$gallery.trigger("jg.rowflush"))};var d=0;c.prototype.rememberGalleryHeight=function(){d=this.$gallery.height(),this.$gallery.height(d)},c.prototype.setGalleryTempHeight=function(a){d=Math.max(a,d),this.$gallery.height(d)},c.prototype.setGalleryFinalHeight=function(a){d=a,this.$gallery.height(a)};var e=!1;c.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(a.proxy(function(){if(this.$gallery.is(":visible")){var a=parseFloat(this.$gallery.width());b()===e?Math.abs(a-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=a,this.rewind(),this.rememberGalleryHeight(),this.startImgAnalyzer(!0)):(e=b(),this.galleryWidth=a)}},this),this.settings.refreshTime)},c.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},c.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},c.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.setGalleryTempHeight(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},c.prototype.startLoadingSpinnerAnimation=function(){var a=this.spinner,b=a.$el.find("span");clearInterval(a.intervalId),this.$gallery.append(a.$el),this.setGalleryTempHeight(this.offY+this.buildingRow.height+this.getSpinnerHeight()),a.intervalId=setInterval(function(){a.phase<b.length?b.eq(a.phase).fadeTo(a.timeSlot,1):b.eq(a.phase-b.length).fadeTo(a.timeSlot,0),a.phase=(a.phase+1)%(2*b.length)},a.timeSlot)},c.prototype.rewind=function(){this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},c.prototype.updateEntries=function(b){var c;return b&&null!=this.lastFetchedEntry?c=a(this.lastFetchedEntry).nextAll(this.settings.selector).toArray():(this.entries=[],c=this.$gallery.children(this.settings.selector).toArray()),c.length>0&&(a.isFunction(this.settings.sort)?c=this.sortArray(c):this.settings.randomize&&(c=this.shuffleArray(c)),this.lastFetchedEntry=c[c.length-1],this.settings.filter?c=this.filterArray(c):this.resetFilters(c)),this.entries=this.entries.concat(c),!0},c.prototype.insertToGallery=function(b){var c=this;a.each(b,function(){a(this).appendTo(c.$gallery)})},c.prototype.shuffleArray=function(a){var b,c,d;for(b=a.length-1;b>0;b--)c=Math.floor(Math.random()*(b+1)),d=a[b],a[b]=a[c],a[c]=d;return this.insertToGallery(a),a},c.prototype.sortArray=function(a){return a.sort(this.settings.sort),this.insertToGallery(a),a},c.prototype.resetFilters=function(b){for(var c=0;c<b.length;c++)a(b[c]).removeClass("jg-filtered")},c.prototype.filterArray=function(b){var c=this.settings;if("string"===a.type(c.filter))return b.filter(function(b){var d=a(b);return d.is(c.filter)?(d.removeClass("jg-filtered"),!0):(d.addClass("jg-filtered").removeClass("jg-visible"),!1)});if(a.isFunction(c.filter)){for(var d=b.filter(c.filter),e=0;e<b.length;e++)-1===d.indexOf(b[e])?a(b[e]).addClass("jg-filtered").removeClass("jg-visible"):a(b[e]).removeClass("jg-filtered");return d}},c.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),a.each(this.entries,a.proxy(function(b,c){var d=a(c);d.css("width",""),d.css("height",""),d.css("top",""),d.css("left",""),d.data("jg.loaded",void 0),d.removeClass("jg-entry");var e=this.imgFromEntry(d);e.css("width",""),e.css("height",""),e.css("margin-left",""),e.css("margin-top",""),e.attr("src",e.data("jg.originalSrc")),e.data("jg.originalSrc",void 0),this.removeCaptionEventsHandlers(d);var f=this.captionFromEntry(d);d.data("jg.createdCaption")?(d.data("jg.createdCaption",void 0),null!==f&&f.remove()):null!==f&&f.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0)},c.prototype.analyzeImages=function(b){for(var c=this.lastAnalyzedIndex+1;c<this.entries.length;c++){var d=a(this.entries[c]);if(d.data("jg.loaded")===!0||"skipped"===d.data("jg.loaded")){var e=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,f=d.data("jg.width")/d.data("jg.height");if(e/(this.buildingRow.aspectRatio+f)<this.settings.rowHeight&&(this.flushRow(!1),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(b);this.buildingRow.entriesBuff.push(d),this.buildingRow.aspectRatio+=f,this.buildingRow.width+=f*this.settings.rowHeight,this.lastAnalyzedIndex=c}else if("error"!==d.data("jg.loaded"))return}this.buildingRow.entriesBuff.length>0&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.$gallery.trigger(b?"jg.resize":"jg.complete"),this.setGalleryFinalHeight(this.galleryHeightToSet)},c.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&(clearTimeout(this.imgAnalyzerTimeout),this.imgAnalyzerTimeout=null)},c.prototype.startImgAnalyzer=function(a){var b=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){b.analyzeImages(a)},.001)},c.prototype.onImageEvent=function(b,c,d){if(c||d){var e=new Image,f=a(e);c&&f.one("load",function(){f.off("load error"),c(e)}),d&&f.one("error",function(){f.off("load error"),d(e)}),e.src=b}},c.prototype.init=function(){var b=!1,c=!1,d=this;a.each(this.entries,function(e,f){var g=a(f),h=d.imgFromEntry(g);if(g.addClass("jg-entry"),g.data("jg.loaded")!==!0&&"skipped"!==g.data("jg.loaded"))if(null!==d.settings.rel&&g.attr("rel",d.settings.rel),null!==d.settings.target&&g.attr("target",d.settings.target),null!==h){var i=d.extractImgSrcFromImage(h);if(h.attr("src",i),d.settings.waitThumbnailsLoad===!1){var j=parseFloat(h.prop("width")),k=parseFloat(h.prop("height"));if(!isNaN(j)&&!isNaN(k))return g.data("jg.width",j),g.data("jg.height",k),g.data("jg.loaded","skipped"),c=!0,d.startImgAnalyzer(!1),!0}g.data("jg.loaded",!1),b=!0,d.isSpinnerActive()||d.startLoadingSpinnerAnimation(),d.onImageEvent(i,function(a){g.data("jg.width",a.width),g.data("jg.height",a.height),g.data("jg.loaded",!0),d.startImgAnalyzer(!1)},function(){g.data("jg.loaded","error"),d.startImgAnalyzer(!1)})}else g.data("jg.loaded",!0),g.data("jg.width",g.width()|parseFloat(g.css("width"))|1),g.data("jg.height",g.height()|parseFloat(g.css("height"))|1)}),b||c||this.startImgAnalyzer(!1),this.checkWidth()},c.prototype.checkOrConvertNumber=function(b,c){if("string"===a.type(b[c])&&(b[c]=parseFloat(b[c])),"number"!==a.type(b[c]))throw c+" must be a number";if(isNaN(b[c]))throw"invalid number for "+c},c.prototype.checkSizeRangesSuffixes=function(){if("object"!==a.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var b=[];for(var c in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(c)&&b.push(c);for(var d={0:""},e=0;e<b.length;e++)if("string"===a.type(b[e]))try{var f=parseInt(b[e].replace(/^[a-z]+/,""),10);d[f]=this.settings.sizeRangeSuffixes[b[e]]}catch(g){throw"sizeRangeSuffixes keys must contains correct numbers ("+g+")"}else d[b[e]]=this.settings.sizeRangeSuffixes[b[e]];this.settings.sizeRangeSuffixes=d},c.prototype.retrieveMaxRowHeight=function(){var b=null,c=this.settings.rowHeight;if("string"===a.type(this.settings.maxRowHeight))b=this.settings.maxRowHeight.match(/^[0-9]+%$/)?c*parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100:parseFloat(this.settings.maxRowHeight);else{if("number"!==a.type(this.settings.maxRowHeight)){if(this.settings.maxRowHeight===!1||null==this.settings.maxRowHeight)return null;throw"maxRowHeight must be a number or a percentage"}b=this.settings.maxRowHeight}if(isNaN(b))throw"invalid number for maxRowHeight";return c>b&&(b=c),b},c.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border");var b=["justify","nojustify","left","center","right","hide"];if(-1===b.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+b.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||this.settings.justifyThreshold>1)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==a.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==a.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||this.settings.captionSettings.visibleOpacity>1)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||this.settings.captionSettings.nonVisibleOpacity>1)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==a.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==a.type(this.settings.selector))throw"selector must be a string";if(this.settings.sort!==!1&&!a.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(this.settings.filter!==!1&&!a.isFunction(this.settings.filter)&&"string"!==a.type(this.settings.filter))throw"filter must be false, a string or a filter function"},c.prototype.retrieveSuffixRanges=function(){var a=[];for(var b in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(b)&&a.push(parseInt(b,10));return a.sort(function(a,b){return a>b?1:b>a?-1:0}),a},c.prototype.updateSettings=function(b){this.settings=a.extend({},this.settings,b),this.checkSettings(),this.border=this.settings.border>=0?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},a.fn.justifiedGallery=function(b){return this.each(function(d,e){var f=a(e);f.addClass("justified-gallery");var g=f.data("jg.controller");if("undefined"==typeof g){if("undefined"!=typeof b&&null!==b&&"object"!==a.type(b)){if("destroy"===b)return;throw"The argument must be an object"}g=new c(f,a.extend({},a.fn.justifiedGallery.defaults,b)),f.data("jg.controller",g)}else if("norewind"===b);else{if("destroy"===b)return void g.destroy();g.updateSettings(b),g.rewind()}g.updateEntries("norewind"===b)&&g.init()})},a.fn.justifiedGallery.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:!1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!0,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,rtl:!1,sort:!1,filter:!1,selector:"a, div:not(.spinner)",imgSelector:"> img, > a > img"}}(jQuery); \ No newline at end of file
diff --git a/library/justifiedGallery/justifiedGallery.css b/library/justifiedGallery/justifiedGallery.css
index 00c84fda0..3b1da6850 100644
--- a/library/justifiedGallery/justifiedGallery.css
+++ b/library/justifiedGallery/justifiedGallery.css
@@ -1,7 +1,7 @@
/*!
- * Justified Gallery - v3.6.3
+ * Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2016 Miro Mannino
+ * Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
.justified-gallery {
@@ -10,18 +10,23 @@
overflow: hidden;
}
.justified-gallery > a,
-.justified-gallery > div {
+.justified-gallery > div,
+.justified-gallery > figure {
position: absolute;
display: inline-block;
overflow: hidden;
/* background: #888888; To have gray placeholders while the gallery is loading with waitThumbnailsLoad = false */
filter: "alpha(opacity=10)";
opacity: 0.1;
+ margin: 0;
+ padding: 0;
}
.justified-gallery > a > img,
.justified-gallery > div > img,
+.justified-gallery > figure > img,
.justified-gallery > a > a > img,
-.justified-gallery > div > a > img {
+.justified-gallery > div > a > img,
+.justified-gallery > figure > a > img {
position: absolute;
top: 50%;
left: 50%;
@@ -32,7 +37,8 @@
opacity: 0;
}
.justified-gallery > a > .caption,
-.justified-gallery > div > .caption {
+.justified-gallery > div > .caption,
+.justified-gallery > figure > .caption {
display: none;
position: absolute;
bottom: 0;
@@ -47,7 +53,8 @@
font-family: sans-serif;
}
.justified-gallery > a > .caption.caption-visible,
-.justified-gallery > div > .caption.caption-visible {
+.justified-gallery > div > .caption.caption-visible,
+.justified-gallery > figure > .caption.caption-visible {
display: initial;
filter: "alpha(opacity=70)";
opacity: 0.7;
diff --git a/library/justifiedGallery/justifiedGallery.min.css b/library/justifiedGallery/justifiedGallery.min.css
index 78ca2f8d4..ba8b177d7 100644
--- a/library/justifiedGallery/justifiedGallery.min.css
+++ b/library/justifiedGallery/justifiedGallery.min.css
@@ -1,7 +1,7 @@
/*!
- * Justified Gallery - v3.6.3
+ * Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2016 Miro Mannino
+ * Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
-.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div{position:absolute;display:inline-block;overflow:hidden;filter:"alpha(opacity=10)";opacity:.1}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img{position:absolute;top:50%;left:50%;margin:0;padding:0;border:0;filter:"alpha(opacity=0)";opacity:0}.justified-gallery>a>.caption,.justified-gallery>div>.caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible{display:initial;filter:"alpha(opacity=70)";opacity:.7;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.entry-visible{filter:"alpha(opacity=100)";opacity:1;background:0 0}.justified-gallery>.entry-visible>img,.justified-gallery>.entry-visible>a>img{filter:"alpha(opacity=100)";opacity:1;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;filter:"alpha(opacity=100)";opacity:1;overflow:initial}.justified-gallery>.spinner>span{display:inline-block;filter:"alpha(opacity=0)";opacity:0;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px} \ No newline at end of file
+.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div,.justified-gallery>figure{position:absolute;display:inline-block;overflow:hidden;filter:"alpha(opacity=10)";opacity:.1;margin:0;padding:0}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>figure>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img,.justified-gallery>figure>a>img{position:absolute;top:50%;left:50%;margin:0;padding:0;border:0;filter:"alpha(opacity=0)";opacity:0}.justified-gallery>a>.caption,.justified-gallery>div>.caption,.justified-gallery>figure>.caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible,.justified-gallery>figure>.caption.caption-visible{display:initial;filter:"alpha(opacity=70)";opacity:.7;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.entry-visible{filter:"alpha(opacity=100)";opacity:1;background:0 0}.justified-gallery>.entry-visible>img,.justified-gallery>.entry-visible>a>img{filter:"alpha(opacity=100)";opacity:1;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;filter:"alpha(opacity=100)";opacity:1;overflow:initial}.justified-gallery>.spinner>span{display:inline-block;filter:"alpha(opacity=0)";opacity:0;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px} \ No newline at end of file
diff --git a/tests/travis/prepare_pgsql.sh b/tests/travis/prepare_pgsql.sh
index 0175b9858..c6b12e4d6 100755
--- a/tests/travis/prepare_pgsql.sh
+++ b/tests/travis/prepare_pgsql.sh
@@ -27,14 +27,19 @@ set -e
echo "Preparing for PostgreSQL ..."
+if [[ "$POSTGRESQL_VERSION" == "10" ]]; then
+ echo "Using PostgreSQL in Docker container, need to use TCP"
+ export PROTO="-h localhost"
+fi
+
# Print out some PostgreSQL information
psql --version
# Why does this hang further execution of the job?
-psql -U postgres -c "SELECT VERSION();"
+psql $PROTO -U postgres -c "SELECT VERSION();"
# Create Hubzilla database
-psql -U postgres -c "DROP DATABASE IF EXISTS travis_hubzilla;"
-psql -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
+psql $PROTO -U postgres -c "DROP DATABASE IF EXISTS travis_hubzilla;"
+psql $PROTO -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
CREATE USER travis_hz WITH PASSWORD 'hubzilla';
CREATE DATABASE travis_hubzilla;
ALTER DATABASE travis_hubzilla OWNER TO travis_hz;
@@ -42,8 +47,8 @@ psql -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
EOSQL
# Import table structure
-psql -U travis_hz -v ON_ERROR_STOP=1 travis_hubzilla < ./install/schema_postgres.sql
+psql $PROTO -U travis_hz -v ON_ERROR_STOP=1 travis_hubzilla < ./install/schema_postgres.sql
# Show databases and tables
-psql -U postgres -l
-psql -U postgres -d travis_hubzilla -c "\dt;"
+psql $PROTO -U postgres -l
+psql $PROTO -U postgres -d travis_hubzilla -c "\dt;"
diff --git a/tests/unit/Access/PermissionLimitsTest.php b/tests/unit/Access/PermissionLimitsTest.php
index 58595111a..57ad42a19 100644
--- a/tests/unit/Access/PermissionLimitsTest.php
+++ b/tests/unit/Access/PermissionLimitsTest.php
@@ -66,7 +66,7 @@ class PermissionLimitsTest extends UnitTestCase {
$this->assertEquals(PERMS_SPECIFIC, $stdlimits['write_pages']);
$this->assertEquals(PERMS_SPECIFIC, $stdlimits['write_wiki']);
$this->assertEquals(PERMS_SPECIFIC, $stdlimits['post_wall']);
- $this->assertEquals(PERMS_PUBLIC, $stdlimits['post_comments']);
+ $this->assertEquals(PERMS_SPECIFIC, $stdlimits['post_comments']);
$this->assertEquals(PERMS_SPECIFIC, $stdlimits['post_mail']);
$this->assertEquals(PERMS_SPECIFIC, $stdlimits['post_like']);
$this->assertEquals(PERMS_SPECIFIC, $stdlimits['tag_deliver']);
diff --git a/tests/unit/Access/PermissionRolesTest.php b/tests/unit/Access/PermissionRolesTest.php
index 5e64e773a..58fd88bb1 100644
--- a/tests/unit/Access/PermissionRolesTest.php
+++ b/tests/unit/Access/PermissionRolesTest.php
@@ -62,6 +62,7 @@ class PermissionRolesTest extends UnitTestCase {
$this->assertEquals($roles, $r->roles());
$socialNetworking = [
+ 'social_federation' => 'Social - Federation',
'social' => 'Social - Mostly Public',
'social_restricted' => 'Social - Restricted',
'social_private' => 'Social - Private'
@@ -97,4 +98,4 @@ class PermissionRolesTest extends UnitTestCase {
$this->assertEquals(['role' => 'nonexistent'], $rp_nonexistent);
}
-} \ No newline at end of file
+}
diff --git a/util/dcp b/util/dcp
index 677882193..ecef67804 100755
--- a/util/dcp
+++ b/util/dcp
@@ -28,9 +28,14 @@ if($argc < 3) {
if(strpos($dstfile,'store/') === 0)
$dstfile = substr($dstfile,6);
- $nick = substr($dstfile,0,strpos($dstfile,'/'));
-
- $dstfile = substr($dstfile,strlen($nick)+1);
+ if(strpos($dstfile,'/'))
+ $nick = substr($dstfile,0,strpos($dstfile,'/'));
+ $dstfile = substr($dstfile,strlen($nick)+1);
+ }
+ else {
+ $nick = $dstfile;
+ $dstfile = '';
+ }
$channel = channelx_by_nick($nick);
if(! $channel)
@@ -43,38 +48,45 @@ if($argc < 3) {
}
}
-
+ $rootdir = ((strlen(trim($dstfile,'/'))) ? false : true);
+
$isadir = false;
if(($recursive) || ($argc > 3))
$isadir = true;
- $r = q("select * from attach where display_path = '%s' and uid = %d limit 1",
- dbesc($dstfile),
- intval($channel['channel_id'])
- );
-
- if($r && $r[0]['is_dir']) {
- $isadir = true;
- $basepath = $dstfile;
- $folder = $r[0]['hash'];
+ if($rootdir) {
+ $folder = '';
}
else {
- $pathname = (($isadir) ? $dstfile : dirname($dstfile));
- $arr = [
- 'pathname' => $pathname,
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid'],
- ];
- $folder = '';
- if($pathname && $isadir) {
- $x = attach_mkdirp($channel,$channel['channel_hash'],$arr);
- if($x['success'])
- $folder = $x['data']['hash'];
+ $r = q("select * from attach where display_path = '%s' and uid = %d limit 1",
+ dbesc($dstfile),
+ intval($channel['channel_id'])
+ );
+
+ if($r && $r[0]['is_dir']) {
+ $isadir = true;
+ $basepath = $dstfile;
+ $folder = $r[0]['hash'];
+ }
+ else {
+ $pathname = (($isadir) ? $dstfile : dirname($dstfile));
+ $arr = [
+ 'pathname' => $pathname,
+ 'allow_cid' => $channel['channel_allow_cid'],
+ 'allow_gid' => $channel['channel_allow_gid'],
+ 'deny_cid' => $channel['channel_deny_cid'],
+ 'deny_gid' => $channel['channel_deny_gid'],
+ ];
+
+ $folder = '';
+ if($pathname && $isadir) {
+ $x = attach_mkdirp($channel,$channel['channel_hash'],$arr);
+ if($x['success'])
+ $folder = $x['data']['hash'];
+ }
}
}
diff --git a/util/hmessages.po b/util/hmessages.po
index ee7266010..e576272c2 100644
--- a/util/hmessages.po
+++ b/util/hmessages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 3.3.1\n"
+"Project-Id-Version: 3.4RC\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-03-01 08:51+0100\n"
+"POT-Creation-Date: 2018-04-18 08:37+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -89,75 +89,79 @@ msgstr ""
msgid "Can administer my channel"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:265
+#: ../../Zotlabs/Access/PermissionRoles.php:283
msgid "Social Networking"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:266
+#: ../../Zotlabs/Access/PermissionRoles.php:284
+msgid "Social - Party"
+msgstr ""
+
+#: ../../Zotlabs/Access/PermissionRoles.php:285
msgid "Social - Mostly Public"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:267
+#: ../../Zotlabs/Access/PermissionRoles.php:286
msgid "Social - Restricted"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:268
+#: ../../Zotlabs/Access/PermissionRoles.php:287
msgid "Social - Private"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:271
+#: ../../Zotlabs/Access/PermissionRoles.php:290
msgid "Community Forum"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:272
+#: ../../Zotlabs/Access/PermissionRoles.php:291
msgid "Forum - Mostly Public"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:273
+#: ../../Zotlabs/Access/PermissionRoles.php:292
msgid "Forum - Restricted"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:274
+#: ../../Zotlabs/Access/PermissionRoles.php:293
msgid "Forum - Private"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:277
+#: ../../Zotlabs/Access/PermissionRoles.php:296
msgid "Feed Republish"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:278
+#: ../../Zotlabs/Access/PermissionRoles.php:297
msgid "Feed - Mostly Public"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:279
+#: ../../Zotlabs/Access/PermissionRoles.php:298
msgid "Feed - Restricted"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:282
+#: ../../Zotlabs/Access/PermissionRoles.php:301
msgid "Special Purpose"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:283
+#: ../../Zotlabs/Access/PermissionRoles.php:302
msgid "Special - Celebrity/Soapbox"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:284
+#: ../../Zotlabs/Access/PermissionRoles.php:303
msgid "Special - Group Repository"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:287
-#: ../../Zotlabs/Module/Cdav.php:1182 ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Settings/Channel.php:473
-#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Access/PermissionRoles.php:306
+#: ../../Zotlabs/Module/Cdav.php:1182 ../../Zotlabs/Module/New_channel.php:144
+#: ../../Zotlabs/Module/Settings/Channel.php:479
+#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:795
#: ../../Zotlabs/Module/Register.php:224 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
#: ../../include/selectors.php:140 ../../include/event.php:1315
-#: ../../include/event.php:1322 ../../include/connections.php:689
-#: ../../include/connections.php:696
+#: ../../include/event.php:1322 ../../include/connections.php:697
+#: ../../include/connections.php:704
msgid "Other"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:288
+#: ../../Zotlabs/Access/PermissionRoles.php:307
msgid "Custom/Expert Mode"
msgstr ""
@@ -167,7 +171,7 @@ msgstr ""
#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Profile.php:20
#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Editwebpage.php:32
#: ../../Zotlabs/Module/Cards.php:33 ../../Zotlabs/Module/Webpages.php:33
-#: ../../Zotlabs/Module/Filestorage.php:51 ../../include/channel.php:1198
+#: ../../Zotlabs/Module/Filestorage.php:51 ../../include/channel.php:1197
msgid "Requested profile is not available."
msgstr ""
@@ -178,26 +182,27 @@ msgstr ""
#: ../../Zotlabs/Module/Channel.php:248 ../../Zotlabs/Module/Channel.php:288
#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:87
#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Events.php:271
-#: ../../Zotlabs/Module/Appman.php:86 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Appman.php:87 ../../Zotlabs/Module/Regmod.php:21
#: ../../Zotlabs/Module/Article_edit.php:51
-#: ../../Zotlabs/Module/New_channel.php:77
-#: ../../Zotlabs/Module/New_channel.php:102
+#: ../../Zotlabs/Module/New_channel.php:91
+#: ../../Zotlabs/Module/New_channel.php:116
#: ../../Zotlabs/Module/Sharedwithme.php:16 ../../Zotlabs/Module/Setup.php:209
#: ../../Zotlabs/Module/Moderate.php:13
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:275
-#: ../../Zotlabs/Module/Thing.php:295 ../../Zotlabs/Module/Thing.php:336
+#: ../../Zotlabs/Module/Settings/Features.php:38
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:280
+#: ../../Zotlabs/Module/Thing.php:300 ../../Zotlabs/Module/Thing.php:341
#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Profile.php:85 ../../Zotlabs/Module/Profile.php:101
#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Connections.php:29
#: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Bookmarks.php:64
#: ../../Zotlabs/Module/Photos.php:69 ../../Zotlabs/Module/Wiki.php:50
-#: ../../Zotlabs/Module/Wiki.php:273 ../../Zotlabs/Module/Wiki.php:400
+#: ../../Zotlabs/Module/Wiki.php:273 ../../Zotlabs/Module/Wiki.php:404
#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Poke.php:149
#: ../../Zotlabs/Module/Profile_photo.php:302
#: ../../Zotlabs/Module/Profile_photo.php:315
#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Item.php:229
#: ../../Zotlabs/Module/Item.php:246 ../../Zotlabs/Module/Item.php:256
-#: ../../Zotlabs/Module/Item.php:1099 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Item.php:1106 ../../Zotlabs/Module/Page.php:34
#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Connedit.php:389
#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Layouts.php:71
@@ -216,7 +221,7 @@ msgstr ""
#: ../../Zotlabs/Module/Register.php:77
#: ../../Zotlabs/Module/Cover_photo.php:281
#: ../../Zotlabs/Module/Cover_photo.php:294
-#: ../../Zotlabs/Module/Display.php:406 ../../Zotlabs/Module/Network.php:15
+#: ../../Zotlabs/Module/Display.php:449 ../../Zotlabs/Module/Network.php:15
#: ../../Zotlabs/Module/Filestorage.php:15
#: ../../Zotlabs/Module/Filestorage.php:70
#: ../../Zotlabs/Module/Filestorage.php:85
@@ -227,15 +232,14 @@ msgstr ""
#: ../../Zotlabs/Module/Card_edit.php:51
#: ../../Zotlabs/Module/Notifications.php:11 ../../Zotlabs/Lib/Chatroom.php:133
#: ../../Zotlabs/Web/WebServer.php:123 ../../addon/keepout/keepout.php:36
-#: ../../addon/openid/Mod_Id.php:53 ../../addon/gitwiki/Mod_Gitwiki.php:196
-#: ../../addon/gitwiki/Mod_Gitwiki.php:292 ../../addon/pumpio/pumpio.php:40
+#: ../../addon/openid/Mod_Id.php:53 ../../addon/pumpio/pumpio.php:40
#: ../../include/attach.php:150 ../../include/attach.php:197
#: ../../include/attach.php:270 ../../include/attach.php:284
#: ../../include/attach.php:293 ../../include/attach.php:366
#: ../../include/attach.php:380 ../../include/attach.php:387
-#: ../../include/attach.php:469 ../../include/attach.php:1019
-#: ../../include/attach.php:1093 ../../include/attach.php:1258
-#: ../../include/items.php:3656 ../../include/photos.php:27
+#: ../../include/attach.php:469 ../../include/attach.php:1029
+#: ../../include/attach.php:1103 ../../include/attach.php:1268
+#: ../../include/items.php:3706 ../../include/photos.php:27
msgid "Permission denied."
msgstr ""
@@ -244,7 +248,7 @@ msgstr ""
msgid "Block Name"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2402
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2422
msgid "Blocks"
msgstr ""
@@ -263,9 +267,9 @@ msgid "Edited"
msgstr ""
#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Articles.php:96
-#: ../../Zotlabs/Module/Cdav.php:1185 ../../Zotlabs/Module/New_channel.php:146
+#: ../../Zotlabs/Module/Cdav.php:1185 ../../Zotlabs/Module/New_channel.php:160
#: ../../Zotlabs/Module/Connedit.php:921 ../../Zotlabs/Module/Menu.php:118
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Module/Profiles.php:801
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Module/Profiles.php:798
#: ../../Zotlabs/Module/Cards.php:100 ../../Zotlabs/Module/Webpages.php:239
#: ../../Zotlabs/Storage/Browser.php:276 ../../Zotlabs/Storage/Browser.php:382
#: ../../Zotlabs/Widget/Cdav.php:128 ../../Zotlabs/Widget/Cdav.php:165
@@ -274,43 +278,44 @@ msgstr ""
#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
#: ../../Zotlabs/Module/Article_edit.php:99
-#: ../../Zotlabs/Module/Admin/Profs.php:154
-#: ../../Zotlabs/Module/Settings/Oauth.php:149
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Editblock.php:114
-#: ../../Zotlabs/Module/Connections.php:265
-#: ../../Zotlabs/Module/Connections.php:303
-#: ../../Zotlabs/Module/Connections.php:323 ../../Zotlabs/Module/Wiki.php:202
-#: ../../Zotlabs/Module/Wiki.php:358 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Admin/Profs.php:175
+#: ../../Zotlabs/Module/Settings/Oauth2.php:149
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Module/Thing.php:266 ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:281
+#: ../../Zotlabs/Module/Connections.php:319
+#: ../../Zotlabs/Module/Connections.php:339 ../../Zotlabs/Module/Wiki.php:202
+#: ../../Zotlabs/Module/Wiki.php:362 ../../Zotlabs/Module/Menu.php:112
#: ../../Zotlabs/Module/Layouts.php:193
#: ../../Zotlabs/Module/Editwebpage.php:142
-#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:85
-#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Lib/Apps.php:409
-#: ../../Zotlabs/Lib/ThreadItem.php:121 ../../Zotlabs/Storage/Browser.php:288
-#: ../../Zotlabs/Widget/Cdav.php:126 ../../Zotlabs/Widget/Cdav.php:162
-#: ../../addon/gitwiki/Mod_Gitwiki.php:151
-#: ../../addon/gitwiki/Mod_Gitwiki.php:252 ../../include/channel.php:1297
-#: ../../include/channel.php:1301 ../../include/menu.php:113
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Card_edit.php:99
+#: ../../Zotlabs/Lib/Apps.php:409 ../../Zotlabs/Lib/ThreadItem.php:121
+#: ../../Zotlabs/Storage/Browser.php:288 ../../Zotlabs/Widget/Cdav.php:126
+#: ../../Zotlabs/Widget/Cdav.php:162 ../../include/channel.php:1296
+#: ../../include/channel.php:1300 ../../include/menu.php:113
msgid "Edit"
msgstr ""
#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1102
-#: ../../Zotlabs/Module/Layouts.php:194 ../../Zotlabs/Module/Webpages.php:241
-#: ../../Zotlabs/Widget/Cdav.php:124 ../../include/conversation.php:1363
+#: ../../Zotlabs/Module/Wiki.php:287 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Webpages.php:241 ../../Zotlabs/Widget/Cdav.php:124
+#: ../../include/conversation.php:1366
msgid "Share"
msgstr ""
#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editlayout.php:138
#: ../../Zotlabs/Module/Cdav.php:897 ../../Zotlabs/Module/Cdav.php:1187
#: ../../Zotlabs/Module/Article_edit.php:129
-#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
#: ../../Zotlabs/Module/Admin/Channels.php:149
-#: ../../Zotlabs/Module/Admin/Profs.php:155
-#: ../../Zotlabs/Module/Settings/Oauth.php:150
-#: ../../Zotlabs/Module/Thing.php:262 ../../Zotlabs/Module/Editblock.php:139
-#: ../../Zotlabs/Module/Connections.php:273
+#: ../../Zotlabs/Module/Admin/Profs.php:176
+#: ../../Zotlabs/Module/Settings/Oauth2.php:150
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+#: ../../Zotlabs/Module/Thing.php:267 ../../Zotlabs/Module/Editblock.php:139
+#: ../../Zotlabs/Module/Connections.php:289
#: ../../Zotlabs/Module/Photos.php:1203 ../../Zotlabs/Module/Connedit.php:654
#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Group.php:179
-#: ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Profiles.php:800
#: ../../Zotlabs/Module/Editwebpage.php:167
#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Module/Card_edit.php:129
#: ../../Zotlabs/Lib/Apps.php:410 ../../Zotlabs/Lib/ThreadItem.php:141
@@ -322,7 +327,6 @@ msgstr ""
#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Events.php:694
#: ../../Zotlabs/Module/Wiki.php:204 ../../Zotlabs/Module/Layouts.php:198
#: ../../Zotlabs/Module/Webpages.php:246 ../../Zotlabs/Module/Pubsites.php:60
-#: ../../addon/gitwiki/Mod_Gitwiki.php:153
msgid "View"
msgstr ""
@@ -398,29 +402,30 @@ msgstr ""
#: ../../Zotlabs/Module/Invite.php:151 ../../Zotlabs/Module/Locs.php:121
#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Events.php:493
-#: ../../Zotlabs/Module/Appman.php:152
+#: ../../Zotlabs/Module/Appman.php:153
#: ../../Zotlabs/Module/Import_items.php:129 ../../Zotlabs/Module/Setup.php:308
#: ../../Zotlabs/Module/Setup.php:349 ../../Zotlabs/Module/Connect.php:98
#: ../../Zotlabs/Module/Admin/Features.php:66
#: ../../Zotlabs/Module/Admin/Plugins.php:438
-#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
#: ../../Zotlabs/Module/Admin/Logs.php:84
#: ../../Zotlabs/Module/Admin/Channels.php:147
#: ../../Zotlabs/Module/Admin/Themes.php:158
-#: ../../Zotlabs/Module/Admin/Site.php:289
-#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Site.php:296
+#: ../../Zotlabs/Module/Admin/Profs.php:178
#: ../../Zotlabs/Module/Admin/Account_edit.php:74
#: ../../Zotlabs/Module/Admin/Security.php:104
-#: ../../Zotlabs/Module/Settings/Permcats.php:110
-#: ../../Zotlabs/Module/Settings/Channel.php:488
-#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Permcats.php:115
+#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Features.php:79
#: ../../Zotlabs/Module/Settings/Tokens.php:168
+#: ../../Zotlabs/Module/Settings/Oauth2.php:84
#: ../../Zotlabs/Module/Settings/Account.php:118
#: ../../Zotlabs/Module/Settings/Featured.php:54
#: ../../Zotlabs/Module/Settings/Display.php:192
-#: ../../Zotlabs/Module/Settings/Oauth.php:87
-#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
-#: ../../Zotlabs/Module/Import.php:529 ../../Zotlabs/Module/Cal.php:345
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Thing.php:326 ../../Zotlabs/Module/Thing.php:379
+#: ../../Zotlabs/Module/Import.php:530 ../../Zotlabs/Module/Cal.php:345
#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Photos.php:1082
#: ../../Zotlabs/Module/Photos.php:1122 ../../Zotlabs/Module/Photos.php:1240
#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Module/Pdledit.php:98
@@ -428,16 +433,17 @@ msgstr ""
#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:242
#: ../../Zotlabs/Module/Email_validation.php:40
#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Defperms.php:249
-#: ../../Zotlabs/Module/Group.php:87 ../../Zotlabs/Module/Profiles.php:726
-#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
-#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Mail.php:431
-#: ../../Zotlabs/Module/Filestorage.php:160 ../../Zotlabs/Module/Rate.php:166
-#: ../../Zotlabs/Lib/ThreadItem.php:750 ../../Zotlabs/Widget/Eventstools.php:16
+#: ../../Zotlabs/Module/Group.php:87 ../../Zotlabs/Module/Profiles.php:723
+#: ../../Zotlabs/Module/Editpost.php:85 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Mail.php:431 ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Lib/ThreadItem.php:752
+#: ../../Zotlabs/Widget/Eventstools.php:16
#: ../../Zotlabs/Widget/Wiki_pages.php:40
#: ../../Zotlabs/Widget/Wiki_pages.php:97
#: ../../view/theme/redbasic_c/php/config.php:95
#: ../../view/theme/redbasic/php/config.php:93
-#: ../../addon/skeleton/skeleton.php:65 ../../addon/gnusoc/gnusoc.php:273
+#: ../../addon/skeleton/skeleton.php:65 ../../addon/gnusoc/gnusoc.php:275
#: ../../addon/planets/planets.php:153
#: ../../addon/openclipatar/openclipatar.php:53
#: ../../addon/wppost/wppost.php:113 ../../addon/nsfw/nsfw.php:92
@@ -445,8 +451,7 @@ msgstr ""
#: ../../addon/likebanner/likebanner.php:57
#: ../../addon/redphotos/redphotos.php:136 ../../addon/irc/irc.php:53
#: ../../addon/ljpost/ljpost.php:86 ../../addon/startpage/startpage.php:113
-#: ../../addon/diaspora/diaspora.php:822
-#: ../../addon/gitwiki/Mod_Gitwiki.php:155
+#: ../../addon/diaspora/diaspora.php:823
#: ../../addon/rainbowtag/rainbowtag.php:85 ../../addon/hzfiles/hzfiles.php:84
#: ../../addon/visage/visage.php:170 ../../addon/nsabait/nsabait.php:161
#: ../../addon/mailtest/mailtest.php:100
@@ -454,7 +459,7 @@ msgstr ""
#: ../../addon/rtof/rtof.php:101 ../../addon/jappixmini/jappixmini.php:371
#: ../../addon/superblock/superblock.php:120 ../../addon/nofed/nofed.php:80
#: ../../addon/redred/redred.php:119 ../../addon/logrot/logrot.php:35
-#: ../../addon/frphotos/frphotos.php:96 ../../addon/pubcrawl/pubcrawl.php:1053
+#: ../../addon/frphotos/frphotos.php:97 ../../addon/pubcrawl/pubcrawl.php:1069
#: ../../addon/chords/Mod_Chords.php:60 ../../addon/libertree/libertree.php:85
#: ../../addon/flattrwidget/flattrwidget.php:124
#: ../../addon/statusnet/statusnet.php:322
@@ -462,16 +467,16 @@ msgstr ""
#: ../../addon/statusnet/statusnet.php:432
#: ../../addon/statusnet/statusnet.php:900 ../../addon/twitter/twitter.php:218
#: ../../addon/twitter/twitter.php:265
-#: ../../addon/smileybutton/smileybutton.php:219 ../../addon/piwik/piwik.php:95
-#: ../../addon/pageheader/pageheader.php:48
+#: ../../addon/smileybutton/smileybutton.php:219 ../../addon/cart/cart.php:1104
+#: ../../addon/piwik/piwik.php:95 ../../addon/pageheader/pageheader.php:48
#: ../../addon/authchoose/authchoose.php:71 ../../addon/xmpp/xmpp.php:69
#: ../../addon/pumpio/pumpio.php:237 ../../addon/redfiles/redfiles.php:124
#: ../../addon/hubwall/hubwall.php:95 ../../include/js_strings.php:22
msgid "Submit"
msgstr ""
-#: ../../Zotlabs/Module/Articles.php:38 ../../Zotlabs/Module/Articles.php:179
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/features.php:124
+#: ../../Zotlabs/Module/Articles.php:38 ../../Zotlabs/Module/Articles.php:191
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/features.php:133
#: ../../include/nav.php:469
msgid "Articles"
msgstr ""
@@ -503,11 +508,11 @@ msgid "Edit Layout"
msgstr ""
#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:86
-#: ../../Zotlabs/Module/Import_items.php:120 ../../Zotlabs/Module/Cloud.php:111
+#: ../../Zotlabs/Module/Import_items.php:120 ../../Zotlabs/Module/Cloud.php:117
#: ../../Zotlabs/Module/Group.php:74 ../../Zotlabs/Module/Dreport.php:10
#: ../../Zotlabs/Module/Dreport.php:68 ../../Zotlabs/Module/Like.php:296
#: ../../Zotlabs/Web/WebServer.php:122 ../../addon/redphotos/redphotos.php:119
-#: ../../addon/hzfiles/hzfiles.php:73 ../../addon/frphotos/frphotos.php:81
+#: ../../addon/hzfiles/hzfiles.php:73 ../../addon/frphotos/frphotos.php:82
#: ../../addon/redfiles/redfiles.php:109 ../../include/items.php:358
msgid "Permission denied"
msgstr ""
@@ -520,7 +525,7 @@ msgstr ""
msgid "Profile Visibility Editor"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1634
+#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1644
msgid "Profile"
msgstr ""
@@ -533,7 +538,7 @@ msgid "Visible To"
msgstr ""
#: ../../Zotlabs/Module/Profperm.php:140
-#: ../../Zotlabs/Module/Connections.php:140
+#: ../../Zotlabs/Module/Connections.php:200
msgid "All Connections"
msgstr ""
@@ -548,9 +553,9 @@ msgstr ""
#: ../../Zotlabs/Module/Cdav.php:786 ../../Zotlabs/Module/Cdav.php:787
#: ../../Zotlabs/Module/Cdav.php:794 ../../Zotlabs/Module/Embedphotos.php:146
#: ../../Zotlabs/Module/Photos.php:817 ../../Zotlabs/Module/Photos.php:1273
-#: ../../Zotlabs/Lib/Apps.php:754 ../../Zotlabs/Lib/Apps.php:832
+#: ../../Zotlabs/Lib/Apps.php:754 ../../Zotlabs/Lib/Apps.php:833
#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Widget/Portfolio.php:95
-#: ../../Zotlabs/Widget/Album.php:84 ../../addon/pubcrawl/as.php:853
+#: ../../Zotlabs/Widget/Album.php:84 ../../addon/pubcrawl/as.php:878
#: ../../include/conversation.php:1160
msgid "Unknown"
msgstr ""
@@ -588,14 +593,14 @@ msgid "End date and time"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:871 ../../Zotlabs/Module/Events.php:473
-#: ../../Zotlabs/Module/Appman.php:142 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Rbmark.php:101
#: ../../addon/rendezvous/rendezvous.php:173
msgid "Description"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:872 ../../Zotlabs/Module/Locs.php:117
#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Profiles.php:509
-#: ../../Zotlabs/Module/Profiles.php:737 ../../Zotlabs/Module/Pubsites.php:52
+#: ../../Zotlabs/Module/Profiles.php:734 ../../Zotlabs/Module/Pubsites.php:52
#: ../../include/js_strings.php:25
msgid "Location"
msgstr ""
@@ -660,17 +665,17 @@ msgstr ""
#: ../../Zotlabs/Module/Cdav.php:899 ../../Zotlabs/Module/Cdav.php:1188
#: ../../Zotlabs/Module/Admin/Plugins.php:423
-#: ../../Zotlabs/Module/Settings/Oauth.php:88
-#: ../../Zotlabs/Module/Settings/Oauth.php:114
-#: ../../Zotlabs/Module/Wiki.php:345 ../../Zotlabs/Module/Wiki.php:375
+#: ../../Zotlabs/Module/Settings/Oauth2.php:85
+#: ../../Zotlabs/Module/Settings/Oauth2.php:113
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
+#: ../../Zotlabs/Module/Wiki.php:347 ../../Zotlabs/Module/Wiki.php:379
#: ../../Zotlabs/Module/Profile_photo.php:464
#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:804
-#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:365
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:801
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:366
#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
-#: ../../addon/gitwiki/Mod_Gitwiki.php:244
-#: ../../addon/gitwiki/Mod_Gitwiki.php:267 ../../include/conversation.php:1386
-#: ../../include/conversation.php:1435
+#: ../../include/conversation.php:1389 ../../include/conversation.php:1438
msgid "Cancel"
msgstr ""
@@ -680,14 +685,15 @@ msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1170 ../../Zotlabs/Module/Sharedwithme.php:105
#: ../../Zotlabs/Module/Admin/Channels.php:159
-#: ../../Zotlabs/Module/Settings/Oauth.php:89
-#: ../../Zotlabs/Module/Settings/Oauth.php:115
+#: ../../Zotlabs/Module/Settings/Oauth2.php:86
+#: ../../Zotlabs/Module/Settings/Oauth2.php:114
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
#: ../../Zotlabs/Module/Wiki.php:209 ../../Zotlabs/Module/Connedit.php:906
#: ../../Zotlabs/Module/Chat.php:251 ../../Zotlabs/Lib/NativeWikiPage.php:558
#: ../../Zotlabs/Storage/Browser.php:283
#: ../../Zotlabs/Widget/Wiki_page_history.php:22
#: ../../addon/rendezvous/rendezvous.php:172
-#: ../../addon/gitwiki/Mod_Gitwiki.php:158
msgid "Name"
msgstr ""
@@ -700,76 +706,78 @@ msgid "Title"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1173 ../../Zotlabs/Module/Connedit.php:909
-#: ../../Zotlabs/Module/Profiles.php:789
+#: ../../Zotlabs/Module/Profiles.php:786
msgid "Phone"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1174
-#: ../../Zotlabs/Module/Admin/Accounts.php:170
-#: ../../Zotlabs/Module/Admin/Accounts.php:182
-#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+#: ../../Zotlabs/Module/Admin/Accounts.php:183
+#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:787
#: ../../addon/openid/MysqlProvider.php:56
#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
-#: ../../addon/redred/redred.php:107 ../../include/network.php:1775
+#: ../../addon/redred/redred.php:107 ../../include/network.php:1769
msgid "Email"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1175 ../../Zotlabs/Module/Connedit.php:911
-#: ../../Zotlabs/Module/Profiles.php:791
+#: ../../Zotlabs/Module/Profiles.php:788
msgid "Instant messenger"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1176 ../../Zotlabs/Module/Connedit.php:912
-#: ../../Zotlabs/Module/Profiles.php:792
+#: ../../Zotlabs/Module/Profiles.php:789
msgid "Website"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1177 ../../Zotlabs/Module/Locs.php:118
#: ../../Zotlabs/Module/Admin/Channels.php:160
#: ../../Zotlabs/Module/Connedit.php:913 ../../Zotlabs/Module/Profiles.php:502
-#: ../../Zotlabs/Module/Profiles.php:793
+#: ../../Zotlabs/Module/Profiles.php:790
msgid "Address"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1178 ../../Zotlabs/Module/Connedit.php:914
-#: ../../Zotlabs/Module/Profiles.php:794
+#: ../../Zotlabs/Module/Profiles.php:791
msgid "Note"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1179 ../../Zotlabs/Module/Connedit.php:915
-#: ../../Zotlabs/Module/Profiles.php:795 ../../include/event.php:1308
-#: ../../include/connections.php:682
+#: ../../Zotlabs/Module/Profiles.php:792 ../../include/event.php:1308
+#: ../../include/connections.php:690
msgid "Mobile"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1180 ../../Zotlabs/Module/Connedit.php:916
-#: ../../Zotlabs/Module/Profiles.php:796 ../../include/event.php:1309
-#: ../../include/connections.php:683
+#: ../../Zotlabs/Module/Profiles.php:793 ../../include/event.php:1309
+#: ../../include/connections.php:691
msgid "Home"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1181 ../../Zotlabs/Module/Connedit.php:917
-#: ../../Zotlabs/Module/Profiles.php:797 ../../include/event.php:1312
-#: ../../include/connections.php:686
+#: ../../Zotlabs/Module/Profiles.php:794 ../../include/event.php:1312
+#: ../../include/connections.php:694
msgid "Work"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1183 ../../Zotlabs/Module/Connedit.php:919
-#: ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Module/Profiles.php:796
#: ../../addon/jappixmini/jappixmini.php:368
msgid "Add Contact"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1184 ../../Zotlabs/Module/Connedit.php:920
-#: ../../Zotlabs/Module/Profiles.php:800
+#: ../../Zotlabs/Module/Profiles.php:797
msgid "Add Field"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1186
#: ../../Zotlabs/Module/Admin/Plugins.php:453
-#: ../../Zotlabs/Module/Settings/Oauth.php:42
-#: ../../Zotlabs/Module/Settings/Oauth.php:113
-#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Module/Settings/Oauth2.php:39
+#: ../../Zotlabs/Module/Settings/Oauth2.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:43
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:799
#: ../../Zotlabs/Lib/Apps.php:393
msgid "Update"
msgstr ""
@@ -799,7 +807,7 @@ msgid "ZIP Code"
msgstr ""
#: ../../Zotlabs/Module/Cdav.php:1195 ../../Zotlabs/Module/Connedit.php:931
-#: ../../Zotlabs/Module/Profiles.php:760
+#: ../../Zotlabs/Module/Profiles.php:757
msgid "Country"
msgstr ""
@@ -815,8 +823,8 @@ msgstr ""
msgid "This site is not a directory server"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25
-#: ../../addon/gitwiki/Mod_Gitwiki.php:28 ../../addon/chess/chess.php:508
+#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Ochannel.php:32
+#: ../../Zotlabs/Module/Chat.php:25 ../../addon/chess/chess.php:508
msgid "You must be logged in to see this page."
msgstr ""
@@ -907,24 +915,24 @@ msgstr ""
msgid "Public access denied."
msgstr ""
-#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:319
+#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:335
#: ../../Zotlabs/Lib/Apps.php:256 ../../Zotlabs/Widget/Sitesearch.php:31
#: ../../include/text.php:1051 ../../include/text.php:1063
#: ../../include/acl_selectors.php:118 ../../include/nav.php:179
msgid "Search"
msgstr ""
-#: ../../Zotlabs/Module/Search.php:226
+#: ../../Zotlabs/Module/Search.php:230
#, php-format
msgid "Items tagged with: %s"
msgstr ""
-#: ../../Zotlabs/Module/Search.php:228
+#: ../../Zotlabs/Module/Search.php:232
#, php-format
msgid "Search results for: %s"
msgstr ""
-#: ../../Zotlabs/Module/Pubstream.php:93
+#: ../../Zotlabs/Module/Pubstream.php:95
#: ../../Zotlabs/Widget/Notifications.php:131
msgid "Public Stream"
msgstr ""
@@ -1025,7 +1033,7 @@ msgid "Menu Item Permissions"
msgstr ""
#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
-#: ../../Zotlabs/Module/Settings/Channel.php:521
+#: ../../Zotlabs/Module/Settings/Channel.php:528
msgid "(click to open/close)"
msgstr ""
@@ -1048,8 +1056,8 @@ msgstr ""
#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:163
#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
-#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Admin/Site.php:252
-#: ../../Zotlabs/Module/Settings/Channel.php:305
+#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Admin/Site.php:259
+#: ../../Zotlabs/Module/Settings/Channel.php:307
#: ../../Zotlabs/Module/Settings/Display.php:100
#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Photos.php:697
#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
@@ -1058,7 +1066,7 @@ msgstr ""
#: ../../Zotlabs/Module/Defperms.php:180 ../../Zotlabs/Module/Profiles.php:681
#: ../../Zotlabs/Module/Filestorage.php:155
#: ../../Zotlabs/Module/Filestorage.php:163
-#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1594
#: ../../view/theme/redbasic_c/php/config.php:100
#: ../../view/theme/redbasic_c/php/config.php:115
#: ../../view/theme/redbasic/php/config.php:98
@@ -1067,10 +1075,10 @@ msgstr ""
#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
-#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
-#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
-#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
-#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/rainbowtag/rainbowtag.php:81
+#: ../../addon/visage/visage.php:166 ../../addon/nsabait/nsabait.php:157
+#: ../../addon/rtof/rtof.php:81 ../../addon/rtof/rtof.php:85
+#: ../../addon/jappixmini/jappixmini.php:309
#: ../../addon/jappixmini/jappixmini.php:313
#: ../../addon/jappixmini/jappixmini.php:343
#: ../../addon/jappixmini/jappixmini.php:351
@@ -1086,7 +1094,8 @@ msgstr ""
#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
#: ../../addon/smileybutton/smileybutton.php:211
-#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/smileybutton/smileybutton.php:215 ../../addon/cart/cart.php:1075
+#: ../../addon/cart/cart.php:1082 ../../addon/cart/cart.php:1090
#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
@@ -1098,8 +1107,8 @@ msgstr ""
#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:163
#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
-#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Admin/Site.php:254
-#: ../../Zotlabs/Module/Settings/Channel.php:305
+#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Admin/Site.php:261
+#: ../../Zotlabs/Module/Settings/Channel.php:307
#: ../../Zotlabs/Module/Settings/Display.php:100
#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Photos.php:697
#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
@@ -1108,7 +1117,7 @@ msgstr ""
#: ../../Zotlabs/Module/Profiles.php:681
#: ../../Zotlabs/Module/Filestorage.php:155
#: ../../Zotlabs/Module/Filestorage.php:163
-#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1594
#: ../../view/theme/redbasic_c/php/config.php:100
#: ../../view/theme/redbasic_c/php/config.php:115
#: ../../view/theme/redbasic/php/config.php:98
@@ -1117,10 +1126,10 @@ msgstr ""
#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
-#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
-#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
-#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
-#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/rainbowtag/rainbowtag.php:81
+#: ../../addon/visage/visage.php:166 ../../addon/nsabait/nsabait.php:157
+#: ../../addon/rtof/rtof.php:81 ../../addon/rtof/rtof.php:85
+#: ../../addon/jappixmini/jappixmini.php:309
#: ../../addon/jappixmini/jappixmini.php:313
#: ../../addon/jappixmini/jappixmini.php:343
#: ../../addon/jappixmini/jappixmini.php:351
@@ -1136,7 +1145,8 @@ msgstr ""
#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
#: ../../addon/smileybutton/smileybutton.php:211
-#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/smileybutton/smileybutton.php:215 ../../addon/cart/cart.php:1075
+#: ../../addon/cart/cart.php:1082 ../../addon/cart/cart.php:1090
#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
@@ -1251,8 +1261,8 @@ msgid "Event not found."
msgstr ""
#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Tagger.php:73
-#: ../../Zotlabs/Module/Like.php:385 ../../include/conversation.php:119
-#: ../../include/text.php:2007 ../../include/event.php:1153
+#: ../../Zotlabs/Module/Like.php:386 ../../include/conversation.php:119
+#: ../../include/text.php:2008 ../../include/event.php:1153
msgid "event"
msgstr ""
@@ -1261,9 +1271,9 @@ msgid "Edit event title"
msgstr ""
#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465
-#: ../../Zotlabs/Module/Appman.php:140 ../../Zotlabs/Module/Appman.php:141
-#: ../../Zotlabs/Module/Profiles.php:748 ../../Zotlabs/Module/Profiles.php:752
-#: ../../include/datetime.php:205
+#: ../../Zotlabs/Module/Appman.php:141 ../../Zotlabs/Module/Appman.php:142
+#: ../../Zotlabs/Module/Profiles.php:745 ../../Zotlabs/Module/Profiles.php:749
+#: ../../include/datetime.php:211
msgid "Required"
msgstr ""
@@ -1314,12 +1324,12 @@ msgid "Edit Location"
msgstr ""
#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Photos.php:1123
-#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/ThreadItem.php:760
-#: ../../include/conversation.php:1330
+#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/ThreadItem.php:762
+#: ../../include/conversation.php:1333
msgid "Preview"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1402
+#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1405
msgid "Permission settings"
msgstr ""
@@ -1344,7 +1354,7 @@ msgid "Delete event"
msgstr ""
#: ../../Zotlabs/Module/Events.php:660 ../../Zotlabs/Module/Cal.php:315
-#: ../../include/text.php:1826
+#: ../../include/text.php:1827
msgid "Link to Source"
msgstr ""
@@ -1361,7 +1371,7 @@ msgid "Create Event"
msgstr ""
#: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Cal.php:341
-#: ../../include/channel.php:1637
+#: ../../include/channel.php:1647
msgid "Export"
msgstr ""
@@ -1373,55 +1383,55 @@ msgstr ""
msgid "Failed to remove event"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:55
+#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56
msgid "App installed."
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:48
+#: ../../Zotlabs/Module/Appman.php:49
msgid "Malformed app."
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:129
+#: ../../Zotlabs/Module/Appman.php:130
msgid "Embed code"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:135
+#: ../../Zotlabs/Module/Appman.php:136
msgid "Edit App"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:135
+#: ../../Zotlabs/Module/Appman.php:136
msgid "Create App"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:140
+#: ../../Zotlabs/Module/Appman.php:141
msgid "Name of app"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:141
+#: ../../Zotlabs/Module/Appman.php:142
msgid "Location (URL) of app"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:143
+#: ../../Zotlabs/Module/Appman.php:144
msgid "Photo icon URL"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:143
+#: ../../Zotlabs/Module/Appman.php:144
msgid "80 x 80 pixels - optional"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:144
+#: ../../Zotlabs/Module/Appman.php:145
msgid "Categories (optional, comma separated list)"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:145
+#: ../../Zotlabs/Module/Appman.php:146
msgid "Version ID"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:146
+#: ../../Zotlabs/Module/Appman.php:147
msgid "Price of app"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:147
+#: ../../Zotlabs/Module/Appman.php:148
msgid "Location (URL) to purchase app"
msgstr ""
@@ -1434,16 +1444,16 @@ msgid "Hub not found."
msgstr ""
#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Tagger.php:69
-#: ../../Zotlabs/Module/Like.php:383
+#: ../../Zotlabs/Module/Like.php:384
#: ../../addon/redphotos/redphotohelper.php:71
-#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
-#: ../../include/conversation.php:116 ../../include/text.php:2004
+#: ../../addon/diaspora/Receiver.php:1500 ../../addon/pubcrawl/as.php:1388
+#: ../../include/conversation.php:116 ../../include/text.php:2005
msgid "photo"
msgstr ""
-#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Like.php:383
-#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
-#: ../../include/conversation.php:144 ../../include/text.php:2010
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Like.php:384
+#: ../../addon/diaspora/Receiver.php:1500 ../../addon/pubcrawl/as.php:1388
+#: ../../include/conversation.php:144 ../../include/text.php:2011
msgid "status"
msgstr ""
@@ -1473,8 +1483,9 @@ msgid "Insert web link"
msgstr ""
#: ../../Zotlabs/Module/Article_edit.php:117
-#: ../../Zotlabs/Module/Editblock.php:129
-#: ../../Zotlabs/Module/Card_edit.php:117 ../../include/conversation.php:1398
+#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:698
+#: ../../Zotlabs/Module/Photos.php:1068 ../../Zotlabs/Module/Card_edit.php:117
+#: ../../include/conversation.php:1401
msgid "Title (optional)"
msgstr ""
@@ -1495,7 +1506,7 @@ msgstr ""
msgid "Imported file is empty."
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:93 ../../Zotlabs/Module/Import.php:121
+#: ../../Zotlabs/Module/Import_items.php:93
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr ""
@@ -1513,33 +1524,33 @@ msgid "Use this form to import existing posts and content from an export file."
msgstr ""
#: ../../Zotlabs/Module/Import_items.php:127
-#: ../../Zotlabs/Module/Import.php:516
+#: ../../Zotlabs/Module/Import.php:517
msgid "File to Upload"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:119 ../../Zotlabs/Module/Manage.php:138
+#: ../../Zotlabs/Module/New_channel.php:133 ../../Zotlabs/Module/Manage.php:138
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/New_channel.php:146
#: ../../Zotlabs/Module/Register.php:254
msgid "Name or caption"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/New_channel.php:146
#: ../../Zotlabs/Module/Register.php:254
msgid ""
"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
"Group\""
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/New_channel.php:148
#: ../../Zotlabs/Module/Register.php:256
msgid "Choose a short nickname"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/New_channel.php:148
#: ../../Zotlabs/Module/Register.php:256
#, php-format
msgid ""
@@ -1547,38 +1558,38 @@ msgid ""
"g. nickname%s"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/New_channel.php:149
#: ../../Zotlabs/Module/Register.php:257
msgid "Channel role and privacy"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/New_channel.php:149
#: ../../Zotlabs/Module/Register.php:257
msgid "Select a channel role with your privacy requirements."
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/New_channel.php:149
#: ../../Zotlabs/Module/Register.php:257
msgid "Read more about roles"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:138
+#: ../../Zotlabs/Module/New_channel.php:152
msgid "Create Channel"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:139
+#: ../../Zotlabs/Module/New_channel.php:153
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:140
+#: ../../Zotlabs/Module/New_channel.php:154
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:145
+#: ../../Zotlabs/Module/New_channel.php:159
msgid "Validate"
msgstr ""
@@ -1624,7 +1635,7 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Removeme.php:64
-#: ../../Zotlabs/Module/Settings/Channel.php:592
+#: ../../Zotlabs/Module/Settings/Channel.php:600
msgid "Remove Channel"
msgstr ""
@@ -1683,7 +1694,7 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Setup.php:198 ../../Zotlabs/Module/Setup.php:262
-#: ../../Zotlabs/Module/Setup.php:745
+#: ../../Zotlabs/Module/Setup.php:749
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr ""
@@ -1944,114 +1955,106 @@ msgstr ""
msgid "Error: zip PHP module required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:569
+#: ../../Zotlabs/Module/Setup.php:570 ../../Zotlabs/Module/Setup.php:579
+msgid ".htconfig.php is writable"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:575
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\" "
"in the top folder of your web server and it is unable to do so."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:570
+#: ../../Zotlabs/Module/Setup.php:576
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:571
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr ""
-
-#: ../../Zotlabs/Module/Setup.php:572
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation. "
-"Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr ""
-
-#: ../../Zotlabs/Module/Setup.php:575
-msgid ".htconfig.php is writable"
+#: ../../Zotlabs/Module/Setup.php:577
+msgid "Please see install/INSTALL.txt for additional information."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:589
+#: ../../Zotlabs/Module/Setup.php:593
msgid ""
"This software uses the Smarty3 template engine to render its web views. "
"Smarty3 compiles templates to PHP to speed up rendering."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:590
+#: ../../Zotlabs/Module/Setup.php:594
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory %s under the top level web folder."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:591 ../../Zotlabs/Module/Setup.php:612
+#: ../../Zotlabs/Module/Setup.php:595 ../../Zotlabs/Module/Setup.php:616
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has "
"write access to this folder."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:592
+#: ../../Zotlabs/Module/Setup.php:596
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:595
+#: ../../Zotlabs/Module/Setup.php:599
#, php-format
msgid "%s is writable"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:611
+#: ../../Zotlabs/Module/Setup.php:615
msgid ""
"This software uses the store directory to save uploaded files. The web "
"server needs to have write access to the store directory under the top level "
"web folder"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:615
+#: ../../Zotlabs/Module/Setup.php:619
msgid "store is writable"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:647
+#: ../../Zotlabs/Module/Setup.php:651
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access "
"to this site."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:648
+#: ../../Zotlabs/Module/Setup.php:652
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:649
+#: ../../Zotlabs/Module/Setup.php:653
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:650
+#: ../../Zotlabs/Module/Setup.php:654
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:651
+#: ../../Zotlabs/Module/Setup.php:655
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:652
+#: ../../Zotlabs/Module/Setup.php:656
msgid ""
"Providers are available that issue free certificates which are browser-valid."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:654
+#: ../../Zotlabs/Module/Setup.php:658
msgid ""
"If you are confident that the certificate is valid and signed by a trusted "
"authority, check to see if you have failed to install an intermediate cert. "
@@ -2059,36 +2062,36 @@ msgid ""
"server communications."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:656
+#: ../../Zotlabs/Module/Setup.php:660
msgid "SSL certificate validation"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:662
+#: ../../Zotlabs/Module/Setup.php:666
msgid ""
"Url rewrite in .htaccess is not working. Check your server configuration."
"Test: "
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:665
+#: ../../Zotlabs/Module/Setup.php:669
msgid "Url rewrite is working"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:679
+#: ../../Zotlabs/Module/Setup.php:683
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:703 ../../addon/rendezvous/rendezvous.php:401
+#: ../../Zotlabs/Module/Setup.php:707 ../../addon/rendezvous/rendezvous.php:401
msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:743
+#: ../../Zotlabs/Module/Setup.php:747
msgid "<h1>What next?</h1>"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:744
+#: ../../Zotlabs/Module/Setup.php:748
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
@@ -2166,13 +2169,13 @@ msgstr ""
#: ../../Zotlabs/Module/Admin/Features.php:55
#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
+#: ../../Zotlabs/Module/Settings/Features.php:65
msgid "Off"
msgstr ""
#: ../../Zotlabs/Module/Admin/Features.php:55
#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
+#: ../../Zotlabs/Module/Settings/Features.php:65
msgid "On"
msgstr ""
@@ -2226,10 +2229,10 @@ msgid "No failed updates."
msgstr ""
#: ../../Zotlabs/Module/Admin/Plugins.php:259
-#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:94
#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:46
-#: ../../Zotlabs/Module/Display.php:410 ../../Zotlabs/Module/Filestorage.php:24
-#: ../../Zotlabs/Module/Admin.php:62 ../../include/items.php:3569
+#: ../../Zotlabs/Module/Display.php:453 ../../Zotlabs/Module/Filestorage.php:24
+#: ../../Zotlabs/Module/Admin.php:62 ../../include/items.php:3619
msgid "Item not found."
msgstr ""
@@ -2255,12 +2258,12 @@ msgstr ""
#: ../../Zotlabs/Module/Admin/Plugins.php:341
#: ../../Zotlabs/Module/Admin/Plugins.php:436
-#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
#: ../../Zotlabs/Module/Admin/Logs.php:82
#: ../../Zotlabs/Module/Admin/Channels.php:145
#: ../../Zotlabs/Module/Admin/Themes.php:122
#: ../../Zotlabs/Module/Admin/Themes.php:156
-#: ../../Zotlabs/Module/Admin/Site.php:287
+#: ../../Zotlabs/Module/Admin/Site.php:294
#: ../../Zotlabs/Module/Admin/Security.php:86
#: ../../Zotlabs/Module/Admin.php:136
msgid "Administration"
@@ -2278,8 +2281,8 @@ msgstr ""
#: ../../Zotlabs/Module/Admin/Plugins.php:344
#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:242
-#: ../../Zotlabs/Widget/Newmember.php:55
-#: ../../Zotlabs/Widget/Settings_menu.php:133 ../../include/nav.php:105
+#: ../../Zotlabs/Widget/Newmember.php:46
+#: ../../Zotlabs/Widget/Settings_menu.php:141 ../../include/nav.php:105
#: ../../include/nav.php:192
msgid "Settings"
msgstr ""
@@ -2387,7 +2390,7 @@ msgstr[1] ""
msgid "Account not found"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2462
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2473
#, php-format
msgid "Account '%s' deleted"
msgstr ""
@@ -2402,79 +2405,80 @@ msgstr ""
msgid "Account '%s' unblocked"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:166
-#: ../../Zotlabs/Module/Admin/Accounts.php:179
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:180
#: ../../Zotlabs/Module/Admin.php:96 ../../Zotlabs/Widget/Admin.php:23
msgid "Accounts"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
#: ../../Zotlabs/Module/Admin/Channels.php:148
msgid "select all"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:169
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
msgid "Registrations waiting for confirm"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
msgid "Request date"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:171
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
msgid "No registrations."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:172
-#: ../../Zotlabs/Module/Connections.php:287 ../../include/conversation.php:732
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../Zotlabs/Module/Connections.php:303 ../../include/conversation.php:732
msgid "Approve"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Authorize.php:26
msgid "Deny"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
#: ../../Zotlabs/Module/Connedit.php:622
msgid "Block"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Admin/Accounts.php:177
#: ../../Zotlabs/Module/Connedit.php:622
msgid "Unblock"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:181
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
msgid "ID"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:284
+#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/group.php:284
msgid "All Channels"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:184
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
msgid "Register date"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:185
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
msgid "Last login"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:186
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
msgid "Expires"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:187
+#: ../../Zotlabs/Module/Admin/Accounts.php:188
msgid "Service Class"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:189
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
"on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Accounts.php:190
+#: ../../Zotlabs/Module/Admin/Accounts.php:191
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
@@ -2583,7 +2587,7 @@ msgid "Disallow Code"
msgstr ""
#: ../../Zotlabs/Module/Admin/Channels.php:154
-#: ../../include/conversation.php:1808 ../../include/nav.php:378
+#: ../../include/conversation.php:1811 ../../include/nav.php:378
msgid "Channel"
msgstr ""
@@ -2628,549 +2632,546 @@ msgstr ""
msgid "[Unsupported]"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:158
+#: ../../Zotlabs/Module/Admin/Site.php:165
msgid "Site settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:184
+#: ../../Zotlabs/Module/Admin/Site.php:191
#: ../../view/theme/redbasic_c/php/config.php:15
-#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3082
+#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3106
msgid "Default"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:195
+#: ../../Zotlabs/Module/Admin/Site.php:202
#: ../../Zotlabs/Module/Settings/Display.php:130
#, php-format
msgid "%s - (Incompatible)"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:202
+#: ../../Zotlabs/Module/Admin/Site.php:209
msgid "mobile"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:204
+#: ../../Zotlabs/Module/Admin/Site.php:211
msgid "experimental"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:206
+#: ../../Zotlabs/Module/Admin/Site.php:213
msgid "unsupported"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:253
+#: ../../Zotlabs/Module/Admin/Site.php:260
msgid "Yes - with approval"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:259
+#: ../../Zotlabs/Module/Admin/Site.php:266
msgid "My site is not a public server"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:260
+#: ../../Zotlabs/Module/Admin/Site.php:267
msgid "My site has paid access only"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:261
+#: ../../Zotlabs/Module/Admin/Site.php:268
msgid "My site has free access only"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:262
+#: ../../Zotlabs/Module/Admin/Site.php:269
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:274
+#: ../../Zotlabs/Module/Admin/Site.php:281
msgid "Beginner/Basic"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:275
+#: ../../Zotlabs/Module/Admin/Site.php:282
msgid "Novice - not skilled but willing to learn"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:276
+#: ../../Zotlabs/Module/Admin/Site.php:283
msgid "Intermediate - somewhat comfortable"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:277
+#: ../../Zotlabs/Module/Admin/Site.php:284
msgid "Advanced - very comfortable"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:278
+#: ../../Zotlabs/Module/Admin/Site.php:285
msgid "Expert - I can write computer code"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:279
+#: ../../Zotlabs/Module/Admin/Site.php:286
msgid "Wizard - I probably know more than you do"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:288 ../../Zotlabs/Widget/Admin.php:22
+#: ../../Zotlabs/Module/Admin/Site.php:295 ../../Zotlabs/Widget/Admin.php:22
msgid "Site"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:290
+#: ../../Zotlabs/Module/Admin/Site.php:297
#: ../../Zotlabs/Module/Register.php:269
msgid "Registration"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:291
+#: ../../Zotlabs/Module/Admin/Site.php:298
msgid "File upload"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:292
+#: ../../Zotlabs/Module/Admin/Site.php:299
msgid "Policies"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:293 ../../include/contact_widgets.php:16
+#: ../../Zotlabs/Module/Admin/Site.php:300 ../../include/contact_widgets.php:16
msgid "Advanced"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:297
+#: ../../Zotlabs/Module/Admin/Site.php:304
#: ../../addon/statusnet/statusnet.php:891
msgid "Site name"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:299
+#: ../../Zotlabs/Module/Admin/Site.php:306
msgid "Site default technical skill level"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:299
+#: ../../Zotlabs/Module/Admin/Site.php:306
msgid "Used to provide a member experience matched to technical comfort level"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../Zotlabs/Module/Admin/Site.php:308
msgid "Lock the technical skill level setting"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../Zotlabs/Module/Admin/Site.php:308
msgid "Members can set their own technical comfort level by default"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:310
msgid "Banner/Logo"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:310
msgid "Unfiltered HTML/CSS/JS is allowed"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid "Administrator Information"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:305 ../../Zotlabs/Module/Siteinfo.php:21
+#: ../../Zotlabs/Module/Admin/Site.php:312 ../../Zotlabs/Module/Siteinfo.php:21
msgid "Site Information"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Admin/Site.php:312
msgid ""
"Publicly visible description of this site. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:306
+#: ../../Zotlabs/Module/Admin/Site.php:313
msgid "System language"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:314
msgid "System theme"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:314
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:308
-msgid "Mobile system theme"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin/Site.php:308
-msgid "Theme for mobile devices"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:317
msgid "Allow Feeds as Connections"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:317
msgid "(Heavy system resource usage)"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:318
msgid "Maximum image size"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:318
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:312
+#: ../../Zotlabs/Module/Admin/Site.php:319
msgid "Does this site allow new member registration?"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:313
+#: ../../Zotlabs/Module/Admin/Site.php:320
msgid "Invitation only"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:313
+#: ../../Zotlabs/Module/Admin/Site.php:320
msgid ""
"Only allow new member registrations with an invitation code. Above register "
"policy must be set to Yes."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Admin/Site.php:321
msgid "Minimum age"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Admin/Site.php:321
msgid "Minimum age (in years) for who may register on this site."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:315
+#: ../../Zotlabs/Module/Admin/Site.php:322
msgid "Which best describes the types of account offered by this hub?"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:316
+#: ../../Zotlabs/Module/Admin/Site.php:323
msgid "Register text"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:316
+#: ../../Zotlabs/Module/Admin/Site.php:323
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:317
+#: ../../Zotlabs/Module/Admin/Site.php:324
msgid "Site homepage to show visitors (default: login box)"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:317
+#: ../../Zotlabs/Module/Admin/Site.php:324
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:318
+#: ../../Zotlabs/Module/Admin/Site.php:325
msgid "Preserve site homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:318
+#: ../../Zotlabs/Module/Admin/Site.php:325
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:319
+#: ../../Zotlabs/Module/Admin/Site.php:326
msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:319
+#: ../../Zotlabs/Module/Admin/Site.php:326
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:320
+#: ../../Zotlabs/Module/Admin/Site.php:327
msgid "Allowed friend domains"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:320
+#: ../../Zotlabs/Module/Admin/Site.php:327
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:321
+#: ../../Zotlabs/Module/Admin/Site.php:328
msgid "Verify Email Addresses"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:321
+#: ../../Zotlabs/Module/Admin/Site.php:328
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:322
+#: ../../Zotlabs/Module/Admin/Site.php:329
msgid "Force publish"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:322
+#: ../../Zotlabs/Module/Admin/Site.php:329
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:323
+#: ../../Zotlabs/Module/Admin/Site.php:330
msgid "Import Public Streams"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:323
+#: ../../Zotlabs/Module/Admin/Site.php:330
msgid ""
"Import and allow access to public content pulled from other sites. Warning: "
"this content is unmoderated."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:324
+#: ../../Zotlabs/Module/Admin/Site.php:331
msgid "Site only Public Streams"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:324
+#: ../../Zotlabs/Module/Admin/Site.php:331
msgid ""
"Allow access to public content originating only from this site if Imported "
"Public Streams are disabled."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:325
+#: ../../Zotlabs/Module/Admin/Site.php:332
msgid "Allow anybody on the internet to access the Public streams"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:325
+#: ../../Zotlabs/Module/Admin/Site.php:332
msgid ""
"Disable to require authentication before viewing. Warning: this content is "
"unmoderated."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:333
msgid "Login on Homepage"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:333
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:334
msgid "Enable context help"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:334
msgid ""
"Display contextual help for the current page when the help button is pressed."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:329
+#: ../../Zotlabs/Module/Admin/Site.php:336
msgid "Reply-to email address for system generated email."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:330
+#: ../../Zotlabs/Module/Admin/Site.php:337
msgid "Sender (From) email address for system generated email."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:331
+#: ../../Zotlabs/Module/Admin/Site.php:338
msgid "Name of email sender for system generated email."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:333
+#: ../../Zotlabs/Module/Admin/Site.php:340
msgid "Directory Server URL"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:333
+#: ../../Zotlabs/Module/Admin/Site.php:340
msgid "Default directory server"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:335
+#: ../../Zotlabs/Module/Admin/Site.php:342
msgid "Proxy user"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:336
+#: ../../Zotlabs/Module/Admin/Site.php:343
msgid "Proxy URL"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:337
+#: ../../Zotlabs/Module/Admin/Site.php:344
msgid "Network timeout"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:337
+#: ../../Zotlabs/Module/Admin/Site.php:344
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:338
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid "Delivery interval"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:338
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:339
+#: ../../Zotlabs/Module/Admin/Site.php:346
msgid "Deliveries per process"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:339
+#: ../../Zotlabs/Module/Admin/Site.php:346
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust "
"if necessary to tune system performance. Recommend: 1-5."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:340
+#: ../../Zotlabs/Module/Admin/Site.php:347
msgid "Queue Threshold"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:340
+#: ../../Zotlabs/Module/Admin/Site.php:347
msgid ""
"Always defer immediate delivery if queue contains more than this number of "
"entries."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:341
+#: ../../Zotlabs/Module/Admin/Site.php:348
msgid "Poll interval"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:341
+#: ../../Zotlabs/Module/Admin/Site.php:348
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:342
+#: ../../Zotlabs/Module/Admin/Site.php:349
msgid "Path to ImageMagick convert program"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:342
+#: ../../Zotlabs/Module/Admin/Site.php:349
msgid ""
"If set, use this program to generate photo thumbnails for huge images ( > "
"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
"Example: /usr/bin/convert"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:343
+#: ../../Zotlabs/Module/Admin/Site.php:350
msgid "Allow SVG thumbnails in file browser"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:343
+#: ../../Zotlabs/Module/Admin/Site.php:350
msgid "WARNING: SVG images may contain malicious code."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:344
+#: ../../Zotlabs/Module/Admin/Site.php:351
msgid "Maximum Load Average"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:344
+#: ../../Zotlabs/Module/Admin/Site.php:351
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:345
+#: ../../Zotlabs/Module/Admin/Site.php:352
msgid "Expiration period in days for imported (grid/network) content"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:345
+#: ../../Zotlabs/Module/Admin/Site.php:352
msgid "0 for no expiration of imported content"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:347
+#: ../../Zotlabs/Module/Admin/Site.php:353
+msgid ""
+"Do not expire any posts which have comments less than this many days ago"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:355
msgid ""
"Public servers: Optional landing (marketing) webpage for new registrants"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:347
+#: ../../Zotlabs/Module/Admin/Site.php:355
#, php-format
msgid "Create this page first. Default is %s/register"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:348
+#: ../../Zotlabs/Module/Admin/Site.php:356
msgid "Page to display after creating a new channel"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:348
+#: ../../Zotlabs/Module/Admin/Site.php:356
msgid "Recommend: profiles, go, or settings"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:350
+#: ../../Zotlabs/Module/Admin/Site.php:358
msgid "Optional: site location"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:350
+#: ../../Zotlabs/Module/Admin/Site.php:358
msgid "Region or country"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:69
+#: ../../Zotlabs/Module/Admin/Profs.php:89
msgid "New Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:70
#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
msgid "Field nickname"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:70
#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
msgid "System name of field"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:71
#: ../../Zotlabs/Module/Admin/Profs.php:91
+#: ../../Zotlabs/Module/Admin/Profs.php:111
msgid "Input type"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:72
#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
msgid "Field Name"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:72
#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
msgid "Label on profile pages"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:73
#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
msgid "Help text"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:73
#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
msgid "Additional info (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:74
-#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Admin/Profs.php:94
+#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32
#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:53
#: ../../Zotlabs/Widget/Notes.php:18 ../../include/text.php:1052
#: ../../include/text.php:1064
msgid "Save"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:83
+#: ../../Zotlabs/Module/Admin/Profs.php:103
msgid "Field definition not found"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:89
+#: ../../Zotlabs/Module/Admin/Profs.php:109
msgid "Edit Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../Zotlabs/Widget/Admin.php:30
+#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30
msgid "Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:148
+#: ../../Zotlabs/Module/Admin/Profs.php:169
msgid "Basic Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:170
msgid "Advanced Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:170
msgid "(In addition to basic fields)"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:151
+#: ../../Zotlabs/Module/Admin/Profs.php:172
msgid "All available fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:152
+#: ../../Zotlabs/Module/Admin/Profs.php:173
msgid "Custom Fields"
msgstr ""
-#: ../../Zotlabs/Module/Admin/Profs.php:156
+#: ../../Zotlabs/Module/Admin/Profs.php:177
msgid "Create Custom Field"
msgstr ""
@@ -3336,51 +3337,55 @@ msgctxt "acl"
msgid "Profile"
msgstr ""
-#: ../../Zotlabs/Module/Moderate.php:55
+#: ../../Zotlabs/Module/Moderate.php:62
msgid "Comment approved"
msgstr ""
-#: ../../Zotlabs/Module/Moderate.php:59
+#: ../../Zotlabs/Module/Moderate.php:66
msgid "Comment deleted"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:37
+#: ../../Zotlabs/Module/Settings/Permcats.php:23
+msgid "Permission Name is required."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Permcats.php:42
msgid "Permission category saved."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:61
+#: ../../Zotlabs/Module/Settings/Permcats.php:66
msgid ""
"Use this form to create permission rules for various classes of people or "
"connections."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:94
+#: ../../Zotlabs/Module/Settings/Permcats.php:99
msgid "Permission Categories"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:102
+#: ../../Zotlabs/Module/Settings/Permcats.php:107
msgid "Permission Name"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:103
+#: ../../Zotlabs/Module/Settings/Permcats.php:108
#: ../../Zotlabs/Module/Settings/Tokens.php:161
#: ../../Zotlabs/Module/Connedit.php:891 ../../Zotlabs/Module/Defperms.php:250
msgid "My Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:105
+#: ../../Zotlabs/Module/Settings/Permcats.php:110
#: ../../Zotlabs/Module/Settings/Tokens.php:163
#: ../../Zotlabs/Module/Connedit.php:886 ../../Zotlabs/Module/Defperms.php:248
msgid "inherited"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:108
+#: ../../Zotlabs/Module/Settings/Permcats.php:113
#: ../../Zotlabs/Module/Settings/Tokens.php:166
#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Defperms.php:253
msgid "Individual Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Permcats.php:109
+#: ../../Zotlabs/Module/Settings/Permcats.php:114
#: ../../Zotlabs/Module/Settings/Tokens.php:167
#: ../../Zotlabs/Module/Connedit.php:894
msgid ""
@@ -3400,7 +3405,7 @@ msgstr ""
msgid "Friends"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:262
+#: ../../Zotlabs/Module/Settings/Channel.php:264
#: ../../Zotlabs/Module/Defperms.php:103
#: ../../addon/rendezvous/rendezvous.php:82
#: ../../addon/openstreetmap/openstreetmap.php:184
@@ -3410,408 +3415,423 @@ msgstr ""
msgid "Settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:323
+#: ../../Zotlabs/Module/Settings/Channel.php:325
msgid "Nobody except yourself"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:324
+#: ../../Zotlabs/Module/Settings/Channel.php:326
msgid "Only those you specifically allow"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:325
+#: ../../Zotlabs/Module/Settings/Channel.php:327
msgid "Approved connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:326
+#: ../../Zotlabs/Module/Settings/Channel.php:328
msgid "Any connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:327
+#: ../../Zotlabs/Module/Settings/Channel.php:329
msgid "Anybody on this website"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:328
+#: ../../Zotlabs/Module/Settings/Channel.php:330
msgid "Anybody in this network"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:329
+#: ../../Zotlabs/Module/Settings/Channel.php:331
msgid "Anybody authenticated"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:330
+#: ../../Zotlabs/Module/Settings/Channel.php:332
msgid "Anybody on the internet"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:405
+#: ../../Zotlabs/Module/Settings/Channel.php:407
msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:410
+#: ../../Zotlabs/Module/Settings/Channel.php:412
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:414
+#: ../../Zotlabs/Module/Settings/Channel.php:416
msgid "or"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:419
+#: ../../Zotlabs/Module/Settings/Channel.php:425
msgid "Your channel address is"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:422
+#: ../../Zotlabs/Module/Settings/Channel.php:428
msgid "Your files/photos are accessible via WebDAV at"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:486
+#: ../../Zotlabs/Module/Settings/Channel.php:493
msgid "Channel Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:493
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Basic Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:494 ../../include/channel.php:1522
+#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1521
msgid "Full Name:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Channel.php:502
#: ../../Zotlabs/Module/Settings/Account.php:119
msgid "Email Address:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:496
+#: ../../Zotlabs/Module/Settings/Channel.php:503
msgid "Your Timezone:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:497
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "Default Post Location:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:497
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "Geographical location to display on your posts"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:498
+#: ../../Zotlabs/Module/Settings/Channel.php:505
msgid "Use Browser Location:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:500
+#: ../../Zotlabs/Module/Settings/Channel.php:507
msgid "Adult Content"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:500
+#: ../../Zotlabs/Module/Settings/Channel.php:507
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:502
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid "Security and Privacy Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:504
+#: ../../Zotlabs/Module/Settings/Channel.php:511
msgid "Your permissions are already configured. Click to view/adjust"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:506
+#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "Hide my online presence"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:506
+#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "Prevents displaying in your profile that you are online"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:508
+#: ../../Zotlabs/Module/Settings/Channel.php:515
msgid "Simple Privacy Settings:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:509
+#: ../../Zotlabs/Module/Settings/Channel.php:516
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:510
+#: ../../Zotlabs/Module/Settings/Channel.php:517
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:511
+#: ../../Zotlabs/Module/Settings/Channel.php:518
msgid "Private - <em>default private, never open or public</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:512
+#: ../../Zotlabs/Module/Settings/Channel.php:519
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:514
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid "Allow others to tag your posts"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:514
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:516
+#: ../../Zotlabs/Module/Settings/Channel.php:523
msgid "Channel Permission Limits"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:518
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "Expire other channel content after this many days"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:518
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "0 or blank to use the website limit."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:518
+#: ../../Zotlabs/Module/Settings/Channel.php:525
#, php-format
msgid "This website expires after %d days."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:518
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "This website does not expire imported content."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:518
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "The website limit takes precedence if lower than your limit."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "May reduce spam activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:520
+#: ../../Zotlabs/Module/Settings/Channel.php:527
msgid "Default Privacy Group"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:522
+#: ../../Zotlabs/Module/Settings/Channel.php:529
msgid "Use my default audience setting for the type of object published"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:523
+#: ../../Zotlabs/Module/Settings/Channel.php:530
msgid "Profile to assign new connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:532
+#: ../../Zotlabs/Module/Settings/Channel.php:539
msgid "Channel permissions category:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:533
+#: ../../Zotlabs/Module/Settings/Channel.php:540
msgid "Default Permissions Group"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:539
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:539
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "Useful to reduce spamming"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:542
+#: ../../Zotlabs/Module/Settings/Channel.php:549
#: ../../Zotlabs/Lib/Enotify.php:68
msgid "Notification Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:543
+#: ../../Zotlabs/Module/Settings/Channel.php:550
msgid "By default post a status message when:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:544
+#: ../../Zotlabs/Module/Settings/Channel.php:551
msgid "accepting a friend request"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:545
+#: ../../Zotlabs/Module/Settings/Channel.php:552
msgid "joining a forum/community"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:546
+#: ../../Zotlabs/Module/Settings/Channel.php:553
msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:547
+#: ../../Zotlabs/Module/Settings/Channel.php:554
msgid "Send a notification email when:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:548
+#: ../../Zotlabs/Module/Settings/Channel.php:555
msgid "You receive a connection request"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:549
+#: ../../Zotlabs/Module/Settings/Channel.php:556
msgid "Your connections are confirmed"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:550
+#: ../../Zotlabs/Module/Settings/Channel.php:557
msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:551
+#: ../../Zotlabs/Module/Settings/Channel.php:558
msgid "Someone writes a followup comment"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:552
+#: ../../Zotlabs/Module/Settings/Channel.php:559
msgid "You receive a private message"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:553
+#: ../../Zotlabs/Module/Settings/Channel.php:560
msgid "You receive a friend suggestion"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:554
+#: ../../Zotlabs/Module/Settings/Channel.php:561
msgid "You are tagged in a post"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:555
+#: ../../Zotlabs/Module/Settings/Channel.php:562
msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:557
+#: ../../Zotlabs/Module/Settings/Channel.php:564
msgid "Someone likes your post/comment"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:560
+#: ../../Zotlabs/Module/Settings/Channel.php:567
msgid "Show visual notifications including:"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:562
+#: ../../Zotlabs/Module/Settings/Channel.php:569
msgid "Unseen grid activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:563
+#: ../../Zotlabs/Module/Settings/Channel.php:570
msgid "Unseen channel activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:564
+#: ../../Zotlabs/Module/Settings/Channel.php:571
msgid "Unseen private messages"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:564
-#: ../../Zotlabs/Module/Settings/Channel.php:569
-#: ../../Zotlabs/Module/Settings/Channel.php:570
#: ../../Zotlabs/Module/Settings/Channel.php:571
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+#: ../../Zotlabs/Module/Settings/Channel.php:577
+#: ../../Zotlabs/Module/Settings/Channel.php:578
#: ../../addon/jappixmini/jappixmini.php:343
msgid "Recommended"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:565
+#: ../../Zotlabs/Module/Settings/Channel.php:572
msgid "Upcoming events"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:566
+#: ../../Zotlabs/Module/Settings/Channel.php:573
msgid "Events today"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:567
+#: ../../Zotlabs/Module/Settings/Channel.php:574
msgid "Upcoming birthdays"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:567
+#: ../../Zotlabs/Module/Settings/Channel.php:574
msgid "Not available in all themes"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:568
+#: ../../Zotlabs/Module/Settings/Channel.php:575
msgid "System (personal) notifications"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:569
+#: ../../Zotlabs/Module/Settings/Channel.php:576
msgid "System info messages"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:570
+#: ../../Zotlabs/Module/Settings/Channel.php:577
msgid "System critical alerts"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:571
+#: ../../Zotlabs/Module/Settings/Channel.php:578
msgid "New connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:572
+#: ../../Zotlabs/Module/Settings/Channel.php:579
msgid "System Registrations"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:573
+#: ../../Zotlabs/Module/Settings/Channel.php:580
msgid "Unseen shared files"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:574
+#: ../../Zotlabs/Module/Settings/Channel.php:581
msgid "Unseen public activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:575
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+msgid "Unseen likes and dislikes"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:583
msgid "Email notification hub (hostname)"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:575
+#: ../../Zotlabs/Module/Settings/Channel.php:583
#, php-format
msgid ""
"If your channel is mirrored to multiple hubs, set this to your preferred "
"location. This will prevent duplicate email notifications. Example: %s"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:576
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
+#: ../../Zotlabs/Module/Settings/Channel.php:584
+msgid "Show new wall posts, private messages and connections under Notices"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:578
+#: ../../Zotlabs/Module/Settings/Channel.php:586
msgid "Notify me of events this many days in advance"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:578
+#: ../../Zotlabs/Module/Settings/Channel.php:586
msgid "Must be greater than 0"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:584
+#: ../../Zotlabs/Module/Settings/Channel.php:592
msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:585
+#: ../../Zotlabs/Module/Settings/Channel.php:593
msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:587
+#: ../../Zotlabs/Module/Settings/Channel.php:595
msgid "Miscellaneous Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:588
+#: ../../Zotlabs/Module/Settings/Channel.php:596
msgid "Default photo upload folder"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:588
-#: ../../Zotlabs/Module/Settings/Channel.php:589
+#: ../../Zotlabs/Module/Settings/Channel.php:596
+#: ../../Zotlabs/Module/Settings/Channel.php:597
msgid "%Y - current year, %m - current month"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:589
+#: ../../Zotlabs/Module/Settings/Channel.php:597
msgid "Default file upload folder"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:591
+#: ../../Zotlabs/Module/Settings/Channel.php:599
msgid "Personal menu to display in your channel pages"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:593
+#: ../../Zotlabs/Module/Settings/Channel.php:601
msgid "Remove this channel."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:594
+#: ../../Zotlabs/Module/Settings/Channel.php:602
msgid "Firefox Share $Projectname provider"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:595
+#: ../../Zotlabs/Module/Settings/Channel.php:603
msgid "Start calendar week on Monday"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Features.php:45
+#: ../../Zotlabs/Module/Settings/Features.php:73
msgid "Additional Features"
msgstr ""
+#: ../../Zotlabs/Module/Settings/Features.php:74
+#: ../../Zotlabs/Module/Settings/Account.php:116
+msgid "Your technical skill level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Features.php:74
+#: ../../Zotlabs/Module/Settings/Account.php:116
+msgid ""
+"Used to provide a member experience and additional features consistent with "
+"your comfort level"
+msgstr ""
+
#: ../../Zotlabs/Module/Settings/Tokens.php:31
#, php-format
msgid "This channel is limited to %d tokens"
@@ -3840,7 +3860,7 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Settings/Tokens.php:150
-#: ../../Zotlabs/Widget/Settings_menu.php:92
+#: ../../Zotlabs/Widget/Settings_menu.php:100
msgid "Guest Access Tokens"
msgstr ""
@@ -3861,6 +3881,97 @@ msgstr ""
msgid "Their Settings"
msgstr ""
+#: ../../Zotlabs/Module/Settings/Oauth2.php:35
+msgid "Name and Secret are required"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:83
+msgid "Add OAuth2 application"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:86
+#: ../../Zotlabs/Module/Settings/Oauth2.php:114
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+msgid "Name of application"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:87
+#: ../../Zotlabs/Module/Settings/Oauth2.php:115
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:782
+msgid "Consumer Secret"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:87
+#: ../../Zotlabs/Module/Settings/Oauth2.php:115
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:88
+#: ../../Zotlabs/Module/Settings/Oauth2.php:116
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Redirect"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:88
+#: ../../Zotlabs/Module/Settings/Oauth2.php:116
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:89
+#: ../../Zotlabs/Module/Settings/Oauth2.php:117
+msgid "Grant Types"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:89
+#: ../../Zotlabs/Module/Settings/Oauth2.php:90
+#: ../../Zotlabs/Module/Settings/Oauth2.php:117
+#: ../../Zotlabs/Module/Settings/Oauth2.php:118
+msgid "leave blank unless your application sepcifically requires this"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:90
+#: ../../Zotlabs/Module/Settings/Oauth2.php:118
+msgid "Authorization scope"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:102
+msgid "OAuth2 Application not found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:111
+#: ../../Zotlabs/Module/Settings/Oauth2.php:148
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Settings/Oauth.php:113
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+msgid "Add application"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:147
+msgid "Connected OAuth2 Apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:151
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "Client key starts with"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:152
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "No name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:153
+#: ../../Zotlabs/Module/Settings/Oauth.php:154
+msgid "Remove authorization"
+msgstr ""
+
#: ../../Zotlabs/Module/Settings/Account.php:20
msgid "Not valid email."
msgstr ""
@@ -3917,16 +4028,6 @@ msgstr ""
msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:116
-msgid "Your technical skill level"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Account.php:116
-msgid ""
-"Used to provide a member experience and additional features consistent with "
-"your comfort level"
-msgstr ""
-
#: ../../Zotlabs/Module/Settings/Account.php:120
#: ../../Zotlabs/Module/Removeaccount.php:61
msgid "Remove Account"
@@ -3964,11 +4065,11 @@ msgstr ""
msgid "Affinity Slider Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Featured.php:64
+#: ../../Zotlabs/Module/Settings/Featured.php:67
msgid "Addon Settings"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Featured.php:65
+#: ../../Zotlabs/Module/Settings/Featured.php:68
msgid "Please save/submit changes to any panel before opening another."
msgstr ""
@@ -4085,81 +4186,38 @@ msgstr ""
msgid "Grid page max height of content (in pixels)"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:34
+#: ../../Zotlabs/Module/Settings/Oauth.php:35
msgid "Name is required"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:38
+#: ../../Zotlabs/Module/Settings/Oauth.php:39
msgid "Key and Secret are required"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:86
-#: ../../Zotlabs/Module/Settings/Oauth.php:112
-#: ../../Zotlabs/Module/Settings/Oauth.php:148
-msgid "Add application"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:89
-msgid "Name of application"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:90
-#: ../../Zotlabs/Module/Settings/Oauth.php:116
-#: ../../addon/statusnet/statusnet.php:894 ../../addon/twitter/twitter.php:781
-msgid "Consumer Key"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:90
-#: ../../Zotlabs/Module/Settings/Oauth.php:91
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr ""
-
#: ../../Zotlabs/Module/Settings/Oauth.php:91
#: ../../Zotlabs/Module/Settings/Oauth.php:117
-#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:782
-msgid "Consumer Secret"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:92
-#: ../../Zotlabs/Module/Settings/Oauth.php:118
-msgid "Redirect"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:92
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires this"
+#: ../../addon/statusnet/statusnet.php:894 ../../addon/twitter/twitter.php:781
+msgid "Consumer Key"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:93
-#: ../../Zotlabs/Module/Settings/Oauth.php:119
+#: ../../Zotlabs/Module/Settings/Oauth.php:94
+#: ../../Zotlabs/Module/Settings/Oauth.php:120
msgid "Icon url"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:94
#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
msgid "Optional"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:104
+#: ../../Zotlabs/Module/Settings/Oauth.php:105
msgid "Application not found."
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:147
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
msgid "Connected Apps"
msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:151
-msgid "Client key starts with"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:152
-msgid "No name"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:153
-msgid "Remove authorization"
-msgstr ""
-
#: ../../Zotlabs/Module/Embedphotos.php:140 ../../Zotlabs/Module/Photos.php:811
#: ../../Zotlabs/Module/Photos.php:1350 ../../Zotlabs/Widget/Portfolio.php:87
#: ../../Zotlabs/Widget/Album.php:78
@@ -4172,12 +4230,11 @@ msgid "Edit Album"
msgstr ""
#: ../../Zotlabs/Module/Embedphotos.php:158 ../../Zotlabs/Module/Photos.php:712
-#: ../../Zotlabs/Module/Photos.php:844 ../../Zotlabs/Module/Photos.php:1381
#: ../../Zotlabs/Module/Profile_photo.php:458
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Storage/Browser.php:277 ../../Zotlabs/Storage/Browser.php:384
-#: ../../Zotlabs/Widget/Cdav.php:133 ../../Zotlabs/Widget/Cdav.php:169
-#: ../../Zotlabs/Widget/Portfolio.php:110 ../../Zotlabs/Widget/Album.php:97
+#: ../../Zotlabs/Module/Cover_photo.php:362
+#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Widget/Cdav.php:133
+#: ../../Zotlabs/Widget/Cdav.php:169 ../../Zotlabs/Widget/Portfolio.php:110
+#: ../../Zotlabs/Widget/Album.php:97
msgid "Upload"
msgstr ""
@@ -4185,67 +4242,67 @@ msgstr ""
msgid "Some blurb about what to do when you're new here"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:115
+#: ../../Zotlabs/Module/Thing.php:120
msgid "Thing updated"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:167
+#: ../../Zotlabs/Module/Thing.php:172
msgid "Object store: failed"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:171
+#: ../../Zotlabs/Module/Thing.php:176
msgid "Thing added"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:197
+#: ../../Zotlabs/Module/Thing.php:202
#, php-format
msgid "OBJ: %1$s %2$s %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Module/Thing.php:265
msgid "Show Thing"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:267
+#: ../../Zotlabs/Module/Thing.php:272
msgid "item not found."
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:300
+#: ../../Zotlabs/Module/Thing.php:305
msgid "Edit Thing"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:359
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:364
msgid "Select a profile"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:306 ../../Zotlabs/Module/Thing.php:362
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:367
msgid "Post an activity"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:306 ../../Zotlabs/Module/Thing.php:362
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:367
msgid "Only sends to viewers of the applicable profile"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:308 ../../Zotlabs/Module/Thing.php:364
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
msgid "Name of thing e.g. something"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:310 ../../Zotlabs/Module/Thing.php:365
+#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:370
msgid "URL of thing (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:312 ../../Zotlabs/Module/Thing.php:366
+#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:371
msgid "URL for photo of thing (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:314 ../../Zotlabs/Module/Thing.php:367
+#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:372
#: ../../Zotlabs/Module/Photos.php:702 ../../Zotlabs/Module/Photos.php:1071
#: ../../Zotlabs/Module/Connedit.php:676 ../../Zotlabs/Module/Chat.php:235
#: ../../Zotlabs/Module/Filestorage.php:147 ../../include/acl_selectors.php:123
msgid "Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:357
+#: ../../Zotlabs/Module/Thing.php:362
msgid "Add Thing to your Profile"
msgstr ""
@@ -4257,56 +4314,56 @@ msgstr ""
msgid "System Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Follow.php:31
-msgid "Channel added."
+#: ../../Zotlabs/Module/Follow.php:36
+msgid "Connection added."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:143
+#: ../../Zotlabs/Module/Import.php:144
#, php-format
msgid "Your service plan only allows %d channels."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:157
+#: ../../Zotlabs/Module/Import.php:158
msgid "No channel. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:481
+#: ../../Zotlabs/Module/Import.php:482
#: ../../addon/diaspora/import_diaspora.php:139
msgid "Import completed."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:509
+#: ../../Zotlabs/Module/Import.php:510
msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:514
+#: ../../Zotlabs/Module/Import.php:515
msgid "Import Channel"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:515
+#: ../../Zotlabs/Module/Import.php:516
msgid ""
"Use this form to import an existing channel from a different server/hub. You "
"may retrieve the channel identity from the old server/hub via the network or "
"provide an export file."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:517
+#: ../../Zotlabs/Module/Import.php:518
msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:518
+#: ../../Zotlabs/Module/Import.php:519
msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:519
+#: ../../Zotlabs/Module/Import.php:520
msgid "Your old login email address"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:520
+#: ../../Zotlabs/Module/Import.php:521
msgid "Your old login password"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:521
+#: ../../Zotlabs/Module/Import.php:522
msgid ""
"For either option, please choose whether to make this hub your new primary "
"address, or whether your old location should continue this role. You will be "
@@ -4314,19 +4371,19 @@ msgid ""
"location for files, photos, and media."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:522
+#: ../../Zotlabs/Module/Import.php:523
msgid "Make this hub my primary location"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:523
+#: ../../Zotlabs/Module/Import.php:524
msgid "Move this channel (disable all previous locations)"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:524
+#: ../../Zotlabs/Module/Import.php:525
msgid "Import a few months of posts if possible (limited by available memory"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:525
+#: ../../Zotlabs/Module/Import.php:526
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
@@ -4336,16 +4393,16 @@ msgstr ""
msgid "Authentication failed."
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:75 ../../boot.php:1583
-#: ../../include/channel.php:2307
+#: ../../Zotlabs/Module/Rmagic.php:75 ../../boot.php:1590
+#: ../../include/channel.php:2318
msgid "Remote Authentication"
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:2308
+#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:2319
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:2309
+#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:2320
msgid "Authenticate"
msgstr ""
@@ -4353,7 +4410,7 @@ msgstr ""
msgid "Permissions denied."
msgstr ""
-#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2426
+#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2446
msgid "Import"
msgstr ""
@@ -4413,149 +4470,163 @@ msgstr ""
msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:54
-#: ../../Zotlabs/Module/Connections.php:156
-#: ../../Zotlabs/Module/Connections.php:245
+#: ../../Zotlabs/Module/Connections.php:55
+#: ../../Zotlabs/Module/Connections.php:112
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Active"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:60
+#: ../../Zotlabs/Module/Connections.php:164
+#: ../../Zotlabs/Module/Connections.php:261
msgid "Blocked"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:59
-#: ../../Zotlabs/Module/Connections.php:163
-#: ../../Zotlabs/Module/Connections.php:244
+#: ../../Zotlabs/Module/Connections.php:65
+#: ../../Zotlabs/Module/Connections.php:171
+#: ../../Zotlabs/Module/Connections.php:260
msgid "Ignored"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:64
-#: ../../Zotlabs/Module/Connections.php:177
-#: ../../Zotlabs/Module/Connections.php:243
+#: ../../Zotlabs/Module/Connections.php:70
+#: ../../Zotlabs/Module/Connections.php:185
+#: ../../Zotlabs/Module/Connections.php:259
msgid "Hidden"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:69
-#: ../../Zotlabs/Module/Connections.php:170
+#: ../../Zotlabs/Module/Connections.php:75
+#: ../../Zotlabs/Module/Connections.php:178
msgid "Archived/Unreachable"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:74
-#: ../../Zotlabs/Module/Connections.php:83 ../../Zotlabs/Module/Menu.php:116
+#: ../../Zotlabs/Module/Connections.php:80
+#: ../../Zotlabs/Module/Connections.php:89 ../../Zotlabs/Module/Menu.php:116
#: ../../Zotlabs/Module/Notifications.php:52
-#: ../../include/conversation.php:1714
+#: ../../include/conversation.php:1717
msgid "New"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:88
-#: ../../Zotlabs/Module/Connections.php:102
+#: ../../Zotlabs/Module/Connections.php:94
+#: ../../Zotlabs/Module/Connections.php:108
#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:26
msgid "All"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:133
+#: ../../Zotlabs/Module/Connections.php:140
+msgid "Active Connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:143
+msgid "Show active connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:147
#: ../../Zotlabs/Widget/Notifications.php:84
msgid "New Connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:136
+#: ../../Zotlabs/Module/Connections.php:150
msgid "Show pending (new) connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:143
-msgid "Show all connections"
-msgstr ""
-
-#: ../../Zotlabs/Module/Connections.php:159
+#: ../../Zotlabs/Module/Connections.php:167
msgid "Only show blocked connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:166
+#: ../../Zotlabs/Module/Connections.php:174
msgid "Only show ignored connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:173
+#: ../../Zotlabs/Module/Connections.php:181
msgid "Only show archived/unreachable connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:180
+#: ../../Zotlabs/Module/Connections.php:188
msgid "Only show hidden connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:241
+#: ../../Zotlabs/Module/Connections.php:203
+msgid "Show all connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:257
msgid "Pending approval"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:242
+#: ../../Zotlabs/Module/Connections.php:258
msgid "Archived"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:246
+#: ../../Zotlabs/Module/Connections.php:262
msgid "Not connected at this location"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Connections.php:279
#, php-format
msgid "%1$s [%2$s]"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:264
+#: ../../Zotlabs/Module/Connections.php:280
msgid "Edit connection"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:266
+#: ../../Zotlabs/Module/Connections.php:282
msgid "Delete connection"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Connections.php:291
msgid "Channel address"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Connections.php:293
msgid "Network"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:280
+#: ../../Zotlabs/Module/Connections.php:296
msgid "Call"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:282
+#: ../../Zotlabs/Module/Connections.php:298
msgid "Status"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:284
+#: ../../Zotlabs/Module/Connections.php:300
msgid "Connected"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:286
+#: ../../Zotlabs/Module/Connections.php:302
msgid "Approve connection"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:288
+#: ../../Zotlabs/Module/Connections.php:304
msgid "Ignore connection"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:289
+#: ../../Zotlabs/Module/Connections.php:305
#: ../../Zotlabs/Module/Connedit.php:630
msgid "Ignore"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:290
+#: ../../Zotlabs/Module/Connections.php:306
msgid "Recent activity"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:315 ../../Zotlabs/Lib/Apps.php:235
+#: ../../Zotlabs/Module/Connections.php:331 ../../Zotlabs/Lib/Apps.php:235
#: ../../include/text.php:973
msgid "Connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:320
+#: ../../Zotlabs/Module/Connections.php:336
msgid "Search your connections"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:321
+#: ../../Zotlabs/Module/Connections.php:337
msgid "Connections search"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:322
-#: ../../Zotlabs/Module/Directory.php:396
-#: ../../Zotlabs/Module/Directory.php:401 ../../include/contact_widgets.php:23
+#: ../../Zotlabs/Module/Connections.php:338
+#: ../../Zotlabs/Module/Directory.php:401
+#: ../../Zotlabs/Module/Directory.php:406 ../../include/contact_widgets.php:23
msgid "Find"
msgstr ""
@@ -4657,12 +4728,8 @@ msgstr ""
msgid "Create a status post for this upload"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:698
-msgid "Caption (optional):"
-msgstr ""
-
#: ../../Zotlabs/Module/Photos.php:699
-msgid "Description (optional):"
+msgid "Description (optional)"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:785
@@ -4673,6 +4740,10 @@ msgstr ""
msgid "Show Oldest First"
msgstr ""
+#: ../../Zotlabs/Module/Photos.php:844 ../../Zotlabs/Module/Photos.php:1381
+msgid "Add Photos"
+msgstr ""
+
#: ../../Zotlabs/Module/Photos.php:892
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
@@ -4721,10 +4792,6 @@ msgstr ""
msgid "or select an existing one (doubleclick)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1068
-msgid "Caption"
-msgstr ""
-
#: ../../Zotlabs/Module/Photos.php:1070
msgid "Add a Tag"
msgstr ""
@@ -4751,12 +4818,12 @@ msgid "Please wait"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1119 ../../Zotlabs/Module/Photos.php:1237
-#: ../../Zotlabs/Lib/ThreadItem.php:747
+#: ../../Zotlabs/Lib/ThreadItem.php:749
msgid "This is you"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1121 ../../Zotlabs/Module/Photos.php:1239
-#: ../../Zotlabs/Lib/ThreadItem.php:749 ../../include/js_strings.php:6
+#: ../../Zotlabs/Lib/ThreadItem.php:751 ../../include/js_strings.php:6
msgid "Comment"
msgstr ""
@@ -4806,8 +4873,8 @@ msgid "View all"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1160 ../../Zotlabs/Lib/ThreadItem.php:205
-#: ../../include/conversation.php:1978 ../../include/channel.php:1540
-#: ../../include/taxonomy.php:597
+#: ../../include/conversation.php:1981 ../../include/channel.php:1539
+#: ../../include/taxonomy.php:660
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
@@ -4815,7 +4882,7 @@ msgstr[0] ""
msgstr[1] ""
#: ../../Zotlabs/Module/Photos.php:1165 ../../Zotlabs/Lib/ThreadItem.php:210
-#: ../../include/conversation.php:1981
+#: ../../include/conversation.php:1984
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -4850,78 +4917,76 @@ msgid "Close"
msgstr ""
#: ../../Zotlabs/Module/Photos.php:1365 ../../Zotlabs/Module/Photos.php:1378
-#: ../../Zotlabs/Module/Photos.php:1379 ../../include/photos.php:656
+#: ../../Zotlabs/Module/Photos.php:1379 ../../include/photos.php:663
msgid "Recent Photos"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:30
+#: ../../Zotlabs/Module/Wiki.php:30 ../../addon/cart/cart.php:1135
msgid "Profile Unavailable."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:44 ../../Zotlabs/Module/Cloud.php:108
-#: ../../addon/gitwiki/Mod_Gitwiki.php:42
+#: ../../Zotlabs/Module/Wiki.php:44 ../../Zotlabs/Module/Cloud.php:114
msgid "Not found"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:68 ../../addon/gitwiki/Mod_Gitwiki.php:62
+#: ../../Zotlabs/Module/Wiki.php:68 ../../addon/cart/myshop.php:114
+#: ../../addon/cart/cart.php:1204 ../../addon/cart/manual_payments.php:58
msgid "Invalid channel"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:124 ../../addon/gitwiki/Mod_Gitwiki.php:107
+#: ../../Zotlabs/Module/Wiki.php:124
msgid "Error retrieving wiki"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:131 ../../addon/gitwiki/Mod_Gitwiki.php:114
+#: ../../Zotlabs/Module/Wiki.php:131
msgid "Error creating zip file export folder"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:182 ../../addon/gitwiki/Mod_Gitwiki.php:132
+#: ../../Zotlabs/Module/Wiki.php:182
msgid "Error downloading wiki: "
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:197 ../../addon/gitwiki/Mod_Gitwiki.php:146
-#: ../../include/conversation.php:1925 ../../include/nav.php:494
+#: ../../Zotlabs/Module/Wiki.php:197 ../../include/conversation.php:1928
+#: ../../include/nav.php:494
msgid "Wikis"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:203 ../../addon/gitwiki/Mod_Gitwiki.php:152
+#: ../../Zotlabs/Module/Wiki.php:203
msgid "Download"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:205 ../../Zotlabs/Module/Chat.php:256
-#: ../../Zotlabs/Module/Profiles.php:834 ../../Zotlabs/Module/Manage.php:145
-#: ../../addon/gitwiki/Mod_Gitwiki.php:154
+#: ../../Zotlabs/Module/Profiles.php:831 ../../Zotlabs/Module/Manage.php:145
msgid "Create New"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:207 ../../addon/gitwiki/Mod_Gitwiki.php:156
+#: ../../Zotlabs/Module/Wiki.php:207
msgid "Wiki name"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:208 ../../addon/gitwiki/Mod_Gitwiki.php:157
+#: ../../Zotlabs/Module/Wiki.php:208
msgid "Content type"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:350
#: ../../Zotlabs/Widget/Wiki_pages.php:36
#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../addon/mdpost/mdpost.php:40
-#: ../../include/text.php:1868
+#: ../../include/text.php:1869
msgid "Markdown"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:350
#: ../../Zotlabs/Widget/Wiki_pages.php:36
-#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1866
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1867
msgid "BBcode"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Widget/Wiki_pages.php:36
-#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1869
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1870
msgid "Text"
msgstr ""
#: ../../Zotlabs/Module/Wiki.php:210 ../../Zotlabs/Storage/Browser.php:284
-#: ../../addon/gitwiki/Mod_Gitwiki.php:159
msgid "Type"
msgstr ""
@@ -4933,7 +4998,7 @@ msgstr ""
msgid "Lock content type"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:219 ../../addon/gitwiki/Mod_Gitwiki.php:166
+#: ../../Zotlabs/Module/Wiki.php:219
msgid "Create a status post for this wiki"
msgstr ""
@@ -4941,137 +5006,135 @@ msgstr ""
msgid "Edit Wiki Name"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:262 ../../addon/gitwiki/Mod_Gitwiki.php:185
+#: ../../Zotlabs/Module/Wiki.php:262
msgid "Wiki not found"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:286 ../../addon/gitwiki/Mod_Gitwiki.php:210
+#: ../../Zotlabs/Module/Wiki.php:286
msgid "Rename page"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:305 ../../addon/gitwiki/Mod_Gitwiki.php:214
+#: ../../Zotlabs/Module/Wiki.php:307
msgid "Error retrieving page content"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:313 ../../Zotlabs/Module/Wiki.php:315
+#: ../../Zotlabs/Module/Wiki.php:315 ../../Zotlabs/Module/Wiki.php:317
msgid "New page"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:343 ../../addon/gitwiki/Mod_Gitwiki.php:242
+#: ../../Zotlabs/Module/Wiki.php:345
msgid "Revision Comparison"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:344 ../../addon/gitwiki/Mod_Gitwiki.php:243
+#: ../../Zotlabs/Module/Wiki.php:346
msgid "Revert"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:351
+#: ../../Zotlabs/Module/Wiki.php:353
msgid "Short description of your changes (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:358 ../../addon/gitwiki/Mod_Gitwiki.php:252
+#: ../../Zotlabs/Module/Wiki.php:362
msgid "Source"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:368 ../../addon/gitwiki/Mod_Gitwiki.php:260
+#: ../../Zotlabs/Module/Wiki.php:372
msgid "New page name"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:373 ../../addon/gitwiki/Mod_Gitwiki.php:265
-#: ../../include/conversation.php:1282
+#: ../../Zotlabs/Module/Wiki.php:377 ../../include/conversation.php:1282
msgid "Embed image from photo albums"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:374 ../../addon/gitwiki/Mod_Gitwiki.php:266
-#: ../../include/conversation.php:1385
+#: ../../Zotlabs/Module/Wiki.php:378 ../../include/conversation.php:1388
msgid "Embed an image from your albums"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:376 ../../Zotlabs/Module/Profile_photo.php:465
-#: ../../Zotlabs/Module/Cover_photo.php:366
-#: ../../addon/gitwiki/Mod_Gitwiki.php:268 ../../include/conversation.php:1387
-#: ../../include/conversation.php:1434
+#: ../../Zotlabs/Module/Wiki.php:380 ../../Zotlabs/Module/Profile_photo.php:465
+#: ../../Zotlabs/Module/Cover_photo.php:367 ../../include/conversation.php:1390
+#: ../../include/conversation.php:1437
msgid "OK"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:377 ../../addon/gitwiki/Mod_Gitwiki.php:269
-#: ../../include/conversation.php:1318
+#: ../../Zotlabs/Module/Wiki.php:381 ../../Zotlabs/Module/Profile_photo.php:466
+#: ../../Zotlabs/Module/Cover_photo.php:368 ../../include/conversation.php:1320
msgid "Choose images to embed"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:378 ../../addon/gitwiki/Mod_Gitwiki.php:270
-#: ../../include/conversation.php:1319
+#: ../../Zotlabs/Module/Wiki.php:382 ../../Zotlabs/Module/Profile_photo.php:467
+#: ../../Zotlabs/Module/Cover_photo.php:369 ../../include/conversation.php:1321
msgid "Choose an album"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:379 ../../addon/gitwiki/Mod_Gitwiki.php:271
+#: ../../Zotlabs/Module/Wiki.php:383 ../../Zotlabs/Module/Profile_photo.php:468
+#: ../../Zotlabs/Module/Cover_photo.php:370
msgid "Choose a different album"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:380 ../../addon/gitwiki/Mod_Gitwiki.php:272
-#: ../../include/conversation.php:1321
+#: ../../Zotlabs/Module/Wiki.php:384 ../../Zotlabs/Module/Profile_photo.php:469
+#: ../../Zotlabs/Module/Cover_photo.php:371 ../../include/conversation.php:1323
msgid "Error getting album list"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:381 ../../addon/gitwiki/Mod_Gitwiki.php:273
-#: ../../include/conversation.php:1322
+#: ../../Zotlabs/Module/Wiki.php:385 ../../Zotlabs/Module/Profile_photo.php:470
+#: ../../Zotlabs/Module/Cover_photo.php:372 ../../include/conversation.php:1324
msgid "Error getting photo link"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:382 ../../addon/gitwiki/Mod_Gitwiki.php:274
-#: ../../include/conversation.php:1323
+#: ../../Zotlabs/Module/Wiki.php:386 ../../Zotlabs/Module/Profile_photo.php:471
+#: ../../Zotlabs/Module/Cover_photo.php:373 ../../include/conversation.php:1325
msgid "Error getting album"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:458 ../../addon/gitwiki/Mod_Gitwiki.php:337
+#: ../../Zotlabs/Module/Wiki.php:462
msgid "Error creating wiki. Invalid name."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:465
+#: ../../Zotlabs/Module/Wiki.php:469
msgid "A wiki with this name already exists."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:478 ../../addon/gitwiki/Mod_Gitwiki.php:348
+#: ../../Zotlabs/Module/Wiki.php:482
msgid "Wiki created, but error creating Home page."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:485 ../../addon/gitwiki/Mod_Gitwiki.php:353
+#: ../../Zotlabs/Module/Wiki.php:489
msgid "Error creating wiki"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:508
+#: ../../Zotlabs/Module/Wiki.php:512
msgid "Error updating wiki. Invalid name."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:528
+#: ../../Zotlabs/Module/Wiki.php:532
msgid "Error updating wiki"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:543
+#: ../../Zotlabs/Module/Wiki.php:547
msgid "Wiki delete permission denied."
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:553
+#: ../../Zotlabs/Module/Wiki.php:557
msgid "Error deleting wiki"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:586 ../../addon/gitwiki/Mod_Gitwiki.php:400
+#: ../../Zotlabs/Module/Wiki.php:590
msgid "New page created"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:707
+#: ../../Zotlabs/Module/Wiki.php:711
msgid "Cannot delete Home"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:771
+#: ../../Zotlabs/Module/Wiki.php:775
msgid "Current Revision"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:771
+#: ../../Zotlabs/Module/Wiki.php:775
msgid "Selected Revision"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:821
+#: ../../Zotlabs/Module/Wiki.php:825
msgid "You must be authenticated."
msgstr ""
@@ -5194,12 +5257,12 @@ msgid "Photo not available."
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:455
-#: ../../Zotlabs/Module/Cover_photo.php:358
+#: ../../Zotlabs/Module/Cover_photo.php:359
msgid "Upload File:"
msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:456
-#: ../../Zotlabs/Module/Cover_photo.php:359
+#: ../../Zotlabs/Module/Cover_photo.php:360
msgid "Select a profile:"
msgstr ""
@@ -5217,28 +5280,28 @@ msgstr ""
#: ../../Zotlabs/Module/Profile_photo.php:462
#: ../../Zotlabs/Module/Profile_photo.php:463
-#: ../../Zotlabs/Module/Cover_photo.php:363
#: ../../Zotlabs/Module/Cover_photo.php:364
+#: ../../Zotlabs/Module/Cover_photo.php:365
msgid "Use a photo from your albums"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:467
-#: ../../Zotlabs/Module/Cover_photo.php:369
+#: ../../Zotlabs/Module/Profile_photo.php:473
+#: ../../Zotlabs/Module/Cover_photo.php:376
msgid "Select existing photo"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:486
-#: ../../Zotlabs/Module/Cover_photo.php:386
+#: ../../Zotlabs/Module/Profile_photo.php:492
+#: ../../Zotlabs/Module/Cover_photo.php:393
msgid "Crop Image"
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:487
-#: ../../Zotlabs/Module/Cover_photo.php:387
+#: ../../Zotlabs/Module/Profile_photo.php:493
+#: ../../Zotlabs/Module/Cover_photo.php:394
msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:489
-#: ../../Zotlabs/Module/Cover_photo.php:389
+#: ../../Zotlabs/Module/Profile_photo.php:495
+#: ../../Zotlabs/Module/Cover_photo.php:396
msgid "Done Editing"
msgstr ""
@@ -5254,61 +5317,61 @@ msgstr ""
msgid "Unable to locate original post."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:476
+#: ../../Zotlabs/Module/Item.php:477
msgid "Empty post discarded."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:867
+#: ../../Zotlabs/Module/Item.php:874
msgid "Duplicate post suppressed."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1012
+#: ../../Zotlabs/Module/Item.php:1019
msgid "System error. Post not saved."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1048
+#: ../../Zotlabs/Module/Item.php:1055
msgid "Your comment is awaiting approval."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1153
+#: ../../Zotlabs/Module/Item.php:1160
msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1182
+#: ../../Zotlabs/Module/Item.php:1189
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1189
+#: ../../Zotlabs/Module/Item.php:1196
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:320
+#: ../../Zotlabs/Module/Ping.php:330
msgid "sent you a private message"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:372
+#: ../../Zotlabs/Module/Ping.php:383
msgid "added your channel"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:396
+#: ../../Zotlabs/Module/Ping.php:407
msgid "requires approval"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:406
+#: ../../Zotlabs/Module/Ping.php:417
msgid "g A l F d"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:424
+#: ../../Zotlabs/Module/Ping.php:435
msgid "[today]"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:433
+#: ../../Zotlabs/Module/Ping.php:444
msgid "posted an event"
msgstr ""
-#: ../../Zotlabs/Module/Ping.php:466
+#: ../../Zotlabs/Module/Ping.php:477
msgid "shared a file with you"
msgstr ""
@@ -5317,7 +5380,8 @@ msgid "Invalid item."
msgstr ""
#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Block.php:77
-#: ../../Zotlabs/Module/Display.php:133
+#: ../../Zotlabs/Module/Display.php:141 ../../Zotlabs/Module/Display.php:158
+#: ../../Zotlabs/Module/Display.php:175
#: ../../Zotlabs/Lib/NativeWikiPage.php:519 ../../Zotlabs/Web/Router.php:167
#: ../../include/help.php:81
msgid "Page not found."
@@ -5398,7 +5462,7 @@ msgstr ""
msgid "Fetch updated photo"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:615
+#: ../../Zotlabs/Module/Connedit.php:615 ../../include/conversation.php:1042
msgid "Recent Activity"
msgstr ""
@@ -5542,11 +5606,11 @@ msgid ""
msgstr ""
#: ../../Zotlabs/Module/Connedit.php:850 ../../Zotlabs/Module/Defperms.php:238
-#: ../../Zotlabs/Widget/Settings_menu.php:109
+#: ../../Zotlabs/Widget/Settings_menu.php:117
msgid "Connection Default Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:850 ../../include/items.php:4164
+#: ../../Zotlabs/Module/Connedit.php:850 ../../include/items.php:4214
#, php-format
msgid "Connection: %s"
msgstr ""
@@ -5681,13 +5745,13 @@ msgid "Bookmark this room"
msgstr ""
#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:241
-#: ../../Zotlabs/Module/Mail.php:362 ../../include/conversation.php:1313
+#: ../../Zotlabs/Module/Mail.php:362 ../../include/conversation.php:1315
msgid "Please enter a link URL:"
msgstr ""
#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:294
-#: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Lib/ThreadItem.php:764
-#: ../../include/conversation.php:1432
+#: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Lib/ThreadItem.php:766
+#: ../../include/conversation.php:1435
msgid "Encrypt text"
msgstr ""
@@ -5721,12 +5785,12 @@ msgid "min"
msgstr ""
#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:248
-#: ../../include/conversation.php:1831 ../../include/nav.php:401
+#: ../../include/conversation.php:1834 ../../include/nav.php:401
msgid "Photos"
msgstr ""
#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:243
-#: ../../Zotlabs/Storage/Browser.php:272 ../../include/conversation.php:1839
+#: ../../Zotlabs/Storage/Browser.php:272 ../../include/conversation.php:1842
#: ../../include/nav.php:409
msgid "Files"
msgstr ""
@@ -5767,7 +5831,7 @@ msgstr ""
msgid "Submit and proceed"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2403
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2423
msgid "Menus"
msgstr ""
@@ -5819,7 +5883,7 @@ msgstr ""
msgid "Allow bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2404
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2424
msgid "Layouts"
msgstr ""
@@ -5841,11 +5905,11 @@ msgstr ""
msgid "Download PDL file"
msgstr ""
-#: ../../Zotlabs/Module/Cloud.php:114
+#: ../../Zotlabs/Module/Cloud.php:120
msgid "Please refresh page"
msgstr ""
-#: ../../Zotlabs/Module/Cloud.php:117
+#: ../../Zotlabs/Module/Cloud.php:123
msgid "Unknown error"
msgstr ""
@@ -5879,16 +5943,16 @@ msgid "Post not found."
msgstr ""
#: ../../Zotlabs/Module/Tagger.php:77 ../../include/markdown.php:160
-#: ../../include/bbcode.php:339
+#: ../../include/bbcode.php:352
msgid "post"
msgstr ""
#: ../../Zotlabs/Module/Tagger.php:79 ../../include/conversation.php:146
-#: ../../include/text.php:2012
+#: ../../include/text.php:2013
msgid "comment"
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:117
+#: ../../Zotlabs/Module/Tagger.php:119
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
@@ -5923,6 +5987,23 @@ msgid ""
"channel type and privacy settings."
msgstr ""
+#: ../../Zotlabs/Module/Authorize.php:17
+msgid "Unknown App"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:22
+msgid "Authorize"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:23
+#, php-format
+msgid "Do you authorize the app %s to access your channel data?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Authorize.php:25
+msgid "Allow"
+msgstr ""
+
#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
msgstr ""
@@ -5932,7 +6013,7 @@ msgid "Could not create privacy group."
msgstr ""
#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:143
-#: ../../include/items.php:4131
+#: ../../include/items.php:4181
msgid "Privacy group not found."
msgstr ""
@@ -6013,15 +6094,15 @@ msgstr ""
msgid "Romantic Partner"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:467 ../../Zotlabs/Module/Profiles.php:775
+#: ../../Zotlabs/Module/Profiles.php:467 ../../Zotlabs/Module/Profiles.php:772
msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:776
+#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:773
msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:475 ../../Zotlabs/Module/Profiles.php:783
+#: ../../Zotlabs/Module/Profiles.php:475 ../../Zotlabs/Module/Profiles.php:780
msgid "Work/Employment"
msgstr ""
@@ -6058,198 +6139,198 @@ msgstr ""
msgid "Hide your connections list from viewers of this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:725
+#: ../../Zotlabs/Module/Profiles.php:722
msgid "Edit Profile Details"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:727
+#: ../../Zotlabs/Module/Profiles.php:724
msgid "View this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:728 ../../Zotlabs/Module/Profiles.php:827
-#: ../../include/channel.php:1320
+#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Profiles.php:824
+#: ../../include/channel.php:1319
msgid "Edit visibility"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:729
+#: ../../Zotlabs/Module/Profiles.php:726
msgid "Profile Tools"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:730
+#: ../../Zotlabs/Module/Profiles.php:727
msgid "Change cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:731 ../../include/channel.php:1290
+#: ../../Zotlabs/Module/Profiles.php:728 ../../include/channel.php:1289
msgid "Change profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:732
+#: ../../Zotlabs/Module/Profiles.php:729
msgid "Create a new profile using these settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:733
+#: ../../Zotlabs/Module/Profiles.php:730
msgid "Clone this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:734
+#: ../../Zotlabs/Module/Profiles.php:731
msgid "Delete this profile"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:735
+#: ../../Zotlabs/Module/Profiles.php:732
msgid "Add profile things"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:736 ../../include/conversation.php:1705
+#: ../../Zotlabs/Module/Profiles.php:733 ../../include/conversation.php:1708
msgid "Personal"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:738
-msgid "Relation"
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Relationship"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:739 ../../Zotlabs/Widget/Newmember.php:53
+#: ../../Zotlabs/Module/Profiles.php:736 ../../Zotlabs/Widget/Newmember.php:44
#: ../../include/datetime.php:58
msgid "Miscellaneous"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:741
+#: ../../Zotlabs/Module/Profiles.php:738
msgid "Import profile from file"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:742
+#: ../../Zotlabs/Module/Profiles.php:739
msgid "Export profile to file"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:743
+#: ../../Zotlabs/Module/Profiles.php:740
msgid "Your gender"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:744
+#: ../../Zotlabs/Module/Profiles.php:741
msgid "Marital status"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:745
+#: ../../Zotlabs/Module/Profiles.php:742
msgid "Sexual preference"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:748
+#: ../../Zotlabs/Module/Profiles.php:745
msgid "Profile name"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:750
+#: ../../Zotlabs/Module/Profiles.php:747
msgid "This is your default profile."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:749
msgid "Your full name"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:753
+#: ../../Zotlabs/Module/Profiles.php:750
msgid "Title/Description"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:756
+#: ../../Zotlabs/Module/Profiles.php:753
msgid "Street address"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:757
+#: ../../Zotlabs/Module/Profiles.php:754
msgid "Locality/City"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Profiles.php:755
msgid "Region/State"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:759
+#: ../../Zotlabs/Module/Profiles.php:756
msgid "Postal/Zip code"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:765
+#: ../../Zotlabs/Module/Profiles.php:762
msgid "Who (if applicable)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:765
+#: ../../Zotlabs/Module/Profiles.php:762
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:766
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Since (date)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../Zotlabs/Module/Profiles.php:766
msgid "Tell us about yourself"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:770
+#: ../../Zotlabs/Module/Profiles.php:767
#: ../../addon/openid/MysqlProvider.php:68
msgid "Homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:771
+#: ../../Zotlabs/Module/Profiles.php:768
msgid "Hometown"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:772
+#: ../../Zotlabs/Module/Profiles.php:769
msgid "Political views"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:770
msgid "Religious views"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:774
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Keywords used in directory listings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:774
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Example: fishing photography software"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:777
+#: ../../Zotlabs/Module/Profiles.php:774
msgid "Musical interests"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Profiles.php:775
msgid "Books, literature"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:779
+#: ../../Zotlabs/Module/Profiles.php:776
msgid "Television"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:780
+#: ../../Zotlabs/Module/Profiles.php:777
msgid "Film/Dance/Culture/Entertainment"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:781
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Hobbies/Interests"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:782
+#: ../../Zotlabs/Module/Profiles.php:779
msgid "Love/Romance"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:784
+#: ../../Zotlabs/Module/Profiles.php:781
msgid "School/Education"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:785
+#: ../../Zotlabs/Module/Profiles.php:782
msgid "Contact information and social networks"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:786
+#: ../../Zotlabs/Module/Profiles.php:783
msgid "My other channels"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Profiles.php:785
msgid "Communications"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:823 ../../include/channel.php:1316
+#: ../../Zotlabs/Module/Profiles.php:820 ../../include/channel.php:1315
msgid "Profile Image"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:833 ../../include/channel.php:1297
+#: ../../Zotlabs/Module/Profiles.php:830 ../../include/channel.php:1296
#: ../../include/nav.php:117
msgid "Edit Profiles"
msgstr ""
@@ -6283,11 +6364,11 @@ msgstr ""
msgid "Edit your default profile"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:43
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:34
msgid "View friend suggestions"
msgstr ""
-#: ../../Zotlabs/Module/Go.php:39 ../../Zotlabs/Widget/Newmember.php:42
+#: ../../Zotlabs/Module/Go.php:39
msgid "View the channel directory"
msgstr ""
@@ -6364,9 +6445,9 @@ msgstr ""
msgid "Delegated Channel"
msgstr ""
-#: ../../Zotlabs/Module/Cards.php:42 ../../Zotlabs/Module/Cards.php:181
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1890
-#: ../../include/features.php:114 ../../include/nav.php:458
+#: ../../Zotlabs/Module/Cards.php:42 ../../Zotlabs/Module/Cards.php:194
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1893
+#: ../../include/features.php:123 ../../include/nav.php:458
msgid "Cards"
msgstr ""
@@ -6458,7 +6539,7 @@ msgid "Export selected"
msgstr ""
#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:244
-#: ../../include/conversation.php:1912 ../../include/nav.php:481
+#: ../../include/conversation.php:1915 ../../include/nav.php:481
msgid "Webpages"
msgstr ""
@@ -6531,7 +6612,7 @@ msgstr ""
msgid "Item is not editable"
msgstr ""
-#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:178
+#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:144
msgid "Edit post"
msgstr ""
@@ -6618,7 +6699,7 @@ msgid "*"
msgstr ""
#: ../../Zotlabs/Module/Sources.php:96
-#: ../../Zotlabs/Widget/Settings_menu.php:125 ../../include/features.php:274
+#: ../../Zotlabs/Widget/Settings_menu.php:133 ../../include/features.php:292
msgid "Channel Sources"
msgstr ""
@@ -6709,165 +6790,169 @@ msgstr ""
msgid "Previous action reversed."
msgstr ""
-#: ../../Zotlabs/Module/Like.php:436 ../../addon/diaspora/Receiver.php:1547
-#: ../../addon/pubcrawl/as.php:1394 ../../include/conversation.php:160
+#: ../../Zotlabs/Module/Like.php:438 ../../addon/diaspora/Receiver.php:1529
+#: ../../addon/pubcrawl/as.php:1423 ../../include/conversation.php:160
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:438 ../../addon/pubcrawl/as.php:1396
+#: ../../Zotlabs/Module/Like.php:440 ../../addon/pubcrawl/as.php:1425
#: ../../include/conversation.php:163
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:440
+#: ../../Zotlabs/Module/Like.php:442
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:442
+#: ../../Zotlabs/Module/Like.php:444
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:444
+#: ../../Zotlabs/Module/Like.php:446
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:446 ../../addon/diaspora/Receiver.php:2031
+#: ../../Zotlabs/Module/Like.php:448 ../../addon/diaspora/Receiver.php:2072
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:448 ../../addon/diaspora/Receiver.php:2033
+#: ../../Zotlabs/Module/Like.php:450 ../../addon/diaspora/Receiver.php:2074
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:450 ../../addon/diaspora/Receiver.php:2035
+#: ../../Zotlabs/Module/Like.php:452 ../../addon/diaspora/Receiver.php:2076
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:562
+#: ../../Zotlabs/Module/Like.php:564
msgid "Action completed."
msgstr ""
-#: ../../Zotlabs/Module/Like.php:563
+#: ../../Zotlabs/Module/Like.php:565
msgid "Thank you."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:250
+#: ../../Zotlabs/Module/Directory.php:106
+msgid "No default suggestions were found."
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:255
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Module/Directory.php:261
+#: ../../Zotlabs/Module/Directory.php:266
msgid "Gender: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:263
+#: ../../Zotlabs/Module/Directory.php:268
msgid "Status: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:265
+#: ../../Zotlabs/Module/Directory.php:270
msgid "Homepage: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:314 ../../include/channel.php:1565
+#: ../../Zotlabs/Module/Directory.php:319 ../../include/channel.php:1564
msgid "Age:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:319 ../../include/channel.php:1392
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1391
#: ../../include/event.php:54 ../../include/event.php:86
msgid "Location:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:325
+#: ../../Zotlabs/Module/Directory.php:330
msgid "Description:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:330 ../../include/channel.php:1581
+#: ../../Zotlabs/Module/Directory.php:335 ../../include/channel.php:1593
msgid "Hometown:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:332 ../../include/channel.php:1589
+#: ../../Zotlabs/Module/Directory.php:337 ../../include/channel.php:1599
msgid "About:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:333 ../../Zotlabs/Module/Suggest.php:56
+#: ../../Zotlabs/Module/Directory.php:338 ../../Zotlabs/Module/Suggest.php:56
#: ../../Zotlabs/Widget/Follow.php:32 ../../Zotlabs/Widget/Suggestions.php:44
-#: ../../include/conversation.php:1052 ../../include/channel.php:1377
-#: ../../include/connections.php:111
+#: ../../include/conversation.php:1052 ../../include/channel.php:1376
+#: ../../include/connections.php:110
msgid "Connect"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:334
+#: ../../Zotlabs/Module/Directory.php:339
msgid "Public Forum:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:337
+#: ../../Zotlabs/Module/Directory.php:342
msgid "Keywords: "
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:340
+#: ../../Zotlabs/Module/Directory.php:345
msgid "Don't suggest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:342
+#: ../../Zotlabs/Module/Directory.php:347
msgid "Common connections (estimated):"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:391
+#: ../../Zotlabs/Module/Directory.php:396
msgid "Global Directory"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:391
+#: ../../Zotlabs/Module/Directory.php:396
msgid "Local Directory"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:397
+#: ../../Zotlabs/Module/Directory.php:402
msgid "Finding:"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:400 ../../Zotlabs/Module/Suggest.php:64
+#: ../../Zotlabs/Module/Directory.php:405 ../../Zotlabs/Module/Suggest.php:64
#: ../../include/contact_widgets.php:24
msgid "Channel Suggestions"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:402
+#: ../../Zotlabs/Module/Directory.php:407
msgid "next page"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:402
+#: ../../Zotlabs/Module/Directory.php:407
msgid "previous page"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:403
+#: ../../Zotlabs/Module/Directory.php:408
msgid "Sort options"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:404
+#: ../../Zotlabs/Module/Directory.php:409
msgid "Alphabetic"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:405
+#: ../../Zotlabs/Module/Directory.php:410
msgid "Reverse Alphabetic"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:406
+#: ../../Zotlabs/Module/Directory.php:411
msgid "Newest to Oldest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:407
+#: ../../Zotlabs/Module/Directory.php:412
msgid "Oldest to Newest"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:424
+#: ../../Zotlabs/Module/Directory.php:429
msgid "No entries (some entries may be hidden)."
msgstr ""
@@ -6950,7 +7035,7 @@ msgid "Subject:"
msgstr ""
#: ../../Zotlabs/Module/Mail.php:287 ../../Zotlabs/Module/Mail.php:429
-#: ../../include/conversation.php:1382
+#: ../../include/conversation.php:1385
msgid "Attach file"
msgstr ""
@@ -6959,7 +7044,7 @@ msgid "Send"
msgstr ""
#: ../../Zotlabs/Module/Mail.php:292 ../../Zotlabs/Module/Mail.php:434
-#: ../../include/conversation.php:1427
+#: ../../include/conversation.php:1430
msgid "Set expiration date"
msgstr ""
@@ -7180,7 +7265,7 @@ msgstr ""
msgid "Membership on this site is by invitation only."
msgstr ""
-#: ../../Zotlabs/Module/Register.php:286 ../../boot.php:1563
+#: ../../Zotlabs/Module/Register.php:286 ../../boot.php:1570
#: ../../include/nav.php:164
msgid "Register"
msgstr ""
@@ -7196,34 +7281,34 @@ msgstr ""
msgid "Cover Photos"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4508
+#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4558
msgid "female"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4509
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4559
#, php-format
msgid "%1$s updated her %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4510
+#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4560
msgid "male"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4511
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4561
#, php-format
msgid "%1$s updated his %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4513
+#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4563
#, php-format
msgid "%1$s updated their %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:2059
+#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:2070
msgid "cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:360
+#: ../../Zotlabs/Module/Cover_photo.php:361
msgid "Change Cover Photo"
msgstr ""
@@ -7231,7 +7316,7 @@ msgstr ""
msgid "Documentation Search"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1821
+#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1824
#: ../../include/nav.php:391
msgid "About"
msgstr ""
@@ -7256,11 +7341,11 @@ msgstr ""
msgid "Contents"
msgstr ""
-#: ../../Zotlabs/Module/Display.php:351
+#: ../../Zotlabs/Module/Display.php:394
msgid "Article"
msgstr ""
-#: ../../Zotlabs/Module/Display.php:403
+#: ../../Zotlabs/Module/Display.php:446
msgid "Item has been removed."
msgstr ""
@@ -7292,19 +7377,19 @@ msgstr ""
msgid "Search Results For:"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:230
+#: ../../Zotlabs/Module/Network.php:229
msgid "Privacy group is empty"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:240
+#: ../../Zotlabs/Module/Network.php:238
msgid "Privacy group: "
msgstr ""
-#: ../../Zotlabs/Module/Network.php:268
+#: ../../Zotlabs/Module/Network.php:265
msgid "Invalid connection."
msgstr ""
-#: ../../Zotlabs/Module/Network.php:289 ../../addon/redred/redred.php:65
+#: ../../Zotlabs/Module/Network.php:285 ../../addon/redred/redred.php:65
msgid "Invalid channel."
msgstr ""
@@ -7505,7 +7590,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1591
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1598
msgid "Password Reset"
msgstr ""
@@ -7603,11 +7688,11 @@ msgstr ""
msgid "Remote Diagnostics"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:238 ../../include/features.php:390
+#: ../../Zotlabs/Lib/Apps.php:238 ../../include/features.php:417
msgid "Suggest Channels"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:239 ../../boot.php:1582 ../../include/nav.php:126
+#: ../../Zotlabs/Lib/Apps.php:239 ../../boot.php:1589 ../../include/nav.php:126
#: ../../include/nav.php:130
msgid "Login"
msgstr ""
@@ -7616,8 +7701,8 @@ msgstr ""
msgid "Activity"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:245 ../../include/conversation.php:1928
-#: ../../include/features.php:87 ../../include/nav.php:497
+#: ../../Zotlabs/Lib/Apps.php:245 ../../include/conversation.php:1931
+#: ../../include/features.php:96 ../../include/nav.php:497
msgid "Wiki"
msgstr ""
@@ -7625,8 +7710,8 @@ msgstr ""
msgid "Channel Home"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:249 ../../include/conversation.php:1850
-#: ../../include/conversation.php:1853
+#: ../../Zotlabs/Lib/Apps.php:249 ../../include/conversation.php:1853
+#: ../../include/conversation.php:1856
msgid "Events"
msgstr ""
@@ -7783,9 +7868,8 @@ msgctxt "wiki_history"
msgid "Message"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWikiPage.php:597
-#: ../../addon/gitwiki/gitwiki_backend.php:579 ../../include/bbcode.php:706
-#: ../../include/bbcode.php:865
+#: ../../Zotlabs/Lib/NativeWikiPage.php:597 ../../include/bbcode.php:744
+#: ../../include/bbcode.php:914
msgid "Different viewers will see this text differently"
msgstr ""
@@ -7907,60 +7991,60 @@ msgstr ""
msgid "To stop receiving these messages, please adjust your %s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:120
+#: ../../Zotlabs/Lib/Enotify.php:123
#, php-format
msgid "%s <!item_type!>"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:124
+#: ../../Zotlabs/Lib/Enotify.php:127
#, php-format
msgid "[$Projectname:Notify] New mail received at %s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:126
+#: ../../Zotlabs/Lib/Enotify.php:129
#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgid "%1$s sent you a new private message at %2$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:127
+#: ../../Zotlabs/Lib/Enotify.php:130
#, php-format
msgid "%1$s sent you %2$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:127
+#: ../../Zotlabs/Lib/Enotify.php:130
msgid "a private message"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:128
+#: ../../Zotlabs/Lib/Enotify.php:131
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:141
+#: ../../Zotlabs/Lib/Enotify.php:144
msgid "commented on"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:152
+#: ../../Zotlabs/Lib/Enotify.php:155
msgid "liked"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:155
+#: ../../Zotlabs/Lib/Enotify.php:158
msgid "disliked"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:198
+#: ../../Zotlabs/Lib/Enotify.php:201
#, php-format
-msgid "%1$s, %2$s %3$s [zrl=%4$s]a %5$s[/zrl]"
+msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:207
+#: ../../Zotlabs/Lib/Enotify.php:209
#, php-format
-msgid "%1$s, %2$s %3$s [zrl=%4$s]%5$s's %6$s[/zrl]"
+msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:217
+#: ../../Zotlabs/Lib/Enotify.php:218
#, php-format
-msgid "%1$s, %2$s %3$s [zrl=%4$s]your %5$s[/zrl]"
+msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
#: ../../Zotlabs/Lib/Enotify.php:230
@@ -7975,12 +8059,12 @@ msgstr ""
#: ../../Zotlabs/Lib/Enotify.php:233
#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgid "%1$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:236 ../../Zotlabs/Lib/Enotify.php:318
-#: ../../Zotlabs/Lib/Enotify.php:335 ../../Zotlabs/Lib/Enotify.php:361
-#: ../../Zotlabs/Lib/Enotify.php:379 ../../Zotlabs/Lib/Enotify.php:393
+#: ../../Zotlabs/Lib/Enotify.php:236 ../../Zotlabs/Lib/Enotify.php:317
+#: ../../Zotlabs/Lib/Enotify.php:333 ../../Zotlabs/Lib/Enotify.php:358
+#: ../../Zotlabs/Lib/Enotify.php:375 ../../Zotlabs/Lib/Enotify.php:388
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
@@ -7992,151 +8076,149 @@ msgstr ""
#: ../../Zotlabs/Lib/Enotify.php:299
#, php-format
-msgid "%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]"
+msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:314
+#: ../../Zotlabs/Lib/Enotify.php:313
#, php-format
msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:315
+#: ../../Zotlabs/Lib/Enotify.php:314
#, php-format
-msgid "%1$s, %2$s liked an item/conversation you created."
+msgid "%1$s liked an item/conversation you created."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:326
+#: ../../Zotlabs/Lib/Enotify.php:325
#, php-format
msgid "[$Projectname:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:328
+#: ../../Zotlabs/Lib/Enotify.php:327
#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgid "%1$s posted to your profile wall at %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:330
+#: ../../Zotlabs/Lib/Enotify.php:329
#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:354
+#: ../../Zotlabs/Lib/Enotify.php:352
#, php-format
msgid "[$Projectname:Notify] %s tagged you"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:355
+#: ../../Zotlabs/Lib/Enotify.php:353
#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
+msgid "%1$s tagged you at %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:356
+#: ../../Zotlabs/Lib/Enotify.php:354
#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:368
+#: ../../Zotlabs/Lib/Enotify.php:365
#, php-format
msgid "[$Projectname:Notify] %1$s poked you"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:369
+#: ../../Zotlabs/Lib/Enotify.php:366
#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
+msgid "%1$s poked you at %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:370
+#: ../../Zotlabs/Lib/Enotify.php:367
#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgid "%1$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:386
+#: ../../Zotlabs/Lib/Enotify.php:382
#, php-format
msgid "[$Projectname:Notify] %s tagged your post"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:387
+#: ../../Zotlabs/Lib/Enotify.php:383
#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
+msgid "%1$s tagged your post at %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:388
+#: ../../Zotlabs/Lib/Enotify.php:384
#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:400
+#: ../../Zotlabs/Lib/Enotify.php:395
msgid "[$Projectname:Notify] Introduction received"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:401
+#: ../../Zotlabs/Lib/Enotify.php:396
#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgid "You've received an new connection request from '%1$s' at %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:402
+#: ../../Zotlabs/Lib/Enotify.php:397
#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:406 ../../Zotlabs/Lib/Enotify.php:425
+#: ../../Zotlabs/Lib/Enotify.php:400 ../../Zotlabs/Lib/Enotify.php:418
#, php-format
msgid "You may visit their profile at %s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:408
+#: ../../Zotlabs/Lib/Enotify.php:402
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:415
+#: ../../Zotlabs/Lib/Enotify.php:409
msgid "[$Projectname:Notify] Friend suggestion received"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:416
+#: ../../Zotlabs/Lib/Enotify.php:410
#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:417
+#: ../../Zotlabs/Lib/Enotify.php:411
#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
+msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:423
+#: ../../Zotlabs/Lib/Enotify.php:416
msgid "Name:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:424
+#: ../../Zotlabs/Lib/Enotify.php:417
msgid "Photo:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:427
+#: ../../Zotlabs/Lib/Enotify.php:420
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:647
+#: ../../Zotlabs/Lib/Enotify.php:640
msgid "[$Projectname:Notify]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:815
+#: ../../Zotlabs/Lib/Enotify.php:808
msgid "created a new post"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:816
+#: ../../Zotlabs/Lib/Enotify.php:809
#, php-format
msgid "commented on %s's post"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:823
+#: ../../Zotlabs/Lib/Enotify.php:816
#, php-format
msgid "edited a post dated %s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:827
+#: ../../Zotlabs/Lib/Enotify.php:820
#, php-format
msgid "edited a comment dated %s"
msgstr ""
@@ -8145,7 +8227,7 @@ msgstr ""
msgid "Wiki updated successfully"
msgstr ""
-#: ../../Zotlabs/Lib/NativeWiki.php:198
+#: ../../Zotlabs/Lib/NativeWiki.php:205
msgid "Wiki files deleted successfully"
msgstr ""
@@ -8219,11 +8301,11 @@ msgstr ""
msgid "Add Tag"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:510
+#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:574
msgid "like"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:511
+#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:575
msgid "dislike"
msgstr ""
@@ -8316,51 +8398,51 @@ msgstr ""
msgid "%s show all"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:751 ../../include/conversation.php:1377
+#: ../../Zotlabs/Lib/ThreadItem.php:753 ../../include/conversation.php:1380
msgid "Bold"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:752 ../../include/conversation.php:1378
+#: ../../Zotlabs/Lib/ThreadItem.php:754 ../../include/conversation.php:1381
msgid "Italic"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:753 ../../include/conversation.php:1379
+#: ../../Zotlabs/Lib/ThreadItem.php:755 ../../include/conversation.php:1382
msgid "Underline"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:754 ../../include/conversation.php:1380
+#: ../../Zotlabs/Lib/ThreadItem.php:756 ../../include/conversation.php:1383
msgid "Quote"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:755 ../../include/conversation.php:1381
+#: ../../Zotlabs/Lib/ThreadItem.php:757 ../../include/conversation.php:1384
msgid "Code"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:756
+#: ../../Zotlabs/Lib/ThreadItem.php:758
msgid "Image"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:757
+#: ../../Zotlabs/Lib/ThreadItem.php:759
msgid "Attach File"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:758
+#: ../../Zotlabs/Lib/ThreadItem.php:760
msgid "Insert Link"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:759
+#: ../../Zotlabs/Lib/ThreadItem.php:761
msgid "Video"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:769
+#: ../../Zotlabs/Lib/ThreadItem.php:771
msgid "Your full name (required)"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:770
+#: ../../Zotlabs/Lib/ThreadItem.php:772
msgid "Your email address (required)"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:771
+#: ../../Zotlabs/Lib/ThreadItem.php:773
msgid "Your website URL (optional)"
msgstr ""
@@ -8380,7 +8462,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2821
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2845
msgid "Collection"
msgstr ""
@@ -8413,6 +8495,10 @@ msgstr ""
msgid "Shared"
msgstr ""
+#: ../../Zotlabs/Storage/Browser.php:277
+msgid "Add Files"
+msgstr ""
+
#: ../../Zotlabs/Storage/Browser.php:353
#, php-format
msgid "You are using %1$s of your available file storage."
@@ -8520,10 +8606,10 @@ msgid "Select an addressbook to import to"
msgstr ""
#: ../../Zotlabs/Widget/Appcategories.php:40
-#: ../../Zotlabs/Widget/Tagcloud.php:25 ../../include/contact_widgets.php:97
-#: ../../include/contact_widgets.php:141 ../../include/contact_widgets.php:186
-#: ../../include/taxonomy.php:344 ../../include/taxonomy.php:426
-#: ../../include/taxonomy.php:446 ../../include/taxonomy.php:467
+#: ../../include/contact_widgets.php:97 ../../include/contact_widgets.php:141
+#: ../../include/contact_widgets.php:186 ../../include/taxonomy.php:408
+#: ../../include/taxonomy.php:490 ../../include/taxonomy.php:510
+#: ../../include/taxonomy.php:531
msgid "Categories"
msgstr ""
@@ -8578,7 +8664,7 @@ msgid "New Message"
msgstr ""
#: ../../Zotlabs/Widget/Chatroom_list.php:16
-#: ../../include/conversation.php:1864 ../../include/conversation.php:1867
+#: ../../include/conversation.php:1867 ../../include/conversation.php:1870
#: ../../include/nav.php:434 ../../include/nav.php:437
msgid "Chatrooms"
msgstr ""
@@ -8621,7 +8707,7 @@ msgstr ""
msgid "Examples: bob@example.com, https://example.com/barbara"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_list.php:15 ../../addon/gitwiki/gitwiki.php:95
+#: ../../Zotlabs/Widget/Wiki_list.php:15
msgid "Wiki List"
msgstr ""
@@ -8661,7 +8747,7 @@ msgstr ""
msgid "Remove term"
msgstr ""
-#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:354
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:381
msgid "Saved Searches"
msgstr ""
@@ -8674,15 +8760,15 @@ msgid "Notes"
msgstr ""
#: ../../Zotlabs/Widget/Wiki_pages.php:32
-#: ../../Zotlabs/Widget/Wiki_pages.php:89 ../../addon/gitwiki/gitwiki.php:81
+#: ../../Zotlabs/Widget/Wiki_pages.php:89
msgid "Add new page"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_pages.php:83 ../../addon/gitwiki/gitwiki.php:76
+#: ../../Zotlabs/Widget/Wiki_pages.php:83
msgid "Wiki Pages"
msgstr ""
-#: ../../Zotlabs/Widget/Wiki_pages.php:94 ../../addon/gitwiki/gitwiki.php:82
+#: ../../Zotlabs/Widget/Wiki_pages.php:94
msgid "Page name"
msgstr ""
@@ -8703,7 +8789,7 @@ msgid "See more..."
msgstr ""
#: ../../Zotlabs/Widget/Filer.php:28 ../../include/contact_widgets.php:53
-#: ../../include/features.php:443
+#: ../../include/features.php:470
msgid "Saved Folders"
msgstr ""
@@ -8711,51 +8797,60 @@ msgstr ""
msgid "Click to show more"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:33
+#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:319
+#: ../../include/taxonomy.php:448 ../../include/taxonomy.php:469
+msgid "Tags"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:24
msgid "Profile Creation"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:35
+#: ../../Zotlabs/Widget/Newmember.php:26
msgid "Upload profile photo"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:36
+#: ../../Zotlabs/Widget/Newmember.php:27
msgid "Upload cover photo"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:37 ../../include/nav.php:119
+#: ../../Zotlabs/Widget/Newmember.php:28 ../../include/nav.php:119
msgid "Edit your profile"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:40
+#: ../../Zotlabs/Widget/Newmember.php:31
msgid "Find and Connect with others"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:44
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "View the directory"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Newmember.php:35
msgid "Manage your connections"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:47
+#: ../../Zotlabs/Widget/Newmember.php:38
msgid "Communicate"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:49
+#: ../../Zotlabs/Widget/Newmember.php:40
msgid "View your channel homepage"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:50
+#: ../../Zotlabs/Widget/Newmember.php:41
msgid "View your network stream"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:56
+#: ../../Zotlabs/Widget/Newmember.php:47
msgid "Documentation"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:67
-msgid "View public stream. Warning: not moderated"
+#: ../../Zotlabs/Widget/Newmember.php:58
+msgid "View public stream"
msgstr ""
-#: ../../Zotlabs/Widget/Newmember.php:71
+#: ../../Zotlabs/Widget/Newmember.php:62 ../../include/features.php:60
msgid "New Member Links"
msgstr ""
@@ -8808,14 +8903,18 @@ msgid "Export channel"
msgstr ""
#: ../../Zotlabs/Widget/Settings_menu.php:84
-msgid "Connected apps"
+msgid "OAuth1 apps"
+msgstr ""
+
+#: ../../Zotlabs/Widget/Settings_menu.php:92
+msgid "OAuth2 apps"
msgstr ""
-#: ../../Zotlabs/Widget/Settings_menu.php:100 ../../include/features.php:231
+#: ../../Zotlabs/Widget/Settings_menu.php:108 ../../include/features.php:240
msgid "Permission Groups"
msgstr ""
-#: ../../Zotlabs/Widget/Settings_menu.php:117
+#: ../../Zotlabs/Widget/Settings_menu.php:125
msgid "Premium Channel Settings"
msgstr ""
@@ -8953,53 +9052,57 @@ msgstr ""
msgid "Source channel not found."
msgstr ""
-#: ../../boot.php:1562
+#: ../../boot.php:1569
msgid "Create an account to access services and applications"
msgstr ""
-#: ../../boot.php:1581 ../../include/nav.php:111 ../../include/nav.php:140
+#: ../../boot.php:1588 ../../include/nav.php:111 ../../include/nav.php:140
#: ../../include/nav.php:159
msgid "Logout"
msgstr ""
-#: ../../boot.php:1585
+#: ../../boot.php:1592
msgid "Login/Email"
msgstr ""
-#: ../../boot.php:1586
+#: ../../boot.php:1593
msgid "Password"
msgstr ""
-#: ../../boot.php:1587
+#: ../../boot.php:1594
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1590
+#: ../../boot.php:1597
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2347
+#: ../../boot.php:2354
#, php-format
msgid "[$Projectname] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2352
+#: ../../boot.php:2359
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2468
+#: ../../boot.php:2475
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
msgstr ""
-#: ../../boot.php:2473
+#: ../../boot.php:2480
msgid "Cron/Scheduled tasks not running."
msgstr ""
-#: ../../boot.php:2474 ../../include/datetime.php:232
+#: ../../boot.php:2481 ../../include/datetime.php:238
msgid "never"
msgstr ""
+#: ../../store/[data]/smarty3/compiled/a0a1289f91f53b2c12e4e0b45ffe8291540ba895_0.file.cover_photo.tpl.php:123
+msgid "Cover Photo"
+msgstr ""
+
#: ../../view/theme/redbasic_c/php/config.php:16
#: ../../view/theme/redbasic_c/php/config.php:19
#: ../../view/theme/redbasic/php/config.php:16
@@ -9241,6 +9344,10 @@ msgid ""
"share their own locations with the group."
msgstr ""
+#: ../../addon/rendezvous/rendezvous.php:232
+msgid "You have no rendezvous. Press the button above to create a rendezvous!"
+msgstr ""
+
#: ../../addon/skeleton/skeleton.php:59
msgid "Some setting"
msgstr ""
@@ -9253,30 +9360,30 @@ msgstr ""
msgid "Skeleton Settings"
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:247
+#: ../../addon/gnusoc/gnusoc.php:249
msgid "GNU-Social Protocol Settings updated."
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:266
+#: ../../addon/gnusoc/gnusoc.php:268
msgid ""
"The GNU-Social protocol does not support location independence. Connections "
"you make within that network may be unreachable from alternate channel "
"locations."
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:269
+#: ../../addon/gnusoc/gnusoc.php:271
msgid "Enable the GNU-Social protocol for this channel"
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:273
+#: ../../addon/gnusoc/gnusoc.php:275
msgid "GNU-Social Protocol Settings"
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:464
+#: ../../addon/gnusoc/gnusoc.php:471
msgid "Follow"
msgstr ""
-#: ../../addon/gnusoc/gnusoc.php:467
+#: ../../addon/gnusoc/gnusoc.php:474
#, php-format
msgid "%1$s is now following %2$s"
msgstr ""
@@ -9322,7 +9429,7 @@ msgstr ""
msgid "Page to load after image selection."
msgstr ""
-#: ../../addon/openclipatar/openclipatar.php:58 ../../include/channel.php:1301
+#: ../../addon/openclipatar/openclipatar.php:58 ../../include/channel.php:1300
#: ../../include/nav.php:119
msgid "Edit Profile"
msgstr ""
@@ -9811,17 +9918,17 @@ msgstr ""
msgid "OpenID protocol error. No ID returned."
msgstr ""
-#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:290
+#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:300
msgid "Login failed."
msgstr ""
#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:49
-#: ../../include/selectors.php:66 ../../include/channel.php:1481
+#: ../../include/selectors.php:66 ../../include/channel.php:1480
msgid "Male"
msgstr ""
#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:49
-#: ../../include/selectors.php:66 ../../include/channel.php:1479
+#: ../../include/selectors.php:66 ../../include/channel.php:1478
msgid "Female"
msgstr ""
@@ -10008,38 +10115,38 @@ msgstr ""
msgid "declared undying love for"
msgstr ""
-#: ../../addon/diaspora/diaspora.php:778
+#: ../../addon/diaspora/diaspora.php:779
msgid "Diaspora Protocol Settings updated."
msgstr ""
-#: ../../addon/diaspora/diaspora.php:797
+#: ../../addon/diaspora/diaspora.php:798
msgid ""
"The Diaspora protocol does not support location independence. Connections "
"you make within that network may be unreachable from alternate channel "
"locations."
msgstr ""
-#: ../../addon/diaspora/diaspora.php:800
+#: ../../addon/diaspora/diaspora.php:801
msgid "Enable the Diaspora protocol for this channel"
msgstr ""
-#: ../../addon/diaspora/diaspora.php:804
+#: ../../addon/diaspora/diaspora.php:805
msgid "Allow any Diaspora member to comment on your public posts"
msgstr ""
-#: ../../addon/diaspora/diaspora.php:808
+#: ../../addon/diaspora/diaspora.php:809
msgid "Prevent your hashtags from being redirected to other sites"
msgstr ""
-#: ../../addon/diaspora/diaspora.php:812
+#: ../../addon/diaspora/diaspora.php:813
msgid "Sign and forward posts and comments with no existing Diaspora signature"
msgstr ""
-#: ../../addon/diaspora/diaspora.php:817
+#: ../../addon/diaspora/diaspora.php:818
msgid "Followed hashtags (comma separated, do not include the #)"
msgstr ""
-#: ../../addon/diaspora/diaspora.php:822
+#: ../../addon/diaspora/diaspora.php:823
msgid "Diaspora Protocol Settings"
msgstr ""
@@ -10047,7 +10154,7 @@ msgstr ""
msgid "No username found in import file."
msgstr ""
-#: ../../addon/diaspora/import_diaspora.php:41 ../../include/import.php:62
+#: ../../addon/diaspora/import_diaspora.php:41 ../../include/import.php:67
msgid "Unable to create a unique channel address. Import failed."
msgstr ""
@@ -10318,8 +10425,8 @@ msgstr ""
msgid "Hubzilla to Friendica Post Settings"
msgstr ""
-#: ../../addon/jappixmini/jappixmini.php:305 ../../include/channel.php:1397
-#: ../../include/channel.php:1568
+#: ../../addon/jappixmini/jappixmini.php:305 ../../include/channel.php:1396
+#: ../../include/channel.php:1567
msgid "Status:"
msgstr ""
@@ -10381,7 +10488,7 @@ msgid "No channels currently blocked"
msgstr ""
#: ../../addon/superblock/superblock.php:120
-msgid "\"Superblock\" Settings"
+msgid "Superblock Settings"
msgstr ""
#: ../../addon/superblock/superblock.php:345
@@ -10464,55 +10571,55 @@ msgstr ""
msgid "Number of logfiles to retain"
msgstr ""
-#: ../../addon/frphotos/frphotos.php:91
+#: ../../addon/frphotos/frphotos.php:92
msgid "Friendica Photo Album Import"
msgstr ""
-#: ../../addon/frphotos/frphotos.php:92
+#: ../../addon/frphotos/frphotos.php:93
msgid "This will import all your Friendica photo albums to this Red channel."
msgstr ""
-#: ../../addon/frphotos/frphotos.php:93
+#: ../../addon/frphotos/frphotos.php:94
msgid "Friendica Server base URL"
msgstr ""
-#: ../../addon/frphotos/frphotos.php:94
+#: ../../addon/frphotos/frphotos.php:95
msgid "Friendica Login Username"
msgstr ""
-#: ../../addon/frphotos/frphotos.php:95
+#: ../../addon/frphotos/frphotos.php:96
msgid "Friendica Login Password"
msgstr ""
-#: ../../addon/pubcrawl/as.php:1101 ../../addon/pubcrawl/as.php:1228
-#: ../../addon/pubcrawl/as.php:1403 ../../include/network.php:1774
+#: ../../addon/pubcrawl/as.php:1129 ../../addon/pubcrawl/as.php:1256
+#: ../../addon/pubcrawl/as.php:1432 ../../include/network.php:1768
msgid "ActivityPub"
msgstr ""
-#: ../../addon/pubcrawl/pubcrawl.php:1034
+#: ../../addon/pubcrawl/pubcrawl.php:1050
msgid "ActivityPub Protocol Settings updated."
msgstr ""
-#: ../../addon/pubcrawl/pubcrawl.php:1043
+#: ../../addon/pubcrawl/pubcrawl.php:1059
msgid ""
"The ActivityPub protocol does not support location independence. Connections "
"you make within that network may be unreachable from alternate channel "
"locations."
msgstr ""
-#: ../../addon/pubcrawl/pubcrawl.php:1046
+#: ../../addon/pubcrawl/pubcrawl.php:1062
msgid "Enable the ActivityPub protocol for this channel"
msgstr ""
-#: ../../addon/pubcrawl/pubcrawl.php:1049
+#: ../../addon/pubcrawl/pubcrawl.php:1065
msgid "Send multi-media HTML articles"
msgstr ""
-#: ../../addon/pubcrawl/pubcrawl.php:1049
+#: ../../addon/pubcrawl/pubcrawl.php:1065
msgid "Not supported by some microblog services such as Mastodon"
msgstr ""
-#: ../../addon/pubcrawl/pubcrawl.php:1053
+#: ../../addon/pubcrawl/pubcrawl.php:1069
msgid "ActivityPub Protocol Settings"
msgstr ""
@@ -10901,7 +11008,7 @@ msgstr ""
msgid "Error creating new game."
msgstr ""
-#: ../../addon/chess/chess.php:486 ../../include/channel.php:1152
+#: ../../addon/chess/chess.php:486 ../../include/channel.php:1151
msgid "Requested channel is not available."
msgstr ""
@@ -10996,6 +11103,78 @@ msgstr ""
msgid "Smileybutton Settings"
msgstr ""
+#: ../../addon/cart/myshop.php:138
+msgid "Order Not Found"
+msgstr ""
+
+#: ../../addon/cart/cart.php:810
+msgid "Order cannot be checked out."
+msgstr ""
+
+#: ../../addon/cart/cart.php:1073
+msgid "Enable Shopping Cart"
+msgstr ""
+
+#: ../../addon/cart/cart.php:1080
+msgid "Enable Test Catalog"
+msgstr ""
+
+#: ../../addon/cart/cart.php:1088
+msgid "Enable Manual Payments"
+msgstr ""
+
+#: ../../addon/cart/cart.php:1103
+msgid "Base Cart Settings"
+msgstr ""
+
+#: ../../addon/cart/cart.php:1151
+msgid "Add Item"
+msgstr ""
+
+#: ../../addon/cart/cart.php:1165
+msgid "Call cart_post_"
+msgstr ""
+
+#: ../../addon/cart/cart.php:1195
+msgid "Cart Not Enabled (profile: "
+msgstr ""
+
+#: ../../addon/cart/cart.php:1226 ../../addon/cart/manual_payments.php:36
+msgid "Order not found."
+msgstr ""
+
+#: ../../addon/cart/cart.php:1262 ../../addon/cart/cart.php:1389
+msgid "No Order Found"
+msgstr ""
+
+#: ../../addon/cart/cart.php:1270
+msgid "call: "
+msgstr ""
+
+#: ../../addon/cart/cart.php:1273
+msgid "An unknown error has occurred Please start again."
+msgstr ""
+
+#: ../../addon/cart/cart.php:1414
+msgid "Invalid Payment Type. Please start again."
+msgstr ""
+
+#: ../../addon/cart/cart.php:1421
+msgid "Order not found"
+msgstr ""
+
+#: ../../addon/cart/manual_payments.php:9
+msgid "Error: order mismatch. Please try again."
+msgstr ""
+
+#: ../../addon/cart/manual_payments.php:29
+msgid "Manual payments are not enabled."
+msgstr ""
+
+#: ../../addon/cart/manual_payments.php:44
+msgid "Finished"
+msgstr ""
+
#: ../../addon/piwik/piwik.php:85
msgid ""
"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
@@ -11040,157 +11219,157 @@ msgstr ""
msgid "This feature requires Piwik >= 2.2.0"
msgstr ""
-#: ../../addon/tour/tour.php:75
+#: ../../addon/tour/tour.php:76
msgid "Edit your profile and change settings."
msgstr ""
-#: ../../addon/tour/tour.php:76
+#: ../../addon/tour/tour.php:77
msgid "Click here to see activity from your connections."
msgstr ""
-#: ../../addon/tour/tour.php:77
+#: ../../addon/tour/tour.php:78
msgid "Click here to see your channel home."
msgstr ""
-#: ../../addon/tour/tour.php:78
+#: ../../addon/tour/tour.php:79
msgid "You can access your private messages from here."
msgstr ""
-#: ../../addon/tour/tour.php:79
+#: ../../addon/tour/tour.php:80
msgid "Create new events here."
msgstr ""
-#: ../../addon/tour/tour.php:80
+#: ../../addon/tour/tour.php:81
msgid ""
"You can accept new connections and change permissions for existing ones "
"here. You can also e.g. create groups of contacts."
msgstr ""
-#: ../../addon/tour/tour.php:81
+#: ../../addon/tour/tour.php:82
msgid "System notifications will arrive here"
msgstr ""
-#: ../../addon/tour/tour.php:82
+#: ../../addon/tour/tour.php:83
msgid "Search for content and users"
msgstr ""
-#: ../../addon/tour/tour.php:83
+#: ../../addon/tour/tour.php:84
msgid "Browse for new contacts"
msgstr ""
-#: ../../addon/tour/tour.php:84
+#: ../../addon/tour/tour.php:85
msgid "Launch installed apps"
msgstr ""
-#: ../../addon/tour/tour.php:85
+#: ../../addon/tour/tour.php:86
msgid "Looking for help? Click here."
msgstr ""
-#: ../../addon/tour/tour.php:86
+#: ../../addon/tour/tour.php:87
msgid ""
"New events have occurred in your network. Click here to see what has "
"happened!"
msgstr ""
-#: ../../addon/tour/tour.php:87
+#: ../../addon/tour/tour.php:88
msgid "You have received a new private message. Click here to see from who!"
msgstr ""
-#: ../../addon/tour/tour.php:88
+#: ../../addon/tour/tour.php:89
msgid "There are events this week. Click here too see which!"
msgstr ""
-#: ../../addon/tour/tour.php:89
+#: ../../addon/tour/tour.php:90
msgid "You have received a new introduction. Click here to see who!"
msgstr ""
-#: ../../addon/tour/tour.php:90
+#: ../../addon/tour/tour.php:91
msgid ""
"There is a new system notification. Click here to see what has happened!"
msgstr ""
-#: ../../addon/tour/tour.php:93
+#: ../../addon/tour/tour.php:94
msgid "Click here to share text, images, videos and sound."
msgstr ""
-#: ../../addon/tour/tour.php:94
+#: ../../addon/tour/tour.php:95
msgid "You can write an optional title for your update (good for long posts)."
msgstr ""
-#: ../../addon/tour/tour.php:95
+#: ../../addon/tour/tour.php:96
msgid "Entering some categories here makes it easier to find your post later."
msgstr ""
-#: ../../addon/tour/tour.php:96
+#: ../../addon/tour/tour.php:97
msgid "Share photos, links, location, etc."
msgstr ""
-#: ../../addon/tour/tour.php:97
+#: ../../addon/tour/tour.php:98
msgid ""
"Only want to share content for a while? Make it expire at a certain date."
msgstr ""
-#: ../../addon/tour/tour.php:98
+#: ../../addon/tour/tour.php:99
msgid "You can password protect content."
msgstr ""
-#: ../../addon/tour/tour.php:99
+#: ../../addon/tour/tour.php:100
msgid "Choose who you share with."
msgstr ""
-#: ../../addon/tour/tour.php:101
+#: ../../addon/tour/tour.php:102
msgid "Click here when you are done."
msgstr ""
-#: ../../addon/tour/tour.php:104
+#: ../../addon/tour/tour.php:105
msgid "Adjust from which channels posts should be displayed."
msgstr ""
-#: ../../addon/tour/tour.php:105
+#: ../../addon/tour/tour.php:106
msgid "Only show posts from channels in the specified privacy group."
msgstr ""
-#: ../../addon/tour/tour.php:109
+#: ../../addon/tour/tour.php:110
msgid ""
"Easily find posts containing tags (keywords preceded by the \"#\" symbol)."
msgstr ""
-#: ../../addon/tour/tour.php:110
+#: ../../addon/tour/tour.php:111
msgid "Easily find posts in given category."
msgstr ""
-#: ../../addon/tour/tour.php:111
+#: ../../addon/tour/tour.php:112
msgid "Easily find posts by date."
msgstr ""
-#: ../../addon/tour/tour.php:112
+#: ../../addon/tour/tour.php:113
msgid ""
"Suggested users who have volounteered to be shown as suggestions, and who we "
"think you might find interesting."
msgstr ""
-#: ../../addon/tour/tour.php:113
+#: ../../addon/tour/tour.php:114
msgid "Here you see channels you have connected to."
msgstr ""
-#: ../../addon/tour/tour.php:114
+#: ../../addon/tour/tour.php:115
msgid "Save your search so you can repeat it at a later date."
msgstr ""
-#: ../../addon/tour/tour.php:117
+#: ../../addon/tour/tour.php:118
msgid ""
"If you see this icon you can be sure that the sender is who it say it is. It "
"is normal that it is not always possible to verify the sender, so the icon "
"will be missing sometimes. There is usually no need to worry about that."
msgstr ""
-#: ../../addon/tour/tour.php:118
+#: ../../addon/tour/tour.php:119
msgid ""
"Danger! It seems someone tried to forge a message! This message is not "
"necessarily from who it says it is from!"
msgstr ""
-#: ../../addon/tour/tour.php:125
+#: ../../addon/tour/tour.php:126
msgid ""
"Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can "
"pause it at any time and continue where you left off by reloading the page, "
@@ -11589,11 +11768,11 @@ msgstr ""
msgid "Hermaphrodite"
msgstr ""
-#: ../../include/selectors.php:49 ../../include/channel.php:1485
+#: ../../include/selectors.php:49 ../../include/channel.php:1484
msgid "Neuter"
msgstr ""
-#: ../../include/selectors.php:49 ../../include/channel.php:1487
+#: ../../include/selectors.php:49 ../../include/channel.php:1486
msgid "Non-specific"
msgstr ""
@@ -11839,10 +12018,6 @@ msgstr ""
msgid "Unfollow Thread"
msgstr ""
-#: ../../include/conversation.php:1042
-msgid "Activity/Posts"
-msgstr ""
-
#: ../../include/conversation.php:1062
msgid "Edit Connection"
msgstr ""
@@ -11904,175 +12079,175 @@ msgstr ""
msgid "Clear browser location"
msgstr ""
-#: ../../include/conversation.php:1314
+#: ../../include/conversation.php:1316
msgid "Tag term:"
msgstr ""
-#: ../../include/conversation.php:1315
+#: ../../include/conversation.php:1317
msgid "Where are you right now?"
msgstr ""
-#: ../../include/conversation.php:1320
+#: ../../include/conversation.php:1322
msgid "Choose a different album..."
msgstr ""
-#: ../../include/conversation.php:1324
+#: ../../include/conversation.php:1326
msgid "Comments enabled"
msgstr ""
-#: ../../include/conversation.php:1325
+#: ../../include/conversation.php:1327
msgid "Comments disabled"
msgstr ""
-#: ../../include/conversation.php:1372
+#: ../../include/conversation.php:1375
msgid "Page link name"
msgstr ""
-#: ../../include/conversation.php:1375
+#: ../../include/conversation.php:1378
msgid "Post as"
msgstr ""
-#: ../../include/conversation.php:1389
+#: ../../include/conversation.php:1392
msgid "Toggle voting"
msgstr ""
-#: ../../include/conversation.php:1392
+#: ../../include/conversation.php:1395
msgid "Disable comments"
msgstr ""
-#: ../../include/conversation.php:1393
+#: ../../include/conversation.php:1396
msgid "Toggle comments"
msgstr ""
-#: ../../include/conversation.php:1401
+#: ../../include/conversation.php:1404
msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/conversation.php:1424
+#: ../../include/conversation.php:1427
msgid "Other networks and post services"
msgstr ""
-#: ../../include/conversation.php:1430
+#: ../../include/conversation.php:1433
msgid "Set publish date"
msgstr ""
-#: ../../include/conversation.php:1690
+#: ../../include/conversation.php:1693
msgid "Commented Order"
msgstr ""
-#: ../../include/conversation.php:1693
+#: ../../include/conversation.php:1696
msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/conversation.php:1697
+#: ../../include/conversation.php:1700
msgid "Posted Order"
msgstr ""
-#: ../../include/conversation.php:1700
+#: ../../include/conversation.php:1703
msgid "Sort by Post Date"
msgstr ""
-#: ../../include/conversation.php:1708
+#: ../../include/conversation.php:1711
msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/conversation.php:1717
+#: ../../include/conversation.php:1720
msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/conversation.php:1723
+#: ../../include/conversation.php:1726
msgid "Starred"
msgstr ""
-#: ../../include/conversation.php:1726
+#: ../../include/conversation.php:1729
msgid "Favourite Posts"
msgstr ""
-#: ../../include/conversation.php:1733
+#: ../../include/conversation.php:1736
msgid "Spam"
msgstr ""
-#: ../../include/conversation.php:1736
+#: ../../include/conversation.php:1739
msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../include/conversation.php:1811 ../../include/nav.php:381
+#: ../../include/conversation.php:1814 ../../include/nav.php:381
msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/conversation.php:1824 ../../include/nav.php:394
+#: ../../include/conversation.php:1827 ../../include/nav.php:394
msgid "Profile Details"
msgstr ""
-#: ../../include/conversation.php:1834 ../../include/nav.php:404
-#: ../../include/photos.php:655
+#: ../../include/conversation.php:1837 ../../include/nav.php:404
+#: ../../include/photos.php:662
msgid "Photo Albums"
msgstr ""
-#: ../../include/conversation.php:1842 ../../include/nav.php:412
+#: ../../include/conversation.php:1845 ../../include/nav.php:412
msgid "Files and Storage"
msgstr ""
-#: ../../include/conversation.php:1879 ../../include/nav.php:447
+#: ../../include/conversation.php:1882 ../../include/nav.php:447
msgid "Bookmarks"
msgstr ""
-#: ../../include/conversation.php:1882 ../../include/nav.php:450
+#: ../../include/conversation.php:1885 ../../include/nav.php:450
msgid "Saved Bookmarks"
msgstr ""
-#: ../../include/conversation.php:1893 ../../include/nav.php:461
+#: ../../include/conversation.php:1896 ../../include/nav.php:461
msgid "View Cards"
msgstr ""
-#: ../../include/conversation.php:1901
+#: ../../include/conversation.php:1904
msgid "articles"
msgstr ""
-#: ../../include/conversation.php:1904 ../../include/nav.php:472
+#: ../../include/conversation.php:1907 ../../include/nav.php:472
msgid "View Articles"
msgstr ""
-#: ../../include/conversation.php:1915 ../../include/nav.php:484
+#: ../../include/conversation.php:1918 ../../include/nav.php:484
msgid "View Webpages"
msgstr ""
-#: ../../include/conversation.php:1984
+#: ../../include/conversation.php:1987
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1987
+#: ../../include/conversation.php:1990
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1990
+#: ../../include/conversation.php:1993
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1993
+#: ../../include/conversation.php:1996
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1996
+#: ../../include/conversation.php:1999
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1999
+#: ../../include/conversation.php:2002
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
@@ -12100,12 +12275,16 @@ msgstr ""
msgid "%1$s's bookmarks"
msgstr ""
-#: ../../include/import.php:41
+#: ../../include/import.php:25
+msgid "Unable to import a removed channel."
+msgstr ""
+
+#: ../../include/import.php:46
msgid ""
"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../include/import.php:106
+#: ../../include/import.php:111
msgid "Cloned channel not found. Import failed."
msgstr ""
@@ -12350,7 +12529,7 @@ msgstr ""
msgid "Unknown Attachment"
msgstr ""
-#: ../../include/text.php:1434 ../../include/feedutils.php:852
+#: ../../include/text.php:1434 ../../include/feedutils.php:860
msgid "unknown"
msgstr ""
@@ -12366,107 +12545,107 @@ msgstr ""
msgid "Download binary/encrypted content"
msgstr ""
-#: ../../include/text.php:1848 ../../include/language.php:397
+#: ../../include/text.php:1849 ../../include/language.php:397
msgid "default"
msgstr ""
-#: ../../include/text.php:1856
+#: ../../include/text.php:1857
msgid "Page layout"
msgstr ""
-#: ../../include/text.php:1856
+#: ../../include/text.php:1857
msgid "You can create your own with the layouts tool"
msgstr ""
-#: ../../include/text.php:1867
+#: ../../include/text.php:1868
msgid "HTML"
msgstr ""
-#: ../../include/text.php:1870
+#: ../../include/text.php:1871
msgid "Comanche Layout"
msgstr ""
-#: ../../include/text.php:1875
+#: ../../include/text.php:1876
msgid "PHP"
msgstr ""
-#: ../../include/text.php:1884
+#: ../../include/text.php:1885
msgid "Page content type"
msgstr ""
-#: ../../include/text.php:2017
+#: ../../include/text.php:2018
msgid "activity"
msgstr ""
-#: ../../include/text.php:2099
+#: ../../include/text.php:2100
msgid "a-z, 0-9, -, and _ only"
msgstr ""
-#: ../../include/text.php:2399
+#: ../../include/text.php:2419
msgid "Design Tools"
msgstr ""
-#: ../../include/text.php:2405
+#: ../../include/text.php:2425
msgid "Pages"
msgstr ""
-#: ../../include/text.php:2427
+#: ../../include/text.php:2447
msgid "Import website..."
msgstr ""
-#: ../../include/text.php:2428
+#: ../../include/text.php:2448
msgid "Select folder to import"
msgstr ""
-#: ../../include/text.php:2429
+#: ../../include/text.php:2449
msgid "Import from a zipped folder:"
msgstr ""
-#: ../../include/text.php:2430
+#: ../../include/text.php:2450
msgid "Import from cloud files:"
msgstr ""
-#: ../../include/text.php:2431
+#: ../../include/text.php:2451
msgid "/cloud/channel/path/to/folder"
msgstr ""
-#: ../../include/text.php:2432
+#: ../../include/text.php:2452
msgid "Enter path to website files"
msgstr ""
-#: ../../include/text.php:2433
+#: ../../include/text.php:2453
msgid "Select folder"
msgstr ""
-#: ../../include/text.php:2434
+#: ../../include/text.php:2454
msgid "Export website..."
msgstr ""
-#: ../../include/text.php:2435
+#: ../../include/text.php:2455
msgid "Export to a zip file"
msgstr ""
-#: ../../include/text.php:2436
+#: ../../include/text.php:2456
msgid "website.zip"
msgstr ""
-#: ../../include/text.php:2437
+#: ../../include/text.php:2457
msgid "Enter a name for the zip file."
msgstr ""
-#: ../../include/text.php:2438
+#: ../../include/text.php:2458
msgid "Export to cloud files"
msgstr ""
-#: ../../include/text.php:2439
+#: ../../include/text.php:2459
msgid "/path/to/export/folder"
msgstr ""
-#: ../../include/text.php:2440
+#: ../../include/text.php:2460
msgid "Enter a path to a cloud files destination."
msgstr ""
-#: ../../include/text.php:2441
+#: ../../include/text.php:2461
msgid "Specify folder"
msgstr ""
@@ -12514,7 +12693,7 @@ msgstr ""
msgid "View all %d common connections"
msgstr ""
-#: ../../include/markdown.php:158 ../../include/bbcode.php:343
+#: ../../include/markdown.php:158 ../../include/bbcode.php:356
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
@@ -12531,23 +12710,27 @@ msgstr ""
msgid "Response from remote channel was incomplete."
msgstr ""
-#: ../../include/follow.php:101
+#: ../../include/follow.php:96
+msgid "Premium channel - please visit:"
+msgstr ""
+
+#: ../../include/follow.php:110
msgid "Channel was deleted and no longer exists."
msgstr ""
-#: ../../include/follow.php:156
+#: ../../include/follow.php:165
msgid "Remote channel or protocol unavailable."
msgstr ""
-#: ../../include/follow.php:179
+#: ../../include/follow.php:188
msgid "Channel discovery failed."
msgstr ""
-#: ../../include/follow.php:191
+#: ../../include/follow.php:200
msgid "Protocol disabled."
msgstr ""
-#: ../../include/follow.php:202
+#: ../../include/follow.php:211
msgid "Cannot connect to yourself."
msgstr ""
@@ -12867,39 +13050,39 @@ msgstr ""
msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/attach.php:959
+#: ../../include/attach.php:969
msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/attach.php:1033 ../../include/attach.php:1049
+#: ../../include/attach.php:1043 ../../include/attach.php:1059
msgid "Path not available."
msgstr ""
-#: ../../include/attach.php:1098 ../../include/attach.php:1263
+#: ../../include/attach.php:1108 ../../include/attach.php:1273
msgid "Empty pathname"
msgstr ""
-#: ../../include/attach.php:1124
+#: ../../include/attach.php:1134
msgid "duplicate filename or path"
msgstr ""
-#: ../../include/attach.php:1149
+#: ../../include/attach.php:1159
msgid "Path not found."
msgstr ""
-#: ../../include/attach.php:1217
+#: ../../include/attach.php:1227
msgid "mkdir failed."
msgstr ""
-#: ../../include/attach.php:1221
+#: ../../include/attach.php:1231
msgid "database storage failed."
msgstr ""
-#: ../../include/attach.php:1269
+#: ../../include/attach.php:1279
msgid "Empty path"
msgstr ""
-#: ../../include/security.php:532
+#: ../../include/security.php:541
msgid ""
"The form security token was not correct. This probably happened because the "
"form has been opened for too long (>3 hours) before submitting it."
@@ -12909,67 +13092,67 @@ msgstr ""
msgid "(Unknown)"
msgstr ""
-#: ../../include/items.php:1129
+#: ../../include/items.php:1133
msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/items.php:1131
+#: ../../include/items.php:1135
msgid "Visible to you only."
msgstr ""
-#: ../../include/items.php:1133
+#: ../../include/items.php:1137
msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/items.php:1135
+#: ../../include/items.php:1139
msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/items.php:1137
+#: ../../include/items.php:1141
#, php-format
msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/items.php:1139
+#: ../../include/items.php:1143
msgid "Visible to all connections."
msgstr ""
-#: ../../include/items.php:1141
+#: ../../include/items.php:1145
msgid "Visible to approved connections."
msgstr ""
-#: ../../include/items.php:1143
+#: ../../include/items.php:1147
msgid "Visible to specific connections."
msgstr ""
-#: ../../include/items.php:4147
+#: ../../include/items.php:4197
msgid "Privacy group is empty."
msgstr ""
-#: ../../include/items.php:4154
+#: ../../include/items.php:4204
#, php-format
msgid "Privacy group: %s"
msgstr ""
-#: ../../include/items.php:4166
+#: ../../include/items.php:4216
msgid "Connection not found."
msgstr ""
-#: ../../include/items.php:4515
+#: ../../include/items.php:4565
msgid "profile photo"
msgstr ""
-#: ../../include/items.php:4706
+#: ../../include/items.php:4756
#, php-format
msgid "[Edited %s]"
msgstr ""
-#: ../../include/items.php:4706
+#: ../../include/items.php:4756
msgctxt "edit_activity"
msgid "Post"
msgstr ""
-#: ../../include/items.php:4706
+#: ../../include/items.php:4756
msgctxt "edit_activity"
msgid "Comment"
msgstr ""
@@ -13006,120 +13189,120 @@ msgstr ""
msgid "Unable to retrieve modified identity"
msgstr ""
-#: ../../include/channel.php:1298
+#: ../../include/channel.php:1297
msgid "Create New Profile"
msgstr ""
-#: ../../include/channel.php:1319
+#: ../../include/channel.php:1318
msgid "Visible to everybody"
msgstr ""
-#: ../../include/channel.php:1396 ../../include/channel.php:1524
+#: ../../include/channel.php:1395 ../../include/channel.php:1523
msgid "Gender:"
msgstr ""
-#: ../../include/channel.php:1398 ../../include/channel.php:1579
+#: ../../include/channel.php:1397 ../../include/channel.php:1591
msgid "Homepage:"
msgstr ""
-#: ../../include/channel.php:1399
+#: ../../include/channel.php:1398
msgid "Online Now"
msgstr ""
-#: ../../include/channel.php:1452
+#: ../../include/channel.php:1451
msgid "Change your profile photo"
msgstr ""
-#: ../../include/channel.php:1483
+#: ../../include/channel.php:1482
msgid "Trans"
msgstr ""
-#: ../../include/channel.php:1529
+#: ../../include/channel.php:1528
msgid "Like this channel"
msgstr ""
-#: ../../include/channel.php:1553
+#: ../../include/channel.php:1552
msgid "j F, Y"
msgstr ""
-#: ../../include/channel.php:1554
+#: ../../include/channel.php:1553
msgid "j F"
msgstr ""
-#: ../../include/channel.php:1561
+#: ../../include/channel.php:1560
msgid "Birthday:"
msgstr ""
-#: ../../include/channel.php:1574
+#: ../../include/channel.php:1573
#, php-format
msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/channel.php:1577
-msgid "Sexual Preference:"
+#: ../../include/channel.php:1585
+msgid "Tags:"
msgstr ""
-#: ../../include/channel.php:1583
-msgid "Tags:"
+#: ../../include/channel.php:1589
+msgid "Sexual Preference:"
msgstr ""
-#: ../../include/channel.php:1585
+#: ../../include/channel.php:1595
msgid "Political Views:"
msgstr ""
-#: ../../include/channel.php:1587
+#: ../../include/channel.php:1597
msgid "Religion:"
msgstr ""
-#: ../../include/channel.php:1591
+#: ../../include/channel.php:1601
msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/channel.php:1593
+#: ../../include/channel.php:1603
msgid "Likes:"
msgstr ""
-#: ../../include/channel.php:1595
+#: ../../include/channel.php:1605
msgid "Dislikes:"
msgstr ""
-#: ../../include/channel.php:1597
+#: ../../include/channel.php:1607
msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/channel.php:1599
+#: ../../include/channel.php:1609
msgid "My other channels:"
msgstr ""
-#: ../../include/channel.php:1601
+#: ../../include/channel.php:1611
msgid "Musical interests:"
msgstr ""
-#: ../../include/channel.php:1603
+#: ../../include/channel.php:1613
msgid "Books, literature:"
msgstr ""
-#: ../../include/channel.php:1605
+#: ../../include/channel.php:1615
msgid "Television:"
msgstr ""
-#: ../../include/channel.php:1607
+#: ../../include/channel.php:1617
msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/channel.php:1609
+#: ../../include/channel.php:1619
msgid "Love/Romance:"
msgstr ""
-#: ../../include/channel.php:1611
+#: ../../include/channel.php:1621
msgid "Work/employment:"
msgstr ""
-#: ../../include/channel.php:1613
+#: ../../include/channel.php:1623
msgid "School/education:"
msgstr ""
-#: ../../include/channel.php:1636
+#: ../../include/channel.php:1646
msgid "Like this thing"
msgstr ""
@@ -13159,19 +13342,19 @@ msgstr ""
msgid "Cancelled"
msgstr ""
-#: ../../include/event.php:1310 ../../include/connections.php:684
+#: ../../include/event.php:1310 ../../include/connections.php:692
msgid "Home, Voice"
msgstr ""
-#: ../../include/event.php:1311 ../../include/connections.php:685
+#: ../../include/event.php:1311 ../../include/connections.php:693
msgid "Home, Fax"
msgstr ""
-#: ../../include/event.php:1313 ../../include/connections.php:687
+#: ../../include/event.php:1313 ../../include/connections.php:695
msgid "Work, Voice"
msgstr ""
-#: ../../include/event.php:1314 ../../include/connections.php:688
+#: ../../include/event.php:1314 ../../include/connections.php:696
msgid "Work, Fax"
msgstr ""
@@ -13179,43 +13362,43 @@ msgstr ""
msgid "view full size"
msgstr ""
-#: ../../include/network.php:1769 ../../include/network.php:1770
+#: ../../include/network.php:1763 ../../include/network.php:1764
msgid "Friendica"
msgstr ""
-#: ../../include/network.php:1771
+#: ../../include/network.php:1765
msgid "OStatus"
msgstr ""
-#: ../../include/network.php:1772
+#: ../../include/network.php:1766
msgid "GNU-Social"
msgstr ""
-#: ../../include/network.php:1773
+#: ../../include/network.php:1767
msgid "RSS/Atom"
msgstr ""
-#: ../../include/network.php:1776
+#: ../../include/network.php:1770
msgid "Diaspora"
msgstr ""
-#: ../../include/network.php:1777
+#: ../../include/network.php:1771
msgid "Facebook"
msgstr ""
-#: ../../include/network.php:1778
+#: ../../include/network.php:1772
msgid "Zot"
msgstr ""
-#: ../../include/network.php:1779
+#: ../../include/network.php:1773
msgid "LinkedIn"
msgstr ""
-#: ../../include/network.php:1780
+#: ../../include/network.php:1774
msgid "XMPP/IM"
msgstr ""
-#: ../../include/network.php:1781
+#: ../../include/network.php:1775
msgid "MySpace"
msgstr ""
@@ -13257,17 +13440,17 @@ msgstr ""
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/bbcode.php:198 ../../include/bbcode.php:1151
-#: ../../include/bbcode.php:1154 ../../include/bbcode.php:1159
-#: ../../include/bbcode.php:1162 ../../include/bbcode.php:1165
-#: ../../include/bbcode.php:1168 ../../include/bbcode.php:1173
-#: ../../include/bbcode.php:1176 ../../include/bbcode.php:1181
-#: ../../include/bbcode.php:1184 ../../include/bbcode.php:1187
-#: ../../include/bbcode.php:1190
+#: ../../include/bbcode.php:198 ../../include/bbcode.php:1200
+#: ../../include/bbcode.php:1203 ../../include/bbcode.php:1208
+#: ../../include/bbcode.php:1211 ../../include/bbcode.php:1214
+#: ../../include/bbcode.php:1217 ../../include/bbcode.php:1222
+#: ../../include/bbcode.php:1225 ../../include/bbcode.php:1230
+#: ../../include/bbcode.php:1233 ../../include/bbcode.php:1236
+#: ../../include/bbcode.php:1239
msgid "Image/photo"
msgstr ""
-#: ../../include/bbcode.php:237 ../../include/bbcode.php:1201
+#: ../../include/bbcode.php:237 ../../include/bbcode.php:1250
msgid "Encrypted content"
msgstr ""
@@ -13283,565 +13466,587 @@ msgid ""
"to install it on this site."
msgstr ""
-#: ../../include/bbcode.php:335
+#: ../../include/bbcode.php:348
msgid "card"
msgstr ""
-#: ../../include/bbcode.php:337
+#: ../../include/bbcode.php:350
msgid "article"
msgstr ""
-#: ../../include/bbcode.php:420 ../../include/bbcode.php:428
+#: ../../include/bbcode.php:433 ../../include/bbcode.php:441
msgid "Click to open/close"
msgstr ""
-#: ../../include/bbcode.php:428
+#: ../../include/bbcode.php:441
msgid "spoiler"
msgstr ""
-#: ../../include/bbcode.php:441
+#: ../../include/bbcode.php:454
msgid "View article"
msgstr ""
-#: ../../include/bbcode.php:441
+#: ../../include/bbcode.php:454
msgid "View summary"
msgstr ""
-#: ../../include/bbcode.php:1139
+#: ../../include/bbcode.php:1188
msgid "$1 wrote:"
msgstr ""
-#: ../../include/oembed.php:328
+#: ../../include/oembed.php:329
msgid " by "
msgstr ""
-#: ../../include/oembed.php:329
+#: ../../include/oembed.php:330
msgid " on "
msgstr ""
-#: ../../include/oembed.php:358
+#: ../../include/oembed.php:359
msgid "Embedded content"
msgstr ""
-#: ../../include/oembed.php:367
+#: ../../include/oembed.php:368
msgid "Embedding disabled"
msgstr ""
-#: ../../include/zid.php:346
+#: ../../include/zid.php:347
#, php-format
msgid "OpenWebAuth: %1$s welcomes %2$s"
msgstr ""
-#: ../../include/features.php:54
+#: ../../include/features.php:56
msgid "General Features"
msgstr ""
-#: ../../include/features.php:60
+#: ../../include/features.php:61
+msgid "Display new member quick links menu"
+msgstr ""
+
+#: ../../include/features.php:69
msgid "Advanced Profiles"
msgstr ""
-#: ../../include/features.php:61
+#: ../../include/features.php:70
msgid "Additional profile sections and selections"
msgstr ""
-#: ../../include/features.php:69
+#: ../../include/features.php:78
msgid "Profile Import/Export"
msgstr ""
-#: ../../include/features.php:70
+#: ../../include/features.php:79
msgid "Save and load profile details across sites/channels"
msgstr ""
-#: ../../include/features.php:78
+#: ../../include/features.php:87
msgid "Web Pages"
msgstr ""
-#: ../../include/features.php:79
+#: ../../include/features.php:88
msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../include/features.php:88
+#: ../../include/features.php:97
msgid "Provide a wiki for your channel"
msgstr ""
-#: ../../include/features.php:105
+#: ../../include/features.php:114
msgid "Private Notes"
msgstr ""
-#: ../../include/features.php:106
+#: ../../include/features.php:115
msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr ""
-#: ../../include/features.php:115
+#: ../../include/features.php:124
msgid "Create personal planning cards"
msgstr ""
-#: ../../include/features.php:125
+#: ../../include/features.php:134
msgid "Create interactive articles"
msgstr ""
-#: ../../include/features.php:133
+#: ../../include/features.php:142
msgid "Navigation Channel Select"
msgstr ""
-#: ../../include/features.php:134
+#: ../../include/features.php:143
msgid "Change channels directly from within the navigation dropdown menu"
msgstr ""
-#: ../../include/features.php:142
+#: ../../include/features.php:151
msgid "Photo Location"
msgstr ""
-#: ../../include/features.php:143
+#: ../../include/features.php:152
msgid "If location data is available on uploaded photos, link this to a map."
msgstr ""
-#: ../../include/features.php:151
+#: ../../include/features.php:160
msgid "Access Controlled Chatrooms"
msgstr ""
-#: ../../include/features.php:152
+#: ../../include/features.php:161
msgid "Provide chatrooms and chat services with access control."
msgstr ""
-#: ../../include/features.php:161
+#: ../../include/features.php:170
msgid "Smart Birthdays"
msgstr ""
-#: ../../include/features.php:162
+#: ../../include/features.php:171
msgid ""
"Make birthday events timezone aware in case your friends are scattered "
"across the planet."
msgstr ""
-#: ../../include/features.php:170
+#: ../../include/features.php:179
msgid "Event Timezone Selection"
msgstr ""
-#: ../../include/features.php:171
+#: ../../include/features.php:180
msgid "Allow event creation in timezones other than your own."
msgstr ""
-#: ../../include/features.php:180
+#: ../../include/features.php:189
msgid "Premium Channel"
msgstr ""
-#: ../../include/features.php:181
+#: ../../include/features.php:190
msgid ""
"Allows you to set restrictions and terms on those that connect with your "
"channel"
msgstr ""
-#: ../../include/features.php:189
+#: ../../include/features.php:198
msgid "Advanced Directory Search"
msgstr ""
-#: ../../include/features.php:190
+#: ../../include/features.php:199
msgid "Allows creation of complex directory search queries"
msgstr ""
-#: ../../include/features.php:198
+#: ../../include/features.php:207
msgid "Advanced Theme and Layout Settings"
msgstr ""
-#: ../../include/features.php:199
+#: ../../include/features.php:208
msgid "Allows fine tuning of themes and page layouts"
msgstr ""
-#: ../../include/features.php:208
+#: ../../include/features.php:217
msgid "Access Control and Permissions"
msgstr ""
-#: ../../include/features.php:212 ../../include/group.php:328
+#: ../../include/features.php:221 ../../include/group.php:328
msgid "Privacy Groups"
msgstr ""
-#: ../../include/features.php:213
+#: ../../include/features.php:222
msgid "Enable management and selection of privacy groups"
msgstr ""
-#: ../../include/features.php:221
+#: ../../include/features.php:230
msgid "Multiple Profiles"
msgstr ""
-#: ../../include/features.php:222
+#: ../../include/features.php:231
msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../include/features.php:232
+#: ../../include/features.php:241
msgid "Provide alternate connection permission roles."
msgstr ""
-#: ../../include/features.php:240
-msgid "OAuth Clients"
+#: ../../include/features.php:249
+msgid "OAuth1 Clients"
msgstr ""
-#: ../../include/features.php:241
-msgid "Manage authenticatication tokens for mobile and remote apps."
+#: ../../include/features.php:250
+msgid "Manage OAuth1 authenticatication tokens for mobile and remote apps."
msgstr ""
-#: ../../include/features.php:249
+#: ../../include/features.php:258
+msgid "OAuth2 Clients"
+msgstr ""
+
+#: ../../include/features.php:259
+msgid "Manage OAuth2 authenticatication tokens for mobile and remote apps."
+msgstr ""
+
+#: ../../include/features.php:267
msgid "Access Tokens"
msgstr ""
-#: ../../include/features.php:250
+#: ../../include/features.php:268
msgid "Create access tokens so that non-members can access private content."
msgstr ""
-#: ../../include/features.php:261
+#: ../../include/features.php:279
msgid "Post Composition Features"
msgstr ""
-#: ../../include/features.php:265
+#: ../../include/features.php:283
msgid "Large Photos"
msgstr ""
-#: ../../include/features.php:266
+#: ../../include/features.php:284
msgid ""
"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
"(640px) photo thumbnails"
msgstr ""
-#: ../../include/features.php:275
+#: ../../include/features.php:293
msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../include/features.php:283
+#: ../../include/features.php:301
msgid "Even More Encryption"
msgstr ""
-#: ../../include/features.php:284
+#: ../../include/features.php:302
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../include/features.php:292
+#: ../../include/features.php:310
msgid "Enable Voting Tools"
msgstr ""
-#: ../../include/features.php:293
+#: ../../include/features.php:311
msgid "Provide a class of post which others can vote on"
msgstr ""
-#: ../../include/features.php:301
+#: ../../include/features.php:319
msgid "Disable Comments"
msgstr ""
-#: ../../include/features.php:302
+#: ../../include/features.php:320
msgid "Provide the option to disable comments for a post"
msgstr ""
-#: ../../include/features.php:310
+#: ../../include/features.php:328
msgid "Delayed Posting"
msgstr ""
-#: ../../include/features.php:311
+#: ../../include/features.php:329
msgid "Allow posts to be published at a later date"
msgstr ""
-#: ../../include/features.php:319
+#: ../../include/features.php:337
msgid "Content Expiration"
msgstr ""
-#: ../../include/features.php:320
+#: ../../include/features.php:338
msgid "Remove posts/comments and/or private messages at a future time"
msgstr ""
-#: ../../include/features.php:328
+#: ../../include/features.php:346
msgid "Suppress Duplicate Posts/Comments"
msgstr ""
-#: ../../include/features.php:329
+#: ../../include/features.php:347
msgid ""
"Prevent posts with identical content to be published with less than two "
"minutes in between submissions."
msgstr ""
-#: ../../include/features.php:340
+#: ../../include/features.php:355
+msgid "Auto-save drafts of posts and comments"
+msgstr ""
+
+#: ../../include/features.php:356
+msgid ""
+"Automatically saves post and comment drafts in local browser storage to help "
+"prevent accidental loss of compositions"
+msgstr ""
+
+#: ../../include/features.php:367
msgid "Network and Stream Filtering"
msgstr ""
-#: ../../include/features.php:344
+#: ../../include/features.php:371
msgid "Search by Date"
msgstr ""
-#: ../../include/features.php:345
+#: ../../include/features.php:372
msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../include/features.php:355
+#: ../../include/features.php:382
msgid "Save search terms for re-use"
msgstr ""
-#: ../../include/features.php:363
+#: ../../include/features.php:390
msgid "Network Personal Tab"
msgstr ""
-#: ../../include/features.php:364
+#: ../../include/features.php:391
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../include/features.php:372
+#: ../../include/features.php:399
msgid "Network New Tab"
msgstr ""
-#: ../../include/features.php:373
+#: ../../include/features.php:400
msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../include/features.php:381
+#: ../../include/features.php:408
msgid "Affinity Tool"
msgstr ""
-#: ../../include/features.php:382
+#: ../../include/features.php:409
msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../include/features.php:391
+#: ../../include/features.php:418
msgid "Show friend and connection suggestions"
msgstr ""
-#: ../../include/features.php:399
+#: ../../include/features.php:426
msgid "Connection Filtering"
msgstr ""
-#: ../../include/features.php:400
+#: ../../include/features.php:427
msgid "Filter incoming posts from connections based on keywords/content"
msgstr ""
-#: ../../include/features.php:412
+#: ../../include/features.php:439
msgid "Post/Comment Tools"
msgstr ""
-#: ../../include/features.php:416
+#: ../../include/features.php:443
msgid "Community Tagging"
msgstr ""
-#: ../../include/features.php:417
+#: ../../include/features.php:444
msgid "Ability to tag existing posts"
msgstr ""
-#: ../../include/features.php:425
+#: ../../include/features.php:452
msgid "Post Categories"
msgstr ""
-#: ../../include/features.php:426
+#: ../../include/features.php:453
msgid "Add categories to your posts"
msgstr ""
-#: ../../include/features.php:434
+#: ../../include/features.php:461
msgid "Emoji Reactions"
msgstr ""
-#: ../../include/features.php:435
+#: ../../include/features.php:462
msgid "Add emoji reaction ability to posts"
msgstr ""
-#: ../../include/features.php:444
+#: ../../include/features.php:471
msgid "Ability to file posts under folders"
msgstr ""
-#: ../../include/features.php:452
+#: ../../include/features.php:479
msgid "Dislike Posts"
msgstr ""
-#: ../../include/features.php:453
+#: ../../include/features.php:480
msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../include/features.php:461
+#: ../../include/features.php:488
msgid "Star Posts"
msgstr ""
-#: ../../include/features.php:462
+#: ../../include/features.php:489
msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../include/features.php:470
+#: ../../include/features.php:497
msgid "Tag Cloud"
msgstr ""
-#: ../../include/features.php:471
+#: ../../include/features.php:498
msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../include/taxonomy.php:384 ../../include/taxonomy.php:405
-msgid "Tags"
+#: ../../include/taxonomy.php:319
+msgid "Trending"
msgstr ""
-#: ../../include/taxonomy.php:487
+#: ../../include/taxonomy.php:551
msgid "Keywords"
msgstr ""
-#: ../../include/taxonomy.php:508
+#: ../../include/taxonomy.php:572
msgid "have"
msgstr ""
-#: ../../include/taxonomy.php:508
+#: ../../include/taxonomy.php:572
msgid "has"
msgstr ""
-#: ../../include/taxonomy.php:509
+#: ../../include/taxonomy.php:573
msgid "want"
msgstr ""
-#: ../../include/taxonomy.php:509
+#: ../../include/taxonomy.php:573
msgid "wants"
msgstr ""
-#: ../../include/taxonomy.php:510
+#: ../../include/taxonomy.php:574
msgid "likes"
msgstr ""
-#: ../../include/taxonomy.php:511
+#: ../../include/taxonomy.php:575
msgid "dislikes"
msgstr ""
-#: ../../include/account.php:35
+#: ../../include/account.php:36
msgid "Not a valid email address"
msgstr ""
-#: ../../include/account.php:37
+#: ../../include/account.php:38
msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../include/account.php:43
+#: ../../include/account.php:44
msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../include/account.php:75
+#: ../../include/account.php:76
msgid "An invitation is required."
msgstr ""
-#: ../../include/account.php:79
+#: ../../include/account.php:80
msgid "Invitation could not be verified."
msgstr ""
-#: ../../include/account.php:157
+#: ../../include/account.php:158
msgid "Please enter the required information."
msgstr ""
-#: ../../include/account.php:224
+#: ../../include/account.php:225
msgid "Failed to store account information."
msgstr ""
-#: ../../include/account.php:313
+#: ../../include/account.php:314
#, php-format
msgid "Registration confirmation for %s"
msgstr ""
-#: ../../include/account.php:382
+#: ../../include/account.php:383
#, php-format
msgid "Registration request at %s"
msgstr ""
-#: ../../include/account.php:404
+#: ../../include/account.php:405
msgid "your registration password"
msgstr ""
-#: ../../include/account.php:410 ../../include/account.php:472
+#: ../../include/account.php:411 ../../include/account.php:473
#, php-format
msgid "Registration details for %s"
msgstr ""
-#: ../../include/account.php:483
+#: ../../include/account.php:484
msgid "Account approved."
msgstr ""
-#: ../../include/account.php:523
+#: ../../include/account.php:524
#, php-format
msgid "Registration revoked for %s"
msgstr ""
-#: ../../include/account.php:802 ../../include/account.php:804
+#: ../../include/account.php:803 ../../include/account.php:805
msgid "Click here to upgrade."
msgstr ""
-#: ../../include/account.php:810
+#: ../../include/account.php:811
msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../include/account.php:815
+#: ../../include/account.php:816
msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/datetime.php:134
+#: ../../include/datetime.php:140
msgid "Birthday"
msgstr ""
-#: ../../include/datetime.php:134
+#: ../../include/datetime.php:140
msgid "Age: "
msgstr ""
-#: ../../include/datetime.php:134
+#: ../../include/datetime.php:140
msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/datetime.php:238
+#: ../../include/datetime.php:244
msgid "less than a second ago"
msgstr ""
-#: ../../include/datetime.php:256
+#: ../../include/datetime.php:262
#, php-format
msgctxt "e.g. 22 hours ago, 1 minute ago"
msgid "%1$d %2$s ago"
msgstr ""
-#: ../../include/datetime.php:267
+#: ../../include/datetime.php:273
msgctxt "relative_date"
msgid "year"
msgid_plural "years"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/datetime.php:270
+#: ../../include/datetime.php:276
msgctxt "relative_date"
msgid "month"
msgid_plural "months"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/datetime.php:273
+#: ../../include/datetime.php:279
msgctxt "relative_date"
msgid "week"
msgid_plural "weeks"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/datetime.php:276
+#: ../../include/datetime.php:282
msgctxt "relative_date"
msgid "day"
msgid_plural "days"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/datetime.php:279
+#: ../../include/datetime.php:285
msgctxt "relative_date"
msgid "hour"
msgid_plural "hours"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/datetime.php:282
+#: ../../include/datetime.php:288
msgctxt "relative_date"
msgid "minute"
msgid_plural "minutes"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/datetime.php:285
+#: ../../include/datetime.php:291
msgctxt "relative_date"
msgid "second"
msgid_plural "seconds"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/datetime.php:514
+#: ../../include/datetime.php:520
#, php-format
msgid "%1$s's birthday"
msgstr ""
-#: ../../include/datetime.php:515
+#: ../../include/datetime.php:521
#, php-format
msgid "Happy Birthday %1$s"
msgstr ""
@@ -13895,7 +14100,7 @@ msgid "Help and documentation"
msgstr ""
#: ../../include/nav.php:179
-msgid "Search site @name, #tag, ?docs, content"
+msgid "Search site @name, !forum, #tag, ?docs, content"
msgstr ""
#: ../../include/nav.php:199
@@ -13903,7 +14108,7 @@ msgid "Site Setup and Configuration"
msgstr ""
#: ../../include/nav.php:290
-msgid "@name, #tag, ?doc, content"
+msgid "@name, !forum, #tag, ?doc, content"
msgstr ""
#: ../../include/nav.php:291
@@ -13935,34 +14140,34 @@ msgstr ""
msgid "Photo storage failed."
msgstr ""
-#: ../../include/photos.php:364
+#: ../../include/photos.php:371
msgid "a new photo"
msgstr ""
-#: ../../include/photos.php:368
+#: ../../include/photos.php:375
#, php-format
msgctxt "photo_upload"
msgid "%1$s posted %2$s to %3$s"
msgstr ""
-#: ../../include/photos.php:660
+#: ../../include/photos.php:667
msgid "Upload New Photos"
msgstr ""
-#: ../../include/zot.php:767
+#: ../../include/zot.php:772
msgid "Invalid data packet"
msgstr ""
-#: ../../include/zot.php:794
+#: ../../include/zot.php:799
msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/zot.php:2529
+#: ../../include/zot.php:2552
#, php-format
msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/zot.php:4180
+#: ../../include/zot.php:4217
msgid "invalid target signature"
msgstr ""
@@ -13993,23 +14198,27 @@ msgstr ""
msgid "Channels not in any privacy group"
msgstr ""
-#: ../../include/connections.php:128
+#: ../../include/connections.php:133
msgid "New window"
msgstr ""
-#: ../../include/connections.php:129
+#: ../../include/connections.php:134
msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../include/auth.php:148
+#: ../../include/auth.php:152
+msgid "Delegation session ended."
+msgstr ""
+
+#: ../../include/auth.php:156
msgid "Logged out."
msgstr ""
-#: ../../include/auth.php:263
+#: ../../include/auth.php:273
msgid "Email validation is incomplete. Please check your email."
msgstr ""
-#: ../../include/auth.php:279
+#: ../../include/auth.php:289
msgid "Failed authentication"
msgstr ""
diff --git a/vendor/commerceguys/intl/.travis.yml b/vendor/commerceguys/intl/.travis.yml
new file mode 100644
index 000000000..20bf1805d
--- /dev/null
+++ b/vendor/commerceguys/intl/.travis.yml
@@ -0,0 +1,14 @@
+language: php
+
+php:
+ - 5.4
+ - 5.5
+ - 5.6
+ - hhvm
+
+install:
+ - composer self-update
+ - composer install
+
+script:
+ - ./vendor/bin/phpunit -c ./phpunit.xml --coverage-text --strict
diff --git a/vendor/commerceguys/intl/resources/country/af.json b/vendor/commerceguys/intl/resources/country/af.json
index 0e039f26c..66002168c 100644
--- a/vendor/commerceguys/intl/resources/country/af.json
+++ b/vendor/commerceguys/intl/resources/country/af.json
@@ -12,10 +12,7 @@
"name": "Algerië"
},
"AS": {
- "name": "Amerikaans-Samoa"
- },
- "VI": {
- "name": "Amerikaanse Maagde-eilande"
+ "name": "Amerikaanse Samoa"
},
"AD": {
"name": "Andorra"
@@ -333,16 +330,19 @@
"name": "Kerseiland"
},
"KG": {
- "name": "Kirgisië"
+ "name": "Kirgistan"
},
"KI": {
"name": "Kiribati"
},
+ "UM": {
+ "name": "Klein afgeleë eilande van die VSA"
+ },
"KW": {
"name": "Koeweit"
},
"CC": {
- "name": "Kokos-eilande"
+ "name": "Kokoseilande"
},
"CG": {
"name": "Kongo - Brazzaville"
@@ -593,9 +593,24 @@
"SH": {
"name": "Sint Helena"
},
+ "KN": {
+ "name": "Sint Kitts en Nevis"
+ },
+ "LC": {
+ "name": "Sint Lucia"
+ },
"SX": {
"name": "Sint Maarten"
},
+ "MF": {
+ "name": "Sint Martin"
+ },
+ "PM": {
+ "name": "Sint Pierre en Miquelon"
+ },
+ "VC": {
+ "name": "Sint Vincent en die Grenadine"
+ },
"CY": {
"name": "Siprus"
},
@@ -623,21 +638,6 @@
"LK": {
"name": "Sri Lanka"
},
- "KN": {
- "name": "St. Kitts en Nevis"
- },
- "LC": {
- "name": "St. Lucia"
- },
- "MF": {
- "name": "St. Martin"
- },
- "PM": {
- "name": "St. Pierre en Miquelon"
- },
- "VC": {
- "name": "St. Vincent en die Grenadine"
- },
"ZA": {
"name": "Suid-Afrika"
},
@@ -677,9 +677,6 @@
"TH": {
"name": "Thailand"
},
- "CZ": {
- "name": "Tjeggiese Republiek"
- },
"TG": {
"name": "Togo"
},
@@ -698,11 +695,14 @@
"TD": {
"name": "Tsjad"
},
+ "CZ": {
+ "name": "Tsjeggië"
+ },
"TN": {
"name": "Tunisië"
},
"TM": {
- "name": "Turkmenië"
+ "name": "Turkmenistan"
},
"TC": {
"name": "Turks- en Caicoseilande"
@@ -740,8 +740,8 @@
"VN": {
"name": "Viëtnam"
},
- "UM": {
- "name": "VS klein omliggende eilande"
+ "VI": {
+ "name": "VSA se Maagde-eilande"
},
"WF": {
"name": "Wallis en Futuna"
diff --git a/vendor/commerceguys/intl/resources/country/am.json b/vendor/commerceguys/intl/resources/country/am.json
index c0abf4fee..591195762 100644
--- a/vendor/commerceguys/intl/resources/country/am.json
+++ b/vendor/commerceguys/intl/resources/country/am.json
@@ -116,15 +116,15 @@
"MZ": {
"name": "ሞዛáˆá‰¢áŠ­"
},
+ "RU": {
+ "name": "ሩስያ"
+ },
"RW": {
"name": "ሩዋንዳ"
},
"RE": {
"name": "ሪዩኒየን"
},
- "RU": {
- "name": "ራሽያ"
- },
"RO": {
"name": "ሮሜኒያ"
},
@@ -227,6 +227,9 @@
"PM": {
"name": "ቅዱስ á’ዬር እና ሚኩኤሎን"
},
+ "BZ": {
+ "name": "በሊá‹"
+ },
"BT": {
"name": "ቡህታን"
},
@@ -248,9 +251,6 @@
"BD": {
"name": "ባንáŒáˆ‹á‹²áˆ½"
},
- "BZ": {
- "name": "ቤሊዘ"
- },
"BY": {
"name": "ቤላሩስ"
},
@@ -342,7 +342,7 @@
"name": "ቻድ"
},
"CZ": {
- "name": "ቼክ ሪá‘ብሊክ"
+ "name": "ቼችኒያ"
},
"NU": {
"name": "ኒኡይ"
@@ -408,7 +408,7 @@
"name": "አንዶራ"
},
"AI": {
- "name": "አንጉኢላ"
+ "name": "አንጉይላ"
},
"AO": {
"name": "አንáŒáˆ‹"
@@ -467,9 +467,6 @@
"IL": {
"name": "እስራኤáˆ"
},
- "GB": {
- "name": "እንáŒáˆŠá‹"
- },
"OM": {
"name": "ኦማን"
},
@@ -525,7 +522,7 @@
"name": "ኮሞሮስ"
},
"CR": {
- "name": "ኮስታ ሪካ"
+ "name": "ኮስታሪካ"
},
"XK": {
"name": "ኮሶቮ"
@@ -617,6 +614,9 @@
"US": {
"name": "ዩናይትድ ስቴትስ"
},
+ "GB": {
+ "name": "ዩናይትድ ኪንáŒá‹°áˆ"
+ },
"UA": {
"name": "ዩክሬን"
},
@@ -641,12 +641,12 @@
"DK": {
"name": "ዴንማርክ"
},
+ "DO": {
+ "name": "ዶመኒካን ሪá‘ብሊክ"
+ },
"DM": {
"name": "ዶሚኒካ"
},
- "DO": {
- "name": "ዶሚኒክ ሪá‘ብሊክ"
- },
"DE": {
"name": "ጀርመን"
},
diff --git a/vendor/commerceguys/intl/resources/country/ar-LY.json b/vendor/commerceguys/intl/resources/country/ar-LY.json
index 6796f6d00..18e3b5468 100644
--- a/vendor/commerceguys/intl/resources/country/ar-LY.json
+++ b/vendor/commerceguys/intl/resources/country/ar-LY.json
@@ -1,4 +1,7 @@
{
+ "IS": {
+ "name": "آيسلندا"
+ },
"ET": {
"name": "إثيوبيا"
},
@@ -68,6 +71,9 @@
"BA": {
"name": "البوسنة والهرسك"
},
+ "CZ": {
+ "name": "التشيك"
+ },
"ME": {
"name": "الجبل الأسود"
},
@@ -200,9 +206,6 @@
"IE": {
"name": "أيرلندا"
},
- "IS": {
- "name": "أيسلندا"
- },
"IT": {
"name": "إيطاليا"
},
@@ -218,9 +221,6 @@
"PW": {
"name": "بالاو"
},
- "BW": {
- "name": "بتسوانا"
- },
"BB": {
"name": "بربادوس"
},
@@ -251,6 +251,9 @@
"BT": {
"name": "بوتان"
},
+ "BW": {
+ "name": "بوتسوانا"
+ },
"PR": {
"name": "بورتوريكو"
},
@@ -288,7 +291,7 @@
"name": "تركيا"
},
"TA": {
- "name": "تريستان دي كونها"
+ "name": "تريستان دا كونا"
},
"TT": {
"name": "ترينيداد وتوباغو"
@@ -387,7 +390,7 @@
"name": "جزيرة أسينشيون"
},
"CX": {
- "name": "جزيرة الكريسماس"
+ "name": "جزيرة كريسماس"
},
"IM": {
"name": "جزيرة مان"
@@ -398,9 +401,6 @@
"CF": {
"name": "جمهورية Ø£Ùريقيا الوسطى"
},
- "CZ": {
- "name": "جمهورية التشيك"
- },
"DO": {
"name": "جمهورية الدومينيكان"
},
@@ -458,12 +458,15 @@
"BL": {
"name": "سان بارتليمي"
},
+ "PM": {
+ "name": "سان بيير ومكويلون"
+ },
+ "MF": {
+ "name": "سان مارتن"
+ },
"SM": {
"name": "سان مارينو"
},
- "PM": {
- "name": "سانت بيير وميكولون"
- },
"VC": {
"name": "سانت Ùنسنت وجزر غرينادين"
},
@@ -473,11 +476,11 @@
"LC": {
"name": "سانت لوسيا"
},
- "MF": {
+ "SX": {
"name": "سانت مارتن"
},
"SH": {
- "name": "سانت هيلانة"
+ "name": "سانت هيلينا"
},
"ST": {
"name": "ساو تومي وبرينسيبي"
@@ -489,7 +492,7 @@
"name": "سريلانكا"
},
"SJ": {
- "name": "سÙالبارد وجان مايان"
+ "name": "سÙالبارد وجان ماين"
},
"SK": {
"name": "سلوÙاكيا"
@@ -518,9 +521,6 @@
"SC": {
"name": "سيشل"
},
- "SX": {
- "name": "سينت مارتن"
- },
"RS": {
"name": "صربيا"
},
@@ -756,6 +756,6 @@
"name": "هولندا الكاريبية"
},
"HK": {
- "name": "هونغ كونغ الصينية"
+ "name": "هونغ كونغ الصينية (منطقة إدارية خاصة)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ar-SA.json b/vendor/commerceguys/intl/resources/country/ar-SA.json
index c610e5e45..1c2a2ca43 100644
--- a/vendor/commerceguys/intl/resources/country/ar-SA.json
+++ b/vendor/commerceguys/intl/resources/country/ar-SA.json
@@ -1,4 +1,7 @@
{
+ "IS": {
+ "name": "آيسلندا"
+ },
"ET": {
"name": "إثيوبيا"
},
@@ -65,6 +68,9 @@
"BA": {
"name": "البوسنة والهرسك"
},
+ "CZ": {
+ "name": "التشيك"
+ },
"ME": {
"name": "الجبل الأسود"
},
@@ -197,9 +203,6 @@
"IE": {
"name": "أيرلندا"
},
- "IS": {
- "name": "أيسلندا"
- },
"IT": {
"name": "إيطاليا"
},
@@ -215,9 +218,6 @@
"PW": {
"name": "بالاو"
},
- "BW": {
- "name": "بتسوانا"
- },
"BB": {
"name": "بربادوس"
},
@@ -248,6 +248,9 @@
"BT": {
"name": "بوتان"
},
+ "BW": {
+ "name": "بوتسوانا"
+ },
"PR": {
"name": "بورتوريكو"
},
@@ -285,7 +288,7 @@
"name": "تركيا"
},
"TA": {
- "name": "تريستان دي كونها"
+ "name": "تريستان دا كونا"
},
"TT": {
"name": "ترينيداد وتوباغو"
@@ -384,10 +387,10 @@
"name": "جزر والس ÙˆÙوتونا"
},
"AC": {
- "name": "جزيرة أسينشيون"
+ "name": "جزيرة أسينشين"
},
"CX": {
- "name": "جزيرة الكريسماس"
+ "name": "جزيرة كريسماس"
},
"IM": {
"name": "جزيرة مان"
@@ -398,9 +401,6 @@
"CF": {
"name": "جمهورية Ø£Ùريقيا الوسطى"
},
- "CZ": {
- "name": "جمهورية التشيك"
- },
"DO": {
"name": "جمهورية الدومينيكان"
},
@@ -461,6 +461,9 @@
"PM": {
"name": "سان بيير وميكولون"
},
+ "MF": {
+ "name": "سان مارتن"
+ },
"SM": {
"name": "سان مارينو"
},
@@ -473,11 +476,11 @@
"LC": {
"name": "سانت لوسيا"
},
- "MF": {
+ "SX": {
"name": "سانت مارتن"
},
"SH": {
- "name": "سانت هيلانة"
+ "name": "سانت هيلينا"
},
"ST": {
"name": "ساو تومي وبرينسيبي"
@@ -489,7 +492,7 @@
"name": "سريلانكا"
},
"SJ": {
- "name": "سÙالبارد وجان مايان"
+ "name": "سÙالبارد وجان ماين"
},
"SK": {
"name": "سلوÙاكيا"
@@ -518,9 +521,6 @@
"SC": {
"name": "سيشل"
},
- "SX": {
- "name": "سينت مارتن"
- },
"RS": {
"name": "صربيا"
},
@@ -665,6 +665,9 @@
"LS": {
"name": "ليسوتو"
},
+ "MO": {
+ "name": "ماكاو الصينية (منطقة إدارية خاصة)"
+ },
"MT": {
"name": "مالطا"
},
@@ -686,9 +689,6 @@
"MK": {
"name": "مقدونيا"
},
- "MO": {
- "name": "مكاو الصينية (منطقة إدارية خاصة)"
- },
"MW": {
"name": "ملاوي"
},
@@ -756,6 +756,6 @@
"name": "هولندا الكاريبية"
},
"HK": {
- "name": "هونغ كونغ الصينية"
+ "name": "هونغ كونغ الصينية (منطقة إدارية خاصة)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ar.json b/vendor/commerceguys/intl/resources/country/ar.json
index 3a589a7f4..8d310edb4 100644
--- a/vendor/commerceguys/intl/resources/country/ar.json
+++ b/vendor/commerceguys/intl/resources/country/ar.json
@@ -1,4 +1,7 @@
{
+ "IS": {
+ "name": "آيسلندا"
+ },
"ET": {
"name": "إثيوبيا"
},
@@ -68,6 +71,9 @@
"BA": {
"name": "البوسنة والهرسك"
},
+ "CZ": {
+ "name": "التشيك"
+ },
"ME": {
"name": "الجبل الأسود"
},
@@ -200,9 +206,6 @@
"IE": {
"name": "أيرلندا"
},
- "IS": {
- "name": "أيسلندا"
- },
"IT": {
"name": "إيطاليا"
},
@@ -218,9 +221,6 @@
"PW": {
"name": "بالاو"
},
- "BW": {
- "name": "بتسوانا"
- },
"BB": {
"name": "بربادوس"
},
@@ -251,6 +251,9 @@
"BT": {
"name": "بوتان"
},
+ "BW": {
+ "name": "بوتسوانا"
+ },
"PR": {
"name": "بورتوريكو"
},
@@ -288,7 +291,7 @@
"name": "تركيا"
},
"TA": {
- "name": "تريستان دي كونها"
+ "name": "تريستان دا كونا"
},
"TT": {
"name": "ترينيداد وتوباغو"
@@ -387,7 +390,7 @@
"name": "جزيرة أسينشيون"
},
"CX": {
- "name": "جزيرة الكريسماس"
+ "name": "جزيرة كريسماس"
},
"IM": {
"name": "جزيرة مان"
@@ -398,9 +401,6 @@
"CF": {
"name": "جمهورية Ø£Ùريقيا الوسطى"
},
- "CZ": {
- "name": "جمهورية التشيك"
- },
"DO": {
"name": "جمهورية الدومينيكان"
},
@@ -458,12 +458,15 @@
"BL": {
"name": "سان بارتليمي"
},
+ "PM": {
+ "name": "سان بيير ومكويلون"
+ },
+ "MF": {
+ "name": "سان مارتن"
+ },
"SM": {
"name": "سان مارينو"
},
- "PM": {
- "name": "سانت بيير وميكولون"
- },
"VC": {
"name": "سانت Ùنسنت وجزر غرينادين"
},
@@ -473,11 +476,11 @@
"LC": {
"name": "سانت لوسيا"
},
- "MF": {
+ "SX": {
"name": "سانت مارتن"
},
"SH": {
- "name": "سانت هيلانة"
+ "name": "سانت هيلينا"
},
"ST": {
"name": "ساو تومي وبرينسيبي"
@@ -486,7 +489,7 @@
"name": "سريلانكا"
},
"SJ": {
- "name": "سÙالبارد وجان مايان"
+ "name": "سÙالبارد وجان ماين"
},
"SK": {
"name": "سلوÙاكيا"
@@ -515,9 +518,6 @@
"SC": {
"name": "سيشل"
},
- "SX": {
- "name": "سينت مارتن"
- },
"EA": {
"name": "سيوتا وميليلا"
},
@@ -756,6 +756,6 @@
"name": "هولندا الكاريبية"
},
"HK": {
- "name": "هونغ كونغ الصينية"
+ "name": "هونغ كونغ الصينية (منطقة إدارية خاصة)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/as.json b/vendor/commerceguys/intl/resources/country/as.json
new file mode 100644
index 000000000..9e680d7e0
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/as.json
@@ -0,0 +1,761 @@
+{
+ "AT": {
+ "name": "অসà§à¦Ÿà§à¦°à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AU": {
+ "name": "অসà§à¦Ÿà§à¦°à§‡à¦²à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AO": {
+ "name": "অà§à¦¯à¦¾à¦™à§à¦—োলা"
+ },
+ "AC": {
+ "name": "অà§à¦¯à¦¾à¦¸à§‡à¦¨à¦¶à¦¨ আইলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "CI": {
+ "name": "আইভরি কোসà§à¦Ÿ"
+ },
+ "IM": {
+ "name": "আইল অফ মà§à¦¯à¦¾à¦¨"
+ },
+ "IS": {
+ "name": "আইসà§à¦²à§à¦¯à¦¾à¦£à§à¦¡"
+ },
+ "AZ": {
+ "name": "আজেরবাইজান"
+ },
+ "AF": {
+ "name": "আফগানিসà§à¦¤à¦¾à¦¨"
+ },
+ "AS": {
+ "name": "আমেরিকান সামোয়া"
+ },
+ "IE": {
+ "name": "আয়ারলà§à¦¯à¦¾à¦£à§à¦¡"
+ },
+ "AM": {
+ "name": "আরমেনিয়া"
+ },
+ "AR": {
+ "name": "আরà§à¦œà¦¿à¦£à§à¦Ÿà¦¿à¦¨à¦¾"
+ },
+ "DZ": {
+ "name": "আলজেরিয়া"
+ },
+ "AX": {
+ "name": "আলেà§à¦¯à¦¾à¦¨à§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "AL": {
+ "name": "আলà§à¦¬à§‡à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "UM": {
+ "name": "ইউ à¦à¦¸ আউটলিং আইলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
+ },
+ "UA": {
+ "name": "ইউকà§à¦°à§‡à¦‡à¦¨à§"
+ },
+ "EC": {
+ "name": "ইকোয়াডর"
+ },
+ "IT": {
+ "name": "ইটালি"
+ },
+ "ET": {
+ "name": "ইথিওপিয়া"
+ },
+ "ID": {
+ "name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "YE": {
+ "name": "ইমেন"
+ },
+ "IQ": {
+ "name": "ইরাক"
+ },
+ "IR": {
+ "name": "ইরান"
+ },
+ "ER": {
+ "name": "ইরিতà§à¦°à¦¿à¦¯à¦¼à¦¾"
+ },
+ "IL": {
+ "name": "ইসà§à¦°à¦¾à¦¯à¦¼à§‡à¦²"
+ },
+ "UG": {
+ "name": "উগানà§à¦¡à¦¾"
+ },
+ "UZ": {
+ "name": "উজà§à¦¬à§‡à¦•à¦¿à¦¸à§à¦¥à¦¾à¦¨"
+ },
+ "KP": {
+ "name": "উতà§à¦¤à¦° কোরিয়া"
+ },
+ "MP": {
+ "name": "উতà§à¦¤à¦° মারিয়ানা দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "UY": {
+ "name": "উরà§à¦—à§à¦¯à¦¼à§‡"
+ },
+ "GF": {
+ "name": "à¦à¦•à¦Ÿà¦¿ দেশের নাম"
+ },
+ "AQ": {
+ "name": "à¦à¦¨à§à¦Ÿà¦¾à§°à§à¦Ÿà¦¿à¦•à¦¾"
+ },
+ "EE": {
+ "name": "à¦à¦¸à§à¦¤à§‹à¦¨à¦¿à¦¯à¦¼à¦¾à¦¦à§‡à¦¶"
+ },
+ "AI": {
+ "name": "à¦à§à¦¯à¦¾à¦™à§à¦—à§à¦‡à¦²à¦¾"
+ },
+ "AD": {
+ "name": "à¦à§à¦¯à¦¾à¦¨à§à¦¡à§‹à¦°à¦¾"
+ },
+ "OM": {
+ "name": "ওমান"
+ },
+ "WF": {
+ "name": "ওয়ালিস ও ফà§à¦Ÿà§à¦¨à¦¾"
+ },
+ "CD": {
+ "name": "কঙà§à¦—ো - কিনসাসা"
+ },
+ "CG": {
+ "name": "কঙà§à¦—ো - বà§à¦°à¦¾à¦œà¦¾à¦­à¦¿à¦²"
+ },
+ "KM": {
+ "name": "কমোরোস"
+ },
+ "CO": {
+ "name": "কলোমবিয়া"
+ },
+ "XK": {
+ "name": "কসোভো"
+ },
+ "KZ": {
+ "name": "কাজাকসà§à¦¥à¦¾à¦¨"
+ },
+ "QA": {
+ "name": "কাতার"
+ },
+ "KH": {
+ "name": "কামà§à¦¬à§‹à¦œ"
+ },
+ "EA": {
+ "name": "কিউটা & মà§à¦²à¦¿à¦²à¦¾"
+ },
+ "KG": {
+ "name": "কিরগিজসà§à¦¤à¦¾à¦¨"
+ },
+ "KI": {
+ "name": "কিরিবাতি"
+ },
+ "CK": {
+ "name": "কà§à¦• দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "KW": {
+ "name": "কà§à¦¯à¦¼à§‡à¦¤"
+ },
+ "KE": {
+ "name": "কেনিয়া"
+ },
+ "CV": {
+ "name": "কেপ ভারà§à¦¦à§‡"
+ },
+ "CC": {
+ "name": "কোকোস (কিলিং) দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "IC": {
+ "name": "কà§à¦¯à¦¾à¦¨à¦¾à¦°à¦¿ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CM": {
+ "name": "কà§à¦¯à¦¾à¦®à§‡à¦°à§à¦¨"
+ },
+ "CX": {
+ "name": "কà§à¦°à¦¿à¦¸à§à¦Ÿà¦®à¦¾à¦¸ দà§à¦¬à§€à¦ª"
+ },
+ "HR": {
+ "name": "কà§à¦°à§‹à¦¯à¦¼à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GA": {
+ "name": "গাবোনবাদà§à¦¯à¦¯à¦¨à§à¦¤à§à¦°"
+ },
+ "GM": {
+ "name": "গামà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¦à§‡à¦¶"
+ },
+ "GY": {
+ "name": "গায়ানা"
+ },
+ "GN": {
+ "name": "গিনি"
+ },
+ "GW": {
+ "name": "গিনি-বিসাউ"
+ },
+ "GU": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦®"
+ },
+ "GG": {
+ "name": "গেà¦à¦œà¦¿"
+ },
+ "GR": {
+ "name": "গà§à¦°à§€à¦¸"
+ },
+ "GH": {
+ "name": "ঘানা"
+ },
+ "CL": {
+ "name": "চিলি"
+ },
+ "CN": {
+ "name": "চীন"
+ },
+ "GE": {
+ "name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾"
+ },
+ "JO": {
+ "name": "জরà§à¦¡à¦¨"
+ },
+ "JP": {
+ "name": "জাপান"
+ },
+ "ZM": {
+ "name": "জামà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "JE": {
+ "name": "জারà§à¦¸à¦¿"
+ },
+ "DE": {
+ "name": "জাৰà§à¦®à¦¾à¦¨à¦¿"
+ },
+ "DJ": {
+ "name": "জিবà§à¦¤à¦¿"
+ },
+ "GI": {
+ "name": "জিবà§à¦°à¦¾à¦²à¦Ÿà¦¾à¦°"
+ },
+ "ZW": {
+ "name": "জিমà§à¦¬à¦¾à¦¬à§à¦¯à¦¼à§‡"
+ },
+ "TO": {
+ "name": "টাঙà§à¦—া"
+ },
+ "TN": {
+ "name": "টিউনিসà§"
+ },
+ "TV": {
+ "name": "টà§à¦­à¦¾à¦²à§"
+ },
+ "TK": {
+ "name": "টোকেলাউ"
+ },
+ "TA": {
+ "name": "টà§à¦°à¦¿à¦¸à§à¦Ÿà¦¾à¦¨ ডা কà§à¦¨à¦¾"
+ },
+ "DK": {
+ "name": "ডেনà§à¦®à¦¾à¦°à§à¦•à§"
+ },
+ "TW": {
+ "name": "তাইওয়ান"
+ },
+ "TJ": {
+ "name": "তাজিকসà§à¦¥à¦¾à¦¨"
+ },
+ "TZ": {
+ "name": "তাঞà§à¦œà¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "TR": {
+ "name": "তà§à¦°à¦¸à§à¦•"
+ },
+ "TM": {
+ "name": "তà§à¦°à§à¦•à¦®à§‡à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "TH": {
+ "name": "থাইলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "KR": {
+ "name": "দকà§à¦·à¦¿à¦£ কোরিয়া"
+ },
+ "GS": {
+ "name": "দকà§à¦·à¦¿à¦£ জৰà§à¦œà¦¿à¦¯à¦¼à¦¾ আৰৠদকà§à¦·à¦¿à¦£ চেণà§à¦¡à§±à¦¿à¦šà§â€Œ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "TF": {
+ "name": "দকà§à¦·à¦¿à¦£ ফà§à§°à¦¾à¦¨à§à¦¸à§° অঞà§à¦šà¦²"
+ },
+ "SS": {
+ "name": "দকà§à¦·à¦¿à¦£ সà§à¦¦à¦¾à¦¨"
+ },
+ "ZA": {
+ "name": "দকà§à¦·à¦¿à¦¨ আফà§à¦°à¦¿à¦•à¦¾"
+ },
+ "DG": {
+ "name": "দিয়েগো গারà§à¦¸à¦¿à¦¯à¦¼à¦¾"
+ },
+ "NC": {
+ "name": "নতà§à¦¨ কà§à¦¯à¦¾à¦²à§‡à¦¡à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "NO": {
+ "name": "নরতà§à¦¤à¦à¦¦à§‡à¦¶"
+ },
+ "NF": {
+ "name": "নরফোক দà§à¦¬à§€à¦ª"
+ },
+ "NE": {
+ "name": "নাইজারনদী"
+ },
+ "NG": {
+ "name": "নাইজিরিয়াদেশ"
+ },
+ "NR": {
+ "name": "নাউরà§"
+ },
+ "NA": {
+ "name": "নামিবিয়া"
+ },
+ "NU": {
+ "name": "নিউই"
+ },
+ "NZ": {
+ "name": "নিউজিলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "GQ": {
+ "name": "নিরকà§à¦·à§€à¦¯à¦¼ গিনি"
+ },
+ "NL": {
+ "name": "নেদারলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
+ },
+ "NP": {
+ "name": "নেপাল"
+ },
+ "PT": {
+ "name": "পরà§à¦¤à§à¦—াল"
+ },
+ "EH": {
+ "name": "পশà§à¦šà¦¿à¦® সাহারা"
+ },
+ "PK": {
+ "name": "পাকিসà§à¦¤à¦¾à¦¨"
+ },
+ "PG": {
+ "name": "পাপà§à¦¯à¦¼à¦¾ নিউ গিনি"
+ },
+ "PW": {
+ "name": "পালাউ"
+ },
+ "PN": {
+ "name": "পিটকেয়ারà§à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "TL": {
+ "name": "পূরà§à¦¬ তিমà§à¦°"
+ },
+ "PE": {
+ "name": "পেরà§"
+ },
+ "PL": {
+ "name": "পোলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "PY": {
+ "name": "পà§à¦¯à¦¾à¦°à¦¾à¦—à§à¦¯à¦¼à§‡"
+ },
+ "FK": {
+ "name": "ফকলà§à¦¯à¦¾à¦¨à§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "PF": {
+ "name": "ফরাসি পলিনেশিয়া"
+ },
+ "FO": {
+ "name": "ফারো দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "FJ": {
+ "name": "ফিজি"
+ },
+ "FI": {
+ "name": "ফিনলà§à¦¯à¦¾à¦£à§à¦¡"
+ },
+ "PH": {
+ "name": "ফিলিপাইন"
+ },
+ "PS": {
+ "name": "ফিলিসà§à¦¤à¦¿à¦¨ অঞà§à¦šà¦²"
+ },
+ "FR": {
+ "name": "ফà§à§°à¦¾à¦¨à§à¦¸"
+ },
+ "BA": {
+ "name": "বসনিয়া ও হারজেগোভিনা"
+ },
+ "BD": {
+ "name": "বাংলাদেশ"
+ },
+ "BH": {
+ "name": "বাহরাইন"
+ },
+ "BI": {
+ "name": "বà§à¦°à§à¦¨à§à¦¡à¦¿"
+ },
+ "BF": {
+ "name": "বà§à¦°à§à¦•à¦¿à¦¨à¦¾ ফাসো"
+ },
+ "BG": {
+ "name": "বà§à¦²à¦—েরিয়া"
+ },
+ "BJ": {
+ "name": "বেনিন"
+ },
+ "BE": {
+ "name": "বেলজিয়াম"
+ },
+ "BY": {
+ "name": "বেলারà§à¦¶"
+ },
+ "BW": {
+ "name": "বোটà§à¦¸à§à¦¬à¦¾à¦¨à¦¾"
+ },
+ "BO": {
+ "name": "বোলিভিয়া"
+ },
+ "BR": {
+ "name": "বà§à¦°à¦¾à¦œà¦¿à¦²"
+ },
+ "BN": {
+ "name": "বà§à¦°à§à¦¨à§‡à¦‡"
+ },
+ "IO": {
+ "name": "বà§à§°à¦¿à¦Ÿà¦¿à¦¶à§à¦¬ ইণà§à¦¡à¦¿à¦¯à¦¼à¦¾à¦¨ মহাসাগৰৰ অঞà§à¦šà¦²"
+ },
+ "VU": {
+ "name": "ভানà§à¦¯à¦¼à¦¾à¦¤à§"
+ },
+ "IN": {
+ "name": "ভারত"
+ },
+ "VN": {
+ "name": "ভিয়েতনাম"
+ },
+ "BT": {
+ "name": "ভà§à¦Ÿà¦¾à¦¨"
+ },
+ "VE": {
+ "name": "ভেনেজà§à¦¯à¦¼à§‡à¦²à¦¾"
+ },
+ "VA": {
+ "name": "ভà§à¦¯à¦¾à¦Ÿà¦¿à¦•à¦¾à¦¨ সিটি"
+ },
+ "MN": {
+ "name": "মঙà§à¦—োলিআ"
+ },
+ "TD": {
+ "name": "মতà§à¦¸à§à¦¯à¦¬à¦¿à¦¶à§‡à¦·"
+ },
+ "CF": {
+ "name": "মধà§à¦¯ আফà§à¦°à¦¿à¦•à¦¾à¦¨ পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ },
+ "ME": {
+ "name": "মনà§à¦Ÿà¦¿à¦¨à¦¿à¦—à§à¦°à§‹"
+ },
+ "MA": {
+ "name": "মরকà§à¦•à§‹"
+ },
+ "MR": {
+ "name": "মরিতানিয়া"
+ },
+ "MU": {
+ "name": "মরিশাস"
+ },
+ "FM": {
+ "name": "মাইকà§à¦°à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "MM": {
+ "name": "মায়ানমার (বারà§à¦®à¦¾)"
+ },
+ "YT": {
+ "name": "মায়োতà§à¦¤à§‡"
+ },
+ "MH": {
+ "name": "মারà§à¦¶à¦¾à¦² দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "MT": {
+ "name": "মালটা"
+ },
+ "MV": {
+ "name": "মালদà§à¦¬à§€à¦ª"
+ },
+ "MW": {
+ "name": "মালাউই"
+ },
+ "ML": {
+ "name": "মালি"
+ },
+ "MY": {
+ "name": "মালà§à¦¯à¦¾à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "EG": {
+ "name": "মিশর"
+ },
+ "MZ": {
+ "name": "মোজামà§à¦¬à¦¿à¦•"
+ },
+ "MC": {
+ "name": "মোনাকো"
+ },
+ "MD": {
+ "name": "মোলà§à¦¦à¦¾à¦­à¦¿à¦¯à¦¼à¦¾"
+ },
+ "MO": {
+ "name": "মà§à¦¯à¦¾à¦•à¦¾à¦“ à¦à¦¸à¦à¦†à¦° চীন"
+ },
+ "MG": {
+ "name": "মà§à¦¯à¦¾à¦¡à¦¾à¦—à§à¦¯à¦¾à¦¸à§à¦•à¦¾à¦°"
+ },
+ "MK": {
+ "name": "মà§à¦¯à¦¾à¦¸à¦¾à¦¡à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "TG": {
+ "name": "যাও"
+ },
+ "US": {
+ "name": "যà§à¦•à§à¦¤à§°à¦¾à¦·à§à¦Ÿà§à§°"
+ },
+ "RU": {
+ "name": "রাশিয়া"
+ },
+ "RO": {
+ "name": "রà§à¦®à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "RW": {
+ "name": "রà§à¦¯à¦¼à¦¾à¦¨à§à¦¡à¦¾"
+ },
+ "LR": {
+ "name": "লাইবেরিয়া"
+ },
+ "LU": {
+ "name": "লাকà§à¦¸à§‡à¦®à¦¬à¦¾à¦°à§à¦—"
+ },
+ "LA": {
+ "name": "লাতà§à¦¤à¦¸"
+ },
+ "LI": {
+ "name": "লিচেনসà§à¦Ÿà§‡à¦‡à¦¨"
+ },
+ "LT": {
+ "name": "লিতà§à¦­à¦¾"
+ },
+ "LY": {
+ "name": "লিবিয়া"
+ },
+ "LB": {
+ "name": "লেবানন"
+ },
+ "LS": {
+ "name": "লেসোথো"
+ },
+ "LV": {
+ "name": "লà§à¦¯à¦¾à¦Ÿà§à¦­à¦¿à¦†"
+ },
+ "LK": {
+ "name": "শà§à¦°à§€à¦²à¦‚কা"
+ },
+ "SK": {
+ "name": "শà§à¦²à§‹à¦­à¦¾à¦•à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GB": {
+ "name": "সংযà§à¦•à§à¦¤ ৰাজà§à¦¯"
+ },
+ "SB": {
+ "name": "সলোমান দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CY": {
+ "name": "সাইপà§à¦°à¦¾à¦¸à¦¦à§à¦¬à¦¿à¦ª"
+ },
+ "ST": {
+ "name": "সাও টোম à¦à¦¬à¦‚ পà§à¦°à¦¿à¦¨à¦¸à¦¿à¦ªà§‡"
+ },
+ "SM": {
+ "name": "সান মেরিনো"
+ },
+ "SJ": {
+ "name": "সাভালবারà§à¦¡ ও জান মেন"
+ },
+ "WS": {
+ "name": "সামোয়া"
+ },
+ "RS": {
+ "name": "সারà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "RE": {
+ "name": "সাকà§à¦·à¦¾à§Ž"
+ },
+ "SG": {
+ "name": "সিঙà§à¦—াপà§à¦°"
+ },
+ "SL": {
+ "name": "সিয়েরা লিওন"
+ },
+ "SY": {
+ "name": "সিরিয়া"
+ },
+ "SC": {
+ "name": "সিসিলি"
+ },
+ "CH": {
+ "name": "সà§à¦‡à¦œà¦°à§à¦²à¦£à§à¦¡"
+ },
+ "SE": {
+ "name": "সà§à¦‡à¦¡à§‡à¦¨"
+ },
+ "SD": {
+ "name": "সà§à¦¦à¦¾à¦¨"
+ },
+ "SR": {
+ "name": "সà§à¦°à¦¿à¦¨à¦¾à¦®"
+ },
+ "SN": {
+ "name": "সেনেগাল"
+ },
+ "SH": {
+ "name": "সেনà§à¦Ÿ হেলেনা"
+ },
+ "SO": {
+ "name": "সোমালিয়া"
+ },
+ "SZ": {
+ "name": "সোয়াজিলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "SA": {
+ "name": "সৌদি আরব"
+ },
+ "ES": {
+ "name": "সà§à¦ªà§‡à¦¨"
+ },
+ "SI": {
+ "name": "সà§à¦²à§‹à¦­à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "HK": {
+ "name": "হংকং à¦à¦¸à¦à¦†à¦° চীন"
+ },
+ "HU": {
+ "name": "হাঙà§à¦—েরি"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CZ": {
+ "name": "Czechia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "AE": {
+ "name": "UAE"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/az-Cyrl.json b/vendor/commerceguys/intl/resources/country/az-Cyrl.json
index d16c29a0e..b05661768 100644
--- a/vendor/commerceguys/intl/resources/country/az-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/country/az-Cyrl.json
@@ -717,7 +717,7 @@
"name": "Чад"
},
"CZ": {
- "name": "Чех РеÑпубликаÑÑ‹"
+ "name": "Чехија"
},
"CL": {
"name": "Чили"
diff --git a/vendor/commerceguys/intl/resources/country/az.json b/vendor/commerceguys/intl/resources/country/az.json
index 137c593c7..c7d744c32 100644
--- a/vendor/commerceguys/intl/resources/country/az.json
+++ b/vendor/commerceguys/intl/resources/country/az.json
@@ -144,7 +144,7 @@
"name": "Çad"
},
"CZ": {
- "name": "Çex Respublikası"
+ "name": "Çexiya"
},
"CL": {
"name": "Çili"
diff --git a/vendor/commerceguys/intl/resources/country/bas.json b/vendor/commerceguys/intl/resources/country/bas.json
index 7cc39b45e..f8f556343 100644
--- a/vendor/commerceguys/intl/resources/country/bas.json
+++ b/vendor/commerceguys/intl/resources/country/bas.json
@@ -165,7 +165,7 @@
"name": "Curaçao"
},
"CZ": {
- "name": "Czech Republic"
+ "name": "Czechia"
},
"DK": {
"name": "Dànmârk"
diff --git a/vendor/commerceguys/intl/resources/country/base.json b/vendor/commerceguys/intl/resources/country/base.json
index 21e0721d6..7a21d38c7 100644
--- a/vendor/commerceguys/intl/resources/country/base.json
+++ b/vendor/commerceguys/intl/resources/country/base.json
@@ -1045,7 +1045,7 @@
"ST": {
"three_letter_code": "STP",
"numeric_code": "678",
- "currency_code": "STD"
+ "currency_code": "STN"
},
"SV": {
"three_letter_code": "SLV",
@@ -1199,7 +1199,7 @@
"VG": {
"three_letter_code": "VGB",
"numeric_code": "092",
- "currency_code": "USD"
+ "currency_code": "GBP"
},
"VI": {
"three_letter_code": "VIR",
diff --git a/vendor/commerceguys/intl/resources/country/be.json b/vendor/commerceguys/intl/resources/country/be.json
index 95a028ad3..d244ade36 100644
--- a/vendor/commerceguys/intl/resources/country/be.json
+++ b/vendor/commerceguys/intl/resources/country/be.json
@@ -53,6 +53,9 @@
"PN": {
"name": "ÐÑтравы ПіткÑрн"
},
+ "TC": {
+ "name": "ÐÑтравы Ð¦Ñ‘Ñ€ÐºÑ Ñ– КайкаÑ"
+ },
"AU": {
"name": "ÐÑžÑтраліÑ"
},
@@ -63,7 +66,7 @@
"name": "ÐфганіÑтан"
},
"BS": {
- "name": "Багамы"
+ "name": "БагамÑÐºÑ–Ñ Ð°Ñтравы"
},
"BG": {
"name": "БалгарыÑ"
@@ -300,7 +303,7 @@
"name": "Камерун"
},
"KM": {
- "name": "КаморÑÐºÑ–Ñ ÐÑтравы"
+ "name": "КаморÑÐºÑ–Ñ Ð°Ñтравы"
},
"CA": {
"name": "Канада"
@@ -435,7 +438,7 @@
"name": "Марцініка"
},
"MH": {
- "name": "Маршалавы ÐÑтравы"
+ "name": "Маршалавы аÑтравы"
},
"MU": {
"name": "Маўрыкій"
@@ -504,7 +507,7 @@
"name": "ПартугаліÑ"
},
"ZA": {
- "name": "ПаўднёваафрыканÑÐºÐ°Ñ Ð ÑÑпубліка"
+ "name": "Паўднёва-ÐфрыканÑÐºÐ°Ñ Ð ÑÑпубліка"
},
"GS": {
"name": "ÐŸÐ°ÑžÐ´Ð½Ñ‘Ð²Ð°Ñ Ð”Ð¶Ð¾Ñ€Ð´Ð¶Ñ‹Ñ Ñ– ÐŸÐ°ÑžÐ´Ð½Ñ‘Ð²Ñ‹Ñ Ð¡Ð°Ð½Ð´Ð²Ñ–Ñ‡Ð°Ð²Ñ‹ аÑтравы"
@@ -543,7 +546,7 @@
"name": "РÑюньён"
},
"SB": {
- "name": "Саламонавы ÐÑтравы"
+ "name": "Саламонавы аÑтравы"
},
"SV": {
"name": "Сальвадор"
@@ -567,7 +570,7 @@
"name": "Свазіленд"
},
"SC": {
- "name": "СейшÑльÑÐºÑ–Ñ ÐÑтравы"
+ "name": "СейшÑльÑÐºÑ–Ñ Ð°Ñтравы"
},
"BL": {
"name": "Сен-БартÑльмі"
@@ -699,7 +702,7 @@
"name": "ФранцузÑÐºÐ°Ñ ÐŸÐ°Ð»Ñ–Ð½ÐµÐ·Ñ–Ñ"
},
"TF": {
- "name": "ФранцузÑÐºÑ–Ñ ÐŸÐ°ÑžÐ´Ð½Ñ‘Ð²Ñ‹Ñ Ñ‚Ñрыторыі"
+ "name": "ФранцузÑÐºÑ–Ñ Ð¿Ð°ÑžÐ´Ð½Ñ‘Ð²Ñ‹Ñ Ñ‚Ñрыторыі"
},
"FR": {
"name": "ФранцыÑ"
@@ -707,11 +710,8 @@
"HR": {
"name": "ХарватыÑ"
},
- "TC": {
- "name": "Ð¦Ñ‘Ñ€ÐºÑ Ñ– КайкаÑ"
- },
"CF": {
- "name": "ЦÑнтральнаафрыканÑÐºÐ°Ñ Ð ÑÑпубліка"
+ "name": "ЦÑнтральна-ÐфрыканÑÐºÐ°Ñ Ð ÑÑпубліка"
},
"TD": {
"name": "Чад"
diff --git a/vendor/commerceguys/intl/resources/country/bg.json b/vendor/commerceguys/intl/resources/country/bg.json
index a4f2247b3..0a9b17ab0 100644
--- a/vendor/commerceguys/intl/resources/country/bg.json
+++ b/vendor/commerceguys/intl/resources/country/bg.json
@@ -72,7 +72,7 @@
"name": "Бенин"
},
"BM": {
- "name": "Бермуда"
+ "name": "БермудÑки оÑтрови"
},
"BO": {
"name": "БоливиÑ"
@@ -726,7 +726,7 @@
"name": "Черна гора"
},
"CZ": {
- "name": "Чешка република"
+ "name": "ЧехиÑ"
},
"CL": {
"name": "Чили"
diff --git a/vendor/commerceguys/intl/resources/country/bn-IN.json b/vendor/commerceguys/intl/resources/country/bn-IN.json
index 08ebd7381..6e18fa77e 100644
--- a/vendor/commerceguys/intl/resources/country/bn-IN.json
+++ b/vendor/commerceguys/intl/resources/country/bn-IN.json
@@ -11,12 +11,12 @@
"AQ": {
"name": "অà§à¦¯à¦¾à¦¨à§à¦Ÿà¦¾à¦°à§à¦•à¦Ÿà¦¿à¦•à¦¾"
},
+ "AG": {
+ "name": "অà§à¦¯à¦¾à¦¨à§à¦Ÿà¦¿à¦—à§à¦¯à¦¼à¦¾ ও বারবà§à¦¡à¦¾"
+ },
"AC": {
"name": "অà§à¦¯à¦¾à¦¸à¦¸à§‡à¦¨à¦¶à¦¨ আইলà§à¦¯à¦¾à¦¨à§à¦¡"
},
- "CI": {
- "name": "আইভরি কোসà§à¦Ÿ"
- },
"IM": {
"name": "আইল অফ মà§à¦¯à¦¾à¦¨"
},
@@ -68,12 +68,12 @@
"IT": {
"name": "ইতালি"
},
+ "ET": {
+ "name": "ইথিওপিয়া"
+ },
"ID": {
"name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
},
- "ET": {
- "name": "ইফিওপিয়া"
- },
"YE": {
"name": "ইয়েমেন"
},
@@ -101,9 +101,6 @@
"UY": {
"name": "উরà§à¦—à§à¦¯à¦¼à§‡"
},
- "AG": {
- "name": "à¦à¦¨à§à¦Ÿà¦¿à¦—à§à¦¯à¦¼à¦¾ ও বারবà§à¦¡à¦¾"
- },
"SV": {
"name": "à¦à¦² সালভেদর"
},
@@ -149,9 +146,6 @@
"CU": {
"name": "কিউবা"
},
- "CW": {
- "name": "কিউরাসাও"
- },
"KG": {
"name": "কিরগিজিসà§à¦¤à¦¾à¦¨"
},
@@ -167,6 +161,9 @@
"KW": {
"name": "কà§à¦¯à¦¼à§‡à¦¤"
},
+ "CW": {
+ "name": "কà§à¦°à¦¾à¦¸à¦¾à¦“"
+ },
"KE": {
"name": "কেনিয়া"
},
@@ -179,6 +176,9 @@
"CC": {
"name": "কোকোস (কিলিং) দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
},
+ "CI": {
+ "name": "কোত দিভোয়ার"
+ },
"CR": {
"name": "কোসà§à¦Ÿà¦¾à¦°à¦¿à¦•à¦¾"
},
@@ -218,12 +218,12 @@
"GU": {
"name": "গà§à¦¯à¦¼à¦¾à¦®"
},
+ "GG": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦°à§à¦¨à¦¸à¦¿"
+ },
"GA": {
"name": "গà§à¦¯à¦¾à¦¬à¦¨"
},
- "GG": {
- "name": "গà§à¦°à¦¾à¦žà§à¦œà¦¿"
- },
"GL": {
"name": "গà§à¦°à§€à¦¨à¦²à§à¦¯à¦¾à¦¨à§à¦¡"
},
@@ -246,7 +246,7 @@
"name": "চীন"
},
"CZ": {
- "name": "চেক পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ "name": "চেচিয়া"
},
"GE": {
"name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾"
@@ -306,7 +306,7 @@
"name": "তাইওয়ান"
},
"TJ": {
- "name": "তাজিকসà§à¦¥à¦¾à¦¨"
+ "name": "তাজিকিসà§à¦¤à¦¾à¦¨"
},
"TZ": {
"name": "তাঞà§à¦œà¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
@@ -350,6 +350,9 @@
"NO": {
"name": "নরওয়ে"
},
+ "NF": {
+ "name": "নরফোক দà§à¦¬à§€à¦ª"
+ },
"NE": {
"name": "নাইজার"
},
@@ -377,9 +380,6 @@
"GQ": {
"name": "নিরকà§à¦·à§€à¦¯à¦¼ গিনি"
},
- "NF": {
- "name": "নিরফোক দà§à¦¬à§€à¦ª"
- },
"NL": {
"name": "নেদারলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
},
@@ -419,6 +419,9 @@
"PY": {
"name": "পà§à¦¯à¦¾à¦°à¦¾à¦—à§à¦¯à¦¼à§‡"
},
+ "PS": {
+ "name": "পà§à¦¯à¦¾à¦²à§‡à¦¸à§à¦Ÿà¦¾à¦‡à¦¨à§‡à¦° অঞà§à¦šà¦²à¦¸à¦®à§‚হ"
+ },
"FK": {
"name": "ফকলà§à¦¯à¦¾à¦¨à§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
},
@@ -440,9 +443,6 @@
"PH": {
"name": "ফিলিপাইন"
},
- "PS": {
- "name": "ফিলিসà§à¦¤à¦¿à¦¨ অঞà§à¦šà¦²à¦¸à¦®à§‚হ"
- },
"FO": {
"name": "ফà§à¦¯à¦¾à¦°à¦“ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
},
@@ -681,7 +681,7 @@
"name": "সিনà§à¦Ÿ মারà§à¦Ÿà§‡à¦¨"
},
"SL": {
- "name": "সিয়েরালিওন"
+ "name": "সিয়েরা লিওন"
},
"SY": {
"name": "সিরিয়া"
@@ -714,7 +714,7 @@
"name": "সেনà§à¦Ÿ বারথেলিমি"
},
"VC": {
- "name": "সেনà§à¦Ÿ ভিনসেনà§à¦Ÿ ও দà§à¦¯à¦¾ গà§à¦°à§‡à¦¨à¦¾à¦¡à¦¿à¦¨à¦¸"
+ "name": "সেনà§à¦Ÿ ভিনসেনà§à¦Ÿ ও গà§à¦°à§‡à¦¨à¦¾à¦¡à¦¿à¦¨à¦¸"
},
"MF": {
"name": "সেনà§à¦Ÿ মারà§à¦Ÿà¦¿à¦¨"
diff --git a/vendor/commerceguys/intl/resources/country/bn.json b/vendor/commerceguys/intl/resources/country/bn.json
index 93c312ed8..9dcf4d7ad 100644
--- a/vendor/commerceguys/intl/resources/country/bn.json
+++ b/vendor/commerceguys/intl/resources/country/bn.json
@@ -11,12 +11,12 @@
"AQ": {
"name": "অà§à¦¯à¦¾à¦¨à§à¦Ÿà¦¾à¦°à§à¦•à¦Ÿà¦¿à¦•à¦¾"
},
+ "AG": {
+ "name": "অà§à¦¯à¦¾à¦¨à§à¦Ÿà¦¿à¦—à§à¦¯à¦¼à¦¾ ও বারবà§à¦¡à¦¾"
+ },
"AC": {
"name": "অà§à¦¯à¦¾à¦¸à¦¸à§‡à¦¨à¦¶à¦¨ আইলà§à¦¯à¦¾à¦¨à§à¦¡"
},
- "CI": {
- "name": "আইভরি কোসà§à¦Ÿ"
- },
"IM": {
"name": "আইল অফ মà§à¦¯à¦¾à¦¨"
},
@@ -68,12 +68,12 @@
"IT": {
"name": "ইতালি"
},
+ "ET": {
+ "name": "ইথিওপিয়া"
+ },
"ID": {
"name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
},
- "ET": {
- "name": "ইফিওপিয়া"
- },
"YE": {
"name": "ইয়েমেন"
},
@@ -101,9 +101,6 @@
"UY": {
"name": "উরà§à¦—à§à¦¯à¦¼à§‡"
},
- "AG": {
- "name": "à¦à¦¨à§à¦Ÿà¦¿à¦—à§à¦¯à¦¼à¦¾ ও বারবà§à¦¡à¦¾"
- },
"SV": {
"name": "à¦à¦² সালভেদর"
},
@@ -149,9 +146,6 @@
"CU": {
"name": "কিউবা"
},
- "CW": {
- "name": "কিউরাসাও"
- },
"KG": {
"name": "কিরগিজিসà§à¦¤à¦¾à¦¨"
},
@@ -167,6 +161,9 @@
"KW": {
"name": "কà§à¦¯à¦¼à§‡à¦¤"
},
+ "CW": {
+ "name": "কà§à¦°à¦¾à¦¸à¦¾à¦“"
+ },
"KE": {
"name": "কেনিয়া"
},
@@ -179,6 +176,9 @@
"CC": {
"name": "কোকোস (কিলিং) দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
},
+ "CI": {
+ "name": "কোত দিভোয়ার"
+ },
"CR": {
"name": "কোসà§à¦Ÿà¦¾à¦°à¦¿à¦•à¦¾"
},
@@ -218,12 +218,12 @@
"GU": {
"name": "গà§à¦¯à¦¼à¦¾à¦®"
},
+ "GG": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦°à§à¦¨à¦¸à¦¿"
+ },
"GA": {
"name": "গà§à¦¯à¦¾à¦¬à¦¨"
},
- "GG": {
- "name": "গà§à¦°à¦¾à¦žà§à¦œà¦¿"
- },
"GL": {
"name": "গà§à¦°à§€à¦¨à¦²à§à¦¯à¦¾à¦¨à§à¦¡"
},
@@ -246,7 +246,7 @@
"name": "চীন"
},
"CZ": {
- "name": "চেক পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ "name": "চেচিয়া"
},
"GE": {
"name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾"
@@ -306,7 +306,7 @@
"name": "তাইওয়ান"
},
"TJ": {
- "name": "তাজিকসà§à¦¥à¦¾à¦¨"
+ "name": "তাজিকিসà§à¦¤à¦¾à¦¨"
},
"TZ": {
"name": "তাঞà§à¦œà¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
@@ -350,6 +350,9 @@
"NO": {
"name": "নরওয়ে"
},
+ "NF": {
+ "name": "নরফোক দà§à¦¬à§€à¦ª"
+ },
"NE": {
"name": "নাইজার"
},
@@ -377,9 +380,6 @@
"GQ": {
"name": "নিরকà§à¦·à§€à¦¯à¦¼ গিনি"
},
- "NF": {
- "name": "নিরফোক দà§à¦¬à§€à¦ª"
- },
"NL": {
"name": "নেদারলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
},
@@ -419,6 +419,9 @@
"PY": {
"name": "পà§à¦¯à¦¾à¦°à¦¾à¦—à§à¦¯à¦¼à§‡"
},
+ "PS": {
+ "name": "পà§à¦¯à¦¾à¦²à§‡à¦¸à§à¦Ÿà¦¾à¦‡à¦¨à§‡à¦° অঞà§à¦šà¦²à¦¸à¦®à§‚হ"
+ },
"FK": {
"name": "ফকলà§à¦¯à¦¾à¦¨à§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
},
@@ -440,9 +443,6 @@
"PH": {
"name": "ফিলিপাইন"
},
- "PS": {
- "name": "ফিলিসà§à¦¤à¦¿à¦¨ অঞà§à¦šà¦²à¦¸à¦®à§‚হ"
- },
"FO": {
"name": "ফà§à¦¯à¦¾à¦°à¦“ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
},
@@ -681,7 +681,7 @@
"name": "সিনà§à¦Ÿ মারà§à¦Ÿà§‡à¦¨"
},
"SL": {
- "name": "সিয়েরালিওন"
+ "name": "সিয়েরা লিওন"
},
"SY": {
"name": "সিরিয়া"
@@ -714,7 +714,7 @@
"name": "সেনà§à¦Ÿ বারথেলিমি"
},
"VC": {
- "name": "সেনà§à¦Ÿ ভিনসেনà§à¦Ÿ ও দà§à¦¯à¦¾ গà§à¦°à§‡à¦¨à¦¾à¦¡à¦¿à¦¨à¦¸"
+ "name": "সেনà§à¦Ÿ ভিনসেনà§à¦Ÿ ও গà§à¦°à§‡à¦¨à¦¾à¦¡à¦¿à¦¨à¦¸"
},
"MF": {
"name": "সেনà§à¦Ÿ মারà§à¦Ÿà¦¿à¦¨"
@@ -750,7 +750,7 @@
"name": "হংকং à¦à¦¸à¦à¦†à¦° চীনা"
},
"HN": {
- "name": "হণà§à¦¡à§à¦°à¦¾à¦¸"
+ "name": "হনà§à¦¡à§à¦°à¦¾à¦¸"
},
"HT": {
"name": "হাইতি"
diff --git a/vendor/commerceguys/intl/resources/country/bs-Cyrl.json b/vendor/commerceguys/intl/resources/country/bs-Cyrl.json
index ed7dcf940..bd1b82fcb 100644
--- a/vendor/commerceguys/intl/resources/country/bs-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/country/bs-Cyrl.json
@@ -1,19 +1,16 @@
{
- "AF": {
- "name": "ÐвганиÑтан"
- },
"AZ": {
"name": "Ðзербејџан"
},
- "AX": {
- "name": "ÐландÑка оÑтрва"
- },
"AL": {
"name": "Ðлбанија"
},
"DZ": {
"name": "Ðлжир"
},
+ "VI": {
+ "name": "Ðмеричка ДјевичанÑка оÑтрва"
+ },
"AS": {
"name": "Ðмеричка Самоа"
},
@@ -35,9 +32,6 @@
"AR": {
"name": "Ðргентина"
},
- "AM": {
- "name": "Ðрменија"
- },
"AW": {
"name": "Ðруба"
},
@@ -47,6 +41,9 @@
"AT": {
"name": "ÐуÑтрија"
},
+ "AF": {
+ "name": "ÐфганиÑтан"
+ },
"BD": {
"name": "Бангладеш"
},
@@ -63,19 +60,19 @@
"name": "Белгија"
},
"BZ": {
- "name": "Белизе"
- },
- "BY": {
- "name": "БелоруÑија"
+ "name": "Белиз"
},
"BJ": {
"name": "Бенин"
},
"BM": {
- "name": "Бермуда"
+ "name": "Бермуди"
+ },
+ "BY": {
+ "name": "БјелоруÑија"
},
"CX": {
- "name": "Божићна оÑтрва"
+ "name": "Божићно оÑтрво"
},
"BO": {
"name": "Боливија"
@@ -90,7 +87,7 @@
"name": "Бразил"
},
"VG": {
- "name": "БританÑка ДевичанÑка ОÑтрва"
+ "name": "БританÑка ДјевичанÑка оÑтрва"
},
"IO": {
"name": "БританÑка територија у ИндијÑком океану"
@@ -111,7 +108,7 @@
"name": "Бутан"
},
"WF": {
- "name": "Ð’Ð°Ð»Ð¸Ñ Ð¸ Футуна ОÑтрва"
+ "name": "Ð’Ð°Ð»Ð¸Ñ Ð¸ Футуна"
},
"VU": {
"name": "Вануату"
@@ -119,9 +116,6 @@
"VA": {
"name": "Ватикан"
},
- "GB": {
- "name": "Велика Британија"
- },
"VE": {
"name": "Венецуела"
},
@@ -150,7 +144,10 @@
"name": "Гвинеја"
},
"GW": {
- "name": "Гвинеја-БиÑао"
+ "name": "Гвинеја-БиÑау"
+ },
+ "GG": {
+ "name": "Гернзи"
},
"GI": {
"name": "Гибралтар"
@@ -170,12 +167,12 @@
"GU": {
"name": "Гуам"
},
- "GG": {
- "name": "ГурнÑи"
- },
"DK": {
"name": "ДанÑка"
},
+ "CD": {
+ "name": "ДемократÑка Република Конго"
+ },
"DG": {
"name": "Дијего ГарÑија"
},
@@ -192,11 +189,14 @@
"name": "Еквадор"
},
"GQ": {
- "name": "Екваторијална Гвинеја"
+ "name": "ЕкваторÑка Гвинеја"
},
"ER": {
"name": "Еритреја"
},
+ "AM": {
+ "name": "Ерменија"
+ },
"EE": {
"name": "ЕÑтонија"
},
@@ -209,6 +209,9 @@
"EH": {
"name": "Западна Сахара"
},
+ "CV": {
+ "name": "ЗеленортÑка ОÑтрва"
+ },
"ZW": {
"name": "Зимбабве"
},
@@ -257,6 +260,9 @@
"GS": {
"name": "Јужна Ðорџија и Јужна Сендвич ОÑтрва"
},
+ "SS": {
+ "name": "Јужни Судан"
+ },
"ZA": {
"name": "Јужноафричка Република"
},
@@ -264,7 +270,7 @@
"name": "КазахÑтан"
},
"KY": {
- "name": "КајманÑка ОÑтрва"
+ "name": "КајманÑка оÑтрва"
},
"KH": {
"name": "Камбоџа"
@@ -278,8 +284,8 @@
"IC": {
"name": "КанарÑка оÑтрва"
},
- "CV": {
- "name": "Капе Верде"
+ "BQ": {
+ "name": "КарипÑка Холандија"
},
"QA": {
"name": "Катар"
@@ -306,13 +312,13 @@
"name": "Колумбија"
},
"KM": {
- "name": "КоморÑка ОÑтрва"
+ "name": "Комори"
},
"CG": {
- "name": "Конго - Бразавил"
+ "name": "Конго"
},
- "CD": {
- "name": "Конго - КиншаÑа"
+ "XK": {
+ "name": "КоÑово"
},
"CR": {
"name": "КоÑтарика"
@@ -326,15 +332,18 @@
"CK": {
"name": "Кукова ОÑтрва"
},
+ "CW": {
+ "name": "КураÑао"
+ },
"LA": {
"name": "ЛаоÑ"
},
+ "LV": {
+ "name": "Латвија"
+ },
"LS": {
"name": "ЛеÑото"
},
- "LV": {
- "name": "Летонија"
- },
"LB": {
"name": "Либан"
},
@@ -363,7 +372,7 @@
"name": "Мајоте"
},
"MO": {
- "name": "Макао С. Ð. Р. Кина"
+ "name": "Макао (СÐР Кина)"
},
"MK": {
"name": "Македонија"
@@ -404,12 +413,12 @@
"MX": {
"name": "МекÑико"
},
- "MM": {
- "name": "Мијанмар (Бурма)"
- },
"FM": {
"name": "Микронезија"
},
+ "MM": {
+ "name": "Мјанмар"
+ },
"MZ": {
"name": "Мозамбик"
},
@@ -431,9 +440,6 @@
"NR": {
"name": "Ðауру"
},
- "DE": {
- "name": "Ðемачка"
- },
"NP": {
"name": "Ðепал"
},
@@ -458,12 +464,15 @@
"NO": {
"name": "Ðорвешка"
},
- "NF": {
- "name": "Ðорфолк ОÑтрво"
+ "DE": {
+ "name": "Њемачка"
},
"CI": {
"name": "Обала Слоноваче"
},
+ "AX": {
+ "name": "ОландÑка оÑтрва"
+ },
"OM": {
"name": "Оман"
},
@@ -471,7 +480,10 @@
"name": "ОÑтрво ÐÑенÑион"
},
"IM": {
- "name": "ОÑтрво Ман"
+ "name": "ОÑтрво Мен"
+ },
+ "NF": {
+ "name": "ОÑтрво Ðорфолк"
},
"PK": {
"name": "ПакиÑтан"
@@ -501,10 +513,10 @@
"name": "ПољÑка"
},
"PR": {
- "name": "Порто Рико"
+ "name": "Порторико"
},
"PT": {
- "name": "Португалија"
+ "name": "Португал"
},
"RE": {
"name": "Реинион"
@@ -518,9 +530,6 @@
"RU": {
"name": "РуÑија"
},
- "VI": {
- "name": "С.Ð.Д. ДевичанÑка ОÑтрва"
- },
"SV": {
"name": "Салвадор"
},
@@ -530,29 +539,35 @@
"SM": {
"name": "Сан Марино"
},
- "ST": {
- "name": "Сао Томе и Принципе"
- },
"SA": {
"name": "СаудијÑка Ðрабија"
},
"SZ": {
- "name": "Свазиленд"
+ "name": "Свази"
},
"SJ": {
- "name": "Свалбард и Јанмајен ОÑтрва"
+ "name": "Свалбард и Јан Мајен"
+ },
+ "LC": {
+ "name": "Света Луција"
},
"SH": {
- "name": "Света Јелена"
+ "name": "Света Хелена"
},
"BL": {
"name": "Свети Бартоломеј"
},
- "KP": {
- "name": "Северна Кореја"
+ "VC": {
+ "name": "Свети ВинÑент и Гренадини"
},
- "MP": {
- "name": "Северна МаријанÑка ОÑтрва"
+ "KN": {
+ "name": "Свети КриÑтофор и ÐевиÑ"
+ },
+ "MF": {
+ "name": "Свети Мартин"
+ },
+ "ST": {
+ "name": "Свети Тома и Принцип"
},
"SC": {
"name": "Сејшели"
@@ -563,18 +578,6 @@
"SN": {
"name": "Сенегал"
},
- "VC": {
- "name": "Сент ВинÑент и Гренадини"
- },
- "KN": {
- "name": "Сент ÐšÐ¸Ñ‚Ñ Ð¸ ÐевиÑ"
- },
- "LC": {
- "name": "Сент Луција"
- },
- "MF": {
- "name": "Сент Мартин"
- },
"EA": {
"name": "Сеута и Мелиља"
},
@@ -587,6 +590,12 @@
"SY": {
"name": "Сирија"
},
+ "KP": {
+ "name": "Сјеверна Кореја"
+ },
+ "MP": {
+ "name": "Сјеверна МаријанÑка оÑтрва"
+ },
"US": {
"name": "Сједињене Ðмеричке Државе"
},
@@ -605,6 +614,9 @@
"RS": {
"name": "Србија"
},
+ "CF": {
+ "name": "Средњоафричка Република"
+ },
"SD": {
"name": "Судан"
},
@@ -662,6 +674,9 @@
"AE": {
"name": "Уједињени ÐрапÑки Емирати"
},
+ "GB": {
+ "name": "Уједињено КраљевÑтво"
+ },
"UA": {
"name": "Украјина"
},
@@ -669,7 +684,7 @@
"name": "Уругвај"
},
"FO": {
- "name": "ФарÑка ОÑтрва"
+ "name": "ФарÑка оÑтрва"
},
"PH": {
"name": "Филипини"
@@ -702,7 +717,7 @@
"name": "Холандија"
},
"HK": {
- "name": "Хонг Конг С. Ð. Р. Кина"
+ "name": "Хонг Конг (СÐР Кина)"
},
"HN": {
"name": "ХондураÑ"
@@ -710,9 +725,6 @@
"HR": {
"name": "ХрватÑка"
},
- "CF": {
- "name": "Централно Ðфричка Република"
- },
"ME": {
"name": "Црна Гора"
},
@@ -726,36 +738,24 @@
"name": "Чиле"
},
"JE": {
- "name": "ÐерÑи"
+ "name": "Ðерзи"
},
"DJ": {
"name": "Ðибути"
},
- "CH": {
- "name": "ШвајцарÑка"
- },
"SE": {
"name": "ШведÑка"
},
+ "CH": {
+ "name": "ШвицарÑка"
+ },
"ES": {
"name": "Шпанија"
},
"LK": {
"name": "Шри Ланка"
},
- "BQ": {
- "name": "Caribbean Netherlands"
- },
- "CW": {
- "name": "Curaçao"
- },
- "XK": {
- "name": "Kosovo"
- },
"SX": {
"name": "Sint Maarten"
- },
- "SS": {
- "name": "South Sudan"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/bs.json b/vendor/commerceguys/intl/resources/country/bs.json
index 7ac63ca2a..3ec07c4c7 100644
--- a/vendor/commerceguys/intl/resources/country/bs.json
+++ b/vendor/commerceguys/intl/resources/country/bs.json
@@ -9,7 +9,7 @@
"name": "Alžir"
},
"VI": {
- "name": "AmeriÄka DjeviÄanska Ostrva"
+ "name": "AmeriÄka DjeviÄanska ostrva"
},
"AS": {
"name": "AmeriÄka Samoa"
@@ -87,13 +87,13 @@
"name": "Bosna i Hercegovina"
},
"CX": {
- "name": "Božićna Ostrva"
+ "name": "Božićno ostrvo"
},
"BR": {
"name": "Brazil"
},
"VG": {
- "name": "Britanska DjeviÄanska Ostrva"
+ "name": "Britanska DjeviÄanska ostrva"
},
"IO": {
"name": "Britanska Teritorija u Indijskom Okeanu"
@@ -123,7 +123,7 @@
"name": "ÄŒad"
},
"CZ": {
- "name": "Češka Republika"
+ "name": "Češka"
},
"CL": {
"name": "ÄŒile"
@@ -143,9 +143,6 @@
"DO": {
"name": "Dominikanska Republika"
},
- "JE": {
- "name": "Džerzi"
- },
"DJ": {
"name": "Džibuti"
},
@@ -168,7 +165,7 @@
"name": "Etiopija"
},
"FO": {
- "name": "Farska Ostrva"
+ "name": "Farska ostrva"
},
"FJ": {
"name": "Fidži"
@@ -180,7 +177,7 @@
"name": "Finska"
},
"FK": {
- "name": "Folklandska Ostrva"
+ "name": "Folklandska ostrva"
},
"FR": {
"name": "Francuska"
@@ -290,11 +287,14 @@
"YE": {
"name": "Jemen"
},
+ "JE": {
+ "name": "Jersey"
+ },
"JO": {
"name": "Jordan"
},
"GS": {
- "name": "Južna Džordžija i Južna SendviÄka Ostrva"
+ "name": "Južna Džordžija i Južna SendviÄ ostrva"
},
"KR": {
"name": "Južna Koreja"
@@ -306,7 +306,7 @@
"name": "JužnoafriÄka Republika"
},
"KY": {
- "name": "Kajmanska Ostrva"
+ "name": "Kajmanska ostrva"
},
"KH": {
"name": "Kambodža"
@@ -318,7 +318,7 @@
"name": "Kanada"
},
"IC": {
- "name": "Kanarska Ostrva"
+ "name": "Kanarska ostrva"
},
"CV": {
"name": "Kape Verde"
@@ -348,13 +348,13 @@
"name": "Kiribati"
},
"CC": {
- "name": "Kokosova (Kilingova) Ostrva"
+ "name": "Kokosova (Keelingova) ostrva"
},
"CO": {
"name": "Kolumbija"
},
"KM": {
- "name": "Komorska Ostrva"
+ "name": "Komori"
},
"CG": {
"name": "Kongo"
@@ -369,7 +369,7 @@
"name": "Kuba"
},
"CK": {
- "name": "Kukova Ostrva"
+ "name": "Kukova ostrva"
},
"CW": {
"name": "Kurasao"
@@ -438,7 +438,7 @@
"name": "Maroko"
},
"MH": {
- "name": "Maršalova Ostrva"
+ "name": "Maršalova ostrva"
},
"MQ": {
"name": "Martinik"
@@ -452,12 +452,12 @@
"MX": {
"name": "Meksiko"
},
- "MM": {
- "name": "Mijanmar"
- },
"FM": {
"name": "Mikronezija"
},
+ "MM": {
+ "name": "Mjanmar"
+ },
"MD": {
"name": "Moldavija"
},
@@ -510,7 +510,7 @@
"name": "Obala SlonovaÄe"
},
"AX": {
- "name": "Olandska Ostrva"
+ "name": "Olandska ostrva"
},
"OM": {
"name": "Oman"
@@ -522,7 +522,7 @@
"name": "Ostrva Valis i Futuna"
},
"AC": {
- "name": "Ostrvo Asension"
+ "name": "Ostrvo Ascension"
},
"IM": {
"name": "Ostrvo Man"
@@ -618,7 +618,7 @@
"name": "Sjeverna Koreja"
},
"MP": {
- "name": "Sjeverna Marijanska Ostrva"
+ "name": "Sjeverna Marijanska ostrva"
},
"SK": {
"name": "SlovaÄka"
@@ -641,9 +641,6 @@
"SR": {
"name": "Surinam"
},
- "MF": {
- "name": "Sv. Martin"
- },
"SJ": {
"name": "Svalbard i Jan Majen"
},
@@ -662,6 +659,9 @@
"KN": {
"name": "Sveti Kits i Nevis"
},
+ "MF": {
+ "name": "Sveti Martin"
+ },
"PM": {
"name": "Sveti Petar i Mikelon"
},
@@ -705,7 +705,7 @@
"name": "Trinidad i Tobago"
},
"TA": {
- "name": "Tristan da Kunja"
+ "name": "Tristan da Cunha"
},
"TN": {
"name": "Tunis"
diff --git a/vendor/commerceguys/intl/resources/country/ca.json b/vendor/commerceguys/intl/resources/country/ca.json
index 6542ab21b..7ea6ab5d2 100644
--- a/vendor/commerceguys/intl/resources/country/ca.json
+++ b/vendor/commerceguys/intl/resources/country/ca.json
@@ -569,9 +569,6 @@
"DO": {
"name": "República Dominicana"
},
- "CZ": {
- "name": "República Txeca"
- },
"RO": {
"name": "Romania"
},
@@ -681,7 +678,7 @@
"name": "Territori Britànic de l’Oceà Ãndic"
},
"TF": {
- "name": "Territoris Francesos del Sud"
+ "name": "Territoris Australs Francesos"
},
"PS": {
"name": "territoris palestins"
@@ -719,6 +716,9 @@
"TD": {
"name": "Txad"
},
+ "CZ": {
+ "name": "Txèquia"
+ },
"UA": {
"name": "Ucraïna"
},
diff --git a/vendor/commerceguys/intl/resources/country/ce.json b/vendor/commerceguys/intl/resources/country/ce.json
index 4db6fcd4c..93d094026 100644
--- a/vendor/commerceguys/intl/resources/country/ce.json
+++ b/vendor/commerceguys/intl/resources/country/ce.json
@@ -221,9 +221,6 @@
"IL": {
"name": "Израиль"
},
- "IN": {
- "name": "Инди"
- },
"ID": {
"name": "Индонези"
},
@@ -248,9 +245,6 @@
"CV": {
"name": "Кабо-Верде"
},
- "KZ": {
- "name": "КазахÑтан"
- },
"KY": {
"name": "Кайман гӀайренаш"
},
@@ -287,9 +281,6 @@
"KI": {
"name": "Кирибати"
},
- "CN": {
- "name": "Китай"
- },
"CC": {
"name": "КокоÑийн гӀайренаш"
},
@@ -299,6 +290,9 @@
"KM": {
"name": "Комораш"
},
+ "CG": {
+ "name": "Конго - Браззавиль"
+ },
"XK": {
"name": "КоÑово"
},
@@ -317,6 +311,9 @@
"CK": {
"name": "Кукан гӀайренаш"
},
+ "KZ": {
+ "name": "КхазакхÑтан"
+ },
"GS": {
"name": "Къилба Джорджи а, Къилба Гавайн гӀайренаш а"
},
@@ -474,10 +471,7 @@
"name": "Ðорфолк гӀайре"
},
"AF": {
- "name": "ОвхӀан-пачхьалкх"
- },
- "OM": {
- "name": "Оман"
+ "name": "ОвхӀан мохк"
},
"PK": {
"name": "ПакиÑтан"
@@ -486,7 +480,7 @@
"name": "Палау"
},
"PS": {
- "name": "ПалеÑтинан латтанаш"
+ "name": "ПалеÑтӀинан латтанаш"
},
"PA": {
"name": "Панама"
@@ -512,9 +506,6 @@
"PR": {
"name": "ПуÑрто-Рико"
},
- "CG": {
- "name": "РеÑпублика Конго"
- },
"RE": {
"name": "Реюньон"
},
@@ -540,7 +531,7 @@
"name": "Сан-Томе а, ПринÑипи а"
},
"SA": {
- "name": "СаӀудийн Ðрави"
+ "name": "СаӀудийн Ӏаьрбийчоь"
},
"SZ": {
"name": "Свазиленд"
@@ -695,6 +686,12 @@
"HR": {
"name": "Хорвати"
},
+ "IN": {
+ "name": "ХӀинди"
+ },
+ "CN": {
+ "name": "Цийчоь"
+ },
"US": {
"name": "Цхьанатоьхна Штаташ"
},
@@ -753,9 +750,12 @@
"name": "Ӏарбийн Цхьанатоьхна Эмираташ"
},
"ME": {
- "name": "Ӏаьржаламанхойчоь"
+ "name": "Ӏаьржаламанчоь"
},
"IQ": {
"name": "Ӏиракъ"
+ },
+ "OM": {
+ "name": "Ӏоман"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/chr.json b/vendor/commerceguys/intl/resources/country/chr.json
index 335cd6a81..26c6b74ec 100644
--- a/vendor/commerceguys/intl/resources/country/chr.json
+++ b/vendor/commerceguys/intl/resources/country/chr.json
@@ -599,6 +599,9 @@
"TW": {
"name": "á”Ꭲá©á‚"
},
+ "TO": {
+ "name": "á”á‚Ꭺ"
+ },
"TJ": {
"name": "á”á¥áŽ©áá•á‚"
},
@@ -629,9 +632,6 @@
"DO": {
"name": "á™áŽ»á‚ᎧႠáᎦášáŽ©"
},
- "TO": {
- "name": "á™á…Ꭶ"
- },
"TN": {
"name": "ášá‚ááᎠ"
},
@@ -660,7 +660,7 @@
"name": "á£á©á‚á"
},
"CZ": {
- "name": "á¤áŽ© áᎦášáŽ©"
+ "name": "á¤áŽ©áŽ "
},
"CL": {
"name": "á¥áŽµ"
diff --git a/vendor/commerceguys/intl/resources/country/ckb.json b/vendor/commerceguys/intl/resources/country/ckb.json
index 7e23dc39d..5e1af981a 100644
--- a/vendor/commerceguys/intl/resources/country/ckb.json
+++ b/vendor/commerceguys/intl/resources/country/ckb.json
@@ -188,9 +188,6 @@
"VI": {
"name": "U.S. Virgin Islands"
},
- "US": {
- "name": "United States"
- },
"VE": {
"name": "Venezuela"
},
@@ -200,9 +197,6 @@
"EH": {
"name": "Western Sahara"
},
- "AR": {
- "name": "ئارجەنتینا"
- },
"AW": {
"name": "ئارووبا"
},
@@ -224,6 +218,9 @@
"ET": {
"name": "ئەتیۆپیا"
},
+ "AR": {
+ "name": "ئەرژەنتین"
+ },
"AM": {
"name": "ئەرمەنستان"
},
@@ -236,9 +233,6 @@
"AF": {
"name": "ئەÙغانستان"
},
- "DZ": {
- "name": "ئەلجەزایر"
- },
"AL": {
"name": "ئەڵبانیا"
},
@@ -257,12 +251,12 @@
"UZ": {
"name": "ئوزبەکستان"
},
+ "AU": {
+ "name": "ئوسترالیا"
+ },
"UG": {
"name": "ئوگاندا"
},
- "AU": {
- "name": "ئۆسترالیا"
- },
"UA": {
"name": "ئۆکرانیا"
},
@@ -296,9 +290,6 @@
"BR": {
"name": "برازیل"
},
- "BJ": {
- "name": "بنین"
- },
"BH": {
"name": "بەحرەین"
},
@@ -338,6 +329,9 @@
"BY": {
"name": "بیلاڕووس"
},
+ "BJ": {
+ "name": "بێنین"
+ },
"PG": {
"name": "پاپوا گینێی نوێ"
},
@@ -398,12 +392,18 @@
"JM": {
"name": "جامایکا"
},
+ "DZ": {
+ "name": "جەزایر"
+ },
"DJ": {
"name": "جیبووتی"
},
"TD": {
"name": "چاد"
},
+ "CL": {
+ "name": "چیلی"
+ },
"CN": {
"name": "چین"
},
@@ -414,7 +414,7 @@
"name": "دوورگەکانی سلێمان"
},
"KM": {
- "name": "دوورگەکانی قەمەر"
+ "name": "دوورگەکانی کۆمۆر"
},
"MH": {
"name": "دوورگەکانی مارشاڵ"
@@ -509,9 +509,6 @@
"GB": {
"name": "شانشینی یەکگرتوو"
},
- "CL": {
- "name": "شیلی"
- },
"SA": {
"name": "عەرەبستانی سەعوودی"
},
@@ -558,7 +555,7 @@
"name": "کازاخستان"
},
"CM": {
- "name": "کامیروون"
+ "name": "کامیرۆن"
},
"CA": {
"name": "کانەدا"
@@ -752,6 +749,9 @@
"IN": {
"name": "ھیندستان"
},
+ "US": {
+ "name": "ویلایەتە یەکگرتووەکان"
+ },
"YE": {
"name": "یەمەن"
},
diff --git a/vendor/commerceguys/intl/resources/country/cs.json b/vendor/commerceguys/intl/resources/country/cs.json
index 1bdaa3252..16128a375 100644
--- a/vendor/commerceguys/intl/resources/country/cs.json
+++ b/vendor/commerceguys/intl/resources/country/cs.json
@@ -126,7 +126,7 @@
"name": "Černá Hora"
},
"CZ": {
- "name": "Česká republika"
+ "name": "ÄŒesko"
},
"CN": {
"name": "Čína"
diff --git a/vendor/commerceguys/intl/resources/country/cy.json b/vendor/commerceguys/intl/resources/country/cy.json
index bab95e199..26c2ff2fe 100644
--- a/vendor/commerceguys/intl/resources/country/cy.json
+++ b/vendor/commerceguys/intl/resources/country/cy.json
@@ -69,7 +69,7 @@
"name": "Bolifia"
},
"BA": {
- "name": "Bosnia a Hercegovina"
+ "name": "Bosnia a Herzegovina"
},
"BW": {
"name": "Botswana"
@@ -239,9 +239,6 @@
"DO": {
"name": "Gweriniaeth Dominica"
},
- "CZ": {
- "name": "Gweriniaeth Tsiec"
- },
"BE": {
"name": "Gwlad Belg"
},
@@ -605,6 +602,9 @@
"TA": {
"name": "Tristan da Cunha"
},
+ "CZ": {
+ "name": "Tsiecia"
+ },
"CN": {
"name": "Tsieina"
},
diff --git a/vendor/commerceguys/intl/resources/country/da.json b/vendor/commerceguys/intl/resources/country/da.json
index 2b7bdd797..57dcafc7d 100644
--- a/vendor/commerceguys/intl/resources/country/da.json
+++ b/vendor/commerceguys/intl/resources/country/da.json
@@ -429,7 +429,7 @@
"name": "Mexico"
},
"FM": {
- "name": "Mikronesiens Forenede Stater"
+ "name": "Mikronesien"
},
"MD": {
"name": "Moldova"
diff --git a/vendor/commerceguys/intl/resources/country/de-AT.json b/vendor/commerceguys/intl/resources/country/de-AT.json
index f59c442d2..5b646b922 100644
--- a/vendor/commerceguys/intl/resources/country/de-AT.json
+++ b/vendor/commerceguys/intl/resources/country/de-AT.json
@@ -491,9 +491,6 @@
"AT": {
"name": "Österreich"
},
- "TL": {
- "name": "Osttimor"
- },
"PK": {
"name": "Pakistan"
},
@@ -599,12 +596,12 @@
"SO": {
"name": "Somalia"
},
+ "HK": {
+ "name": "Sonderverwaltungsregion Hongkong"
+ },
"MO": {
"name": "Sonderverwaltungsregion Macau"
},
- "HK": {
- "name": "Sonderverwaltungszone Hongkong"
- },
"ES": {
"name": "Spanien"
},
@@ -671,6 +668,9 @@
"TH": {
"name": "Thailand"
},
+ "TL": {
+ "name": "Timor-Leste"
+ },
"TG": {
"name": "Togo"
},
@@ -690,7 +690,7 @@
"name": "Tschad"
},
"CZ": {
- "name": "Tschechische Republik"
+ "name": "Tschechien"
},
"TN": {
"name": "Tunesien"
diff --git a/vendor/commerceguys/intl/resources/country/de-CH.json b/vendor/commerceguys/intl/resources/country/de-CH.json
index 15abe9e34..9c3b45c35 100644
--- a/vendor/commerceguys/intl/resources/country/de-CH.json
+++ b/vendor/commerceguys/intl/resources/country/de-CH.json
@@ -596,17 +596,17 @@
"SO": {
"name": "Somalia"
},
+ "HK": {
+ "name": "Sonderverwaltungsregion Hongkong"
+ },
"MO": {
"name": "Sonderverwaltungsregion Macau"
},
- "HK": {
- "name": "Sonderverwaltungszone Hongkong"
- },
"ES": {
"name": "Spanien"
},
"SJ": {
- "name": "Spitzbergen"
+ "name": "Spitzbergen und Jan Mayen"
},
"LK": {
"name": "Sri Lanka"
@@ -687,7 +687,7 @@
"name": "Tschad"
},
"CZ": {
- "name": "Tschechische Republik"
+ "name": "Tschechien"
},
"TN": {
"name": "Tunesien"
diff --git a/vendor/commerceguys/intl/resources/country/de.json b/vendor/commerceguys/intl/resources/country/de.json
index 1a604877e..a5165ca10 100644
--- a/vendor/commerceguys/intl/resources/country/de.json
+++ b/vendor/commerceguys/intl/resources/country/de.json
@@ -491,9 +491,6 @@
"AT": {
"name": "Österreich"
},
- "TL": {
- "name": "Osttimor"
- },
"PK": {
"name": "Pakistan"
},
@@ -599,17 +596,17 @@
"SO": {
"name": "Somalia"
},
+ "HK": {
+ "name": "Sonderverwaltungsregion Hongkong"
+ },
"MO": {
"name": "Sonderverwaltungsregion Macau"
},
- "HK": {
- "name": "Sonderverwaltungszone Hongkong"
- },
"ES": {
"name": "Spanien"
},
"SJ": {
- "name": "Spitzbergen"
+ "name": "Spitzbergen und Jan Mayen"
},
"LK": {
"name": "Sri Lanka"
@@ -671,6 +668,9 @@
"TH": {
"name": "Thailand"
},
+ "TL": {
+ "name": "Timor-Leste"
+ },
"TG": {
"name": "Togo"
},
@@ -690,7 +690,7 @@
"name": "Tschad"
},
"CZ": {
- "name": "Tschechische Republik"
+ "name": "Tschechien"
},
"TN": {
"name": "Tunesien"
diff --git a/vendor/commerceguys/intl/resources/country/el.json b/vendor/commerceguys/intl/resources/country/el.json
index 752f7f054..1f1d48138 100644
--- a/vendor/commerceguys/intl/resources/country/el.json
+++ b/vendor/commerceguys/intl/resources/country/el.json
@@ -20,8 +20,8 @@
"SX": {
"name": "Άγιος ΜαÏτίνος (Ολλανδικό τμήμα)"
},
- "KN": {
- "name": "Άγιος ΧÏιστόφοÏος και Îέβις"
+ "AO": {
+ "name": "Αγκόλα"
},
"AZ": {
"name": "ΑζεÏμπαϊτζάν"
@@ -45,14 +45,11 @@
"name": "ΑλγεÏία"
},
"VI": {
- "name": "ΑμεÏικανικές ΠαÏθένοι Îήσοι"
+ "name": "ΑμεÏικανικές ΠαÏθένες Îήσοι"
},
"AS": {
"name": "ΑμεÏικανική Σαμόα"
},
- "AO": {
- "name": "Ανγκόλα"
- },
"AI": {
"name": "Ανγκουίλα"
},
@@ -123,7 +120,7 @@
"name": "Î’Ïετανικά Εδάφη Î™Î½Î´Î¹ÎºÎ¿Ï Î©ÎºÎµÎ±Î½Î¿Ï"
},
"VG": {
- "name": "Î’Ïετανικές ΠαÏθένοι Îήσοι"
+ "name": "Î’Ïετανικές ΠαÏθένες Îήσοι"
},
"FR": {
"name": "Γαλλία"
@@ -191,9 +188,6 @@
"EH": {
"name": "Δυτική ΣαχάÏα"
},
- "EC": {
- "name": "ΕκουαδόÏ"
- },
"SV": {
"name": "Ελ ΣαλβαδόÏ"
},
@@ -225,7 +219,7 @@
"name": "Ηνωμένο Βασίλειο"
},
"EA": {
- "name": "ΘεοÏτα και Μελίλα"
+ "name": "Θέουτα και Μελίγια"
},
"JP": {
"name": "Ιαπωνία"
@@ -251,6 +245,9 @@
"GQ": {
"name": "ΙσημεÏινή Γουινέα"
},
+ "EC": {
+ "name": "ΙσημεÏινός"
+ },
"IS": {
"name": "Ισλανδία"
},
@@ -309,7 +306,7 @@
"name": "Κονγκό - ΜπÏαζαβίλ"
},
"XK": {
- "name": "Κόσοβο"
+ "name": "Κοσσυφοπέδιο"
},
"CR": {
"name": "Κόστα Ρίκα"
@@ -402,7 +399,7 @@
"name": "Μεξικό"
},
"MM": {
- "name": "ΜιανμάÏ\/ΒιÏμανία"
+ "name": "ÎœÎ¹Î±Î½Î¼Î¬Ï (ΒιÏμανία)"
},
"FM": {
"name": "ΜικÏονησία"
@@ -426,7 +423,7 @@
"name": "Μπανγκλαντές"
},
"BB": {
- "name": "ΜπαÏμπάντος"
+ "name": "ΜπαÏμπέιντος"
},
"BS": {
"name": "Μπαχάμες"
@@ -474,7 +471,7 @@
"name": "Îήσοι Î’ÏŒÏειες ΜαÏιάνες"
},
"KY": {
- "name": "Îήσοι Κάιμαν"
+ "name": "Îήσοι Κέιμαν"
},
"CC": {
"name": "Îήσοι Κόκος (Κίλινγκ)"
@@ -498,7 +495,7 @@
"name": "Îήσοι Σολομώντος"
},
"TC": {
- "name": "Îήσοι ΤεÏκ και Κάικος"
+ "name": "Îήσοι ΤεÏκς και Κάικος"
},
"FO": {
"name": "Îήσοι ΦεÏόες"
@@ -509,12 +506,12 @@
"AC": {
"name": "Îήσος Ασενσιόν"
},
- "IM": {
- "name": "Îήσος Μαν"
- },
"NF": {
"name": "Îήσος ÎÏŒÏφολκ"
},
+ "IM": {
+ "name": "Îήσος του Μαν"
+ },
"CX": {
"name": "Îήσος των ΧÏιστουγέννων"
},
@@ -638,6 +635,9 @@
"SJ": {
"name": "ΣβάλμπαÏντ και Γιαν Μαγιέν"
},
+ "KN": {
+ "name": "Σεν Κιτς και Îέβις"
+ },
"PM": {
"name": "Σεν Î Î¹ÎµÏ ÎºÎ±Î¹ Μικελόν"
},
@@ -735,7 +735,7 @@
"name": "Τσαντ"
},
"CZ": {
- "name": "Τσεχική ΔημοκÏατία"
+ "name": "Τσεχία"
},
"TN": {
"name": "Τυνησία"
diff --git a/vendor/commerceguys/intl/resources/country/en-GB.json b/vendor/commerceguys/intl/resources/country/en-GB.json
new file mode 100644
index 000000000..b33258351
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/en-GB.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czechia"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St Barthélemy"
+ },
+ "SH": {
+ "name": "St Helena"
+ },
+ "KN": {
+ "name": "St Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St Lucia"
+ },
+ "MF": {
+ "name": "St Martin"
+ },
+ "PM": {
+ "name": "St Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UM": {
+ "name": "US Outlying Islands"
+ },
+ "VI": {
+ "name": "US Virgin Islands"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/en.json b/vendor/commerceguys/intl/resources/country/en.json
index 7a858bf01..ddf90c387 100644
--- a/vendor/commerceguys/intl/resources/country/en.json
+++ b/vendor/commerceguys/intl/resources/country/en.json
@@ -186,7 +186,7 @@
"name": "Cyprus"
},
"CZ": {
- "name": "Czech Republic"
+ "name": "Czechia"
},
"DK": {
"name": "Denmark"
diff --git a/vendor/commerceguys/intl/resources/country/es-AR.json b/vendor/commerceguys/intl/resources/country/es-AR.json
index e94300461..fd47917f0 100644
--- a/vendor/commerceguys/intl/resources/country/es-AR.json
+++ b/vendor/commerceguys/intl/resources/country/es-AR.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-BO.json b/vendor/commerceguys/intl/resources/country/es-BO.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-BO.json
+++ b/vendor/commerceguys/intl/resources/country/es-BO.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-BR.json b/vendor/commerceguys/intl/resources/country/es-BR.json
index d0a111cec..bc214e555 100644
--- a/vendor/commerceguys/intl/resources/country/es-BR.json
+++ b/vendor/commerceguys/intl/resources/country/es-BR.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-BZ.json b/vendor/commerceguys/intl/resources/country/es-BZ.json
new file mode 100644
index 000000000..bc214e555
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/es-BZ.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CZ": {
+ "name": "Chequia"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "UM": {
+ "name": "Islas Ultramarinas de EE.UU."
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de los Estados Unidos"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/es-CL.json b/vendor/commerceguys/intl/resources/country/es-CL.json
index d10f7a5d1..62e8e1d7a 100644
--- a/vendor/commerceguys/intl/resources/country/es-CL.json
+++ b/vendor/commerceguys/intl/resources/country/es-CL.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-CO.json b/vendor/commerceguys/intl/resources/country/es-CO.json
index e94300461..fd47917f0 100644
--- a/vendor/commerceguys/intl/resources/country/es-CO.json
+++ b/vendor/commerceguys/intl/resources/country/es-CO.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-CR.json b/vendor/commerceguys/intl/resources/country/es-CR.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-CR.json
+++ b/vendor/commerceguys/intl/resources/country/es-CR.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-CU.json b/vendor/commerceguys/intl/resources/country/es-CU.json
index d0a111cec..bc214e555 100644
--- a/vendor/commerceguys/intl/resources/country/es-CU.json
+++ b/vendor/commerceguys/intl/resources/country/es-CU.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-DO.json b/vendor/commerceguys/intl/resources/country/es-DO.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-DO.json
+++ b/vendor/commerceguys/intl/resources/country/es-DO.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-EC.json b/vendor/commerceguys/intl/resources/country/es-EC.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-EC.json
+++ b/vendor/commerceguys/intl/resources/country/es-EC.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-GT.json b/vendor/commerceguys/intl/resources/country/es-GT.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-GT.json
+++ b/vendor/commerceguys/intl/resources/country/es-GT.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-HN.json b/vendor/commerceguys/intl/resources/country/es-HN.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-HN.json
+++ b/vendor/commerceguys/intl/resources/country/es-HN.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-MX.json b/vendor/commerceguys/intl/resources/country/es-MX.json
index 6b1dc0e7d..ad4cda209 100644
--- a/vendor/commerceguys/intl/resources/country/es-MX.json
+++ b/vendor/commerceguys/intl/resources/country/es-MX.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -149,12 +152,12 @@
"KR": {
"name": "Corea del Sur"
},
- "CI": {
- "name": "Costa de Marfil"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
"HR": {
"name": "Croacia"
},
@@ -255,7 +258,7 @@
"name": "Guayana Francesa"
},
"GG": {
- "name": "Guernesey"
+ "name": "Guernsey"
},
"GN": {
"name": "Guinea"
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -338,6 +341,9 @@
"MH": {
"name": "Islas Marshall"
},
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
"PN": {
"name": "Islas Pitcairn"
},
@@ -347,9 +353,6 @@
"TC": {
"name": "Islas Turcas y Caicos"
},
- "UM": {
- "name": "Islas Ultramarinas Menores de Estados Unidos"
- },
"VG": {
"name": "Islas Vírgenes Británicas"
},
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-NI.json b/vendor/commerceguys/intl/resources/country/es-NI.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-NI.json
+++ b/vendor/commerceguys/intl/resources/country/es-NI.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-PA.json b/vendor/commerceguys/intl/resources/country/es-PA.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-PA.json
+++ b/vendor/commerceguys/intl/resources/country/es-PA.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-PE.json b/vendor/commerceguys/intl/resources/country/es-PE.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-PE.json
+++ b/vendor/commerceguys/intl/resources/country/es-PE.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-PR.json b/vendor/commerceguys/intl/resources/country/es-PR.json
index dc8f46f45..d33edf82d 100644
--- a/vendor/commerceguys/intl/resources/country/es-PR.json
+++ b/vendor/commerceguys/intl/resources/country/es-PR.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-PY.json b/vendor/commerceguys/intl/resources/country/es-PY.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-PY.json
+++ b/vendor/commerceguys/intl/resources/country/es-PY.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-SV.json b/vendor/commerceguys/intl/resources/country/es-SV.json
index dc8f46f45..d33edf82d 100644
--- a/vendor/commerceguys/intl/resources/country/es-SV.json
+++ b/vendor/commerceguys/intl/resources/country/es-SV.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-US.json b/vendor/commerceguys/intl/resources/country/es-US.json
index dc8f46f45..2df4de000 100644
--- a/vendor/commerceguys/intl/resources/country/es-US.json
+++ b/vendor/commerceguys/intl/resources/country/es-US.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -149,12 +152,12 @@
"KR": {
"name": "Corea del Sur"
},
- "CI": {
- "name": "Costa de Marfil"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
"HR": {
"name": "Croacia"
},
@@ -255,7 +258,7 @@
"name": "Guayana Francesa"
},
"GG": {
- "name": "Guernesey"
+ "name": "Guernsey"
},
"GN": {
"name": "Guinea"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
@@ -693,7 +693,7 @@
"name": "Territorios Palestinos"
},
"TL": {
- "name": "Timor Oriental"
+ "name": "Timor-Leste"
},
"TG": {
"name": "Togo"
diff --git a/vendor/commerceguys/intl/resources/country/es-UY.json b/vendor/commerceguys/intl/resources/country/es-UY.json
index d0a111cec..bc214e555 100644
--- a/vendor/commerceguys/intl/resources/country/es-UY.json
+++ b/vendor/commerceguys/intl/resources/country/es-UY.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es-VE.json b/vendor/commerceguys/intl/resources/country/es-VE.json
index e94300461..4ec5afd86 100644
--- a/vendor/commerceguys/intl/resources/country/es-VE.json
+++ b/vendor/commerceguys/intl/resources/country/es-VE.json
@@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
- "name": "Isla de la Ascensión"
+ "name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
- "name": "Islas Vírgenes de EE. UU."
+ "name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/es.json b/vendor/commerceguys/intl/resources/country/es.json
index c5ef97c54..37ba2ea78 100644
--- a/vendor/commerceguys/intl/resources/country/es.json
+++ b/vendor/commerceguys/intl/resources/country/es.json
@@ -78,7 +78,7 @@
"name": "Bolivia"
},
"BA": {
- "name": "Bosnia-Herzegovina"
+ "name": "Bosnia y Herzegovina"
},
"BW": {
"name": "Botsuana"
@@ -128,6 +128,9 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
@@ -258,7 +261,7 @@
"name": "Guayana Francesa"
},
"GG": {
- "name": "Guernesey"
+ "name": "Guernsey"
},
"GN": {
"name": "Guinea"
@@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CG": {
"name": "República del Congo"
},
diff --git a/vendor/commerceguys/intl/resources/country/et.json b/vendor/commerceguys/intl/resources/country/et.json
index d900eb6a8..60cd31495 100644
--- a/vendor/commerceguys/intl/resources/country/et.json
+++ b/vendor/commerceguys/intl/resources/country/et.json
@@ -560,9 +560,6 @@
"SB": {
"name": "Saalomoni Saared"
},
- "BL": {
- "name": "Saint Barthélemy"
- },
"SH": {
"name": "Saint Helena"
},
@@ -572,15 +569,18 @@
"LC": {
"name": "Saint Lucia"
},
- "PM": {
- "name": "Saint Pierre ja Miquelon"
- },
"VC": {
"name": "Saint Vincent ja Grenadiinid"
},
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
"MF": {
"name": "Saint-Martin"
},
+ "PM": {
+ "name": "Saint-Pierre ja Miquelon"
+ },
"DE": {
"name": "Saksamaa"
},
diff --git a/vendor/commerceguys/intl/resources/country/eu.json b/vendor/commerceguys/intl/resources/country/eu.json
index 14f5bcab4..860cf6b78 100644
--- a/vendor/commerceguys/intl/resources/country/eu.json
+++ b/vendor/commerceguys/intl/resources/country/eu.json
@@ -5,6 +5,9 @@
"CF": {
"name": "Afrika Erdiko Errepublika"
},
+ "AI": {
+ "name": "Aingira"
+ },
"AX": {
"name": "Aland uharteak"
},
@@ -17,9 +20,6 @@
"DZ": {
"name": "Aljeria"
},
- "AS": {
- "name": "Amerikar Samoa"
- },
"US": {
"name": "Ameriketako Estatu Batuak"
},
@@ -29,9 +29,6 @@
"AD": {
"name": "Andorra"
},
- "AI": {
- "name": "Angila"
- },
"AO": {
"name": "Angola"
},
@@ -153,7 +150,7 @@
"name": "Danimarka"
},
"DG": {
- "name": "Diego Garcia"
+ "name": "Diego García"
},
"DJ": {
"name": "Djibuti"
@@ -240,7 +237,7 @@
"name": "Ginea"
},
"GW": {
- "name": "Ginea-Bissau"
+ "name": "Ginea Bissau"
},
"GD": {
"name": "Grenada"
@@ -294,7 +291,7 @@
"name": "Honduras"
},
"HK": {
- "name": "Hong Kong AEB Txina"
+ "name": "Hong Kong Txinako AEB"
},
"HU": {
"name": "Hungaria"
@@ -312,7 +309,7 @@
"name": "Ipar Korea"
},
"MP": {
- "name": "Iparraldeko Mariana uharteak"
+ "name": "Ipar Mariana uharteak"
},
"IQ": {
"name": "Irak"
@@ -384,7 +381,7 @@
"name": "Komoreak"
},
"CG": {
- "name": "Kongo (Brazzaville)"
+ "name": "Kongo"
},
"CD": {
"name": "Kongoko Errepublika Demokratikoa"
@@ -429,7 +426,7 @@
"name": "Luxenburgo"
},
"MO": {
- "name": "Macau AEB Txina"
+ "name": "Macau Txinako AEB"
},
"MG": {
"name": "Madagaskar"
@@ -459,7 +456,7 @@
"name": "Maroko"
},
"MH": {
- "name": "Marshall uharteak"
+ "name": "Marshall Uharteak"
},
"MQ": {
"name": "Martinika"
@@ -594,11 +591,14 @@
"name": "Saint-Pierre eta Mikelune"
},
"SB": {
- "name": "Salomon uharteak"
+ "name": "Salomon Uharteak"
},
"WS": {
"name": "Samoa"
},
+ "AS": {
+ "name": "Samoa Estatubatuarra"
+ },
"SM": {
"name": "San Marino"
},
@@ -708,7 +708,7 @@
"name": "Txad"
},
"CZ": {
- "name": "Txekiar Errepublika"
+ "name": "Txekia"
},
"CL": {
"name": "Txile"
diff --git a/vendor/commerceguys/intl/resources/country/fa-AF.json b/vendor/commerceguys/intl/resources/country/fa-AF.json
index 07c342c83..7cb0e191c 100644
--- a/vendor/commerceguys/intl/resources/country/fa-AF.json
+++ b/vendor/commerceguys/intl/resources/country/fa-AF.json
@@ -113,6 +113,9 @@
"GB": {
"name": "بریتانیا"
},
+ "BY": {
+ "name": "بلاروس"
+ },
"BE": {
"name": "بلجیم"
},
@@ -335,9 +338,6 @@
"RU": {
"name": "روسیه"
},
- "BY": {
- "name": "روسیهٔ سÙید"
- },
"RO": {
"name": "رومانیا"
},
diff --git a/vendor/commerceguys/intl/resources/country/fil.json b/vendor/commerceguys/intl/resources/country/fil.json
index f14ba9fb0..a0036baed 100644
--- a/vendor/commerceguys/intl/resources/country/fil.json
+++ b/vendor/commerceguys/intl/resources/country/fil.json
@@ -24,7 +24,7 @@
"name": "Antarctica"
},
"AG": {
- "name": "Antigua and Barbuda"
+ "name": "Antigua & Barbuda"
},
"AO": {
"name": "Angola"
@@ -135,7 +135,7 @@
"name": "Central African Republic"
},
"EA": {
- "name": "Ceuta and Melilla"
+ "name": "Ceuta & Melilla"
},
"TD": {
"name": "Chad"
@@ -186,7 +186,7 @@
"name": "Cyprus"
},
"CZ": {
- "name": "Czech Republic"
+ "name": "Czechia"
},
"DK": {
"name": "Denmark"
@@ -563,27 +563,12 @@
"RW": {
"name": "Rwanda"
},
- "BL": {
- "name": "Saint Barthélemy"
- },
- "SH": {
- "name": "Saint Helena"
- },
- "KN": {
- "name": "Saint Kitts and Nevis"
- },
"LC": {
"name": "Saint Lucia"
},
"MF": {
"name": "Saint Martin"
},
- "PM": {
- "name": "Saint Pierre and Miquelon"
- },
- "VC": {
- "name": "Saint Vincent and the Grenadines"
- },
"WS": {
"name": "Samoa"
},
@@ -591,7 +576,7 @@
"name": "San Marino"
},
"ST": {
- "name": "São Tomé and Príncipe"
+ "name": "São Tomé & Príncipe"
},
"SA": {
"name": "Saudi Arabia"
@@ -630,7 +615,7 @@
"name": "South Africa"
},
"GS": {
- "name": "South Georgia and the South Sandwich Islands"
+ "name": "South Georgia & South Sandwich Islands"
},
"ES": {
"name": "Spain"
@@ -638,6 +623,21 @@
"LK": {
"name": "Sri Lanka"
},
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
"SD": {
"name": "Sudan"
},
@@ -645,7 +645,7 @@
"name": "Suriname"
},
"SJ": {
- "name": "Svalbard and Jan Mayen"
+ "name": "Svalbard & Jan Mayen"
},
"SZ": {
"name": "Swaziland"
@@ -690,7 +690,7 @@
"name": "Tonga"
},
"TT": {
- "name": "Trinidad and Tobago"
+ "name": "Trinidad & Tobago"
},
"TA": {
"name": "Tristan de Cunha"
@@ -705,7 +705,7 @@
"name": "Turkmenistan"
},
"TC": {
- "name": "Turks and Caicos Islands"
+ "name": "Turks & Caicos Islands"
},
"TV": {
"name": "Tuvalu"
@@ -747,7 +747,7 @@
"name": "Vietnam"
},
"WF": {
- "name": "Wallis and Futuna"
+ "name": "Wallis & Futuna"
},
"YE": {
"name": "Yemen"
diff --git a/vendor/commerceguys/intl/resources/country/fr-BE.json b/vendor/commerceguys/intl/resources/country/fr-BE.json
index 77621f32e..f07123de3 100644
--- a/vendor/commerceguys/intl/resources/country/fr-BE.json
+++ b/vendor/commerceguys/intl/resources/country/fr-BE.json
@@ -176,9 +176,6 @@
"EG": {
"name": "Égypte"
},
- "SV": {
- "name": "El Salvador"
- },
"AE": {
"name": "Émirats arabes unis"
},
@@ -572,9 +569,6 @@
"DO": {
"name": "République dominicaine"
},
- "CZ": {
- "name": "République tchèque"
- },
"RO": {
"name": "Roumanie"
},
@@ -617,6 +611,9 @@
"LC": {
"name": "Sainte-Lucie"
},
+ "SV": {
+ "name": "Salvador"
+ },
"WS": {
"name": "Samoa"
},
@@ -689,6 +686,9 @@
"TD": {
"name": "Tchad"
},
+ "CZ": {
+ "name": "Tchéquie"
+ },
"TF": {
"name": "Terres australes françaises"
},
diff --git a/vendor/commerceguys/intl/resources/country/fr-CA.json b/vendor/commerceguys/intl/resources/country/fr-CA.json
index 0f1c1cf95..773350066 100644
--- a/vendor/commerceguys/intl/resources/country/fr-CA.json
+++ b/vendor/commerceguys/intl/resources/country/fr-CA.json
@@ -179,9 +179,6 @@
"EG": {
"name": "Égypte"
},
- "SV": {
- "name": "El Salvador"
- },
"AE": {
"name": "Émirats arabes unis"
},
@@ -572,9 +569,6 @@
"DO": {
"name": "République dominicaine"
},
- "CZ": {
- "name": "République tchèque"
- },
"RO": {
"name": "Roumanie"
},
@@ -617,6 +611,9 @@
"LC": {
"name": "Sainte-Lucie"
},
+ "SV": {
+ "name": "Salvador"
+ },
"WS": {
"name": "Samoa"
},
@@ -689,11 +686,14 @@
"TD": {
"name": "Tchad"
},
+ "CZ": {
+ "name": "Tchéquie"
+ },
"TF": {
"name": "Terres australes françaises"
},
"IO": {
- "name": "Territoire britannique de l’océan Indien"
+ "name": "territoire britannique de l’océan Indien"
},
"PS": {
"name": "Territoires palestiniens"
diff --git a/vendor/commerceguys/intl/resources/country/fr.json b/vendor/commerceguys/intl/resources/country/fr.json
index 38882255b..5c0545072 100644
--- a/vendor/commerceguys/intl/resources/country/fr.json
+++ b/vendor/commerceguys/intl/resources/country/fr.json
@@ -176,9 +176,6 @@
"EG": {
"name": "Égypte"
},
- "SV": {
- "name": "El Salvador"
- },
"AE": {
"name": "Émirats arabes unis"
},
@@ -572,9 +569,6 @@
"DO": {
"name": "République dominicaine"
},
- "CZ": {
- "name": "République tchèque"
- },
"RO": {
"name": "Roumanie"
},
@@ -617,6 +611,9 @@
"LC": {
"name": "Sainte-Lucie"
},
+ "SV": {
+ "name": "Salvador"
+ },
"WS": {
"name": "Samoa"
},
@@ -689,6 +686,9 @@
"TD": {
"name": "Tchad"
},
+ "CZ": {
+ "name": "Tchéquie"
+ },
"TF": {
"name": "Terres australes françaises"
},
diff --git a/vendor/commerceguys/intl/resources/country/ga.json b/vendor/commerceguys/intl/resources/country/ga.json
index ab3c85af4..593cdfa1a 100644
--- a/vendor/commerceguys/intl/resources/country/ga.json
+++ b/vendor/commerceguys/intl/resources/country/ga.json
@@ -1,348 +1,348 @@
{
"ET": {
- "name": "An Aetóip"
+ "name": "an Aetóip"
},
"AF": {
- "name": "An Afganastáin"
+ "name": "an Afganastáin"
},
"ZA": {
- "name": "An Afraic Theas"
+ "name": "an Afraic Theas"
},
"DZ": {
- "name": "An Ailgéir"
+ "name": "an Ailgéir"
},
"AR": {
- "name": "An Airgintín"
+ "name": "an Airgintín"
},
"AM": {
- "name": "An Airméin"
+ "name": "an Airméin"
},
"AL": {
- "name": "An Albáin"
+ "name": "an Albáin"
},
"AQ": {
- "name": "An Antartaice"
+ "name": "an Antartaice"
},
"SA": {
- "name": "An Araib Shádach"
+ "name": "an Araib Shádach"
},
"AZ": {
- "name": "An Asarbaiseáin"
+ "name": "an Asarbaiseáin"
},
"AU": {
- "name": "An Astráil"
+ "name": "an Astráil"
},
"BD": {
- "name": "An Bhanglaidéis"
+ "name": "an Bhanglaidéis"
},
"BY": {
- "name": "An Bhealarúis"
+ "name": "an Bhealarúis"
},
"BE": {
- "name": "An Bheilg"
+ "name": "an Bheilg"
},
"BZ": {
- "name": "An Bheilís"
+ "name": "an Bheilís"
},
"BA": {
- "name": "An Bhoisnia agus An Heirseagaivéin"
+ "name": "an Bhoisnia agus an Heirseagaivéin"
},
"BO": {
- "name": "An Bholaiv"
+ "name": "an Bholaiv"
},
"BW": {
- "name": "An Bhotsuáin"
+ "name": "an Bhotsuáin"
},
"BR": {
- "name": "An Bhrasaíl"
+ "name": "an Bhrasaíl"
},
"BG": {
- "name": "An Bhulgáir"
+ "name": "an Bhulgáir"
},
"BI": {
- "name": "An Bhurúin"
+ "name": "an Bhurúin"
},
"BT": {
- "name": "An Bhútáin"
+ "name": "an Bhútáin"
},
"KH": {
- "name": "An Chambóid"
+ "name": "an Chambóid"
},
"KZ": {
- "name": "An Chasacstáin"
+ "name": "an Chasacstáin"
},
"KE": {
- "name": "An Chéinia"
+ "name": "an Chéinia"
},
"CY": {
- "name": "An Chipir"
+ "name": "an Chipir"
},
"KG": {
- "name": "An Chirgeastáin"
+ "name": "an Chirgeastáin"
},
"KR": {
- "name": "An Chóiré Theas"
+ "name": "an Chóiré Theas"
},
"KP": {
- "name": "An Chóiré Thuaidh"
+ "name": "an Chóiré Thuaidh"
},
"CO": {
- "name": "An Cholóim"
+ "name": "an Cholóim"
},
"XK": {
- "name": "An Chosaiv"
+ "name": "an Chosaiv"
},
"HR": {
- "name": "An Chróit"
+ "name": "an Chróit"
},
"CG": {
- "name": "An Congó"
+ "name": "an Congó"
},
"CI": {
- "name": "An Cósta Eabhair"
+ "name": "an Cósta Eabhair"
},
"DK": {
- "name": "An Danmhairg"
+ "name": "an Danmhairg"
},
"EE": {
- "name": "An Eastóin"
+ "name": "an Eastóin"
},
"EG": {
- "name": "An Éigipt"
+ "name": "an Éigipt"
},
"CH": {
- "name": "An Eilvéis"
+ "name": "an Eilvéis"
},
"ER": {
- "name": "An Eiritré"
+ "name": "an Eiritré"
},
"FI": {
- "name": "An Fhionlainn"
+ "name": "an Fhionlainn"
},
"FR": {
- "name": "An Fhrainc"
+ "name": "an Fhrainc"
},
"GA": {
- "name": "An Ghabúin"
+ "name": "an Ghabúin"
},
"GM": {
- "name": "An Ghaimbia"
+ "name": "an Ghaimbia"
},
"DE": {
- "name": "An Ghearmáin"
+ "name": "an Ghearmáin"
},
"GL": {
- "name": "An Ghraonlainn"
+ "name": "an Ghraonlainn"
},
"GR": {
- "name": "An Ghréig"
+ "name": "an Ghréig"
},
"GY": {
- "name": "An Ghuáin"
+ "name": "an Ghuáin"
},
"GN": {
- "name": "An Ghuine"
+ "name": "an Ghuine"
},
"GQ": {
- "name": "An Ghuine Mheánchriosach"
+ "name": "an Ghuine Mheánchiorclach"
},
"IQ": {
- "name": "An Iaráic"
+ "name": "an Iaráic"
},
"IR": {
- "name": "An Iaráin"
+ "name": "an Iaráin"
},
"IN": {
- "name": "An India"
+ "name": "an India"
},
"ID": {
- "name": "An Indinéis"
+ "name": "an Indinéis"
},
"IT": {
- "name": "An Iodáil"
+ "name": "an Iodáil"
},
"JO": {
- "name": "An Iordáin"
+ "name": "an Iordáin"
},
"NO": {
- "name": "An Iorua"
+ "name": "an Iorua"
},
"IS": {
- "name": "An Ãoslainn"
+ "name": "an Ãoslainn"
},
"NL": {
- "name": "An Ãsiltír"
+ "name": "an Ãsiltír"
},
"BQ": {
- "name": "An Ãsiltír Chairibeach"
+ "name": "an Ãsiltír Chairibeach"
},
"LV": {
- "name": "An Laitvia"
+ "name": "an Laitvia"
},
"LR": {
- "name": "An Libéir"
+ "name": "an Libéir"
},
"LY": {
- "name": "An Libia"
+ "name": "an Libia"
},
"LB": {
- "name": "An Liobáin"
+ "name": "an Liobáin"
},
"LT": {
- "name": "An Liotuáin"
+ "name": "an Liotuáin"
},
"MK": {
- "name": "An Mhacadóin"
+ "name": "an Mhacadóin"
},
"MY": {
- "name": "An Mhalaeisia"
+ "name": "an Mhalaeisia"
},
"MW": {
- "name": "An Mhaláiv"
+ "name": "an Mhaláiv"
},
"MR": {
- "name": "An Mháratáin"
+ "name": "an Mháratáin"
},
"FM": {
- "name": "An Mhicrinéis"
+ "name": "an Mhicrinéis"
},
"MD": {
- "name": "An Mholdóiv"
+ "name": "an Mholdóiv"
},
"MN": {
- "name": "An Mhongóil"
+ "name": "an Mhongóil"
},
"NA": {
- "name": "An Namaib"
+ "name": "an Namaib"
},
"NG": {
- "name": "An Nigéir"
+ "name": "an Nigéir"
},
"NE": {
- "name": "An Nígir"
+ "name": "an Nígir"
},
"NC": {
- "name": "An Nua-Chaladóin"
+ "name": "an Nua-Chaladóin"
},
"NZ": {
- "name": "An Nua-Shéalainn"
+ "name": "an Nua-Shéalainn"
},
"AT": {
- "name": "An Ostair"
+ "name": "an Ostair"
},
"PK": {
- "name": "An Phacastáin"
+ "name": "an Phacastáin"
},
"DO": {
- "name": "An Phoblacht Dhoiminiceach"
+ "name": "an Phoblacht Dhoiminiceach"
},
"PL": {
- "name": "An Pholainn"
+ "name": "an Pholainn"
},
"PT": {
- "name": "An Phortaingéil"
+ "name": "an Phortaingéil"
},
"GB": {
- "name": "An Ríocht Aontaithe"
+ "name": "an Ríocht Aontaithe"
},
"RO": {
- "name": "An Rómáin"
+ "name": "an Rómáin"
},
"RU": {
- "name": "An Rúis"
+ "name": "an Rúis"
},
"EH": {
- "name": "An Sahára Thiar"
+ "name": "an Sahára Thiar"
},
"ES": {
- "name": "An Spáinn"
+ "name": "an Spáinn"
},
"TJ": {
- "name": "An Táidsíceastáin"
+ "name": "an Táidsíceastáin"
},
"TZ": {
- "name": "An Tansáin"
+ "name": "an Tansáin"
},
"TH": {
- "name": "An Téalainn"
+ "name": "an Téalainn"
},
"TW": {
- "name": "An Téaváin"
+ "name": "an Téaváin"
},
"ZM": {
- "name": "An tSaimbia"
+ "name": "an tSaimbia"
},
"SV": {
- "name": "An tSalvadóir"
+ "name": "an tSalvadóir"
},
"JP": {
- "name": "An tSeapáin"
+ "name": "an tSeapáin"
+ },
+ "CZ": {
+ "name": "An tSeicia"
},
"SN": {
- "name": "An tSeineagáil"
+ "name": "an tSeineagáil"
},
"RS": {
- "name": "An tSeirbia"
+ "name": "an tSeirbia"
},
"GE": {
- "name": "An tSeoirsia"
+ "name": "an tSeoirsia"
},
"GS": {
- "name": "An tSeoirsia Theas agus Oileáin Sandwich Theas"
+ "name": "an tSeoirsia Theas agus Oileáin Sandwich Theas"
},
"CL": {
- "name": "An tSile"
+ "name": "an tSile"
},
"CN": {
- "name": "An tSín"
+ "name": "an tSín"
},
"ZW": {
- "name": "An tSiombáib"
+ "name": "an tSiombáib"
},
"SY": {
- "name": "An tSiria"
+ "name": "an tSiria"
},
"SI": {
- "name": "An tSlóivéin"
+ "name": "an tSlóivéin"
},
"SK": {
- "name": "An tSlóvaic"
+ "name": "an tSlóvaic"
},
"SO": {
- "name": "An tSomáil"
+ "name": "an tSomáil"
},
"SE": {
- "name": "An tSualainn"
+ "name": "an tSualainn"
},
"SZ": {
- "name": "An tSuasalainn"
+ "name": "an tSuasalainn"
},
"SD": {
- "name": "An tSúdáin"
+ "name": "an tSúdáin"
},
"SS": {
- "name": "An tSúdáin Theas"
+ "name": "an tSúdáin Theas"
},
"TN": {
- "name": "An Túinéis"
+ "name": "an Túinéis"
},
"TR": {
- "name": "An Tuirc"
+ "name": "an Tuirc"
},
"TM": {
- "name": "An Tuircméanastáin"
+ "name": "an Tuircméanastáin"
},
"UA": {
- "name": "An Úcráin"
+ "name": "an Úcráin"
},
"UZ": {
- "name": "An Úisbéiceastáin"
+ "name": "an Úisbéiceastáin"
},
"HU": {
- "name": "An Ungáir"
- },
- "VA": {
- "name": "An Vatacáin"
+ "name": "an Ungáir"
},
"AD": {
"name": "Andóra"
@@ -386,6 +386,9 @@
"QA": {
"name": "Catar"
},
+ "VA": {
+ "name": "Cathair na Vatacáine"
+ },
"CA": {
"name": "Ceanada"
},
@@ -525,22 +528,22 @@
"name": "Mósaimbíc"
},
"BS": {
- "name": "Na Bahámaí"
+ "name": "na Bahámaí"
},
"PS": {
- "name": "Na Críocha Palaistíneacha"
+ "name": "na Críocha Palaistíneacha"
},
"IC": {
- "name": "Na hOileáin Chanáracha"
+ "name": "na hOileáin Chanáracha"
},
"PH": {
- "name": "Na hOileáin Fhilipíneacha"
+ "name": "na hOileáin Fhilipíneacha"
},
"MP": {
- "name": "Na hOileáin Mháirianacha Thuaidh"
+ "name": "na hOileáin Mháirianacha Thuaidh"
},
"SC": {
- "name": "Na Séiséil"
+ "name": "na Séiséil"
},
"NR": {
"name": "Nárú"
@@ -596,6 +599,9 @@
"TC": {
"name": "Oileáin na dTurcach agus Caicos"
},
+ "PW": {
+ "name": "Oileáin Palau"
+ },
"PN": {
"name": "Oileáin Pitcairn"
},
@@ -623,9 +629,6 @@
"OM": {
"name": "Óman"
},
- "PW": {
- "name": "Palau"
- },
"PA": {
"name": "Panama"
},
@@ -641,14 +644,11 @@
"CF": {
"name": "Poblacht na hAfraice Láir"
},
- "CZ": {
- "name": "Poblacht na Seice"
- },
"PF": {
"name": "Polainéis na Fraince"
},
"PR": {
- "name": "Portó Ríce"
+ "name": "Pórtó Ríce"
},
"RE": {
"name": "Réunion"
@@ -674,14 +674,11 @@
"MF": {
"name": "Saint-Martin"
},
- "PM": {
- "name": "Saint-Pierre-et-Miquelon"
- },
"WS": {
"name": "Samó"
},
"AS": {
- "name": "Samó Meiriceánach"
+ "name": "Samó Mheiriceá"
},
"KN": {
"name": "San Críostóir-Nimheas"
@@ -692,6 +689,9 @@
"SM": {
"name": "San Mairíne"
},
+ "PM": {
+ "name": "San Pierre agus Miquelon"
+ },
"VC": {
"name": "San Uinseann agus na Greanáidíní"
},
@@ -744,7 +744,7 @@
"name": "Uganda"
},
"UY": {
- "name": "Urugua"
+ "name": "Uragua"
},
"WF": {
"name": "Vailís agus Futúna"
diff --git a/vendor/commerceguys/intl/resources/country/gd.json b/vendor/commerceguys/intl/resources/country/gd.json
index d5a672824..109d64bbf 100644
--- a/vendor/commerceguys/intl/resources/country/gd.json
+++ b/vendor/commerceguys/intl/resources/country/gd.json
@@ -140,6 +140,9 @@
"JP": {
"name": "An t-Seapan"
},
+ "CZ": {
+ "name": "An t-Seic"
+ },
"RS": {
"name": "An t-Sèirb"
},
@@ -216,7 +219,7 @@
"name": "Boilibhia"
},
"BA": {
- "name": "Bosna agus Hearsagobhana"
+ "name": "Bosna is Hearsagobhana"
},
"BW": {
"name": "Botsuana"
@@ -363,7 +366,7 @@
"name": "Eileanan na Maighdinn aig na SA"
},
"PN": {
- "name": "Eileanan Peit a’ Chàirn"
+ "name": "Eileanan Pheit a’ Chàirn"
},
"SB": {
"name": "Eileanan Sholaimh"
@@ -623,9 +626,6 @@
"CF": {
"name": "Poblachd Meadhan Afraga"
},
- "CZ": {
- "name": "Poblachd na Seice"
- },
"PF": {
"name": "Poilinèis na Frainge"
},
diff --git a/vendor/commerceguys/intl/resources/country/gl.json b/vendor/commerceguys/intl/resources/country/gl.json
index 934089a2b..8eee6242f 100644
--- a/vendor/commerceguys/intl/resources/country/gl.json
+++ b/vendor/commerceguys/intl/resources/country/gl.json
@@ -1,10 +1,4 @@
{
- "CN": {
- "name": "A China"
- },
- "IN": {
- "name": "A India"
- },
"AZ": {
"name": "Acerbaixán"
},
@@ -60,13 +54,13 @@
"name": "Bahrain"
},
"BD": {
- "name": "Bangladés"
+ "name": "Bangladesh"
},
"BB": {
"name": "Barbados"
},
"BZ": {
- "name": "Belice"
+ "name": "Belize"
},
"BE": {
"name": "Bélxica"
@@ -84,10 +78,10 @@
"name": "Bolivia"
},
"BA": {
- "name": "Bosnia-Hercegovina"
+ "name": "Bosnia e Hercegovina"
},
"BW": {
- "name": "Botsuana"
+ "name": "Botswana"
},
"BR": {
"name": "Brasil"
@@ -111,7 +105,7 @@
"name": "Cabo Verde"
},
"KH": {
- "name": "Camboxa"
+ "name": "Cambodja"
},
"CM": {
"name": "Camerún"
@@ -131,18 +125,21 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chequia"
+ },
"CL": {
"name": "Chile"
},
+ "CN": {
+ "name": "China"
+ },
"CY": {
"name": "Chipre"
},
"VA": {
"name": "Cidade do Vaticano"
},
- "ZW": {
- "name": "Cimbabue"
- },
"CO": {
"name": "Colombia"
},
@@ -267,7 +264,7 @@
"name": "Guinea Ecuatorial"
},
"GW": {
- "name": "Guinea-Bisau"
+ "name": "Guinea-Bissau"
},
"HT": {
"name": "Haití"
@@ -276,7 +273,7 @@
"name": "Honduras"
},
"HK": {
- "name": "Hong Kong RAE de China"
+ "name": "Hong Kong RAE da China"
},
"HU": {
"name": "Hungría"
@@ -344,6 +341,9 @@
"GS": {
"name": "Illas Xeorxia do Sur e Sandwich do Sur"
},
+ "IN": {
+ "name": "India"
+ },
"ID": {
"name": "Indonesia"
},
@@ -371,6 +371,9 @@
"KE": {
"name": "Kenya"
},
+ "KG": {
+ "name": "Kirguizistán"
+ },
"KI": {
"name": "Kiribati"
},
@@ -408,7 +411,7 @@
"name": "Luxemburgo"
},
"MO": {
- "name": "Macau RAE de China"
+ "name": "Macau RAE da China"
},
"MK": {
"name": "Macedonia"
@@ -420,7 +423,7 @@
"name": "Malaisia"
},
"MW": {
- "name": "Malaui"
+ "name": "Malawi"
},
"MV": {
"name": "Maldivas"
@@ -506,9 +509,6 @@
"SV": {
"name": "O Salvador"
},
- "JP": {
- "name": "O Xapón"
- },
"OM": {
"name": "Omán"
},
@@ -548,18 +548,12 @@
"QA": {
"name": "Qatar"
},
- "KG": {
- "name": "Quirguicistán"
- },
"GB": {
"name": "Reino Unido"
},
"CF": {
"name": "República Centroafricana"
},
- "CZ": {
- "name": "República Checa"
- },
"CD": {
"name": "República Democrática do Congo"
},
@@ -587,15 +581,15 @@
"KN": {
"name": "Saint Kitts e Nevis"
},
- "PM": {
- "name": "Saint Pierre e Miquelon"
- },
"BL": {
"name": "Saint-Barthélemy"
},
"MF": {
"name": "Saint-Martin"
},
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
"WS": {
"name": "Samoa"
},
@@ -609,7 +603,7 @@
"name": "San Tomé e Príncipe"
},
"VC": {
- "name": "San Vicente e as Granadinas"
+ "name": "San Vicente e As Granadinas"
},
"SH": {
"name": "Santa Helena"
@@ -617,9 +611,6 @@
"LC": {
"name": "Santa Lucía"
},
- "SC": {
- "name": "Seixeles"
- },
"SN": {
"name": "Senegal"
},
@@ -629,6 +620,9 @@
"SL": {
"name": "Serra Leoa"
},
+ "SC": {
+ "name": "Seychelles"
+ },
"SG": {
"name": "Singapur"
},
@@ -644,14 +638,11 @@
"LK": {
"name": "Sri Lanka"
},
- "SZ": {
- "name": "Suacilandia"
- },
"SD": {
"name": "Sudán"
},
"SS": {
- "name": "Sudán do sur"
+ "name": "Sudán do Sur"
},
"SE": {
"name": "Suecia"
@@ -668,6 +659,9 @@
"SJ": {
"name": "Svalbard e Jan Mayen"
},
+ "SZ": {
+ "name": "Swazilandia"
+ },
"TH": {
"name": "Tailandia"
},
@@ -687,7 +681,7 @@
"name": "Territorios Austrais Franceses"
},
"PS": {
- "name": "Territorios palestinos"
+ "name": "Territorios Palestinos"
},
"TL": {
"name": "Timor Leste"
@@ -695,12 +689,12 @@
"TG": {
"name": "Togo"
},
+ "TK": {
+ "name": "Tokelau"
+ },
"TO": {
"name": "Tonga"
},
- "TK": {
- "name": "Toquelau"
- },
"TT": {
"name": "Trinidad e Tobago"
},
@@ -729,7 +723,7 @@
"name": "Uruguai"
},
"UZ": {
- "name": "Uzbekistán"
+ "name": "Uzbequistán"
},
"VU": {
"name": "Vanuatu"
@@ -746,6 +740,9 @@
"JM": {
"name": "Xamaica"
},
+ "JP": {
+ "name": "Xapón"
+ },
"GE": {
"name": "Xeorxia"
},
@@ -757,5 +754,8 @@
},
"ZM": {
"name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/gu.json b/vendor/commerceguys/intl/resources/country/gu.json
index bc22afa7e..dc67c6f18 100644
--- a/vendor/commerceguys/intl/resources/country/gu.json
+++ b/vendor/commerceguys/intl/resources/country/gu.json
@@ -9,7 +9,7 @@
"name": "અફઘાનિસà«àª¤àª¾àª¨"
},
"AS": {
- "name": "અમેરીકન સમોઆ"
+ "name": "અમેરિકન સમોઆ"
},
"AW": {
"name": "અરà«àª¬àª¾"
@@ -20,12 +20,12 @@
"AL": {
"name": "અલà«àª¬à«‡àª¨àª¿àª¯àª¾"
},
+ "IM": {
+ "name": "આઇલ ઑફ મેન"
+ },
"IS": {
"name": "આઇસલેનà«àª¡"
},
- "IM": {
- "name": "આઈલ ઓફ મૅન"
- },
"IE": {
"name": "આયરà«àª²à«‡àª¨à«àª¡"
},
@@ -66,7 +66,7 @@
"name": "ઉતà«àª¤àª° કોરિયા"
},
"MP": {
- "name": "ઉતà«àª¤àª°à«€àª¯ મારિયાના આઇલેનà«àª¡à«àª¸"
+ "name": "ઉતà«àª¤àª°à«€ મારિયાના આઇલેનà«àª¡à«àª¸"
},
"UY": {
"name": "ઉરà«àª—à«àªµà«‡"
@@ -77,30 +77,30 @@
"AD": {
"name": "àªàª‚ડોરા"
},
+ "AG": {
+ "name": "àªàª¨à«àªŸàª¿àª—à«àª† અને બરà«àª®à«àª¡àª¾"
+ },
"EC": {
"name": "àªàª•à«àªµàª¾àª¡à«‹àª°"
},
"AQ": {
"name": "àªàª¨à«àªŸàª¾àª°à«àª•àªŸàª¿àª•àª¾"
},
- "AG": {
- "name": "àªàª¨à«àªŸà«€àª—à«àª† અને બરà«àª®à«àª¡àª¾"
- },
"ER": {
"name": "àªàª°àª¿àªŸà«àª°àª¿àª¯àª¾"
},
"SV": {
"name": "àªàª² સેલà«àªµàª¾àª¡à«‹àª°"
},
- "AX": {
- "name": "àªàª²à«‡àª‚ડ ટાપà«àª“"
- },
"AC": {
"name": "àªàª¸à«‡àª¨à«àª¶àª¨ આઇલેનà«àª¡"
},
"EE": {
"name": "àªàª¸à«àªŸà«‹àª¨àª¿àª¯àª¾"
},
+ "AX": {
+ "name": "ઑલેનà«àª¡ આઇલેનà«àª¡à«àª¸"
+ },
"AT": {
"name": "ઑસà«àªŸà«àª°àª¿àª¯àª¾"
},
@@ -132,7 +132,7 @@
"name": "કà«àªµà«ˆàª¤"
},
"IC": {
- "name": "કૅનેરી ટાપà«àª“"
+ "name": "કૅનેરી આઇલેનà«àª¡à«àª¸"
},
"CV": {
"name": "કૅપ વરà«àª¡à«‡"
@@ -147,7 +147,7 @@
"name": "કેનà«àª¯àª¾"
},
"KY": {
- "name": "કેમેન ટાપà«àª“"
+ "name": "કેમેન આઇલેનà«àª¡à«àª¸"
},
"BQ": {
"name": "કેરેબિયન નેધરલેનà«àª¡à«àª"
@@ -162,7 +162,7 @@
"name": "કોકોઠ(કીલીંગ) આઇલેનà«àª¡à«àª¸"
},
"CI": {
- "name": "કોટ ડી આઇવરી"
+ "name": "કોટ ડીઆઇવરી"
},
"KM": {
"name": "કોમોરસ"
@@ -237,7 +237,7 @@
"name": "ચીન"
},
"CZ": {
- "name": "ચેક રીપબà«àª²àª¿àª•"
+ "name": "ચેકીયા"
},
"JM": {
"name": "જમૈકા"
@@ -261,7 +261,7 @@
"name": "જોરà«àª¡àª¨"
},
"GE": {
- "name": "જà«àª¯à«‹àª°à«àªœà«€àª¯àª¾"
+ "name": "જà«àª¯à«‹àª°à«àªœàª¿àª¯àª¾"
},
"ZM": {
"name": "àªàª¾àª®à«àª¬àª¿àª¯àª¾"
@@ -291,7 +291,7 @@
"name": "ડેનમારà«àª•"
},
"DO": {
- "name": "ડોમિનિકન રીપબà«àª²àª¿àª•"
+ "name": "ડોમિનિકન રિપબà«àª²àª¿àª•"
},
"DM": {
"name": "ડોમિનિકા"
@@ -315,7 +315,7 @@
"name": "તà«àª°à«àª•à«€"
},
"TC": {
- "name": "તà«àª°à«àª•à«àª¸ અને કાઇકોસ ટાપà«àª“"
+ "name": "તà«àª°à«àª•à«àª¸ અને કેકોઠઆઇલેનà«àª¡à«àª¸"
},
"TV": {
"name": "તà«àªµàª¾àª²à«"
@@ -333,7 +333,7 @@
"name": "દકà«àª·àª¿àª£ કોરિયા"
},
"GS": {
- "name": "દકà«àª·àª¿àª£ જà«àª¯à«‹àª°à«àªœà«€àª¯àª¾ અને દકà«àª·àª¿àª£ સેનà«àª¡àªµàª¿àªš આઇલેનà«àª¡à«àª¸"
+ "name": "દકà«àª·àª¿àª£ જà«àª¯à«‹àª°à«àªœàª¿àª¯àª¾ અને દકà«àª·àª¿àª£ સેનà«àª¡àªµàª¿àªš આઇલેનà«àª¡à«àª¸"
},
"SS": {
"name": "દકà«àª·àª¿àª£ સà«àª¦àª¾àª¨"
@@ -342,7 +342,7 @@
"name": "નાઇજર"
},
"NG": {
- "name": "નાઇજીરીયા"
+ "name": "નાઇજેરિયા"
},
"NA": {
"name": "નામિબિયા"
@@ -354,7 +354,7 @@
"name": "નીયà«"
},
"NL": {
- "name": "નેધરલેનà«àª¡"
+ "name": "નેધરલેનà«àª¡à«àª¸"
},
"NP": {
"name": "નેપાળ"
@@ -363,7 +363,7 @@
"name": "નૉરà«àªµà«‡"
},
"NF": {
- "name": "નોરફૉક ટાપà«"
+ "name": "નોરફોક આઇલેનà«àª¡à«àª¸"
},
"NR": {
"name": "નૌરà«"
@@ -414,16 +414,16 @@
"name": "ફિનલેનà«àª¡"
},
"PH": {
- "name": "ફિલીપાઇનà«àª¸"
+ "name": "ફિલિપિનà«àª¸"
},
"FJ": {
"name": "ફીજી"
},
"FO": {
- "name": "ફૅરો ટાપà«àª“"
+ "name": "ફેરો આઇલેનà«àª¡à«àª¸"
},
"FK": {
- "name": "ફૉકલેનà«àª¡ ટાપà«àª“"
+ "name": "ફૉકલેનà«àª¡ આઇલેનà«àª¡à«àª¸"
},
"FR": {
"name": "ફà«àª°àª¾àª‚સ"
@@ -435,7 +435,7 @@
"name": "ફà«àª°à«‡àª‚ચ પોલિનેશિયા"
},
"TF": {
- "name": "ફà«àª°à«‡àª‚ચ સદરà«àª¨ ટેરિટરીàª"
+ "name": "ફà«àª°à«‡àª‚ચ સધરà«àª¨ ટેરિટરીàª"
},
"BM": {
"name": "બરà«àª®à«àª¡àª¾"
@@ -450,7 +450,7 @@
"name": "બાંગà«àª²àª¾àª¦à«‡àª¶"
},
"BB": {
- "name": "બારà«àª¬àª¾àª¡à«‹àª¸"
+ "name": "બારબાડોસ"
},
"BI": {
"name": "બà«àª°à«àª‚ડી"
@@ -489,7 +489,7 @@
"name": "બà«àª°àª¿àªŸàª¿àª¶ ઇનà«àª¡àª¿àª¯àª¨ ઓશન ટેરિટરી"
},
"VG": {
- "name": "બà«àª°àª¿àªŸàª¿àª¶ વરà«àªœàª¿àª¨ ટાપà«àª“"
+ "name": "બà«àª°àª¿àªŸàª¿àª¶ વરà«àªœàª¿àª¨ આઇલેનà«àª¡à«àª¸"
},
"BN": {
"name": "બà«àª°à«àª¨à«‡àª‡"
@@ -543,7 +543,7 @@
"name": "મેસેડોનિયા"
},
"ME": {
- "name": "મૉનà«àªŸà«‡àª‚નેગà«àª°à«‹"
+ "name": "મૉનà«àªŸà«‡àª¨à«‡àª—à«àª°à«‹"
},
"MS": {
"name": "મોંટસેરાત"
@@ -569,8 +569,14 @@
"MM": {
"name": "મà«àª¯àª¾àª‚માર (બરà«àª®àª¾)"
},
+ "YE": {
+ "name": "યમન"
+ },
+ "UM": {
+ "name": "યà«.àªàª¸. આઉટલાઇનિંગ આઇલેનà«àª¡à«àª¸"
+ },
"VI": {
- "name": "યà«.àªàª¸. વરà«àªœàª¿àª¨ ટાપà«àª“"
+ "name": "યà«àªàª¸ વરà«àªœàª¿àª¨ આઇલેનà«àª¡à«àª¸"
},
"UA": {
"name": "યà«àª•à«àª°à«‡àª¨"
@@ -584,8 +590,8 @@
"GB": {
"name": "યà«àª¨àª¾àª‡àªŸà«‡àª¡ કિંગડમ"
},
- "YE": {
- "name": "યેમેન"
+ "US": {
+ "name": "યà«àª¨àª¾àª‡àªŸà«‡àª¡ સà«àªŸà«‡àªŸà«àª¸"
},
"RW": {
"name": "રવાંડા"
@@ -639,17 +645,11 @@
"name": "વેનેàªà«àªàª²àª¾"
},
"WF": {
- "name": "વેલીસ અને ફà«àª¯à«àªŸà«àª¨àª¾"
+ "name": "વૉલિસ અને ફà«àª¯à«àªšà«àª¨àª¾"
},
"LK": {
"name": "શà«àª°à«€àª²àª‚કા"
},
- "US": {
- "name": "સંયà«àª•àª¤ રાજà«àª¯ અમેરિકા"
- },
- "UM": {
- "name": "સંયà«àª•à«àª¤ રાજà«àª¯ આઉટલાઇંગ આયલેનà«àª¡à«àª¸"
- },
"WS": {
"name": "સમોઆ"
},
@@ -686,32 +686,32 @@
"SM": {
"name": "સૅન મેરિનો"
},
- "SN": {
- "name": "સેનેગલ"
- },
"KN": {
- "name": "સેનà«àªŸ કિટà«àª¸ અને નેવિસ"
+ "name": "સેંટ કિટà«àª¸ અને નેવિસ"
},
"PM": {
- "name": "સેનà«àªŸ પિયર અને મીકà«àªµà«‡àª²àª¨"
+ "name": "સેંટ પીàªàª°à«€ અને મિકà«àª¯à«àª²à«‹àª¨"
},
"BL": {
- "name": "સેનà«àªŸ બારà«àª¥à«‡àª²à«‡àª®à«€"
+ "name": "સેંટ બારà«àª¥à«‡àª²à«‡àª®à«€"
},
"MF": {
- "name": "સેનà«àªŸ મારà«àªŸàª¿àª¨"
+ "name": "સેંટ મારà«àªŸàª¿àª¨"
},
"LC": {
- "name": "સેનà«àªŸ લà«àª¸àª¿àª¯àª¾"
+ "name": "સેંટ લà«àª¸àª¿àª¯àª¾"
},
"VC": {
- "name": "સેનà«àªŸ વિનà«àª¸à«‡àªŸ અને ગà«àª°à«‡àª¨à«‡àª¡à«€àª¨à«àª¸"
+ "name": "સેંટ વિનà«àª¸à«‡àª‚ટ અને ગà«àª°à«‡àª¨à«‡àª¡àª¾àª‡àª‚સ"
},
"SH": {
- "name": "સેનà«àªŸ હેલેના"
+ "name": "સેંટ હેલેના"
+ },
+ "SN": {
+ "name": "સેનેગલ"
},
"CF": {
- "name": "સેનà«àªŸà«àª°àª² આફà«àª°àª¿àª•àª¨ રીપબà«àª²àª¿àª•"
+ "name": "સેનà«àªŸà«àª°àª² આફà«àª°àª¿àª•àª¨ રિપબà«àª²àª¿àª•"
},
"SC": {
"name": "સેશેલà«àª¸"
diff --git a/vendor/commerceguys/intl/resources/country/he.json b/vendor/commerceguys/intl/resources/country/he.json
index 9bd3f956b..89e47ea96 100644
--- a/vendor/commerceguys/intl/resources/country/he.json
+++ b/vendor/commerceguys/intl/resources/country/he.json
@@ -20,6 +20,9 @@
"AZ": {
"name": "×זרבייג׳ן"
},
+ "CX": {
+ "name": "××™ ×—×’ המולד"
+ },
"AE": {
"name": "×יחוד ×”×מירויות הערביות"
},
@@ -42,7 +45,7 @@
"name": "××™×™ ווליס ופוטונה"
},
"TC": {
- "name": "××™×™ טורקס וק×יקוס"
+ "name": "××™×™ טרקס וקייקוס"
},
"MP": {
"name": "××™×™ מרי×× ×” הצפוניי×"
@@ -98,12 +101,12 @@
"DZ": {
"name": "×לג׳יריה"
},
+ "AI": {
+ "name": "×נגווילה"
+ },
"AO": {
"name": "×נגולה"
},
- "AI": {
- "name": "×נגילה"
- },
"AD": {
"name": "×נדורה"
},
@@ -201,7 +204,7 @@
"name": "ג׳מייקה"
},
"JE": {
- "name": "ג׳רסי"
+ "name": "ג׳רזי"
},
"GE": {
"name": "×’×ורגיה"
@@ -233,12 +236,12 @@
"GN": {
"name": "×’×™× ××”"
},
- "GW": {
- "name": "×’×™× ××” ביס×ו"
- },
"GQ": {
"name": "×’×™× ××” המשוונית"
},
+ "GW": {
+ "name": "×’×™× ××”-ביס×ו"
+ },
"GM": {
"name": "גמביה"
},
@@ -252,7 +255,7 @@
"name": "גרנדה"
},
"GG": {
- "name": "גרנסי"
+ "name": "גרנזי"
},
"DM": {
"name": "דומיניקה"
@@ -272,9 +275,6 @@
"AC": {
"name": "×”××™ ×סנשן"
},
- "CX": {
- "name": "×”××™ כריסטמס"
- },
"IM": {
"name": "×”××™ מ×ן"
},
@@ -303,7 +303,7 @@
"name": "הולנד"
},
"HK": {
- "name": "הונג קונג (מחוז מנהלי מיוחד של סין)"
+ "name": "הונג קונג (×זור מנהלי מיוחד של סין)"
},
"HU": {
"name": "הונגריה"
@@ -326,11 +326,8 @@
"DO": {
"name": "הרפובליקה הדומיניקנית"
},
- "CZ": {
- "name": "הרפובליקה הצ׳כית"
- },
"CF": {
- "name": "הרפובליקה של מרכז ×פריקה"
+ "name": "הרפובליקה המרכז-×פריק×ית"
},
"PS": {
"name": "×”×©×˜×—×™× ×”×¤×œ×¡×˜×™× ×™×™×"
@@ -365,9 +362,6 @@
"TO": {
"name": "טונגה"
},
- "TN": {
- "name": "טוניסיה"
- },
"TK": {
"name": "טוקל×ו"
},
@@ -381,7 +375,7 @@
"name": "טייוו×ן"
},
"TL": {
- "name": "טימור לסטה"
+ "name": "טימור-לסטה"
},
"TZ": {
"name": "טנזניה"
@@ -489,7 +483,7 @@
"name": "מצרי×"
},
"MO": {
- "name": "מק×ו (מחוז מנהלי מיוחד של סין)"
+ "name": "מק×ו (×זור מנהלי מיוחד של סין)"
},
"MK": {
"name": "מקדוניה"
@@ -536,6 +530,9 @@
"EA": {
"name": "ס×וטה ומלייה"
},
+ "SJ": {
+ "name": "סב×לברד וי×ן מ×יין"
+ },
"EH": {
"name": "סהרה המערבית"
},
@@ -545,9 +542,6 @@
"SZ": {
"name": "סווזילנד"
},
- "SJ": {
- "name": "סוולב×רד וי×ן מ×יין"
- },
"SO": {
"name": "סומליה"
},
@@ -555,7 +549,7 @@
"name": "סוריה"
},
"SR": {
- "name": "סורינ×"
+ "name": "סורינ××"
},
"SL": {
"name": "סיירה ל×ונה"
@@ -668,6 +662,9 @@
"CL": {
"name": "צ׳ילה"
},
+ "CZ": {
+ "name": "צ׳כיה"
+ },
"FR": {
"name": "צרפת"
},
@@ -755,6 +752,9 @@
"TH": {
"name": "ת×ילנד"
},
+ "TN": {
+ "name": "תוניסיה"
+ },
"YE": {
"name": "תימן"
}
diff --git a/vendor/commerceguys/intl/resources/country/hi.json b/vendor/commerceguys/intl/resources/country/hi.json
index a9c275cea..bdbb72f02 100644
--- a/vendor/commerceguys/intl/resources/country/hi.json
+++ b/vendor/commerceguys/intl/resources/country/hi.json
@@ -143,15 +143,15 @@
"CV": {
"name": "केप वरà¥à¤¡"
},
- "KY": {
- "name": "केमैन दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
- },
"IC": {
"name": "कैनेरी दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
},
"CM": {
"name": "कैमरून"
},
+ "KY": {
+ "name": "कैमेन दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
"BQ": {
"name": "कैरिबियन नीदरलैंड"
},
@@ -185,9 +185,6 @@
"HR": {
"name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾"
},
- "GY": {
- "name": "गयाना"
- },
"GG": {
"name": "गरà¥à¤¨à¤¸à¥€"
},
@@ -203,6 +200,9 @@
"GU": {
"name": "गà¥à¤†à¤®"
},
+ "GY": {
+ "name": "गà¥à¤¯à¤¾à¤¨à¤¾"
+ },
"GA": {
"name": "गैबॉन"
},
@@ -231,7 +231,7 @@
"name": "चीन"
},
"CZ": {
- "name": "चेक गणराजà¥à¤¯"
+ "name": "चेकिया"
},
"JM": {
"name": "जमैका"
@@ -371,6 +371,9 @@
"PA": {
"name": "पनामा"
},
+ "PY": {
+ "name": "परागà¥à¤µà¥‡"
+ },
"PW": {
"name": "पलाऊ"
},
@@ -389,9 +392,6 @@
"PT": {
"name": "पà¥à¤°à¥à¤¤à¤—ाल"
},
- "PY": {
- "name": "पेरागà¥à¤µà¥‡"
- },
"PE": {
"name": "पेरू"
},
@@ -426,7 +426,7 @@
"name": "फ़à¥à¤°à¤¾à¤‚सीसी दकà¥à¤·à¤¿à¤£à¥€ कà¥à¤·à¥‡à¤¤à¥à¤°"
},
"GF": {
- "name": "फ़à¥à¤°à¥‡à¤‚च गयाना"
+ "name": "फ़à¥à¤°à¥‡à¤‚च गà¥à¤¯à¤¾à¤¨à¤¾"
},
"PF": {
"name": "फ़à¥à¤°à¥‡à¤‚च पोलिनेशिया"
@@ -497,6 +497,9 @@
"MN": {
"name": "मंगोलिया"
},
+ "MK": {
+ "name": "मकदूनिया"
+ },
"MO": {
"name": "मकाऊ (विशेष पà¥à¤°à¤¶à¤¾à¤¸à¤¨à¤¿à¤• कà¥à¤·à¥‡à¤¤à¥à¤° चीन)"
},
@@ -539,14 +542,11 @@
"MX": {
"name": "मैकà¥à¤¸à¤¿à¤•à¥‹"
},
- "MK": {
- "name": "मैसिडोनिया"
- },
"MR": {
"name": "मॉरिटानिया"
},
"MU": {
- "name": "मॉरिशस"
+ "name": "मॉरीशस"
},
"MD": {
"name": "मॉलà¥à¤¡à¥‹à¤µà¤¾"
@@ -576,10 +576,10 @@
"name": "यà¥à¤—ांडा"
},
"UM": {
- "name": "यू.à¤à¤¸. आउटलाइंग दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ "name": "यू॰à¤à¤¸à¥° आउटलाइंग दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
},
"VI": {
- "name": "यू.à¤à¤¸. वरà¥à¤œà¤¿à¤¨ दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ "name": "यू॰à¤à¤¸à¥° वरà¥à¤œà¤¿à¤¨ दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
},
"UA": {
"name": "यूकà¥à¤°à¥‡à¤¨"
diff --git a/vendor/commerceguys/intl/resources/country/hr.json b/vendor/commerceguys/intl/resources/country/hr.json
index 5dae99ba2..4ef0d5af7 100644
--- a/vendor/commerceguys/intl/resources/country/hr.json
+++ b/vendor/commerceguys/intl/resources/country/hr.json
@@ -132,7 +132,7 @@
"name": "ÄŒad"
},
"CZ": {
- "name": "Češka Republika"
+ "name": "Češka"
},
"CL": {
"name": "ÄŒile"
@@ -572,9 +572,6 @@
"MF": {
"name": "Saint Martin"
},
- "PM": {
- "name": "Saint-Pierre-et-Miquelon"
- },
"SB": {
"name": "Salomonski Otoci"
},
@@ -653,6 +650,9 @@
"KN": {
"name": "Sveti Kristofor i Nevis"
},
+ "PM": {
+ "name": "Sveti Petar i Mikelon"
+ },
"ST": {
"name": "Sveti Toma i Princip"
},
diff --git a/vendor/commerceguys/intl/resources/country/hu.json b/vendor/commerceguys/intl/resources/country/hu.json
index ad9c5d79c..6b77ff309 100644
--- a/vendor/commerceguys/intl/resources/country/hu.json
+++ b/vendor/commerceguys/intl/resources/country/hu.json
@@ -48,7 +48,7 @@
"name": "Ausztria"
},
"UM": {
- "name": "Az Amerikai Egyesült Ãllamok lakatlan külbirtokai"
+ "name": "Az USA lakatlan külbirtokai"
},
"AZ": {
"name": "Azerbajdzsán"
@@ -609,7 +609,7 @@
"name": "San Marino"
},
"ST": {
- "name": "Sao Tomé és Príncipe"
+ "name": "São Tomé és Príncipe"
},
"SC": {
"name": "Seychelle-szigetek"
diff --git a/vendor/commerceguys/intl/resources/country/hy.json b/vendor/commerceguys/intl/resources/country/hy.json
index 8aa26c72d..f8d7fb266 100644
--- a/vendor/commerceguys/intl/resources/country/hy.json
+++ b/vendor/commerceguys/intl/resources/country/hy.json
@@ -147,7 +147,7 @@
"name": "Ô³Õ¾Õ«Õ¶Õ¥Õ¡"
},
"GW": {
- "name": "Ô³Õ¾Õ«Õ¶Õ¥Õ¡-Ô²Õ«Õ½Õ½Õ¡Õ¸Ö‚"
+ "name": "Ô³Õ¾Õ«Õ¶Õ¥Õ¡-Ô²Õ«Õ½Õ¡Õ¸Ö‚"
},
"GD": {
"name": "Ô³Ö€Õ¥Õ¶Õ¡Õ¤Õ¡"
@@ -279,7 +279,7 @@
"name": "Ô¿Õ¡Õ´Õ¥Ö€Õ¸Ö‚Õ¶"
},
"KY": {
- "name": "Ô¿Õ¡ÕµÕ´Õ¡Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ "name": "Ô¿Õ¡ÕµÕ´Õ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
},
"CA": {
"name": "Ô¿Õ¡Õ¶Õ¡Õ¤Õ¡"
@@ -614,9 +614,6 @@
"SC": {
"name": "ÕÕ¥ÕµÕ·Õ¥Õ¬Õ¶Õ¥Ö€"
},
- "BL": {
- "name": "ÕÕ¥Õ¶ Ô²Õ¡Ö€Õ¿Õ¥Õ¬Õ´Õ«"
- },
"MF": {
"name": "ÕÕ¥Õ¶ Õ„Õ¡Ö€Õ¿Õ¥Õ¶"
},
@@ -633,7 +630,7 @@
"name": "ÕÕ¥Õ¶Õ© ÕŽÕ«Õ¶Õ½Õ¥Õ¶Õ© Ö‡ Ô³Ö€Õ¥Õ¶Õ¡Õ¤Õ«Õ¶Õ¶Õ¥Ö€"
},
"KN": {
- "name": "ÕÕ¥Õ¶Õ¿ Õ”Õ«Õ¿Õ½ Ö‡ Õ†Ö‡Õ«Õ½"
+ "name": "ÕÕ¥Õ¶Õ© Õ”Õ«Õ¿Õ½ Ö‡ Õ†Ö‡Õ«Õ½"
},
"EA": {
"name": "ÕÕ¥Õ¸Ö‚Õ¿Õ¡ Ö‡ Õ„Õ¥Õ¬Õ«Õ¬ÕµÕ¡"
@@ -668,6 +665,9 @@
"SD": {
"name": "ÕÕ¸Ö‚Õ¤Õ¡Õ¶"
},
+ "BL": {
+ "name": "ÕÕ¸Ö‚Ö€Õ¢ Ô²Õ¡Ö€Õ¤Õ¸Ö‚Õ²Õ«Õ´Õ¥Õ¸Õ½"
+ },
"CX": {
"name": "ÕÕ¸Ö‚Ö€Õ¢ Ô¾Õ¶Õ¶Õ¤ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«"
},
diff --git a/vendor/commerceguys/intl/resources/country/id.json b/vendor/commerceguys/intl/resources/country/id.json
index bc63c93dd..2c64fbd0b 100644
--- a/vendor/commerceguys/intl/resources/country/id.json
+++ b/vendor/commerceguys/intl/resources/country/id.json
@@ -65,6 +65,9 @@
"NL": {
"name": "Belanda"
},
+ "BQ": {
+ "name": "Belanda Karibia"
+ },
"BY": {
"name": "Belarus"
},
@@ -110,15 +113,15 @@
"TD": {
"name": "Cad"
},
+ "CZ": {
+ "name": "Ceko"
+ },
"EA": {
"name": "Ceuta dan Melilla"
},
"CL": {
"name": "Cile"
},
- "CI": {
- "name": "Cote d’Ivoire"
- },
"CW": {
"name": "Curaçao"
},
@@ -272,9 +275,6 @@
"CA": {
"name": "Kanada"
},
- "BQ": {
- "name": "Karibia Belanda"
- },
"KZ": {
"name": "Kazakstan"
},
@@ -506,6 +506,9 @@
"PA": {
"name": "Panama"
},
+ "CI": {
+ "name": "Pantai Gading"
+ },
"PG": {
"name": "Papua Nugini"
},
@@ -545,9 +548,6 @@
"CF": {
"name": "Republik Afrika Tengah"
},
- "CZ": {
- "name": "Republik Cheska"
- },
"DO": {
"name": "Republik Dominika"
},
diff --git a/vendor/commerceguys/intl/resources/country/is.json b/vendor/commerceguys/intl/resources/country/is.json
index 38d47b85f..74d352285 100644
--- a/vendor/commerceguys/intl/resources/country/is.json
+++ b/vendor/commerceguys/intl/resources/country/is.json
@@ -593,6 +593,12 @@
"SC": {
"name": "Seychelles-eyjar"
},
+ "HK": {
+ "name": "sérstjórnarsvæðið Hong Kong"
+ },
+ "MO": {
+ "name": "sérstjórnarsvæðið Makaó"
+ },
"ZW": {
"name": "Simbabve"
},
@@ -605,12 +611,6 @@
"CL": {
"name": "Síle"
},
- "HK": {
- "name": "Sjálfstjórnarsvæðið Hong Kong"
- },
- "MO": {
- "name": "Sjálfstjórnarsvæðið Makaó"
- },
"SK": {
"name": "Slóvakía"
},
diff --git a/vendor/commerceguys/intl/resources/country/it.json b/vendor/commerceguys/intl/resources/country/it.json
index 22da1cf0f..f67ed68c2 100644
--- a/vendor/commerceguys/intl/resources/country/it.json
+++ b/vendor/commerceguys/intl/resources/country/it.json
@@ -116,6 +116,9 @@
"BQ": {
"name": "Caraibi olandesi"
},
+ "CZ": {
+ "name": "Cechia"
+ },
"EA": {
"name": "Ceuta e Melilla"
},
@@ -548,9 +551,6 @@
"GB": {
"name": "Regno Unito"
},
- "CZ": {
- "name": "Repubblica Ceca"
- },
"CF": {
"name": "Repubblica Centrafricana"
},
@@ -584,15 +584,15 @@
"MF": {
"name": "Saint Martin"
},
- "PM": {
- "name": "Saint Pierre e Miquelon"
- },
"VC": {
- "name": "Saint Vincent e Grenadines"
+ "name": "Saint Vincent e Grenadine"
},
"BL": {
"name": "Saint-Barthélemy"
},
+ "PM": {
+ "name": "Saint-Pierre e Miquelon"
+ },
"WS": {
"name": "Samoa"
},
@@ -693,7 +693,7 @@
"name": "Thailandia"
},
"TL": {
- "name": "Timor Leste"
+ "name": "Timor Est"
},
"TG": {
"name": "Togo"
diff --git a/vendor/commerceguys/intl/resources/country/ja.json b/vendor/commerceguys/intl/resources/country/ja.json
index 7be0a4f8a..813d4b837 100644
--- a/vendor/commerceguys/intl/resources/country/ja.json
+++ b/vendor/commerceguys/intl/resources/country/ja.json
@@ -242,11 +242,14 @@
"SA": {
"name": "サウジアラビア"
},
+ "GS": {
+ "name": "サウスジョージア・サウスサンドウィッãƒè«¸å³¶"
+ },
"WS": {
"name": "サモア"
},
"BL": {
- "name": "サン・ãƒãƒ«ãƒ†ãƒ«ãƒŸãƒ¼å³¶"
+ "name": "サン・ãƒãƒ«ãƒ†ãƒ«ãƒŸãƒ¼"
},
"MF": {
"name": "サン・マルタン"
@@ -366,7 +369,7 @@
"name": "タンザニア"
},
"CZ": {
- "name": "ãƒã‚§ã‚³å…±å’Œå›½"
+ "name": "ãƒã‚§ã‚³"
},
"TD": {
"name": "ãƒãƒ£ãƒ‰"
@@ -585,7 +588,7 @@
"name": "マダガスカル"
},
"YT": {
- "name": "マヨット島"
+ "name": "マヨット"
},
"MW": {
"name": "マラウイ"
@@ -609,7 +612,7 @@
"name": "ミクロãƒã‚·ã‚¢é€£é‚¦"
},
"MM": {
- "name": "ミャンマー"
+ "name": "ミャンマー (ビルマ)"
},
"MX": {
"name": "メキシコ"
@@ -681,7 +684,7 @@
"name": "レãƒãƒŽãƒ³"
},
"RE": {
- "name": "レユニオン島"
+ "name": "レユニオン"
},
"RU": {
"name": "ロシア"
@@ -692,6 +695,9 @@
"VG": {
"name": "英領ヴァージン諸島"
},
+ "KR": {
+ "name": "韓国"
+ },
"UM": {
"name": "åˆè¡†å›½é ˜æœ‰å°é›¢å³¶"
},
@@ -704,9 +710,6 @@
"TW": {
"name": "å°æ¹¾"
},
- "KR": {
- "name": "大韓民国"
- },
"CF": {
"name": "中央アフリカ共和国"
},
@@ -719,18 +722,12 @@
"CN": {
"name": "中国"
},
- "KP": {
- "name": "æœé®®æ°‘主主義人民共和国"
- },
"TL": {
"name": "æ±ãƒ†ã‚£ãƒ¢ãƒ¼ãƒ«"
},
"ZA": {
"name": "å—アフリカ"
},
- "GS": {
- "name": "å—ジョージア島・å—サンドイッãƒè«¸å³¶"
- },
"SS": {
"name": "å—スーダン"
},
@@ -757,5 +754,8 @@
},
"MP": {
"name": "北マリアナ諸島"
+ },
+ "KP": {
+ "name": "北æœé®®"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/jgo.json b/vendor/commerceguys/intl/resources/country/jgo.json
index 697430bc8..ce208a0f6 100644
--- a/vendor/commerceguys/intl/resources/country/jgo.json
+++ b/vendor/commerceguys/intl/resources/country/jgo.json
@@ -144,7 +144,7 @@
"name": "Cyprus"
},
"CZ": {
- "name": "Czech Republic"
+ "name": "Czechia"
},
"DK": {
"name": "Denmark"
diff --git a/vendor/commerceguys/intl/resources/country/ka.json b/vendor/commerceguys/intl/resources/country/ka.json
index 335a57cb8..64a7b899e 100644
--- a/vendor/commerceguys/intl/resources/country/ka.json
+++ b/vendor/commerceguys/intl/resources/country/ka.json
@@ -720,7 +720,7 @@
"name": "ჩáƒáƒ“ი"
},
"CZ": {
- "name": "ჩეხეთის რესპუბლიკáƒ"
+ "name": "ჩეხეთი"
},
"CL": {
"name": "ჩილე"
diff --git a/vendor/commerceguys/intl/resources/country/kea.json b/vendor/commerceguys/intl/resources/country/kea.json
index 3c4cb8df1..7771479ba 100644
--- a/vendor/commerceguys/intl/resources/country/kea.json
+++ b/vendor/commerceguys/intl/resources/country/kea.json
@@ -548,9 +548,6 @@
"CF": {
"name": "Republika Sentru-Afrikanu"
},
- "CZ": {
- "name": "Repúblika Txeka"
- },
"RW": {
"name": "Ruanda"
},
@@ -713,6 +710,9 @@
"TD": {
"name": "Txadi"
},
+ "CZ": {
+ "name": "Txékia"
+ },
"WF": {
"name": "Ualis i Futuna"
},
diff --git a/vendor/commerceguys/intl/resources/country/kk.json b/vendor/commerceguys/intl/resources/country/kk.json
index 5357a4a9c..c0c9f34f1 100644
--- a/vendor/commerceguys/intl/resources/country/kk.json
+++ b/vendor/commerceguys/intl/resources/country/kk.json
@@ -98,6 +98,9 @@
"BO": {
"name": "БоливиÑ"
},
+ "BQ": {
+ "name": "БонÑйр, Синт-ЭÑÑ‚Ð°Ñ‚Ð¸ÑƒÑ Ð¶Ó™Ð½Ðµ Саба"
+ },
"BA": {
"name": "БоÑÐ½Ð¸Ñ Ð¶Ó™Ð½Ðµ Герцеговина"
},
@@ -275,9 +278,6 @@
"IC": {
"name": "Канар аралдары"
},
- "BQ": {
- "name": "Кариб ÐидерландыÑÑ‹"
- },
"QA": {
"name": "Катар"
},
@@ -335,12 +335,6 @@
"CN": {
"name": "Қытай"
},
- "HK": {
- "name": "Қытай Халық РеÑпубликаÑының Гонконг арнайы әкімшілік ауданы"
- },
- "MO": {
- "name": "Қытай Халық РеÑпубликаÑының Макао арнайы әкімшілік ауданы"
- },
"LA": {
"name": "ЛаоÑ"
},
@@ -380,6 +374,9 @@
"YT": {
"name": "Майотта"
},
+ "MO": {
+ "name": "Макао ÐÓ˜Ð"
+ },
"MK": {
"name": "МакедониÑ"
},
@@ -620,6 +617,9 @@
"SL": {
"name": "Сьерра-Леоне"
},
+ "HK": {
+ "name": "СÑнган ÐÓ˜Ð"
+ },
"TW": {
"name": "Тайвань"
},
@@ -693,7 +693,7 @@
"name": "Фиджи"
},
"PH": {
- "name": "Филиппин"
+ "name": "Филиппин аралдары"
},
"FI": {
"name": "ФинлÑндиÑ"
@@ -723,7 +723,7 @@
"name": "ЧерногориÑ"
},
"CZ": {
- "name": "Чех РеÑпубликаÑÑ‹"
+ "name": "ЧехиÑ"
},
"CL": {
"name": "Чили"
diff --git a/vendor/commerceguys/intl/resources/country/km.json b/vendor/commerceguys/intl/resources/country/km.json
index fc25432f5..9aa41fa3d 100644
--- a/vendor/commerceguys/intl/resources/country/km.json
+++ b/vendor/commerceguys/intl/resources/country/km.json
@@ -9,7 +9,7 @@
"name": "កាážáž¶"
},
"CV": {
- "name": "កាបវែរ"
+ "name": "កាប់វែរ"
},
"CM": {
"name": "កាមáŸážšáž¼áž“"
@@ -24,7 +24,7 @@
"name": "កុងហ្គោ- គីនស្ហាសា"
},
"CI": {
- "name": "កូដឌីវáŸážš"
+ "name": "កូážážŒáž¸ážœáŸážš"
},
"KM": {
"name": "កូមáŸážš"
@@ -38,6 +38,9 @@
"KR": {
"name": "កូរ៉áŸâ€‹ážáž¶áž„​ážáŸ’បូង"
},
+ "KW": {
+ "name": "កូវ៉ែáž"
+ },
"XK": {
"name": "កូសូវ៉ូ"
},
@@ -99,13 +102,13 @@
"name": "កោះ​ហ្វារ៉ូ"
},
"GS": {
- "name": "កោះ​ហ្សកហ្ស៊ី​ážáž¶áž„​ážáŸ’បូង áž“áž·áž„ សាន់វិច​ážáž¶áž„​ážáŸ’បូង"
+ "name": "កោះ​ហ្សកហ្ស៊ី​ážáž¶áž„ážáŸ’បូង áž“áž·áž„ សង់វិច​ážáž¶áž„ážáŸ’បូង"
},
"AC": {
"name": "កោះ​អាសáŸáž“សិន"
},
"AX": {
- "name": "កោះ​អាឡាំង"
+ "name": "កោះ​អាឡង់"
},
"UM": {
"name": "កោះ​អៅឡាយីង​អាមáŸážšáž·áž€"
@@ -114,29 +117,29 @@
"name": "ក្រិក"
},
"HR": {
- "name": "ក្រូអាáž"
+ "name": "ក្រូអាស៊ី"
+ },
+ "GT": {
+ "name": "ក្វាážáŸáž˜áŸ‰áž¶áž¡áž¶"
},
"KI": {
- "name": "គិរិបាទី"
+ "name": "គិរីបាទី"
},
"CU": {
"name": "គុយបា"
},
- "KW": {
- "name": "គុយវ៉ែáž"
- },
"GB": {
"name": "ចក្រភព​អង់គ្លáŸážŸ"
},
- "JM": {
- "name": "ចាម៉ៃកា"
- },
"CN": {
"name": "áž…áž·áž“"
},
"TD": {
"name": "ឆាដ"
},
+ "CZ": {
+ "name": "ឆែគា"
+ },
"JP": {
"name": "ជប៉ុន"
},
@@ -149,9 +152,6 @@
"JE": {
"name": "ជឺស៊ី"
},
- "NC": {
- "name": "ញូកាឡáŸážŠáž¼áž“ៀ"
- },
"DK": {
"name": "ដាណឺម៉ាក"
},
@@ -161,12 +161,12 @@
"TF": {
"name": "ដែនដី​បារាំង​នៅ​ភាគážáž¶áž„ážáŸ’បូង"
},
+ "PS": {
+ "name": "ដែន​ដីប៉ាលáŸážŸáŸ’ទីន"
+ },
"IO": {
"name": "ដែនដី​អង់គ្លáŸážŸâ€‹áž“ៅ​មហា​សមុទ្រ​ឥណ្ឌា"
},
- "PS": {
- "name": "ដែន​ប៉ាលáŸážŸáŸ’ទីន"
- },
"DG": {
"name": "ឌៀហ្គោហ្គាស៊ី"
},
@@ -180,7 +180,7 @@
"name": "ណៀ"
},
"TZ": {
- "name": "ážáž„់ហ្សានី"
+ "name": "ážáž„់សានី"
},
"TJ": {
"name": "ážáž¶áž áŸ’ស៊ីគីស្ážáž¶áž“"
@@ -194,6 +194,9 @@
"TG": {
"name": "ážáž¼áž áŸ’គោ"
},
+ "TR": {
+ "name": "ážáž½áž€áž‚ី"
+ },
"TM": {
"name": "ážáž½áž€áž˜áŸ‰áŸáž“ីស្ážáž¶áž“"
},
@@ -204,17 +207,14 @@
"name": "ážáŸƒ"
},
"TL": {
- "name": "ទីមáŸážš"
+ "name": "ទីមáŸážšáž›áž¸ážŸ"
},
"TN": {
- "name": "ទុយនáŸážŸáŸŠáž¸"
+ "name": "ទុយនីស៊ី"
},
"TV": {
"name": "ទូវ៉ាលូ"
},
- "TR": {
- "name": "ទួរគី"
- },
"TT": {
"name": "ទ្រីនីដាហនិង​ážáž¼áž”ាហ្គោ"
},
@@ -225,16 +225,19 @@
"name": "áž“áŸážšážœáŸ‚ស"
},
"NI": {
- "name": "នីការ៉ាហ្គáŸážš"
+ "name": "នីការ៉ាហ្គា"
},
"NE": {
- "name": "នីហ្សáŸážš"
+ "name": "នីហ្សáŸ"
},
"NG": {
"name": "នីហ្សáŸážšáž¸áž™áŸ‰áž¶"
},
+ "NC": {
+ "name": "នូវែល​កាឡáŸážŠáž¼áž“ី"
+ },
"NZ": {
- "name": "នូវែលហ្សáŸáž¡áž„់"
+ "name": "នូវែល​សáŸáž¡áž„់"
},
"NP": {
"name": "áž“áŸáž”៉ាល់"
@@ -252,7 +255,7 @@
"name": "បាបាដុស"
},
"PG": {
- "name": "ប៉ាពួញ៉ូហ្គីណáŸ"
+ "name": "ប៉ាពូអាស៊ី​នូវែលហ្គីណáŸ"
},
"PY": {
"name": "ប៉ារ៉ាហ្គាយ"
@@ -279,7 +282,7 @@
"name": "ប៊ុលហ្គារី"
},
"BT": {
- "name": "ប៊ូážáž¶áž“"
+ "name": "ប៊ូážáž„់"
},
"BI": {
"name": "ប៊ូរុនឌី"
@@ -306,17 +309,14 @@
"name": "ប៉áŸážšáž¼"
},
"BZ": {
- "name": "áž”áŸáž›áž¸áž áŸ’ស"
+ "name": "áž”áŸáž›áž¸"
},
"BY": {
- "name": "áž”áŸáž¡áž¶ážšáž»ážŸáŸ’ស"
+ "name": "áž”áŸáž¡áž¶ážšáž»ážŸ"
},
"BE": {
"name": "បែលហ្ស៊ិក"
},
- "BN": {
- "name": "ប្រ៊ុយណáŸ"
- },
"BR": {
"name": "ប្រáŸážŸáŸŠáž¸áž›"
},
@@ -329,8 +329,11 @@
"PT": {
"name": "áž–áŸážšáž‘ុយហ្គាល់"
},
+ "BN": {
+ "name": "ព្រុយណáŸ"
+ },
"MO": {
- "name": "ម៉ាកាវ"
+ "name": "ម៉ាកាវ ážáŸ†áž”ន់រដ្ឋបាលពិសáŸážŸáž…áž·áž“"
},
"MG": {
"name": "ម៉ាដាហ្គាស្កា"
@@ -348,13 +351,13 @@
"name": "ម៉ាល់ឌីវ"
},
"MT": {
- "name": "ម៉ាល់ážáž¶"
+ "name": "ម៉ាល់ážáŸ"
},
"ML": {
"name": "ម៉ាលី"
},
"MK": {
- "name": "ម៉ាសáŸážŠáž¼áž“ា"
+ "name": "ម៉ាសáŸážŠáŸ’វាន"
},
"MW": {
"name": "ម៉ាឡាវី"
@@ -375,7 +378,7 @@
"name": "ម៉ុងážáŸážŽáŸáž áŸ’គ្រោ"
},
"MS": {
- "name": "ម៉ុង​សáŸážšáŸ‰áž„់"
+ "name": "ម៉ុងស៊ែរ៉ា"
},
"MN": {
"name": "ម៉ុងហ្គោលី"
@@ -393,10 +396,10 @@
"name": "ម៉ូរីស"
},
"MZ": {
- "name": "ម៉ូហ្សាំប៊ិក"
+ "name": "ម៉ូសំប៊ិក"
},
"YE": {
- "name": "áž™áŸáž˜áŸ‚áž“"
+ "name": "áž™áŸáž˜áŸ‰áŸ‚áž“"
},
"RW": {
"name": "រវ៉ាន់ដា"
@@ -411,7 +414,7 @@
"name": "ážšáŸáž¢áž»áž™áž‰áŸ‰áž»áž„"
},
"LI": {
- "name": "លិចទáŸáž“ស្ážáŸ‚áž“"
+ "name": "លិចážáž·áž“ស្ដាញ"
},
"LT": {
"name": "លីទុយអានី"
@@ -426,10 +429,10 @@
"name": "លីបáŸážšáž¸áž™áŸ‰áž¶"
},
"LU": {
- "name": "លុចហ្សំបួរ"
+ "name": "លុចសំបួ"
},
"VU": {
- "name": "វ៉ានូអាទូ"
+ "name": "វ៉ានូទូ"
},
"WF": {
"name": "វ៉ាលីស និង​ហ្វូទូណា"
@@ -438,32 +441,17 @@
"name": "វៀážážŽáž¶áž˜"
},
"VE": {
- "name": "ážœáŸáž“áŸáž áŸ’ស៊ុយឡា"
- },
- "BL": {
- "name": "សង់ បាážáŸáž¡áŸáž˜áŸ‰áž¸"
- },
- "KN": {
- "name": "សង់ឃីហនិង​ណáŸážœáž¸ážŸ"
+ "name": "វ៉áŸážŽáŸážŸáŸŠáž»áž™áž¢áŸáž¡áž¶"
},
"PM": {
"name": "សង់ព្យែរ និង​មីគីឡុង"
},
- "MF": {
- "name": "សង់​ម៉ាទីន"
- },
- "LC": {
- "name": "សង់​លូសៀ"
- },
"SH": {
"name": "សង់​ហáŸáž¡áŸážŽáž¶"
},
"US": {
"name": "សហរដ្ឋអាមáŸážšáž·áž€"
},
- "CZ": {
- "name": "សាធារណរដ្ឋឆáŸáž€"
- },
"DO": {
"name": "សាធារណរដ្ឋ​ដូមីនីក"
},
@@ -491,6 +479,9 @@
"CY": {
"name": "ស៊ីប"
},
+ "ZW": {
+ "name": "ស៊ីមបាវ៉áŸ"
+ },
"SY": {
"name": "ស៊ីរី"
},
@@ -498,7 +489,7 @@
"name": "ស៊ីលី"
},
"SC": {
- "name": "សីសែល"
+ "name": "សីស្ហែល"
},
"SE": {
"name": "ស៊ុយអែáž"
@@ -515,20 +506,35 @@
"SR": {
"name": "សូរីណាម"
},
+ "SL": {
+ "name": "សៀរ៉ាឡáŸáž¢áž¼áž“"
+ },
"SN": {
"name": "សáŸážŽáŸáž áŸ’គាល់"
},
- "SL": {
- "name": "សáŸážšáŸ‰áž¶áž¡áŸáž¢áž¼áž“"
- },
"RS": {
- "name": "ស៊ែប"
+ "name": "សែប៊ី"
},
"ST": {
"name": "សៅážáž¼áž˜áŸ‰áŸ áž“áž·áž„ ប្រាំងស៊ីប"
},
+ "ZM": {
+ "name": "សំប៊ី"
+ },
+ "KN": {
+ "name": "សាំង​គីហនិង ណáŸážœáž¸ážŸ"
+ },
+ "BL": {
+ "name": "សាំង​បាážáŸáž¡áŸáž˜áž¸"
+ },
+ "MF": {
+ "name": "សាំង​ម៉ាទីន"
+ },
+ "LC": {
+ "name": "សាំងលូស៊ី"
+ },
"VC": {
- "name": "សាំង​វីនសáŸáž“ និង​ឌឹ​ហ្គ្រីណាឌីនីស"
+ "name": "សាំង​វ៉ាំងសង់ áž“áž·áž„ ហ្គ្រáŸážŽáž¶ážŒáž¸áž“"
},
"LK": {
"name": "ស្រីលង្កា"
@@ -543,7 +549,7 @@
"name": "ស្វាលបាដ áž“áž·áž„ ហ្សង់ម៉ាយáŸáž“"
},
"SZ": {
- "name": "ស្វាហ្ស៊ីឡង់"
+ "name": "ស្វាស៊ីឡង់"
},
"CH": {
"name": "ស្វីស"
@@ -557,21 +563,18 @@
"HN": {
"name": "ហុងឌូរ៉ាស"
},
- "BQ": {
- "name": "ហុល្លង់ ការ៉ាប៊ីន"
- },
"NL": {
"name": "ហូឡង់"
},
+ "BQ": {
+ "name": "ហូឡង់ ការ៉ាប៊ីន"
+ },
"HT": {
"name": "ហៃទី"
},
"GH": {
"name": "ហ្គាណា"
},
- "GT": {
- "name": "ហ្គាážáŸáž˜áŸ‰áž¶áž¡áž¶"
- },
"GA": {
"name": "ហ្គាបុង"
},
@@ -579,19 +582,16 @@
"name": "ហ្គីណáŸ"
},
"GW": {
- "name": "ហ្គីណáŸáž”៊ីសូ"
+ "name": "ហ្គីណáŸáž”៊ីស្សូ"
},
"GQ": {
"name": "ហ្គីណáŸáž¢áŸáž€áŸ’វាទáŸážš"
},
- "GI": {
- "name": "ហ្គីប្រាលážáž¶"
- },
"GY": {
- "name": "ហ្គីយ៉ាណា"
+ "name": "ហ្គីយ៉ាន"
},
"GF": {
- "name": "ហ្គៀណាបារាំង"
+ "name": "ហ្គីអាណា បារាំង"
},
"GG": {
"name": "ហ្គáŸáž“ស៊ី"
@@ -599,14 +599,14 @@
"GP": {
"name": "ហ្គោដឺឡុប"
},
+ "GM": {
+ "name": "ហ្គំប៊ី"
+ },
"GU": {
"name": "ហ្គាំ"
},
- "GM": {
- "name": "ហ្គាំប៊ី"
- },
"GD": {
- "name": "ហ្គ្រីណាដា"
+ "name": "ហ្គ្រើណាដ"
},
"GL": {
"name": "ហ្គ្រោអង់ឡង់"
@@ -626,18 +626,18 @@
"GE": {
"name": "ហ្សកហ្ស៊ី"
},
- "ZW": {
- "name": "ហ្ស៊ីមបាវ៉áŸ"
- },
- "ZM": {
- "name": "ហ្សាំប៊ី"
+ "JM": {
+ "name": "ហ្សាម៉ាអ៊ីក"
},
- "LV": {
- "name": "ឡាážážœáž¸áž™áŸ‰áž¶"
+ "GI": {
+ "name": "ហ្ស៊ីប្រាល់ážáž¶"
},
"LA": {
"name": "ឡាវ"
},
+ "LV": {
+ "name": "áž¡áŸážáž¼áž“ី"
+ },
"LS": {
"name": "áž¡áŸážŸáž¼ážáž¼"
},
@@ -659,9 +659,6 @@
"AM": {
"name": "អាមáŸáž“ី"
},
- "AE": {
- "name": "អារ៉ាប់រួម"
- },
"SA": {
"name": "អារ៉ាប៊ីសាអូឌីáž"
},
@@ -714,7 +711,7 @@
"name": "អ៊ុយក្រែន"
},
"UY": {
- "name": "អ៊ុយរ៉ាហ្គាយ"
+ "name": "អ៊ុយរូហ្គាយ"
},
"AT": {
"name": "អូទ្រីស"
@@ -735,13 +732,16 @@
"name": "អៀរឡង់"
},
"EC": {
- "name": "អáŸáž€áŸ’វាឌáŸážš"
+ "name": "អáŸáž€áŸ’វាទáŸážš"
},
"ET": {
"name": "អáŸážáŸ’យូពី"
},
+ "AE": {
+ "name": "អáŸáž˜áž¸ážšáŸ‰áž¶ážâ€‹áž¢áž¶ážšáŸ‰áž¶áž”់​រួម"
+ },
"ER": {
- "name": "អáŸážšáž¸áž‘្រា"
+ "name": "អáŸážšáž¸ážáŸ’ážšáŸ"
},
"EE": {
"name": "អáŸážŸáŸ’ážáž¼áž“ី"
diff --git a/vendor/commerceguys/intl/resources/country/kn.json b/vendor/commerceguys/intl/resources/country/kn.json
index 883eaaa45..7edfcc838 100644
--- a/vendor/commerceguys/intl/resources/country/kn.json
+++ b/vendor/commerceguys/intl/resources/country/kn.json
@@ -12,7 +12,7 @@
"name": "ಅಜರà³à²¬à³ˆà²œà²¾à²¨à³"
},
"AF": {
- "name": "ಅಫಘಾನಿಸà³à²¥à²¾à²¨à³"
+ "name": "ಅಫಘಾನಿಸà³à²¥à²¾à²¨"
},
"AS": {
"name": "ಅಮೇರಿಕನೠಸಮೋವಾ"
@@ -26,11 +26,8 @@
"AR": {
"name": "ಅರà³à²œà³†à²‚ಟಿನಾ"
},
- "AM": {
- "name": "ಅರà³à²®à³‡à²¨à²¿à²¯à²¾"
- },
"DZ": {
- "name": "ಅಲà³à²—ೇರಿಯಾ"
+ "name": "ಅಲà³à²œà³€à²°à²¿à²¯"
},
"AL": {
"name": "ಅಲà³à²¬à³‡à²¨à²¿à²¯à²¾"
@@ -44,6 +41,9 @@
"AG": {
"name": "ಆಂಟಿಗà³à²µà²¾ ಮತà³à²¤à³ ಬರà³à²¬à³à²¡à²¾"
},
+ "AM": {
+ "name": "ಆರà³à²®à³‡à²¨à²¿à²¯"
+ },
"AX": {
"name": "ಆಲà³à²¯à²¾à²‚ಡೠದà³à²µà³€à²ªà²—ಳà³"
},
@@ -51,7 +51,7 @@
"name": "ಆಸà³à²Ÿà³à²°à²¿à²¯à²¾"
},
"AU": {
- "name": "ಆಸà³à²Ÿà³à²°à³‡à²²à²¿à²¯"
+ "name": "ಆಸà³à²Ÿà³à²°à³‡à²²à²¿à²¯à²¾"
},
"ID": {
"name": "ಇಂಡೋನೇಶಿಯಾ"
@@ -90,13 +90,16 @@
"name": "ಉಜà³à²¬à³‡à²•à²¿à²¸à³à²¥à²¾à²¨à³"
},
"KP": {
- "name": "ಉತà³à²¤à²° ಕೋರಿಯಾ"
+ "name": "ಉತà³à²¤à²° ಕೊರಿಯಾ"
},
"MP": {
"name": "ಉತà³à²¤à²° ಮರಿಯಾನಾ ದà³à²µà³€à²ªà²—ಳà³"
},
"UY": {
- "name": "ಉರà³à²—à³à²µà³‡"
+ "name": "ಉರà³à²—à³à²µà³†"
+ },
+ "ER": {
+ "name": "ಎರಿಟà³à²°à²¿à²¯à²¾"
},
"SV": {
"name": "ಎಲೠಸಾಲà³à²µà³‡à²¡à²¾à²°à³"
@@ -104,9 +107,6 @@
"EE": {
"name": "ಎಸà³à²Ÿà³‹à²¨à²¿à²¯à²¾"
},
- "ER": {
- "name": "à²à²°à²¿à²Ÿà³à²°à²¿à²¯à²¾"
- },
"IE": {
"name": "à²à²°à³à²²à³†à²‚ಡà³"
},
@@ -132,7 +132,7 @@
"name": "ಕಾಂಬೋಡಿಯಾ"
},
"KI": {
- "name": "ಕಿರಿಬಾತಿ"
+ "name": "ಕಿರಿಬಾಟಿ"
},
"KG": {
"name": "ಕಿರà³à²—ಿಸà³à²¥à²¾à²¨à³"
@@ -183,7 +183,7 @@
"name": "ಕà³à²¯à²¾à²¨à²°à²¿ ದà³à²µà³€à²ªà²—ಳà³"
},
"CM": {
- "name": "ಕà³à²¯à²¾à²®à²°à³‹à²¨à³"
+ "name": "ಕà³à²¯à²¾à²®à²°à³‚ನà³"
},
"CU": {
"name": "ಕà³à²¯à³‚ಬಾ"
@@ -192,7 +192,7 @@
"name": "ಕà³à²°à²¿à²¸à³à²®à²¸à³ ದà³à²µà³€à²ª"
},
"HR": {
- "name": "ಕà³à²°à³Šà²¯à³‡à²¶à²¿à²¯à²¾"
+ "name": "ಕà³à²°à³Šà²¯à³‡à²·à²¿à²¯à²¾"
},
"QA": {
"name": "ಖತಾರà³"
@@ -212,12 +212,12 @@
"GP": {
"name": "ಗà³à²¡à³†à²²à³‹à²ªà³"
},
- "GU": {
- "name": "ಗà³à²¯à²¾à²®à³"
- },
"GG": {
"name": "ಗà³à²°à³à²¨à³â€Œà²¸à³†"
},
+ "GU": {
+ "name": "ಗà³à²µà²¾à²®à³"
+ },
"GA": {
"name": "ಗೆಬೊನà³"
},
@@ -257,6 +257,9 @@
"DE": {
"name": "ಜರà³à²®à²¨à²¿"
},
+ "ZM": {
+ "name": "ಜಾಂಬಿಯ"
+ },
"GE": {
"name": "ಜಾರà³à²œà²¿à²¯à²¾"
},
@@ -264,7 +267,7 @@
"name": "ಜಿಂಬಾಬà³à²µà³†"
},
"DJ": {
- "name": "ಜಿಬೋಟಿ"
+ "name": "ಜಿಬೂಟಿ"
},
"JE": {
"name": "ಜೆರà³à²¸à²¿"
@@ -272,11 +275,8 @@
"JO": {
"name": "ಜೋರà³à²¡à²¾à²¨à³"
},
- "ZM": {
- "name": "à²à²¾à²‚ಬಿಯಾ"
- },
"CZ": {
- "name": "à²à³†à²•à³ ರಿಪಬà³à²²à²¿à²•à³"
+ "name": "à²à³†à²•à²¿à²¯à²¾"
},
"TR": {
"name": "ಟರà³à²•à²¿"
@@ -285,13 +285,13 @@
"name": "ಟರà³à²•à³à²¸à³ ಮತà³à²¤à³ ಕೈಕೋಸೠದà³à²µà³€à²ªà²—ಳà³"
},
"TN": {
- "name": "ಟà³à²¨à²¿à²¶à²¿à²¯à²¾"
+ "name": "ಟà³à²¨à³€à²¶à²¿à²¯"
},
"TV": {
"name": "ಟà³à²µà²¾à²²à³"
},
"TO": {
- "name": "ಟೊಂಗ"
+ "name": "ಟೊಂಗಾ"
},
"TK": {
"name": "ಟೊಕೆಲಾವà³"
@@ -326,23 +326,23 @@
"TM": {
"name": "ತà³à²°à³à²•à²®à³†à²¨à²¿à²¸à³à²¤à²¾à²¨à³"
},
+ "TW": {
+ "name": "ತೈವಾನà³"
+ },
"TH": {
"name": "ಥೈಲà³à²¯à²¾à²‚ಡà³"
},
- "TW": {
- "name": "ಥೈವಾನà³"
- },
"ZA": {
"name": "ದಕà³à²·à²¿à²£ ಆಫà³à²°à²¿à²•à²¾"
},
"KR": {
- "name": "ದಕà³à²·à²¿à²£ ಕೋರಿಯಾ"
+ "name": "ದಕà³à²·à²¿à²£ ಕೊರಿಯಾ"
},
"GS": {
"name": "ದಕà³à²·à²¿à²£ ಜಾರà³à²œà²¿à²¯à²¾ ಮತà³à²¤à³ ದಕà³à²·à²¿à²£ ಸà³à²¯à²¾à²‚ಡà³â€à²µà²¿à²šà³ ದà³à²µà³€à²ªà²—ಳà³"
},
"SS": {
- "name": "ದಕà³à²·à²¿à²£ ಸೂಡಾನà³"
+ "name": "ದಕà³à²·à²¿à²£ ಸà³à²¡à²¾à²¨à³"
},
"NA": {
"name": "ನಮೀಬಿಯಾ"
@@ -351,7 +351,7 @@
"name": "ನಾರà³à²«à³‹à²•à³ ದà³à²µà³€à²ª"
},
"NO": {
- "name": "ನಾರà³à²µà³‡"
+ "name": "ನಾರà³à²µà³†"
},
"NI": {
"name": "ನಿಕಾರಾಗà³à²µà²¾"
@@ -423,7 +423,7 @@
"name": "ಫರೋ ದà³à²µà³€à²ªà²—ಳà³"
},
"FK": {
- "name": "ಫಾಲà³à²•à³â€Œà²²à³à²¯à²¾à²‚ಡೠದà³à²µà³€à²ªà²—ಳà³"
+ "name": "ಫಾಕà³â€Œà²²à³à²¯à²¾à²‚ಡೠದà³à²µà³€à²ªà²—ಳà³"
},
"FJ": {
"name": "ಫಿಜಿ"
@@ -459,7 +459,7 @@
"name": "ಬಹà³à²°à³‡à²¨à³"
},
"BD": {
- "name": "ಬಾಂಗà³à²²à²¾à²¦à³‡à²¶à³"
+ "name": "ಬಾಂಗà³à²²à²¾à²¦à³‡à²¶"
},
"BB": {
"name": "ಬಾರà³à²¬à²¡à³‹à²¸à³"
@@ -468,7 +468,7 @@
"name": "ಬà³à²°à³à²‚ಡಿ"
},
"BF": {
- "name": "ಬà³à²°à³à²•à²¿à²¨à²¾ ಫಾಸೋ"
+ "name": "ಬà³à²°à³à²•à²¿à²¨à²¾ ಫಾಸೊ"
},
"BJ": {
"name": "ಬೆನಿನà³"
@@ -512,8 +512,11 @@
"BT": {
"name": "ಭೂತಾನà³"
},
+ "MN": {
+ "name": "ಮಂಗೋಲಿಯಾ"
+ },
"MO": {
- "name": "ಮಖಾವೠ(SAR) ಚೈನಾ"
+ "name": "ಮಕಾವೠSAR ಚೈನಾ"
},
"MG": {
"name": "ಮಡಗಾಸà³à²•à²°à³"
@@ -534,7 +537,7 @@
"name": "ಮಲೇಶಿಯಾ"
},
"MS": {
- "name": "ಮಾಂಟà³â€Œà²¸à³†à²°à³‡à²Ÿà³"
+ "name": "ಮಾಂಟà³â€Œà²¸à³†à²°à²Ÿà³"
},
"MR": {
"name": "ಮಾರಿಟೇನಿಯಾ"
@@ -555,7 +558,7 @@
"name": "ಮಾಲà³à²Ÿà²¾"
},
"MV": {
- "name": "ಮಾಲà³à²¡à²¿à²µà³à²¸à³"
+ "name": "ಮಾಲà³à²¡à³€à²µà³à²¸à³"
},
"MX": {
"name": "ಮೆಕà³à²¸à²¿à²•à³Š"
@@ -563,9 +566,6 @@
"FM": {
"name": "ಮೈಕà³à²°à³‹à²¨à³‡à²¶à²¿à²¯à²¾"
},
- "MN": {
- "name": "ಮೊಂಗೋಲಿಯಾ"
- },
"ME": {
"name": "ಮೊಂಟೆನೆಗà³à²°à³‹"
},
@@ -588,7 +588,10 @@
"name": "ಯà³.ಎಸà³. ವರà³à²œà²¿à²¨à³ ದà³à²µà³€à²ªà²—ಳà³"
},
"UM": {
- "name": "ಯà³à²Žà²¸à³â€Œ. ಔಟà³â€Œà²²à³‡à²¯à²¿à²‚ಗೠದà³à²µà³€à²ªà²—ಳà³"
+ "name": "ಯà³à²Žà²¸à³â€Œ ಔಟà³â€Œà²²à³‡à²¯à²¿à²‚ಗೠದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "AE": {
+ "name": "ಯà³à²¨à³ˆà²Ÿà³†à²¡à³ ಅರಬೠಎಮಿರೇಟà³à²¸à³"
},
"YE": {
"name": "ಯೆಮನà³"
@@ -597,7 +600,7 @@
"name": "ರಷà³à²¯à²¾"
},
"RE": {
- "name": "ರೀಯೂನಿಯನà³"
+ "name": "ರಿಯೂನಿಯನà³"
},
"RW": {
"name": "ರà³à²µà²¾à²‚ಡಾ"
@@ -606,7 +609,7 @@
"name": "ರೊಮೇನಿಯಾ"
},
"LU": {
- "name": "ಲಕà³à²¸à²‚ಬರà³à²—à³"
+ "name": "ಲಕà³à²¸à³†à²‚ಬರà³à²—à³"
},
"LV": {
"name": "ಲಾಟà³à²µà²¿à²¯à²¾"
@@ -630,7 +633,7 @@
"name": "ಲೆಬನಾನà³"
},
"LS": {
- "name": "ಲೆಸೊಥೋ"
+ "name": "ಲೆಸೊಥೊ"
},
"VU": {
"name": "ವನೌಟà³"
@@ -639,23 +642,23 @@
"name": "ವಾಲಿಸೠಮತà³à²¤à³ ಫà³à²Ÿà³à²¨à²¾"
},
"VN": {
- "name": "ವಿಯೇಟà³à²¨à²¾à²®à³"
+ "name": "ವಿಯೆಟà³à²¨à²¾à²®à³"
},
"VE": {
"name": "ವೆನೆಜà³à²µà³†à²²à²¾"
},
"VA": {
- "name": "ವà³à²¯à²¾à²Ÿà²¿à²•à²¨à³"
+ "name": "ವà³à²¯à²¾à²Ÿà²¿à²•à²¨à³ ಸಿಟಿ"
},
"LK": {
"name": "ಶà³à²°à³€à²²à²‚ಕಾ"
},
- "AE": {
- "name": "ಸಂಯà³à²•à³à²¤ ಅರಬೠಎಮಿರೇಟಸà³"
- },
"WS": {
"name": "ಸಮೋವಾ"
},
+ "SB": {
+ "name": "ಸಾಲೊಮನೠದà³à²µà³€à²ªà²—ಳà³"
+ },
"ST": {
"name": "ಸಾವೋ ಟೋಮೠಮತà³à²¤à³ ಪà³à²°à²¿à²¨à³à²¸à²¿à²ªà²¿"
},
@@ -674,11 +677,11 @@
"SC": {
"name": "ಸೀಶೆಲà³à²²à³†à²¸à³"
},
- "SR": {
- "name": "ಸà³à²°à²¿à²¨à²¾à²®"
- },
"SD": {
- "name": "ಸೂಡಾನà³"
+ "name": "ಸà³à²¡à²¾à²¨à³"
+ },
+ "SR": {
+ "name": "ಸà³à²°à²¿à²¨à²¾à²®à³"
},
"SN": {
"name": "ಸೆನೆಗಲà³"
@@ -693,7 +696,7 @@
"name": "ಸೇಂಟೠಕಿಟà³à²¸à³ ಮತà³à²¤à³ ನೆವಿಸà³"
},
"PM": {
- "name": "ಸೇಂಟೠಪಿಯರೆ ಮತà³à²¤à³ ಮಿಕೆಲನà³"
+ "name": "ಸೇಂಟೠಪಿಯರೠಮತà³à²¤à³ ಮಿಕà³à²µà³†à²²à²¨à³"
},
"BL": {
"name": "ಸೇಂಟೠಬಾರà³à²¥à³†à²²à³†à²®à²¿"
@@ -716,9 +719,6 @@
"SO": {
"name": "ಸೊಮಾಲಿಯಾ"
},
- "SB": {
- "name": "ಸೊಲೊಮನೠದà³à²µà³€à²ªà²—ಳà³"
- },
"SA": {
"name": "ಸೌದಿ ಅರೇಬಿಯಾ"
},
@@ -729,7 +729,7 @@
"name": "ಸà³à²¯à²¾à²¨à³ ಮೆರಿನೋ"
},
"SK": {
- "name": "ಸà³à²²à³‹à²µà²¾à²•à²¿à²¯à²¾"
+ "name": "ಸà³à²²à³Šà²µà²¾à²•à²¿à²¯à²¾"
},
"SI": {
"name": "ಸà³à²²à³‹à²µà³‡à²¨à²¿à²¯à²¾"
diff --git a/vendor/commerceguys/intl/resources/country/kok.json b/vendor/commerceguys/intl/resources/country/kok.json
new file mode 100644
index 000000000..40d8679ae
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/kok.json
@@ -0,0 +1,761 @@
+{
+ "AI": {
+ "name": "अंगà¥à¤²à¤¾"
+ },
+ "AO": {
+ "name": "अंगोला"
+ },
+ "AQ": {
+ "name": "अंटारà¥à¤•à¥à¤Ÿà¤¿à¤•à¤¾"
+ },
+ "AD": {
+ "name": "अंडोरा"
+ },
+ "AZ": {
+ "name": "अजरबैजान"
+ },
+ "AF": {
+ "name": "अफगानिसà¥à¤¤à¤¾à¤¨"
+ },
+ "AS": {
+ "name": "अमेरिकी सामोआ"
+ },
+ "AW": {
+ "name": "अरà¥à¤¬à¤¾"
+ },
+ "AR": {
+ "name": "अरà¥à¤œà¥‡à¤‚टिना"
+ },
+ "AX": {
+ "name": "अलांड जà¥à¤µà¥‡"
+ },
+ "DZ": {
+ "name": "अलà¥à¤œà¥‡à¤°à¤¿à¤¯à¤¾"
+ },
+ "AL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¥€à¤¯à¤¾"
+ },
+ "AC": {
+ "name": "असेशन आयलà¤à¤¡"
+ },
+ "EH": {
+ "name": "असà¥à¤¤à¤‚त सहारा"
+ },
+ "IS": {
+ "name": "आइसलैंड"
+ },
+ "IE": {
+ "name": "आयरलà¤à¤¡"
+ },
+ "AM": {
+ "name": "आरà¥à¤®à¥€à¤¨à¥€à¤¯à¤¾"
+ },
+ "ID": {
+ "name": "इंडोनेशीया"
+ },
+ "EC": {
+ "name": "इकà¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "GQ": {
+ "name": "इकà¥à¤µà¥‡à¤Ÿà¥‹à¤°à¤¿à¤¯à¤² गà¥à¤à¤¨à¤¿à¤¯à¤¾"
+ },
+ "IL": {
+ "name": "इज़राइल"
+ },
+ "IT": {
+ "name": "इटली"
+ },
+ "ET": {
+ "name": "इथियोपिया"
+ },
+ "IQ": {
+ "name": "इराक"
+ },
+ "IR": {
+ "name": "इरान"
+ },
+ "ER": {
+ "name": "इरिटà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "IM": {
+ "name": "इसले ऑफ मॅन"
+ },
+ "EG": {
+ "name": "ईजिपà¥à¤¤"
+ },
+ "UZ": {
+ "name": "उज़à¥à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "KP": {
+ "name": "उतà¥à¤¤à¤° कोरिया"
+ },
+ "MP": {
+ "name": "उतà¥à¤¤à¤°à¥€ मरिना आयसलैणà¥à¤¡"
+ },
+ "UY": {
+ "name": "उरूगà¥à¤µà¥‡"
+ },
+ "AG": {
+ "name": "à¤à¤à¤Ÿà¤¿à¤—à¥à¤† आनी बारबà¥à¤¡à¤¾"
+ },
+ "SV": {
+ "name": "à¤à¤² सालà¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "EE": {
+ "name": "à¤à¤¸à¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AT": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "AU": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¥€à¤¯à¤¾"
+ },
+ "OM": {
+ "name": "ओमान"
+ },
+ "KH": {
+ "name": "कंबोडिया"
+ },
+ "KZ": {
+ "name": "कà¤à¤¾à¤•à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "QA": {
+ "name": "कतार"
+ },
+ "KI": {
+ "name": "किरिबाती"
+ },
+ "KG": {
+ "name": "किरà¥à¤—िज़सà¥à¤¤à¤¾à¤¨"
+ },
+ "CK": {
+ "name": "कà¥à¤• आयलà¤à¤¡à¥à¤¸"
+ },
+ "CW": {
+ "name": "कà¥à¤°à¤¸à¤¾à¤µà¥‹"
+ },
+ "KW": {
+ "name": "कà¥à¤µà¥‡à¤¤"
+ },
+ "CA": {
+ "name": "कॅनडा"
+ },
+ "IC": {
+ "name": "कॅनरी आयलैंडà¥à¤¸"
+ },
+ "CM": {
+ "name": "कॅमेरून"
+ },
+ "BQ": {
+ "name": "कॅरिबियन निदरलà¤à¤¡"
+ },
+ "KE": {
+ "name": "केनया"
+ },
+ "CV": {
+ "name": "केप वरà¥à¤¦à¥€"
+ },
+ "KY": {
+ "name": "कैमेन आइलैंडà¥à¤¸"
+ },
+ "CD": {
+ "name": "कोंगो - किंशासा"
+ },
+ "CG": {
+ "name": "कोंगो - बà¥à¤°à¤¾à¤à¤¾à¤µà¤¿à¤²à¤¾"
+ },
+ "CC": {
+ "name": "कोकोस (कीलिंग) आयलà¤à¤¡"
+ },
+ "CI": {
+ "name": "कोत द’ईवोआर"
+ },
+ "KM": {
+ "name": "कोमोरोस"
+ },
+ "CO": {
+ "name": "कोलंबिया"
+ },
+ "XK": {
+ "name": "कोसोवो"
+ },
+ "CR": {
+ "name": "कोसà¥à¤¤à¤¾ रिका"
+ },
+ "CU": {
+ "name": "कà¥à¤¯à¥à¤¬à¤¾"
+ },
+ "CX": {
+ "name": "कà¥à¤°à¤¿à¤¸à¤®à¤¸ आयलà¤à¤¡"
+ },
+ "HR": {
+ "name": "कà¥à¤°à¥‹à¤¯à¥‡à¤¶à¥€à¤¯à¤¾"
+ },
+ "GY": {
+ "name": "गयाना"
+ },
+ "GG": {
+ "name": "गरà¥à¤¨à¤¸à¥€"
+ },
+ "GW": {
+ "name": "गà¥à¤…निया-बिसाउ"
+ },
+ "GU": {
+ "name": "गà¥à¤†à¤®"
+ },
+ "GN": {
+ "name": "गà¥à¤à¤¨à¤¿à¤¯à¤¾"
+ },
+ "GA": {
+ "name": "गॅबोन"
+ },
+ "GM": {
+ "name": "गॅमà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "GL": {
+ "name": "गà¥à¤°à¥€à¤¨à¤²à¤à¤¡"
+ },
+ "GR": {
+ "name": "गà¥à¤°à¥€à¤¸"
+ },
+ "GD": {
+ "name": "गà¥à¤°à¥‡à¤¨à¥…डा"
+ },
+ "GT": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾"
+ },
+ "GP": {
+ "name": "गà¥à¤µà¤¾à¤¡à¥‡à¤²à¥‹à¤ª"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "CZ": {
+ "name": "चेकिया"
+ },
+ "JP": {
+ "name": "जपान"
+ },
+ "JM": {
+ "name": "जमैका"
+ },
+ "DE": {
+ "name": "जरà¥à¤®à¤¨à¥€"
+ },
+ "JE": {
+ "name": "जरà¥à¤¸à¥€"
+ },
+ "DJ": {
+ "name": "जिबूती"
+ },
+ "GI": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤°"
+ },
+ "ZW": {
+ "name": "जिमà¥à¤¬à¤¾à¤¬à¥à¤µà¥‡"
+ },
+ "GE": {
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¾"
+ },
+ "JO": {
+ "name": "जॉरà¥à¤¡à¤¨"
+ },
+ "ZM": {
+ "name": "à¤à¤¾à¤‚बिया"
+ },
+ "TV": {
+ "name": "टà¥à¤µà¤¾à¤²à¥‚"
+ },
+ "TO": {
+ "name": "टोंगा"
+ },
+ "TK": {
+ "name": "टोकलाऊ"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TN": {
+ "name": "टà¥à¤¯à¥‚नीशिया"
+ },
+ "TT": {
+ "name": "टà¥à¤°à¤¿à¤¨à¥€à¤¡à¤¾à¤¡ आनी टोबॅगो"
+ },
+ "DK": {
+ "name": "डेनमारà¥à¤•"
+ },
+ "DO": {
+ "name": "डोमिनिकन पà¥à¤°à¤œà¤¾à¤¸à¤¤à¥à¤¤à¤¾à¤•"
+ },
+ "DM": {
+ "name": "डोमिनीका"
+ },
+ "TJ": {
+ "name": "तजीकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "TZ": {
+ "name": "तांà¤à¤¾à¤¨à¤¿à¤¯à¤¾"
+ },
+ "TW": {
+ "name": "तायवान"
+ },
+ "TL": {
+ "name": "तिमोर-लेसà¥à¤¤à¥‡"
+ },
+ "TM": {
+ "name": "तà¥à¤°à¥à¤•à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "TR": {
+ "name": "तà¥à¤°à¥à¤•à¥€"
+ },
+ "TC": {
+ "name": "तà¥à¤°à¥à¤•à¥à¤¸ आनी कॅकोज आयलà¤à¤¡à¥à¤¸"
+ },
+ "TA": {
+ "name": "तà¥à¤°à¤¿à¤¸à¥à¤¤à¤¾à¤¨ दा कà¥à¤¨à¥à¤¹à¤¾"
+ },
+ "TH": {
+ "name": "थायलà¤à¤¡"
+ },
+ "ZA": {
+ "name": "दकà¥à¤·à¤¿à¤£ आफà¥à¤°à¥€à¤•à¤¾"
+ },
+ "KR": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरिया"
+ },
+ "GS": {
+ "name": "दकà¥à¤·à¤¿à¤£ जोरà¥à¤œà¤¿à¤¯à¤¾ आनी दकà¥à¤·à¤¿à¤£ सॅणà¥à¤¡à¤µà¤¿à¤š आयलà¤à¤¡à¥à¤¸"
+ },
+ "SS": {
+ "name": "दकà¥à¤·à¤¿à¤£ सà¥à¤¡à¤¾à¤¨"
+ },
+ "DG": {
+ "name": "दिगो गारà¥à¤¸à¤¿à¤¯à¤¾"
+ },
+ "NA": {
+ "name": "नामीबिया"
+ },
+ "NE": {
+ "name": "नायजर"
+ },
+ "NG": {
+ "name": "नायजेरिया"
+ },
+ "NR": {
+ "name": "नावरू"
+ },
+ "NI": {
+ "name": "निकारगà¥à¤µà¤¾"
+ },
+ "NU": {
+ "name": "नीयू"
+ },
+ "NL": {
+ "name": "नॅदरलà¤à¤¡"
+ },
+ "NP": {
+ "name": "नेपाळ"
+ },
+ "NF": {
+ "name": "नॉरफॉक आयलà¤à¤¡"
+ },
+ "NO": {
+ "name": "नॉरà¥à¤µà¥‡"
+ },
+ "NZ": {
+ "name": "नà¥à¤¯à¥à¤à¥€à¤²à¥…नà¥à¤¡"
+ },
+ "NC": {
+ "name": "नà¥à¤¯à¥‚ कॅलिडोनिया"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PW": {
+ "name": "पलाऊ"
+ },
+ "PK": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "PG": {
+ "name": "पापà¥à¤† नà¥à¤¯à¥ गिनी"
+ },
+ "PN": {
+ "name": "पिटकॅरन आयलà¤à¤¡à¥à¤¸"
+ },
+ "PR": {
+ "name": "पिरà¥à¤Ÿà¥‹ रिको"
+ },
+ "PT": {
+ "name": "पà¥à¤°à¥à¤¤à¤—ाल"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PS": {
+ "name": "पेलेसà¥à¤Ÿà¥€à¤¨à¤¿à¤¯à¤¨ पà¥à¤°à¤¾à¤‚त"
+ },
+ "PY": {
+ "name": "पैरागà¥à¤µà¥‡"
+ },
+ "PL": {
+ "name": "पोलंड"
+ },
+ "FJ": {
+ "name": "फिजी"
+ },
+ "FI": {
+ "name": "फिनलà¤à¤¡"
+ },
+ "PH": {
+ "name": "फिलीपिनà¥à¤"
+ },
+ "FO": {
+ "name": "फैरो आयलà¤à¤¡à¥à¤¸"
+ },
+ "FK": {
+ "name": "फ़ॉकलैंड आइलैंडà¥à¤¸"
+ },
+ "FR": {
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸"
+ },
+ "TF": {
+ "name": "फà¥à¤°à¥‡à¤‚च दकà¥à¤·à¤¿à¤£à¥€ पà¥à¤°à¤¾à¤‚त"
+ },
+ "GF": {
+ "name": "फà¥à¤°à¥‡à¤¨à¥à¤š गयाना"
+ },
+ "PF": {
+ "name": "फà¥à¤°à¥‡à¤¨à¥à¤š पोलिनेसिया"
+ },
+ "BM": {
+ "name": "बरà¥à¤®à¥à¤¡à¤¾"
+ },
+ "BG": {
+ "name": "बलà¥à¤—ेरीया"
+ },
+ "BS": {
+ "name": "बहामास"
+ },
+ "BD": {
+ "name": "बांगलादेश"
+ },
+ "BB": {
+ "name": "बारबाडोस"
+ },
+ "BI": {
+ "name": "बà¥à¤°à¥à¤‚डी"
+ },
+ "BF": {
+ "name": "बà¥à¤°à¥à¤•à¤¿à¤¨à¤¾ फॅसो"
+ },
+ "BJ": {
+ "name": "बेनीन"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BZ": {
+ "name": "बेलिà¤"
+ },
+ "BE": {
+ "name": "बेलà¥à¤œà¤¿à¤¯à¤®"
+ },
+ "BH": {
+ "name": "बेहरेन"
+ },
+ "BW": {
+ "name": "बोतà¥à¤¸à¤µà¤¾à¤¨à¤¾"
+ },
+ "BO": {
+ "name": "बोलिवà¥à¤¹à¤¿à¤¯à¤¾"
+ },
+ "BA": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾ आनी हेरà¥à¤œà¥‡à¤—ोविना"
+ },
+ "BR": {
+ "name": "बà¥à¤°à¤¾à¤à¥€à¤²"
+ },
+ "VG": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ वरà¥à¤œà¤¿à¤¨ आयलà¤à¤¡à¥à¤¸"
+ },
+ "IO": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ हिंद महासागरीय कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "BN": {
+ "name": "बà¥à¤°à¥‚नेई"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "BT": {
+ "name": "भूतान"
+ },
+ "MN": {
+ "name": "मंगोलिया"
+ },
+ "MO": {
+ "name": "मकाव SAR चीन"
+ },
+ "CF": {
+ "name": "मधà¥à¤¯ अफà¥à¤°à¥€à¤•à¥€ लोकसतà¥à¤¤à¤•à¤°à¤¾à¤œà¥à¤¯"
+ },
+ "MW": {
+ "name": "मलावी"
+ },
+ "MY": {
+ "name": "मलेशिया"
+ },
+ "MG": {
+ "name": "माडागासà¥à¤•à¤°"
+ },
+ "FM": {
+ "name": "मायकà¥à¤°à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾"
+ },
+ "MQ": {
+ "name": "मारà¥à¤Ÿà¥€à¤¨à¤¿à¤•"
+ },
+ "MH": {
+ "name": "मारà¥à¤¶à¤² आयलà¤à¤¡à¥à¤¸"
+ },
+ "MV": {
+ "name": "मालदीव"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "मालà¥à¤Ÿà¤¾"
+ },
+ "MD": {
+ "name": "मालà¥à¤¡à¥‹à¤µà¤¾"
+ },
+ "MK": {
+ "name": "मॅसिडोनिया"
+ },
+ "MX": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¥‹"
+ },
+ "YT": {
+ "name": "मेयोट"
+ },
+ "MZ": {
+ "name": "मॉà¤à¤¾à¤‚बीक"
+ },
+ "MS": {
+ "name": "मॉनà¥à¤Ÿà¤¸à¥‡à¤°à¤¾à¤Ÿ"
+ },
+ "ME": {
+ "name": "मॉनà¥à¤Ÿà¥…नगà¥à¤°à¥‹"
+ },
+ "MR": {
+ "name": "मॉरिटानिया"
+ },
+ "MU": {
+ "name": "मॉरिशस"
+ },
+ "MC": {
+ "name": "मोनॅको"
+ },
+ "MA": {
+ "name": "मोरोकà¥à¤•à¥‹"
+ },
+ "MM": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¤®à¤¾à¤° (बरà¥à¤®à¤¾)"
+ },
+ "UM": {
+ "name": "यà¥. à¤à¤¸. मायनर आवटलायींग आयलà¤à¤¡à¥â€à¤¸"
+ },
+ "VI": {
+ "name": "यà¥. à¤à¤¸. वरà¥à¤œà¤¿à¤¨ आयलà¤à¤¡à¥â€à¤¸"
+ },
+ "UA": {
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨"
+ },
+ "UG": {
+ "name": "यà¥à¤—ांडा"
+ },
+ "AE": {
+ "name": "यà¥à¤¨à¤¾à¤‡à¤Ÿà¥‡à¤¡ अरब इमीरॅटà¥à¤¸"
+ },
+ "GB": {
+ "name": "यà¥à¤¨à¤¾à¤¯à¤Ÿà¥‡à¤¡ किंगडम"
+ },
+ "US": {
+ "name": "यà¥à¤¨à¤¾à¤¯à¤Ÿà¥‡à¤¡ सà¥à¤Ÿà¥‡à¤Ÿà¥à¤¸"
+ },
+ "YE": {
+ "name": "येमेन"
+ },
+ "RW": {
+ "name": "रवांडा"
+ },
+ "RE": {
+ "name": "रीयूनियन"
+ },
+ "RU": {
+ "name": "रूस"
+ },
+ "RO": {
+ "name": "रोमानीया"
+ },
+ "LU": {
+ "name": "लकà¥à¤¸à¥‡à¤®à¤¬à¤°à¥à¤—"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LR": {
+ "name": "लायबेरीया"
+ },
+ "LI": {
+ "name": "लिचेंसà¥à¤Ÿà¥€à¤¨"
+ },
+ "LT": {
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾"
+ },
+ "LS": {
+ "name": "लिसोथो"
+ },
+ "LY": {
+ "name": "लीबिया"
+ },
+ "LV": {
+ "name": "लॅटविया"
+ },
+ "LB": {
+ "name": "लेबनान"
+ },
+ "VU": {
+ "name": "वनातू"
+ },
+ "WF": {
+ "name": "वालिस आनी फà¥à¤¯à¥‚चूना"
+ },
+ "VE": {
+ "name": "विनेà¤à¥à¤à¤²à¤¾"
+ },
+ "VA": {
+ "name": "वॅटिकन सिटी"
+ },
+ "VN": {
+ "name": "वà¥à¤¹à¤¿à¤à¤¤à¤¨à¤¾à¤®"
+ },
+ "LK": {
+ "name": "शà¥à¤°à¥€ लंका"
+ },
+ "PM": {
+ "name": "सà¤. पायरे आनी मिकेलन"
+ },
+ "LC": {
+ "name": "सà¤à¤Ÿ लà¥à¤¸à¤¿à¤¯à¤¾"
+ },
+ "SA": {
+ "name": "सऊदी अरेबिया"
+ },
+ "RS": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "WS": {
+ "name": "सामोआ"
+ },
+ "CY": {
+ "name": "सायपà¥à¤°à¤¸"
+ },
+ "ST": {
+ "name": "सावो टोमे आनी पà¥à¤°à¤¿à¤‚सिपल"
+ },
+ "SG": {
+ "name": "सिंगापूर"
+ },
+ "SX": {
+ "name": "सिंट मारà¥à¤Ÿà¥‡à¤¨"
+ },
+ "SL": {
+ "name": "सिà¤à¤°à¤¾ लियॉन"
+ },
+ "EA": {
+ "name": "सिटा आनी मेलिलà¥à¤²à¤¾"
+ },
+ "SN": {
+ "name": "सिनिगल"
+ },
+ "SY": {
+ "name": "सिरिया"
+ },
+ "SR": {
+ "name": "सà¥à¤°à¥€à¤¨à¤¾à¤®"
+ },
+ "SD": {
+ "name": "सूडान"
+ },
+ "BL": {
+ "name": "सॅंट बारà¥à¤¥à¥‡à¤²à¥à¤®à¥€"
+ },
+ "MF": {
+ "name": "सॅंट मारà¥à¤Ÿà¤¿à¤¨"
+ },
+ "SM": {
+ "name": "सॅन मारीनो"
+ },
+ "KN": {
+ "name": "सेंट किटà¥à¤¸ आनी नेविस"
+ },
+ "VC": {
+ "name": "सेंट विंसेंट à¤à¤‚ड द गà¥à¤°à¥‡à¤¨à¥‡à¤¡à¤¾à¤‡à¤‚स"
+ },
+ "SH": {
+ "name": "सेंट हेलिना"
+ },
+ "SC": {
+ "name": "सेशेलà¥à¤¸"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "SB": {
+ "name": "सोलोमन आइलà¤à¤¡à¥à¤¸"
+ },
+ "ES": {
+ "name": "सà¥à¤ªà¥‡à¤¨"
+ },
+ "SK": {
+ "name": "सà¥à¤²à¥‹à¤µà¤¾à¤•à¤¿à¤¯à¤¾"
+ },
+ "SI": {
+ "name": "सà¥à¤²à¥‹à¤µà¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "SZ": {
+ "name": "सà¥à¤µà¤¾à¤œà¥€à¤²à¤à¤¡"
+ },
+ "SJ": {
+ "name": "सà¥à¤µà¤¾à¤²à¤¬à¤¾à¤°à¥à¤¡ आनी जान मेयन"
+ },
+ "CH": {
+ "name": "सà¥à¤µà¤¿à¤Ÿà¥à¤œà¤¼à¤°à¤²à¥ˆà¤‚ड"
+ },
+ "SE": {
+ "name": "सà¥à¤µà¥€à¤¡à¤¨"
+ },
+ "HU": {
+ "name": "हंगेरी"
+ },
+ "HK": {
+ "name": "हाà¤à¤— काà¤à¤— SAR चीन"
+ },
+ "HT": {
+ "name": "हैती"
+ },
+ "HN": {
+ "name": "हॉनडà¥à¤°à¤¸"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/ky.json b/vendor/commerceguys/intl/resources/country/ky.json
index 19237a3e1..cb2d31c3f 100644
--- a/vendor/commerceguys/intl/resources/country/ky.json
+++ b/vendor/commerceguys/intl/resources/country/ky.json
@@ -24,19 +24,19 @@
"name": "Ðмерика Кошмо Штаттары"
},
"AS": {
- "name": "Ðмерика СамоаÑÑ‹"
+ "name": "Ðмерикалык Самоа"
+ },
+ "AI": {
+ "name": "ÐнгильÑ"
},
"AO": {
"name": "Ðнгола"
},
- "AI": {
- "name": "Ðнгуила"
- },
"AD": {
"name": "Ðндорра"
},
"AQ": {
- "name": "Ðнтарктика"
+ "name": "Ðнтарктида"
},
"AG": {
"name": "Ðнтигуа жана Барбуда"
@@ -50,14 +50,11 @@
"AW": {
"name": "Ðруба"
},
- "AC": {
- "name": "ÐÑÑеншин аралы"
- },
"AF": {
"name": "ÐфганиÑтан"
},
"BS": {
- "name": "Багам аралдары"
+ "name": "Багама аралдары"
},
"BD": {
"name": "Бангладеш"
@@ -107,9 +104,6 @@
"BR": {
"name": "БразилиÑ"
},
- "IO": {
- "name": "БританиÑнын Ð˜Ð½Ð´Ð¸Ñ Ð¾ÐºÐµÐ°Ð½Ñ‹Ð½Ð´Ð°Ð³Ñ‹ аймагы"
- },
"BN": {
"name": "Бруней"
},
@@ -140,6 +134,9 @@
"VG": {
"name": "Виргин аралдары (БританиÑ)"
},
+ "AC": {
+ "name": "ВознеÑение аралы"
+ },
"VN": {
"name": "Вьетнам"
},
@@ -164,9 +161,6 @@
"GT": {
"name": "Гватемала"
},
- "GF": {
- "name": "Гвиана (ФранциÑ)"
- },
"GN": {
"name": "ГвинеÑ"
},
@@ -239,6 +233,9 @@
"IL": {
"name": "Израиль"
},
+ "IO": {
+ "name": "Инди океанындагы Британ территориÑÑÑ‹"
+ },
"IN": {
"name": "ИндиÑ"
},
@@ -273,7 +270,7 @@
"name": "КазакÑтан"
},
"KY": {
- "name": "Кайман Ðралдары"
+ "name": "Кайман аралдары"
},
"KH": {
"name": "Камбоджа"
@@ -306,7 +303,7 @@
"name": "Кирибати"
},
"CC": {
- "name": "ÐšÐ¾ÐºÐ¾Ñ (Килиӊ) аралдары"
+ "name": "ÐšÐ¾ÐºÐ¾Ñ (Килинг) аралдары"
},
"CO": {
"name": "КолумбиÑ"
@@ -329,9 +326,6 @@
"CI": {
"name": "Кот-д’Ивуар"
},
- "CX": {
- "name": "КриÑÐ¼Ð°Ñ Ð°Ñ€Ð°Ð»Ñ‹"
- },
"CU": {
"name": "Куба"
},
@@ -401,12 +395,12 @@
"MY": {
"name": "МалайзиÑ"
},
- "MV": {
- "name": "Малдив аралдары"
- },
"ML": {
"name": "Мали"
},
+ "MV": {
+ "name": "Мальдив"
+ },
"MT": {
"name": "Мальта"
},
@@ -438,7 +432,7 @@
"name": "МонголиÑ"
},
"MS": {
- "name": "МонÑеррат"
+ "name": "МонтÑеррат"
},
"MM": {
"name": "МьÑнма (Бирма)"
@@ -462,7 +456,7 @@
"name": "ÐигериÑ"
},
"NL": {
- "name": "Ðидерланддар"
+ "name": "Ðидерланд"
},
"NI": {
"name": "Ðикарагуа"
@@ -495,7 +489,7 @@
"name": "Панама"
},
"PG": {
- "name": "Папуа Жаңы-ГвинеÑ"
+ "name": "Папуа-Жаңы ГвинеÑ"
},
"PY": {
"name": "Парагвай"
@@ -506,6 +500,9 @@
"PN": {
"name": "ПиткÑрн аралдары"
},
+ "PF": {
+ "name": "ÐŸÐ¾Ð»Ð¸Ð½ÐµÐ·Ð¸Ñ (франциÑлык)"
+ },
"PL": {
"name": "Польша"
},
@@ -516,7 +513,10 @@
"name": "ПуÑрто-Рико"
},
"RE": {
- "name": "Реюнион"
+ "name": "Реюньон"
+ },
+ "CX": {
+ "name": "РождеÑтво аралы"
},
"RU": {
"name": "РоÑÑиÑ"
@@ -542,11 +542,8 @@
"SZ": {
"name": "Свазиленд"
},
- "SJ": {
- "name": "Свалбард жана Жан Майен"
- },
"SC": {
- "name": "Сейшелдер"
+ "name": "Сейшел аралдары"
},
"PM": {
"name": "Сен-Пьер жана Микелон"
@@ -558,7 +555,7 @@
"name": "Сент Бартелеми"
},
"VC": {
- "name": "Сент-ВинÑент жана Гренадиналар"
+ "name": "Сент-ВинÑент жана Гренадиндер"
},
"KN": {
"name": "Сент-ÐšÐ¸Ñ‚Ñ Ð¶Ð°Ð½Ð° ÐевиÑ"
@@ -579,7 +576,7 @@
"name": "Сингапур"
},
"SX": {
- "name": "Синт Маартен"
+ "name": "Синт-Мартен"
},
"SY": {
"name": "СириÑ"
@@ -600,7 +597,7 @@
"name": "Судан"
},
"SR": {
- "name": "Суринаме"
+ "name": "Суринам"
},
"SL": {
"name": "Сьерра-Леоне"
@@ -608,12 +605,12 @@
"TJ": {
"name": "ТажикÑтан"
},
- "TH": {
- "name": "Таиланд"
- },
"TW": {
"name": "Тайвань"
},
+ "TH": {
+ "name": "Тайланд"
+ },
"TZ": {
"name": "ТанзаниÑ"
},
@@ -633,7 +630,7 @@
"name": "Тринидад жана Тобаго"
},
"TA": {
- "name": "ТриÑтан да КуньÑ"
+ "name": "ТриÑтан-да-КуньÑ"
},
"TV": {
"name": "Тувалу"
@@ -656,9 +653,6 @@
"TC": {
"name": "Ð¢Ò¯Ñ€ÐºÑ Ð¶Ð°Ð½Ð° ÐšÐ°Ð¹ÐºÐ¾Ñ Ð°Ñ€Ð°Ð»Ð´Ð°Ñ€Ñ‹"
},
- "ZA": {
- "name": "Түштүк Ðфрика РеÑпубликаÑÑ‹"
- },
"GS": {
"name": "Түштүк Ð–Ð¾Ñ€Ð¶Ð¸Ñ Ð¶Ð°Ð½Ð° Түштүк СÑндвич аралдары"
},
@@ -668,6 +662,9 @@
"SS": {
"name": "Түштүк Судан"
},
+ "ZA": {
+ "name": "Түштүк-Ðфрика РеÑпубликаÑÑ‹"
+ },
"UG": {
"name": "Уганда"
},
@@ -696,7 +693,7 @@
"name": "ФинлÑндиÑ"
},
"FK": {
- "name": "ФолклÑнд аралдары"
+ "name": "Фолкленд аралдары"
},
"FR": {
"name": "ФранциÑ"
@@ -704,8 +701,8 @@
"TF": {
"name": "ФранциÑнын Түштүктөгү аймактары"
},
- "PF": {
- "name": "Француз ПолинезиÑÑÑ‹"
+ "GF": {
+ "name": "Француздук Гвиана"
},
"HR": {
"name": "ХорватиÑ"
@@ -717,7 +714,7 @@
"name": "ЧерногориÑ"
},
"CZ": {
- "name": "Чех РеÑпубликаÑÑ‹"
+ "name": "ЧехиÑ"
},
"CL": {
"name": "Чили"
@@ -728,6 +725,9 @@
"SE": {
"name": "ШвециÑ"
},
+ "SJ": {
+ "name": "Шпицберген жана Ян-Майен"
+ },
"LK": {
"name": "Шри-Ланка"
},
@@ -738,10 +738,10 @@
"name": "Эквадор"
},
"GQ": {
- "name": "Экваториалдык ГвинеÑ"
+ "name": "Экватордук ГвинеÑ"
},
"SV": {
- "name": "Эл Салвадор"
+ "name": "Эль-Сальвадор"
},
"ER": {
"name": "ЭритреÑ"
diff --git a/vendor/commerceguys/intl/resources/country/lb.json b/vendor/commerceguys/intl/resources/country/lb.json
index adcf90df9..3160da2d4 100644
--- a/vendor/commerceguys/intl/resources/country/lb.json
+++ b/vendor/commerceguys/intl/resources/country/lb.json
@@ -738,7 +738,7 @@
"name": "Vereenegt Arabesch Emirater"
},
"US": {
- "name": "Vereenegt Staate vun Amerika"
+ "name": "Vereenegt Staaten"
},
"VN": {
"name": "Vietnam"
diff --git a/vendor/commerceguys/intl/resources/country/ln.json b/vendor/commerceguys/intl/resources/country/ln.json
index cf4e8ddf0..1ea16ef03 100644
--- a/vendor/commerceguys/intl/resources/country/ln.json
+++ b/vendor/commerceguys/intl/resources/country/ln.json
@@ -536,9 +536,6 @@
"PT": {
"name": "Putúlugɛsi"
},
- "CZ": {
- "name": "Repibiki TsekÉ›"
- },
"CF": {
"name": "Repibiki ya Afríka ya Káti"
},
@@ -596,6 +593,9 @@
"SC": {
"name": "Sɛshɛlɛ"
},
+ "CZ": {
+ "name": "Shekia"
+ },
"SL": {
"name": "Siera LeonÉ›"
},
diff --git a/vendor/commerceguys/intl/resources/country/lo.json b/vendor/commerceguys/intl/resources/country/lo.json
index 5916f7f56..8cfa31703 100644
--- a/vendor/commerceguys/intl/resources/country/lo.json
+++ b/vendor/commerceguys/intl/resources/country/lo.json
@@ -86,12 +86,12 @@
"CU": {
"name": "ຄິວບາ"
},
- "KG": {
- "name": "ຄີàºàº´àºªàº–ານ"
- },
"CW": {
"name": "ຄູຣາຊາວ"
},
+ "KG": {
+ "name": "ຄຽàºàºàº´àº”ສະຖານ"
+ },
"KE": {
"name": "ເຄນຢາ"
},
@@ -137,9 +137,6 @@
"CN": {
"name": "ຈີນ"
},
- "CL": {
- "name": "ຈີເລ"
- },
"JE": {
"name": "ເຈີຊີ"
},
@@ -179,9 +176,6 @@
"GM": {
"name": "ສາທາລະນະລັດà»àºàº¡à»€àºšàº"
},
- "CZ": {
- "name": "ສາທາລະນະລັດເຊັàº"
- },
"CF": {
"name": "ສາທາລະນະລັດອາຟຣິàºàº²àºàº²àº‡"
},
@@ -209,6 +203,9 @@
"ZW": {
"name": "ຊິມບັບເວ"
},
+ "CL": {
+ "name": "ຊິລີ"
+ },
"SY": {
"name": "ຊີເຣàº"
},
@@ -254,6 +251,9 @@
"EA": {
"name": "ເຊວຕາ à»àº¥àº°à»€àº¡àº¥àº´àº™àº¥àº²"
},
+ "CZ": {
+ "name": "ເຊັàºà»€àºŠàº"
+ },
"RS": {
"name": "ເຊີເບàº"
},
@@ -267,7 +267,7 @@
"name": "à»àºŠàº¡à»€àºšàº"
},
"SO": {
- "name": "ໂຊມາລີ"
+ "name": "ໂຊມາເລàº"
},
"CY": {
"name": "ໄຊປຣັສ"
@@ -365,6 +365,9 @@
"NG": {
"name": "ໄນຈີເຣàº"
},
+ "BR": {
+ "name": "ບຣາຊິວ"
+ },
"BN": {
"name": "ບຣູໄນ"
},
@@ -374,9 +377,6 @@
"BW": {
"name": "ບອດສະວານາ"
},
- "BR": {
- "name": "ບະເລຊີນ"
- },
"BD": {
"name": "ບັງàºàº°àº¥àº²à»€àº—ດ"
},
@@ -480,10 +480,10 @@
"name": "ມັນດິຟ"
},
"MO": {
- "name": "ມາເàºàº»à»‰àº² ເຂດປົàºàº„ອງພິເສດ ຈີນ"
+ "name": "ມາàºàº²àº§ ເຂດປົàºàº„ອງພິເສດ ຈີນ"
},
"MG": {
- "name": "ມາດາàºàº²àºªàºàº²"
+ "name": "ມາດາàºàº²àºªàº°àºàº²"
},
"MQ": {
"name": "ມາຕິນີàº"
@@ -570,7 +570,7 @@
"name": "ລິເບີເຣàº"
},
"LU": {
- "name": "ລຸàºàºŠàº³àºšàº»àº§"
+ "name": "ລຸàºà»àºŠàº¡à»€àºšàºµàº"
},
"LS": {
"name": "ເລໂຊໂທ"
@@ -590,14 +590,17 @@
"KY": {
"name": "à»àº¹à»ˆà»€àºàº²àº° ເຄà»àº¡àº™"
},
+ "GS": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº° ຈà»à»€àºˆàºàº•àº­àº™à»ƒàº•à»‰ à»àº¥àº° à»àºŠàº™àº§àº´àº”ຕອນໃຕ້"
+ },
"TC": {
"name": "à»àº¹à»ˆà»€àºàº²àº° ເທີຠà»àº¥àº° ໄຄໂຄສ"
},
- "VG": {
- "name": "à»àº¹à»ˆà»€àºàº²àº° ບຣິທິຊ ເວີຈິນ"
- },
"VI": {
- "name": "à»àº¹à»ˆà»€àºàº²àº° ຢູເອສ ເວີຈິນ"
+ "name": "à»àº¹à»ˆà»€àºàº²àº° ເວີຈິນ ຂອງສະຫະລັດ"
+ },
+ "VG": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº° ເວີຈິນຂອງອັງàºàº´àº”"
},
"CC": {
"name": "ຫມູ່ເàºàº²àº°à»‚àºà»‚àºàºª"
@@ -608,9 +611,6 @@
"CK": {
"name": "à»àº¹à»ˆà»€àºàº²àº°àº„ຸàº"
},
- "GS": {
- "name": "à»àº¹à»ˆà»€àºàº²àº°àºˆà»à»€àºˆàº & ເຊົາ à»àºŠàº™àº§àº´àº”"
- },
"SB": {
"name": "ຫມູ່ເàºàº²àº°à»‚ຊໂລມອນ"
},
@@ -744,10 +744,7 @@
"name": "ໄອສà»àº¥àº™"
},
"IE": {
- "name": "ໄອຣ໌à»àº¥àº™"
- },
- "HK": {
- "name": "ຮອງàºàº»àº‡ ເຂດປົàºàº„ອງພິເສດ ຈີນ"
+ "name": "ໄອà»àº¥àº™"
},
"HN": {
"name": "ຮອນດູຣັສ"
@@ -755,6 +752,9 @@
"HU": {
"name": "ຮັງàºàº²àº£àºµ"
},
+ "HK": {
+ "name": "ຮົງàºàº»àº‡ ເຂດປົàºàº„ອງພິເສດ ຈີນ"
+ },
"HT": {
"name": "ໄຮຕິ"
}
diff --git a/vendor/commerceguys/intl/resources/country/lv.json b/vendor/commerceguys/intl/resources/country/lv.json
index 32270870f..102bb727b 100644
--- a/vendor/commerceguys/intl/resources/country/lv.json
+++ b/vendor/commerceguys/intl/resources/country/lv.json
@@ -123,7 +123,7 @@
"name": "ÄŒada"
},
"CZ": {
- "name": "ÄŒehijas Republika"
+ "name": "ÄŒehija"
},
"CL": {
"name": "Čīle"
@@ -276,7 +276,7 @@
"name": "Īrija"
},
"IS": {
- "name": "Īslande"
+ "name": "Islande"
},
"IT": {
"name": "ItÄlija"
diff --git a/vendor/commerceguys/intl/resources/country/mk.json b/vendor/commerceguys/intl/resources/country/mk.json
index 374b019ba..b6ed98d4f 100644
--- a/vendor/commerceguys/intl/resources/country/mk.json
+++ b/vendor/commerceguys/intl/resources/country/mk.json
@@ -39,7 +39,7 @@
"name": "Ðнтарктик"
},
"AG": {
- "name": "Ðнтигва и Барбуда"
+ "name": "Ðнтига и Барбуда"
},
"AR": {
"name": "Ðргентина"
@@ -527,9 +527,6 @@
"PT": {
"name": "Португалија"
},
- "CZ": {
- "name": "Република Чешка"
- },
"RE": {
"name": "Реунион"
},
@@ -563,17 +560,11 @@
"SH": {
"name": "Света Елена"
},
- "LC": {
- "name": "Света Луција"
- },
"BL": {
"name": "Свети Вартоломеј"
},
- "VC": {
- "name": "Свети ВинÑент и Гренадините"
- },
"KN": {
- "name": "Свети КриÑтофер и ÐевиÑ"
+ "name": "Свети ÐšÐ¸Ñ‚Ñ Ð¸ ÐевиÑ"
},
"SX": {
"name": "Свети Мартин"
@@ -590,6 +581,12 @@
"SN": {
"name": "Сенегал"
},
+ "VC": {
+ "name": "Сент ВинÑент и Гренадини"
+ },
+ "LC": {
+ "name": "Сент ЛуÑија"
+ },
"MF": {
"name": "Сент Мартин"
},
@@ -737,6 +734,9 @@
"TD": {
"name": "Чад"
},
+ "CZ": {
+ "name": "Чешка"
+ },
"CL": {
"name": "Чиле"
},
diff --git a/vendor/commerceguys/intl/resources/country/ml.json b/vendor/commerceguys/intl/resources/country/ml.json
index c539f8e88..2a8ab4190 100644
--- a/vendor/commerceguys/intl/resources/country/ml.json
+++ b/vendor/commerceguys/intl/resources/country/ml.json
@@ -1,9 +1,9 @@
{
- "AQ": {
- "name": "അൻറാർടàµà´Ÿà´¿à´•àµà´•"
- },
"AD": {
- "name": "à´…à´¨àµà´±àµ‹à´±"
+ "name": "അൻഡോറ"
+ },
+ "AQ": {
+ "name": "à´…à´¨àµà´±à´¾àµ¼à´Ÿàµà´Ÿà´¿à´•àµà´•"
},
"AF": {
"name": "à´…à´«àµâ€Œà´—ാനിസàµà´¥à´¾àµ»"
@@ -21,7 +21,7 @@
"name": "അയർലൻഡàµ"
},
"AR": {
- "name": "അർജൻറീന"
+ "name": "അർജനàµà´±àµ€à´¨"
},
"AM": {
"name": "അർമേനിയ"
@@ -159,10 +159,10 @@
"name": "കെനിയ"
},
"CV": {
- "name": "കേപàµà´ªàµ വെർദെ"
+ "name": "കേപàµà´ªàµ വേർഡàµ"
},
"KY": {
- "name": "കേമാൻ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ "name": "കേയàµà´®à´¾àµ» à´¦àµà´µàµ€à´ªàµà´•àµ¾"
},
"XK": {
"name": "കൊസോവൊ"
@@ -243,7 +243,7 @@
"name": "ചിലി"
},
"CZ": {
- "name": "ചെകàµà´•àµ റിപàµà´ªà´¬àµà´²à´¿à´•àµ"
+ "name": "ചെകàµà´•à´¿à´¯"
},
"CN": {
"name": "ചൈന"
@@ -258,7 +258,7 @@
"name": "ജമൈകàµà´•"
},
"DE": {
- "name": "ജർമനി"
+ "name": "ജർമàµà´®à´¨à´¿"
},
"GI": {
"name": "ജിബàµà´°à´¾àµ¾à´Ÿàµà´Ÿàµ¼"
@@ -309,7 +309,7 @@
"name": "ഡൊമിനികàµà´•"
},
"DO": {
- "name": "ഡൊമിനികàµà´•àµ» റിപàµà´ªà´¬àµà´²à´¿à´•àµ"
+ "name": "ഡൊമിനികàµà´•àµ» റിപàµà´ªà´¬àµà´²à´¿à´•àµà´•àµ"
},
"TJ": {
"name": "താജികàµà´•à´¿à´¸àµà´¥à´¾àµ»"
@@ -410,12 +410,12 @@
"PT": {
"name": "പോർചàµà´šàµà´—ൽ"
},
+ "PR": {
+ "name": "പോർടàµà´Ÿàµ‹ റികàµà´•àµ‹"
+ },
"PL": {
"name": "പോളണàµà´Ÿàµ"
},
- "PR": {
- "name": "à´ªàµà´¯àµ‚ർടàµà´Ÿàµ‹ റികàµà´•àµ‹"
- },
"FO": {
"name": "ഫറോ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
},
@@ -446,6 +446,9 @@
"BD": {
"name": "ബംഗàµà´²à´¾à´¦àµ‡à´¶àµ"
},
+ "BF": {
+ "name": "ബർകàµà´•à´¿à´¨ ഫാസോ"
+ },
"BM": {
"name": "ബർമàµà´¡"
},
@@ -464,9 +467,6 @@
"BB": {
"name": "ബാർബഡോസàµ"
},
- "BF": {
- "name": "à´¬àµàµ¼à´•àµà´•à´¿à´¨à´¾ ഫാസോ"
- },
"BJ": {
"name": "ബെനിൻ"
},
@@ -528,7 +528,7 @@
"name": "മാർടàµà´Ÿà´¿à´¨à´¿à´•àµà´•àµ"
},
"MH": {
- "name": "മാർഷൽâ€â€ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ "name": "മാർഷൽ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
},
"ML": {
"name": "മാലി"
@@ -648,7 +648,7 @@
"name": "സിനàµà´±àµ മാർടàµà´Ÿàµ†àµ»"
},
"SG": {
- "name": "സിംഗപàµà´ªàµàµ¼"
+ "name": "സിംഗപàµà´ªàµ‚ർ"
},
"ZW": {
"name": "സിംബാബàµâ€Œà´µàµ‡"
@@ -672,7 +672,7 @@
"name": "സെനഗൽ"
},
"CF": {
- "name": "സെൻടàµà´°àµ½ ആഫàµà´°à´¿à´•àµà´•àµ» റിപàµà´ªà´¬àµà´²à´¿à´•àµ"
+ "name": "സെൻടàµà´°àµ½ ആഫàµà´°à´¿à´•àµà´•àµ» റിപàµà´ªà´¬àµà´²à´¿à´•àµà´•àµ"
},
"KN": {
"name": "സെനàµà´±àµ à´•à´¿à´±àµà´±àµâ€Œà´¸àµà´‚ നെവിസàµà´‚"
@@ -684,16 +684,16 @@
"name": "സെനàµà´±àµ ബാർതàµà´¤à´²à´®à´¿"
},
"MF": {
- "name": "സെൻറൠമാർടàµà´Ÿà´¿àµ»"
+ "name": "സെനàµà´±àµ മാർടàµà´Ÿà´¿àµ»"
},
"LC": {
- "name": "സെൻറൠലൂസിയ"
+ "name": "സെനàµà´±àµ ലൂസിയ"
},
"VC": {
"name": "സെനàµà´±àµ വിൻസെനàµà´±àµà´‚ à´—àµà´°à´¨àµ†à´¡àµˆàµ»à´¸àµà´‚"
},
"SH": {
- "name": "സെൻറൠഹെലീന"
+ "name": "സെനàµà´±àµ ഹെലീന"
},
"EA": {
"name": "സെയൂതàµà´¤ ആൻഡൠമെലിയ"
@@ -708,7 +708,7 @@
"name": "സോമാലിയ"
},
"SB": {
- "name": "സോളമൻ†ദàµà´µàµ€à´ªàµà´•àµ¾"
+ "name": "സോളമൻ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
},
"SA": {
"name": "സൗദി അറേബàµà´¯"
@@ -726,7 +726,7 @@
"name": "à´¸àµà´µà´¾àµ½à´¬à´¾à´¡àµà´‚ ജാൻ മായേനàµà´‚"
},
"SZ": {
- "name": "à´¸àµà´µà´¾à´¸à´¿à´²à´¾àµ»à´±àµ"
+ "name": "à´¸àµà´µà´¾à´¸à´¿à´²à´¾à´¨àµà´±àµ"
},
"CH": {
"name": "à´¸àµà´µà´¿à´±àµà´±àµà´¸àµ¼à´²à´¾àµ»à´¡àµ"
@@ -741,7 +741,7 @@
"name": "ഹെയàµà´¤à´¿"
},
"HK": {
- "name": "ഹോങàµà´•àµ‹à´™àµà´™àµ (SAR) ചൈന"
+ "name": "ഹോങàµà´•àµ‹à´™àµ (SAR) ചൈന"
},
"HN": {
"name": "ഹോണàµà´Ÿàµà´±à´¾à´¸àµ"
diff --git a/vendor/commerceguys/intl/resources/country/mn.json b/vendor/commerceguys/intl/resources/country/mn.json
index 33688638c..c41b2166d 100644
--- a/vendor/commerceguys/intl/resources/country/mn.json
+++ b/vendor/commerceguys/intl/resources/country/mn.json
@@ -9,7 +9,7 @@
"name": "Ðзербайжан"
},
"AX": {
- "name": "Ðландын Ðрлууд"
+ "name": "Ðландын арлууд"
},
"AL": {
"name": "Ðлбани"
@@ -20,11 +20,14 @@
"US": {
"name": "Ðмерикийн ÐÑгдÑÑн УлÑ"
},
+ "UM": {
+ "name": "Ðмерикийн ÐÑгдÑÑн УлÑын бага арлууд"
+ },
"AS": {
"name": "Ðмерикийн Самоа"
},
"AI": {
- "name": "Ðнгила"
+ "name": "ÐнгильÑ"
},
"AO": {
"name": "Ðнгол"
@@ -33,7 +36,7 @@
"name": "Ðндорра"
},
"AQ": {
- "name": "Ðнтарктик"
+ "name": "Ðнтарктид"
},
"AG": {
"name": "Ðнтигуа ба Барбуда"
@@ -41,11 +44,8 @@
"VI": {
"name": "ÐÐУ-ын Виржиний Ðрлууд"
},
- "UM": {
- "name": "ÐÐУ-ын тойрÑон арлууд"
- },
"AE": {
- "name": "Ðрабын ÐÑгдÑÑн Эмират"
+ "name": "Ðрабын ÐÑгдÑÑн Эмират УлÑ"
},
"AR": {
"name": "Ðргентин"
@@ -57,13 +57,13 @@
"name": "Ðруба"
},
"AC": {
- "name": "ÐÑкенÑион арал"
+ "name": "ÐÑенÑион арал"
},
"AF": {
"name": "ÐфганиÑтан"
},
"BS": {
- "name": "Багам"
+ "name": "Багамын арлууд"
},
"NP": {
"name": "Балба"
@@ -83,17 +83,17 @@
"BY": {
"name": "БеларуÑÑŒ"
},
- "BE": {
- "name": "Белги"
- },
"BZ": {
"name": "Белиз"
},
+ "BE": {
+ "name": "Бельги"
+ },
"BJ": {
"name": "Бенин"
},
"BM": {
- "name": "Бермуд"
+ "name": "Бермуда"
},
"MO": {
"name": "БÐÐ¥ÐУ-ын ТуÑгай захиргааны Ð±Ò¯Ñ ÐœÐ°ÐºÐ°Ð¾"
@@ -108,7 +108,7 @@
"name": "Боливи"
},
"BA": {
- "name": "БоÑни Герцеговин"
+ "name": "БоÑни-Герцеговин"
},
"BW": {
"name": "БотÑвана"
@@ -120,13 +120,13 @@
"name": "Британийн Виржиний Ðрлууд"
},
"IO": {
- "name": "Британийн харьÑа ЭнÑÑ‚Ñ…Ñгийн далай дахь нутаг дÑвÑгÑрүүд"
+ "name": "Британийн харьÑа ЭнÑÑ‚Ñ…Ñгийн далай дахь нутаг дÑвÑгÑÑ€"
},
"BN": {
"name": "Бруней"
},
"BF": {
- "name": "Буркина фаÑо"
+ "name": "Буркина ФаÑо"
},
"BI": {
"name": "Бурунди"
@@ -137,9 +137,6 @@
"DO": {
"name": "Бүгд Ðайрамдах Доминикан УлÑ"
},
- "CZ": {
- "name": "Бүгд Ðайрамдах Чех УлÑ"
- },
"VU": {
"name": "Вануату"
},
@@ -216,7 +213,7 @@
"name": "Диего ГарÑиа"
},
"DM": {
- "name": "Доминик"
+ "name": "Доминика"
},
"EG": {
"name": "Египет"
@@ -237,7 +234,7 @@
"name": "Израиль"
},
"ID": {
- "name": "Индонези"
+ "name": "Индонез"
},
"IQ": {
"name": "Ирак"
@@ -266,11 +263,14 @@
"JO": {
"name": "Йордан"
},
+ "CV": {
+ "name": "Кабо-Верде"
+ },
"KZ": {
"name": "КазахÑтан"
},
"KY": {
- "name": "Кайманы Ðрлууд"
+ "name": "Кайманы арлууд"
},
"KH": {
"name": "Камбож"
@@ -284,9 +284,6 @@
"IC": {
"name": "Канарын арлууд"
},
- "CV": {
- "name": "Капе Верде"
- },
"BQ": {
"name": "Карибын Ðидерланд"
},
@@ -306,10 +303,10 @@
"name": "ÐšÐ¾ÐºÐ¾Ñ (Кийлинг) арлууд"
},
"CO": {
- "name": "Колумб"
+ "name": "Колумби"
},
"KM": {
- "name": "КомороÑ"
+ "name": "Коморын арлууд"
},
"CG": {
"name": "Конго Браззавиль"
@@ -321,10 +318,10 @@
"name": "КоÑово"
},
"CR": {
- "name": "КоÑта Рика"
+ "name": "КоÑта-Рика"
},
"CI": {
- "name": "Кот д’Ивуар"
+ "name": "Кот-д’Ивуар"
},
"CU": {
"name": "Куба"
@@ -332,15 +329,15 @@
"KW": {
"name": "Кувейт"
},
- "CW": {
- "name": "Куракао"
- },
"CK": {
"name": "Күүкийн арлууд"
},
"KG": {
"name": "КыргызÑтан"
},
+ "CW": {
+ "name": "КюраÑао"
+ },
"LA": {
"name": "ЛаоÑ"
},
@@ -368,17 +365,17 @@
"LU": {
"name": "ЛюкÑембург"
},
+ "MU": {
+ "name": "Маврики"
+ },
"MR": {
"name": "Мавритани"
},
- "MU": {
- "name": "МавритуÑ"
- },
"MG": {
"name": "МадагаÑкар"
},
"YT": {
- "name": "Майотте"
+ "name": "Майотта"
},
"MK": {
"name": "Македон"
@@ -398,9 +395,6 @@
"MT": {
"name": "Мальта"
},
- "MA": {
- "name": "Марокко"
- },
"MQ": {
"name": "Мартиник"
},
@@ -431,8 +425,11 @@
"MS": {
"name": "МонтÑеррат"
},
+ "MA": {
+ "name": "Морокко"
+ },
"MM": {
- "name": "МьÑнмар (Бурма)"
+ "name": "МьÑнмар"
},
"IM": {
"name": "ÐœÑн Ðрал"
@@ -462,7 +459,7 @@
"name": "Ðорвеги"
},
"NF": {
- "name": "Ðорфолк арлууд"
+ "name": "Ðорфолк арал"
},
"OM": {
"name": "Оман"
@@ -471,7 +468,7 @@
"name": "ОроÑ"
},
"ZA": {
- "name": "Өмнөд Ðфрик тив"
+ "name": "Өмнөд Ðфрик"
},
"GS": {
"name": "Өмнөд Жоржиа ба Өмнөд СÑндвичийн Ðрлууд"
@@ -510,13 +507,13 @@
"name": "Польш"
},
"PT": {
- "name": "Португаль"
+ "name": "Португал"
},
"PR": {
- "name": "ПуÑрто Рико"
+ "name": "ПуÑрто-Рико"
},
"RE": {
- "name": "Реюньон"
+ "name": "Реюнион"
},
"RW": {
"name": "Руанда"
@@ -543,26 +540,32 @@
"name": "Свалбард ба Ян Майен"
},
"SC": {
- "name": "Сейшел"
+ "name": "Сейшелийн арлууд"
},
"SN": {
"name": "Сенегал"
},
- "BL": {
- "name": "Сент Бартельми"
- },
"LC": {
"name": "Сент ЛюÑиа"
},
"SH": {
"name": "Сент Хелена"
},
+ "BL": {
+ "name": "Сент-Бартельми"
+ },
+ "VC": {
+ "name": "Сент-ВинÑент ба Гренадин"
+ },
"KN": {
"name": "Сент-ÐšÐ¸Ñ‚Ñ‚Ñ Ð±Ð° ÐевиÑ"
},
"MF": {
"name": "Сент-Мартин"
},
+ "PM": {
+ "name": "Сент-Пьер ба Микело"
+ },
"RS": {
"name": "Серби"
},
@@ -585,7 +588,7 @@
"name": "Словени"
},
"SB": {
- "name": "Соломоны Ðрлууд"
+ "name": "Соломоны арлууд"
},
"SO": {
"name": "Сомали"
@@ -599,12 +602,6 @@
"SL": {
"name": "Сьерра-Леоне"
},
- "VC": {
- "name": "СÑнт ВинÑÑнт ба Гренадин"
- },
- "PM": {
- "name": "СÑнт Пьер ба Микелон"
- },
"TJ": {
"name": "ТажикиÑтан"
},
@@ -633,10 +630,10 @@
"name": "Төв Ðфрикийн Бүгд Ðайрамдах УлÑ"
},
"TT": {
- "name": "Тринидад Тобаго"
+ "name": "Тринидад ба Тобаго"
},
"TA": {
- "name": "ТриÑтан да КуньÑ"
+ "name": "ТриÑтан да КунъÑ"
},
"TV": {
"name": "Тувалу"
@@ -672,7 +669,7 @@
"name": "Уругвай"
},
"FO": {
- "name": "Ð¤Ð°Ñ€Ð¾Ñ Ðрлууд"
+ "name": "Фарерын арлууд"
},
"FJ": {
"name": "Фижи"
@@ -684,13 +681,13 @@
"name": "Финланд"
},
"FK": {
- "name": "Фолькландын Ðрлууд"
+ "name": "Фолклендийн арлууд"
},
"FR": {
"name": "Франц"
},
"GF": {
- "name": "Францын Гайана"
+ "name": "Францын Гвиана"
},
"TF": {
"name": "Францын өмнөд газар нутаг"
@@ -713,6 +710,9 @@
"TD": {
"name": "Чад"
},
+ "CZ": {
+ "name": "Чех"
+ },
"CL": {
"name": "Чили"
},
@@ -720,7 +720,7 @@
"name": "Швед"
},
"CH": {
- "name": "Швейцари"
+ "name": "Швейцарь"
},
"NZ": {
"name": "Ð¨Ð¸Ð½Ñ Ð—ÐµÐ»Ð°Ð½Ð´"
@@ -729,7 +729,7 @@
"name": "Ð¨Ð¸Ð½Ñ ÐšÐ°Ð»ÐµÐ´Ð¾Ð½Ð¸"
},
"LK": {
- "name": "Шри Ланка"
+ "name": "Шри-Ланка"
},
"EC": {
"name": "Эквадор"
@@ -744,7 +744,7 @@
"name": "ЭнÑÑ‚Ñ…Ñг"
},
"ER": {
- "name": "Эритри"
+ "name": "Эритрей"
},
"EE": {
"name": "ЭÑтони"
@@ -753,7 +753,7 @@
"name": "Этиоп"
},
"JM": {
- "name": "Ямайк"
+ "name": "Ямайка"
},
"JP": {
"name": "Япон"
diff --git a/vendor/commerceguys/intl/resources/country/mr.json b/vendor/commerceguys/intl/resources/country/mr.json
index 9910a9428..92ecae3f9 100644
--- a/vendor/commerceguys/intl/resources/country/mr.json
+++ b/vendor/commerceguys/intl/resources/country/mr.json
@@ -270,7 +270,7 @@
"name": "à¤à¤¿à¤®à¥à¤¬à¤¾à¤¬à¥à¤µà¥‡"
},
"CZ": {
- "name": "à¤à¥‡à¤• पà¥à¤°à¤œà¤¾à¤¸à¤¤à¥à¤¤à¤¾à¤•"
+ "name": "à¤à¥‡à¤•à¤¿à¤¯à¤¾"
},
"TC": {
"name": "टरà¥à¤•à¥à¤¸ आणि कैकोस बेटे"
@@ -443,9 +443,6 @@
"BM": {
"name": "बरà¥à¤®à¥à¤¡à¤¾"
},
- "BZ": {
- "name": "बलिà¤"
- },
"BG": {
"name": "बलà¥à¤—ेरिया"
},
@@ -473,6 +470,9 @@
"BY": {
"name": "बेलारूस"
},
+ "BZ": {
+ "name": "बेलिà¤à¥‡"
+ },
"BE": {
"name": "बेलà¥à¤œà¤¿à¤¯à¤®"
},
diff --git a/vendor/commerceguys/intl/resources/country/ms.json b/vendor/commerceguys/intl/resources/country/ms.json
index 0214d3540..db7ebd40a 100644
--- a/vendor/commerceguys/intl/resources/country/ms.json
+++ b/vendor/commerceguys/intl/resources/country/ms.json
@@ -158,6 +158,9 @@
"CY": {
"name": "Cyprus"
},
+ "CZ": {
+ "name": "Czechia"
+ },
"DK": {
"name": "Denmark"
},
@@ -560,9 +563,6 @@
"CF": {
"name": "Republik Afrika Tengah"
},
- "CZ": {
- "name": "Republik Czech"
- },
"DO": {
"name": "Republik Dominica"
},
diff --git a/vendor/commerceguys/intl/resources/country/my.json b/vendor/commerceguys/intl/resources/country/my.json
index fccd2e6f4..d00d31936 100644
--- a/vendor/commerceguys/intl/resources/country/my.json
+++ b/vendor/commerceguys/intl/resources/country/my.json
@@ -81,7 +81,7 @@
"name": "á€á€»á€®á€œá€®"
},
"CZ": {
- "name": "á€á€»á€€á€º ပြည်ထောင်စု"
+ "name": "á€á€»á€€á€ºá€€á€®á€šá€¬á€¸"
},
"TD": {
"name": "á€á€»á€’်"
@@ -126,7 +126,7 @@
"name": "ဂျာစီ"
},
"DE": {
- "name": "ဂျာမá€á€®"
+ "name": "ဂျာမနီ"
},
"GI": {
"name": "ဂျီဘရော်လ်á€á€¬"
@@ -155,9 +155,6 @@
"SJ": {
"name": "စဗိုလ်ဘá€á€ºá€”ှင့်ဂျန်မေရန်"
},
- "SI": {
- "name": "စလိုဗေးနီးယား"
- },
"KN": {
"name": "စိန့်ကစ်နှင့်နီဗီစ်"
},
@@ -188,6 +185,9 @@
"WS": {
"name": "ဆမိုးအား"
},
+ "SI": {
+ "name": "ဆလိုဗေးနီးယား"
+ },
"SK": {
"name": "ဆလိုဗက်ကီးယား"
},
@@ -248,9 +248,6 @@
"ZM": {
"name": "ဇမ်ဘီယာ"
},
- "UZ": {
- "name": "ဉဇဘက်ကစ္စá€á€”်"
- },
"CN": {
"name": "á€á€›á€¯á€á€º"
},
@@ -275,9 +272,6 @@
"TG": {
"name": "á€á€­á€¯á€‚ို"
},
- "AC": {
- "name": "á€á€€á€ºá€á€±á€¬á€ºá€™á€°á€€á€»á€½á€”်း"
- },
"TC": {
"name": "á€á€á€ºá€…်နှင့်ကာအီကိုစ်ကျွန်းစု"
},
@@ -399,7 +393,7 @@
"name": "ပြင်သစ်"
},
"GF": {
- "name": "ပြင်သစ် ဂိုင်ယာနာ"
+ "name": "ပြင်သစ် ဂီယာနာ"
},
"TF": {
"name": "ပြင်သစ် á€á€±á€¬á€„်ပိုင်း ပိုင်နက်များ"
@@ -429,7 +423,7 @@
"name": "ဗဟို အာဖရိက ပြည်ထောင်စု"
},
"VA": {
- "name": "ဗာá€á€®á€€á€”်စီá€á€®á€¸"
+ "name": "ဗာá€á€®á€€á€”်စီးá€á€®á€¸"
},
"VN": {
"name": "ဗီယက်နမ်"
@@ -471,7 +465,7 @@
"name": "ဘီနင်"
},
"BY": {
- "name": "ဘီလာရုဇ်"
+ "name": "ဘီလာရုစ်"
},
"BT": {
"name": "ဘူá€á€”်"
@@ -509,9 +503,6 @@
"MQ": {
"name": "မာá€á€®á€”ိá€á€º"
},
- "YT": {
- "name": "မာယိုá€á€±á€¸"
- },
"MH": {
"name": "မာရှယ် ကျွန်းစု"
},
@@ -521,6 +512,9 @@
"ML": {
"name": "မာလီ"
},
+ "YT": {
+ "name": "မေယော့"
+ },
"MU": {
"name": "မောရစ်ရှ"
},
@@ -546,7 +540,7 @@
"name": "မက္ကဆီကို"
},
"MK": {
- "name": "မက်စီဒိုးနီးယား"
+ "name": "မက်ဆီဒိုးနီးယား"
},
"FM": {
"name": "မိုင်á€á€›á€­á€¯á€”ီရှား"
@@ -584,9 +578,6 @@
"GB": {
"name": "ယူနိုက်á€á€€á€ºá€€á€„်းဒမ်း"
},
- "US": {
- "name": "ယူနိုက်á€á€€á€ºá€…á€á€­á€á€º"
- },
"UM": {
"name": "ယူနိုက်á€á€€á€ºá€…á€á€­á€á€º ကျွန်းနိုင်ငံများ"
},
@@ -599,8 +590,11 @@
"RW": {
"name": "ရá€á€”်ဒါ"
},
+ "RE": {
+ "name": "ရီယူနီယန်"
+ },
"RU": {
- "name": "ရုရှ"
+ "name": "ရုရှား"
},
"RO": {
"name": "ရိုမေးနီးယား"
@@ -638,9 +632,6 @@
"LK": {
"name": "သီရိလင်္ကာ"
},
- "RE": {
- "name": "ဟေညွန်"
- },
"HT": {
"name": "ဟေá€á€®"
},
@@ -653,6 +644,9 @@
"HN": {
"name": "ဟွန်ဒူးရပ်စ်"
},
+ "AC": {
+ "name": "အဆန်းရှင်းကျွန်း"
+ },
"AZ": {
"name": "အဇာဘိုင်ဂျန်"
},
@@ -662,6 +656,9 @@
"AS": {
"name": "အမေရိကန် ဆမိုးအား"
},
+ "US": {
+ "name": "အမေရိကန် ပြည်ထောင်စု"
+ },
"TL": {
"name": "အရှေ့á€á€®á€™á€±á€¬"
},
@@ -704,6 +701,9 @@
"ET": {
"name": "အီသီယိုးပီးယား"
},
+ "UZ": {
+ "name": "ဥဇဘက်ကစ္စá€á€”်"
+ },
"UY": {
"name": "ဥရုဂွေး"
},
@@ -722,18 +722,9 @@
"IS": {
"name": "အိုက်စလန်"
},
- "AO": {
- "name": "အင်ဂိုလာ"
- },
- "AG": {
- "name": "အင်á€á€®á€‚ွါနှင့် ဘာဘူဒါ"
- },
"ID": {
"name": "အင်ဒိုနီးရှား"
},
- "AD": {
- "name": "အင်ဒိုရာ"
- },
"IE": {
"name": "အိုင်ယာလန်"
},
@@ -743,9 +734,18 @@
"AI": {
"name": "အန်ဂီလာ"
},
+ "AO": {
+ "name": "အန်ဂိုလာ"
+ },
"AQ": {
"name": "အန္á€á€¬á€á€­á€€"
},
+ "AG": {
+ "name": "အန်á€á€®á€‚ွါနှင့် ဘာဘူဒါ"
+ },
+ "AD": {
+ "name": "အန်ဒိုရာ"
+ },
"IN": {
"name": "အိန္ဒိယ"
},
diff --git a/vendor/commerceguys/intl/resources/country/nb.json b/vendor/commerceguys/intl/resources/country/nb.json
index 61db19d5a..3ba473697 100644
--- a/vendor/commerceguys/intl/resources/country/nb.json
+++ b/vendor/commerceguys/intl/resources/country/nb.json
@@ -146,9 +146,6 @@
"CF": {
"name": "Den sentralafrikanske republikk"
},
- "CZ": {
- "name": "Den tsjekkiske republikk"
- },
"IO": {
"name": "Det britiske territoriet i Indiahavet"
},
@@ -560,6 +557,9 @@
"MF": {
"name": "Saint-Martin"
},
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
"SB": {
"name": "Salomonøyene"
},
@@ -614,9 +614,6 @@
"LC": {
"name": "St. Lucia"
},
- "PM": {
- "name": "St. Pierre og Miquelon"
- },
"VC": {
"name": "St. Vincent og Grenadinene"
},
@@ -686,6 +683,9 @@
"TD": {
"name": "Tsjad"
},
+ "CZ": {
+ "name": "Tsjekkia"
+ },
"TN": {
"name": "Tunisia"
},
diff --git a/vendor/commerceguys/intl/resources/country/ne.json b/vendor/commerceguys/intl/resources/country/ne.json
index 9373cb068..23607a979 100644
--- a/vendor/commerceguys/intl/resources/country/ne.json
+++ b/vendor/commerceguys/intl/resources/country/ne.json
@@ -17,6 +17,9 @@
"AS": {
"name": "अमेरिकी समोआ"
},
+ "AW": {
+ "name": "अरà¥à¤¬à¤¾"
+ },
"AR": {
"name": "अरà¥à¤œà¥‡à¤¨à¥à¤Ÿà¤¿à¤¨à¤¾"
},
@@ -27,7 +30,7 @@
"name": "अलà¥à¤œà¥‡à¤°à¤¿à¤¯à¤¾"
},
"AL": {
- "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¾"
+ "name": "अलà¥à¤¬à¥‡à¤¨à¤¿à¤¯à¤¾"
},
"AT": {
"name": "अषà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
@@ -35,12 +38,12 @@
"AU": {
"name": "अषà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾"
},
- "IM": {
- "name": "आइजà¥à¤²à¥‡ अफॠमà¥à¤¯à¤¾à¤¨"
- },
"CI": {
"name": "आइभोरी कोसà¥à¤Ÿ"
},
+ "IM": {
+ "name": "आइल अफ मà¥à¤¯à¤¾à¤¨"
+ },
"IS": {
"name": "आइसà¥à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
},
@@ -50,14 +53,11 @@
"IE": {
"name": "आयरलà¥à¤¯à¤¾à¤£à¥à¤¡"
},
- "AW": {
- "name": "आरूबा"
- },
"AM": {
"name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾"
},
"EC": {
- "name": "इकà¥à¤µà¤¡à¥‡à¤°"
+ "name": "इकà¥à¤µà¥‡à¤¡à¥‹à¤°"
},
"IL": {
"name": "इजरायल"
@@ -110,6 +110,12 @@
"OM": {
"name": "ओमन"
},
+ "CD": {
+ "name": "कङà¥à¤—ो - किनà¥à¤¶à¤¾à¤¸à¤¾"
+ },
+ "CG": {
+ "name": "कङà¥à¤—ो बà¥à¤°à¤¾à¤œà¤¾à¤­à¤¿à¤²"
+ },
"QA": {
"name": "कतार"
},
@@ -123,7 +129,7 @@
"name": "किरिबाटी"
},
"KG": {
- "name": "किरà¥à¤—िसà¥à¤¥à¤¾à¤¨"
+ "name": "किरà¥à¤—िसà¥à¤¤à¤¾à¤¨"
},
"CK": {
"name": "कà¥à¤• टापà¥à¤¹à¤°à¥"
@@ -149,12 +155,6 @@
"CC": {
"name": "कोकोस (किलिंग) टापà¥à¤¹à¤°à¥"
},
- "CG": {
- "name": "कोङà¥à¤—ो - बà¥à¤°à¤¾à¤œà¥à¤œà¤¾à¤­à¤¿à¤²à¥à¤²à¥‡"
- },
- "CD": {
- "name": "कोङà¥à¤—ो-किनà¥à¤¶à¤¾à¤¸à¤¾"
- },
"KM": {
"name": "कोमोरोस"
},
@@ -165,7 +165,7 @@
"name": "कोषà¥à¤Ÿà¤¾à¤°à¤¿à¤•à¤¾"
},
"XK": {
- "name": "कोसोवो"
+ "name": "कोसोभो"
},
"CA": {
"name": "कà¥à¤¯à¤¾à¤¨à¤¾à¤¡à¤¾"
@@ -237,7 +237,7 @@
"name": "चीन"
},
"CZ": {
- "name": "चेक गणतनà¥à¤¤à¥à¤°"
+ "name": "चेकिया"
},
"JM": {
"name": "जमाइका"
@@ -338,9 +338,6 @@
"SS": {
"name": "दकà¥à¤·à¤¿à¤£à¥€ सà¥à¤¡à¤¾à¤¨"
},
- "NC": {
- "name": "नयाठकालेडोनिया"
- },
"NO": {
"name": "नरà¥à¤µà¥‡"
},
@@ -363,7 +360,7 @@
"name": "नियà¥à¤‡"
},
"NL": {
- "name": "नेदरलà¥à¤¯à¤¾à¤£à¥à¤¡à¥à¤¸"
+ "name": "नेदरलà¥à¤¯à¤¾à¤£à¥à¤¡"
},
"NP": {
"name": "नेपाल"
@@ -371,12 +368,12 @@
"NF": {
"name": "नोरफोलà¥à¤• टापà¥"
},
+ "NC": {
+ "name": "नà¥à¤¯à¥ कà¥à¤¯à¤¾à¤²à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
"NZ": {
"name": "नà¥à¤¯à¥à¤œà¤¿à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
},
- "PA": {
- "name": "पनामा"
- },
"PG": {
"name": "पपà¥à¤† नà¥à¤¯à¥‚ गाइनिया"
},
@@ -404,6 +401,9 @@
"PL": {
"name": "पोलà¥à¤¯à¤¾à¤£à¥à¤¡"
},
+ "PA": {
+ "name": "पà¥à¤¯à¤¾à¤¨à¤¾à¤®à¤¾"
+ },
"PY": {
"name": "पà¥à¤¯à¤¾à¤°à¤¾à¤—à¥à¤µà¥‡"
},
@@ -519,14 +519,11 @@
"name": "भेनेजà¥à¤à¤²à¤¾"
},
"MO": {
- "name": "मकावो चिनिà¤à¤¯à¤¾ सà¥à¤µà¤¶à¤¾à¤¸à¤¿à¤¤ कà¥à¤·à¥‡à¤¤à¥à¤°"
+ "name": "मकाउ चिनियाठसà¥à¤µà¤¶à¤¾à¤¸à¤¿à¤¤ कà¥à¤·à¥‡à¤¤à¥à¤°"
},
"MN": {
"name": "मङà¥à¤—ोलिया"
},
- "MG": {
- "name": "मडागासà¥à¤•à¤°"
- },
"MY": {
"name": "मलेसिया"
},
@@ -539,6 +536,9 @@
"MR": {
"name": "माउरिटानिया"
},
+ "MG": {
+ "name": "माडागासà¥à¤•à¤°"
+ },
"YT": {
"name": "मायोटà¥à¤Ÿ"
},
@@ -581,12 +581,12 @@
"MA": {
"name": "मोरोकà¥à¤•à¥‹"
},
- "MK": {
- "name": "मà¥à¤¯à¤¾à¤•à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾"
- },
"MM": {
"name": "मà¥à¤¯à¤¾à¤¨à¥à¤®à¤¾à¤° (बरà¥à¤®à¤¾)"
},
+ "MK": {
+ "name": "मà¥à¤¯à¤¾à¤¸à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
"UA": {
"name": "यà¥à¤•à¥à¤°à¥‡à¤¨"
},
@@ -606,7 +606,7 @@
"name": "रूस"
},
"RO": {
- "name": "रोमानिया"
+ "name": "रोमेनिया"
},
"LU": {
"name": "लकà¥à¤œà¥‡à¤®à¤¬à¤°à¥à¤—"
@@ -624,7 +624,7 @@
"name": "लिà¤à¤–टेनà¥à¤¸à¥à¤Ÿà¤¾à¤‡à¤¨"
},
"LT": {
- "name": "लिथà¥à¤…निया"
+ "name": "लिथà¥à¤à¤¨à¤¿à¤¯à¤¾"
},
"LY": {
"name": "लिबिया"
@@ -699,7 +699,7 @@
"name": "सेचेलेस"
},
"SN": {
- "name": "सेनेगाल"
+ "name": "सेनेगल"
},
"KN": {
"name": "सेनà¥à¤Ÿ किटà¥à¤¸ र नेभिस"
@@ -747,7 +747,7 @@
"name": "सà¥à¤µà¤¿à¤¡à¥‡à¤¨"
},
"HK": {
- "name": "हङकङ चिनिया समाजवादी सà¥à¤µà¤¾à¤¯à¤¤à¥à¤¤ कà¥à¤·à¥‡à¤¤à¥à¤°"
+ "name": "हङकङ चिनियाठसमाजबादी सà¥à¤µà¤¾à¤¯à¤¤à¥à¤¤ कà¥à¤·à¥‡à¤¤à¥à¤°"
},
"HU": {
"name": "हङà¥à¤—ेरी"
diff --git a/vendor/commerceguys/intl/resources/country/nl.json b/vendor/commerceguys/intl/resources/country/nl.json
index 92f6c5c55..9192ef2f3 100644
--- a/vendor/commerceguys/intl/resources/country/nl.json
+++ b/vendor/commerceguys/intl/resources/country/nl.json
@@ -93,7 +93,7 @@
"name": "Brazilië"
},
"IO": {
- "name": "Britse Gebieden in de Indische Oceaan"
+ "name": "Brits Indische Oceaanterritorium"
},
"VG": {
"name": "Britse Maagdeneilanden"
diff --git a/vendor/commerceguys/intl/resources/country/nn.json b/vendor/commerceguys/intl/resources/country/nn.json
index 18e901e73..5d0ec4541 100644
--- a/vendor/commerceguys/intl/resources/country/nn.json
+++ b/vendor/commerceguys/intl/resources/country/nn.json
@@ -78,7 +78,7 @@
"name": "Bolivia"
},
"BA": {
- "name": "Bosnia og Hercegovina"
+ "name": "Bosnia-Hercegovina"
},
"BW": {
"name": "Botswana"
@@ -86,9 +86,6 @@
"BR": {
"name": "Brasil"
},
- "IO": {
- "name": "Britiske område i Det indiske hav"
- },
"BN": {
"name": "Brunei"
},
@@ -104,9 +101,6 @@
"CA": {
"name": "Canada"
},
- "BQ": {
- "name": "Caribbean Netherlands"
- },
"KY": {
"name": "Caymanøyane"
},
@@ -138,10 +132,13 @@
"name": "Danmark"
},
"VI": {
- "name": "Dei amerikanske jomfruøyane"
+ "name": "Dei amerikanske Jomfruøyane"
},
"VG": {
- "name": "Dei britiske jomfruøyane"
+ "name": "Dei britiske Jomfruøyane"
+ },
+ "TF": {
+ "name": "Dei franske sørterritoria"
},
"AE": {
"name": "Dei sameinte arabiske emirata"
@@ -152,6 +149,9 @@
"CF": {
"name": "Den sentralafrikanske republikken"
},
+ "IO": {
+ "name": "Det britiske territoriet I Indiahavet"
+ },
"DG": {
"name": "Diego Garcia"
},
@@ -206,9 +206,6 @@
"PF": {
"name": "Fransk Polynesia"
},
- "TF": {
- "name": "Franske sørområde"
- },
"FO": {
"name": "Færøyane"
},
@@ -317,6 +314,9 @@
"CV": {
"name": "Kapp Verde"
},
+ "BQ": {
+ "name": "Karibisk Nederland"
+ },
"KZ": {
"name": "Kasakhstan"
},
@@ -495,7 +495,7 @@
"name": "Noreg"
},
"NF": {
- "name": "Norfolkøyane"
+ "name": "Norfolkøya"
},
"NC": {
"name": "Ny-Caledonia"
@@ -557,9 +557,15 @@
"SH": {
"name": "Saint Helena"
},
+ "KN": {
+ "name": "Saint Kitts og Nevis"
+ },
"MF": {
"name": "Saint Martin"
},
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
"SB": {
"name": "Salomonøyane"
},
@@ -608,15 +614,9 @@
"LK": {
"name": "Sri Lanka"
},
- "KN": {
- "name": "St. Christopher og Nevis"
- },
"LC": {
"name": "St. Lucia"
},
- "PM": {
- "name": "St. Pierre og Miquelon"
- },
"VC": {
"name": "St. Vincent og Grenadinane"
},
@@ -648,7 +648,7 @@
"name": "Sør-Afrika"
},
"GS": {
- "name": "Sør-Georgia og Sør-Sandwich-øyane"
+ "name": "Sør-Georgia og Sør-Sandwichøyene"
},
"KR": {
"name": "Sør-Korea"
diff --git a/vendor/commerceguys/intl/resources/country/nus.json b/vendor/commerceguys/intl/resources/country/nus.json
index 3dcba70ed..ed5ed58a7 100644
--- a/vendor/commerceguys/intl/resources/country/nus.json
+++ b/vendor/commerceguys/intl/resources/country/nus.json
@@ -150,7 +150,7 @@
"name": "Cyprus"
},
"CZ": {
- "name": "Czech Republic"
+ "name": "Czechia"
},
"DK": {
"name": "Denmark"
diff --git a/vendor/commerceguys/intl/resources/country/or.json b/vendor/commerceguys/intl/resources/country/or.json
index 0c481a9c1..b1df96aaa 100644
--- a/vendor/commerceguys/intl/resources/country/or.json
+++ b/vendor/commerceguys/intl/resources/country/or.json
@@ -1,15 +1,15 @@
{
+ "AX": {
+ "name": "ଅଲାଣà­à¬¡ ଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
"AT": {
"name": "ଅଷà­à¬Ÿà­à¬°à¬¿à¬†"
},
"AU": {
"name": "ଅଷà­à¬Ÿà­à¬°à­‡à¬²à¬¿à¬†"
},
- "CI": {
- "name": "ଆଇବରୀ କୋଷà­à¬Ÿ"
- },
"IM": {
- "name": "ଆଇଲୠଅଫୠମୈନà­"
+ "name": "ଆଇଲà­â€Œ ଅଫà­â€Œ ମà­à­Ÿà¬¾à¬¨à­â€Œ"
},
"IS": {
"name": "ଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
@@ -23,6 +23,9 @@
"AZ": {
"name": "ଆଜେରବାଇଜାନà­"
},
+ "AQ": {
+ "name": "ଆଣà­à¬Ÿà¬¾à¬°à­à¬•à¬¾à¬Ÿà¬¿à¬•à¬¾"
+ },
"AG": {
"name": "ଆଣà­à¬Ÿà¬¿à¬—à­à¬† à¬à¬¬à¬‚ ବାରବà­à¬¦à¬¾"
},
@@ -30,7 +33,7 @@
"name": "ଆଣà­à¬¡à­‹à¬°à¬¾"
},
"AF": {
- "name": "ଆଫାଗାନିସà­à¬¤à¬¾à¬¨à­"
+ "name": "ଆଫଗାନିସà­à¬¤à¬¾à¬¨à­"
},
"AS": {
"name": "ଆମେରିକାନୠସାମୋଆ"
@@ -44,9 +47,6 @@
"AR": {
"name": "ଆରà­à¬œà­‡à¬£à­à¬Ÿà¬¿à¬¨à¬¾"
},
- "AQ": {
- "name": "ଆରà­à¬£à­à¬Ÿà¬•à¬Ÿà¬¿à¬•à¬¾"
- },
"AM": {
"name": "ଆରà­à¬®à­‡à¬¨à¬¿à¬†"
},
@@ -56,8 +56,8 @@
"AL": {
"name": "ଆଲବାନିଆ"
},
- "AX": {
- "name": "ଆଲାଣà­à¬¡ ଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ "AC": {
+ "name": "ଆସେନସିଅନà­â€Œ ଦà­à­±à­€à¬ª"
},
"GQ": {
"name": "ଇକà­à¬¬à¬¾à¬Ÿà­‡à¬°à¬¿à¬†à¬²à­ ଗà­à¬‡à¬¨à¬¿à¬†"
@@ -81,7 +81,7 @@
"name": "ଇରାକà­"
},
"IR": {
- "name": "ଇରାନà­"
+ "name": "ଇରାନ"
},
"ER": {
"name": "ଇରିଟà­à¬°à¬¿à­Ÿà¬¾"
@@ -93,13 +93,13 @@
"name": "ଉଗାଣà­à¬¡à¬¾"
},
"UZ": {
- "name": "ଉଜବେକିସà­à¬¥à¬¾à¬¨à­"
+ "name": "ଉଜବେକିସà­à¬¤à¬¾à¬¨"
},
"KP": {
"name": "ଉତà­à¬¤à¬° କୋରିଆ"
},
"MP": {
- "name": "ଉତà­à¬¤à¬° ମାରିଆନା ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ଉତà­à¬¤à¬° ମାରିଆନା ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"UY": {
"name": "ଉରà­à¬—à­à¬"
@@ -123,7 +123,7 @@
"name": "କତାରà­"
},
"KZ": {
- "name": "କାଜାକାସà­à¬¥à¬¾à¬¨à­"
+ "name": "କାଜାକାସà­à¬¤à¬¾à¬¨"
},
"CA": {
"name": "କାନାଡା"
@@ -131,35 +131,47 @@
"CM": {
"name": "କାମେରà­à¬¨à­"
},
- "KM": {
- "name": "କାମୋରସà­"
- },
"KH": {
"name": "କାମà­à¬¬à­‹à¬¡à¬¿à¬†"
},
+ "BQ": {
+ "name": "କାରବିୟନà­â€Œ ନେଦରଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
"KI": {
- "name": "କିରିବାଟୀ"
+ "name": "କିରିବାଟି"
},
"KG": {
- "name": "କିରà­à¬—ିଜିସà­à¬¥à¬¾à¬¨"
+ "name": "କିରà­à¬—ିଜିସà­à¬¤à¬¾à¬¨"
},
"KW": {
"name": "କà­à¬à¬¤à­"
},
"CK": {
- "name": "କà­à¬•à­ ଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ "name": "କà­à¬•à­â€Œ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "CW": {
+ "name": "କà­à¬°à¬¾à¬•à¬¾à¬“"
},
"KE": {
"name": "କେନିୟା"
},
+ "IC": {
+ "name": "କେନେରୀ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
"CV": {
"name": "କେପୠଭରà­à¬¦à­‡"
},
"KY": {
- "name": "କେମà­à­Ÿà¬¾à¬¨à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "କେମà­à­Ÿà¬¾à¬¨à­â€Œ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"CC": {
- "name": "କୋକୋସୠଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ "name": "କୋକୋସୠ(କୀଲିଂ) ଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "CI": {
+ "name": "କୋଟେ ଡି ଆଇଭୋରି"
+ },
+ "KM": {
+ "name": "କୋମୋରସà­â€Œ"
},
"CO": {
"name": "କୋଲମà­à¬¬à¬¿à¬†"
@@ -167,14 +179,17 @@
"CR": {
"name": "କୋଷà­à¬Ÿà¬¾ ରିକା"
},
+ "XK": {
+ "name": "କୋସୋଭୋ"
+ },
"HR": {
- "name": "କà­à¬°à­‹à¬†à¬Ÿà¬¿à¬†"
+ "name": "କà­à¬°à­‹à¬à¬¸à¬¿à¬†"
},
"CU": {
"name": "କà­à­±à¬¿à¬¬à¬¾"
},
"CX": {
- "name": "ଖà­à¬°à­€à¬·à­à¬Ÿà¬®à¬¾à¬¸ ଆଇଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ "name": "ଖà­à¬°à­€à¬·à­à¬Ÿà¬®à¬¾à¬¸ ଦà­à­±à­€à¬ª"
},
"GA": {
"name": "ଗାବୋନà­"
@@ -182,27 +197,27 @@
"GM": {
"name": "ଗାମà­à¬¬à¬¿à¬†"
},
+ "GP": {
+ "name": "ଗà­à¬†à¬¡à­‡à¬²à­‹à¬ªà­â€Œ"
+ },
"GU": {
"name": "ଗà­à¬†à¬®à­"
},
"GY": {
"name": "ଗà­à¬‡à¬¨à¬¾"
},
+ "GN": {
+ "name": "ଗà­à¬‡à¬¨à¬¿à¬†"
+ },
"GW": {
"name": "ଗà­à¬‡à¬¨à¬¿à¬†-ବିସାଉ"
},
"GT": {
"name": "ଗà­à¬à¬¤à¬®à¬¾à¬²à¬¾"
},
- "GN": {
- "name": "ଗà­à¬à¬¨à­‡à¬†"
- },
"GG": {
"name": "ଗà­à¬à¬°à¬¨à­‡à¬¸à¬¿"
},
- "GP": {
- "name": "ଗୌଡେଲୌପେ"
- },
"GL": {
"name": "ଗà­à¬°à­€à¬¨à¬²à­à­Ÿà¬¾à¬£à­à¬¡"
},
@@ -225,7 +240,7 @@
"name": "ଚିଲà­à¬²à­€"
},
"CZ": {
- "name": "ଚେକୠସାଧାରଣତନà­à¬¤à­à¬°"
+ "name": "ଚେଚିଆ"
},
"GE": {
"name": "ଜରà­à¬œà¬¿à¬†"
@@ -237,7 +252,7 @@
"name": "ଜରà­à¬¸à¬¿"
},
"JP": {
- "name": "ଜାପାନà­"
+ "name": "ଜାପାନ"
},
"JM": {
"name": "ଜାମାଇକା"
@@ -245,6 +260,9 @@
"ZM": {
"name": "ଜାମà­à¬¬à¬¿à¬†"
},
+ "DJ": {
+ "name": "ଜିବୋଟି"
+ },
"GI": {
"name": "ଜିବà­à¬°à¬¾à¬²à­à¬Ÿà¬°à­"
},
@@ -254,9 +272,6 @@
"JO": {
"name": "ଜୋରà­à¬¡à¬¾à¬¨à­"
},
- "TV": {
- "name": "ଟà­à¬­à¬¾à¬²à­"
- },
"TK": {
"name": "ଟୋକେଲାଉ"
},
@@ -266,20 +281,26 @@
"TO": {
"name": "ଟୋଙà­à¬—ା"
},
- "DJ": {
- "name": "ଡିବୌଟି"
+ "TN": {
+ "name": "ଟà­à­Ÿà­à¬¨à¬¿à¬¸à¬¿à¬†"
+ },
+ "TA": {
+ "name": "ଟà­à¬°à¬¾à¬‡à¬·à­à¬Ÿà¬¨à­â€Œ ଦା କà­à¬¨à­â€Œà¬šà¬¾"
+ },
+ "DG": {
+ "name": "ଡିà¬à¬—à­‹ ଗାରà­à¬¸à¬¿à¬†"
},
"DK": {
"name": "ଡେନମାରà­à¬•"
},
- "DO": {
- "name": "ଡୋମିନକାନୠପà­à¬°à¬œà¬¾à¬¤à¬¨à­à¬¤à­à¬°"
- },
"DM": {
- "name": "ଡୋମିନାକା"
+ "name": "ଡୋମିନିକା"
+ },
+ "DO": {
+ "name": "ଡୋମିନିକାନà­â€Œ ସାଧାରଣତନà­à¬¤à­à¬°"
},
"TW": {
- "name": "ତାଇୱାନà­"
+ "name": "ତାଇୱାନ"
},
"TJ": {
"name": "ତାଜିକିସà­à¬¥à¬¾à¬¨à­"
@@ -287,14 +308,17 @@
"TZ": {
"name": "ତାଞà­à¬œà¬¾à¬¨à¬¿à¬†"
},
- "TN": {
- "name": "ତà­à¬¨à¬¿à¬¸à¬¿à¬†"
+ "TL": {
+ "name": "ତିମୋରà­-ଲେଷà­à¬Ÿà­‡"
+ },
+ "TV": {
+ "name": "ତà­à¬­à¬¾à¬²à­"
},
"TM": {
- "name": "ତà­à¬°à­à¬•à¬®à­‡à¬¨à¬¿à¬¸à­à¬¤à¬¾à¬¨à­"
+ "name": "ତà­à¬°à­à¬•à¬®à­‡à¬¨à¬¿à¬¸à­à¬¤à¬¾à¬¨"
},
"TC": {
- "name": "ତà­à¬°à­à¬•à¬¸à­ à¬à¬¬à¬‚ ସାଇକସୠଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ତà­à¬°à­à¬•à¬¸à­â€Œ à¬à¬¬à¬‚ କାଇକୋସà­â€Œ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"TR": {
"name": "ତà­à¬°à­à¬•à­€"
@@ -303,7 +327,7 @@
"name": "ତà­à¬°à¬¿à¬¨à¬¿à¬¦à¬¾à¬¦à­ à¬à¬¬à¬‚ ଟୋବାଗୋ"
},
"TH": {
- "name": "ଥାଇଲାଣà­à¬¡"
+ "name": "ଥାଇଲà­à­Ÿà¬¾à¬£à­à¬¡"
},
"ZA": {
"name": "ଦକà­à¬·à¬¿à¬£ ଆଫà­à¬°à¬¿à¬•à¬¾"
@@ -312,16 +336,19 @@
"name": "ଦକà­à¬·à¬¿à¬£ କୋରିଆ"
},
"GS": {
- "name": "ଦକà­à¬·à¬¿à¬£ ଜରà­à¬œà¬¿à¬† à¬à¬¬à¬‚ ଦକà­à¬·à¬¿à¬£ ସାଣà­à¬¡à­±à¬¿à¬šà­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ଦକà­à¬·à¬¿à¬£ ଜରà­à¬œà¬¿à¬† à¬à¬¬à¬‚ ଦକà­à¬·à¬¿à¬£ ସାଣà­à¬¡à­±à¬¿à¬šà­ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
- "NF": {
- "name": "ନରଫà­à¬²à¬•à­ ଦà­à¬¬à­€à¬ª"
+ "SS": {
+ "name": "ଦକà­à¬·à¬¿à¬£ ସà­à¬¦à¬¾à¬¨"
},
"NO": {
"name": "ନରୱେ"
},
+ "NF": {
+ "name": "ନରà­à¬«à¬•à­â€Œ ଦà­à­±à­€à¬ª"
+ },
"NE": {
- "name": "ନାଇଜରà­"
+ "name": "ନାଇଜର"
},
"NG": {
"name": "ନାଇଜେରିଆ"
@@ -330,7 +357,7 @@
"name": "ନାଉରà­"
},
"NA": {
- "name": "ନାମà­à¬¬à¬¿à¬†"
+ "name": "ନାମିବିଆ"
},
"NU": {
"name": "ନିଉ"
@@ -372,31 +399,28 @@
"name": "ପାଲାଉ"
},
"PS": {
- "name": "ପାଲେସà­à¬¤à­‡à¬¨à¬¿à¬†"
+ "name": "ପାଲେଷà­à¬Ÿà­‡à¬¨à¬¿à­Ÿ ଭୂଭାଗ"
},
"PN": {
- "name": "ପିଟକାଇରିନà­"
+ "name": "ପିଟକାଇରିନà­â€Œ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"PR": {
"name": "ପà­à¬à¬°à­à¬¤à­à¬¤à­‹ ରିକୋ"
},
- "TL": {
- "name": "ପà­à¬°à­à¬¬ ତିମୋରà­"
- },
"PE": {
"name": "ପେରà­"
},
"PL": {
"name": "ପୋଲାଣà­à¬¡"
},
+ "FK": {
+ "name": "ଫକà­â€Œà¬²à­à­Ÿà¬¾à¬£à­à¬¡ ଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
"TF": {
"name": "ଫରାସୀ ଦକà­à¬·à¬¿à¬£ କà­à¬·à­‡à¬¤à­à¬°"
},
- "FK": {
- "name": "ଫଲà­à¬•à¬²à­à­Ÿà¬¾à¬£à­à¬¡ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
- },
"FO": {
- "name": "ଫାରୋଇ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ଫାରୋଇ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"FJ": {
"name": "ଫିଜି"
@@ -417,10 +441,10 @@
"name": "ଫà­à¬°à­‡à¬žà­à¬š ପଲିନେସିଆ"
},
"BM": {
- "name": "ବରମà­à¬¡à¬¾"
+ "name": "ବରà­à¬®à­à¬¡à¬¾"
},
"BD": {
- "name": "ବାଙà­à¬—ଲାଦେଶà­"
+ "name": "ବାଂଲାଦେଶ"
},
"BB": {
"name": "ବାରବାଡୋସà­"
@@ -432,10 +456,10 @@
"name": "ବାହାରିନà­"
},
"BI": {
- "name": "ବà­à¬°à­à¬¨à­à¬¦à¬¿"
+ "name": "ବà­à¬°à­à¬£à­à¬¡à¬¿"
},
"BF": {
- "name": "ବà­à¬°à­à¬•à¬¿à¬¨à­‹ ଫାସୋ"
+ "name": "ବà­à¬°à­à¬•à¬¿à¬¨à¬¾ ଫାସୋ"
},
"BG": {
"name": "ବà­à¬²à¬—େରିଆ"
@@ -453,7 +477,7 @@
"name": "ବେଲିଜà­"
},
"BW": {
- "name": "ବୋଟସà­à¬¬à¬¾à¬¨à­"
+ "name": "ବୋଟସà­à­±à¬¾à¬¨à¬¾"
},
"BO": {
"name": "ବୋଲଭିଆ"
@@ -465,19 +489,16 @@
"name": "ବà­à¬°à¬¾à¬œà¬¿à¬²à­"
},
"VG": {
- "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­ ଭରà­à¬œà¬¿à¬¨à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­â€Œ ଭରà­à¬œà¬¿à¬¨à­ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"IO": {
- "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­ ଭାରତୀୟ ସାମà­à¬¦à­à¬°à¬¿à¬• କà­à¬·à­‡à¬¤à­à¬°"
- },
- "GB": {
- "name": "ବà­à¬°à¬¿à¬Ÿà­‡à¬¨à­"
+ "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­â€Œ ଭାରତ ମାହାସାଗର କà­à¬·à­‡à¬¤à­à¬°"
},
"BN": {
"name": "ବà­à¬°à­à¬¨à­‡à¬‡"
},
"VA": {
- "name": "ଭାଟିକାନà­"
+ "name": "ଭାଟିକାନà­â€Œ ସିଟି"
},
"VU": {
"name": "ଭାନà­à¬†à¬¤à­"
@@ -489,31 +510,31 @@
"name": "ଭିà¬à¬¤à¬¨à¬¾à¬®à­"
},
"BT": {
- "name": "ଭà­à¬Ÿà¬¾à¬¨à­"
+ "name": "ଭà­à¬Ÿà¬¾à¬¨"
},
"VE": {
- "name": "ଭେନଜà­à¬à¬²à¬¾"
+ "name": "ଭେନେଜà­à¬à¬²à¬¾"
},
"MN": {
"name": "ମଙà­à¬—ୋଲିଆ"
},
"ME": {
- "name": "ମଣà­à¬Ÿà­‡à¬—à­à¬°à­‹"
+ "name": "ମଣà­à¬Ÿà­‡à¬¨à¬¿à¬—à­à¬°à­‹"
},
"MS": {
"name": "ମଣà­à¬Ÿà­‡à¬¸à­‡à¬°à¬¾à¬Ÿà­"
},
"CF": {
- "name": "ମଧà­à­Ÿ ଆଫà­à¬°à¬¿à¬•à­€à­Ÿ ଗଣତନà­à¬¤à­à¬°"
+ "name": "ମଧà­à­Ÿ ଆଫà­à¬°à¬¿à¬•à­€à­Ÿ ସାଧାରଣତନà­à¬¤à­à¬°"
+ },
+ "MU": {
+ "name": "ମରିସସ"
},
"FM": {
"name": "ମାଇକà­à¬°à­‹à¬¨à­‡à¬¸à¬¿à¬†"
},
- "MR": {
- "name": "ମାଉରିଟାନିଆ"
- },
"MO": {
- "name": "ମାକାଉ SAR ଚିନà­"
+ "name": "ମାକାଉ à¬à¬¸à¬à¬†à¬°à­â€Œ ଚାଇନା"
},
"MG": {
"name": "ମାଡାଗାସà­à¬•à¬°à­"
@@ -525,37 +546,37 @@
"name": "ମାରà­à¬Ÿà¬¿à¬¨à¬¿à¬•à­à­Ÿà­"
},
"MH": {
- "name": "ମାରà­à¬¶à¬²à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ମାରà­à¬¶à¬¾à¬²à­â€Œ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"MD": {
"name": "ମାଲଡୋଭା"
},
+ "MV": {
+ "name": "ମାଲଦିଭସà­â€Œ"
+ },
"MW": {
"name": "ମାଲୱି"
},
+ "ML": {
+ "name": "ମାଲି"
+ },
"MY": {
"name": "ମାଲେସିଆ"
},
"MT": {
"name": "ମାଲà­à¬Ÿà¬¾"
},
- "MV": {
- "name": "ମାଳଦà­à¬¬à­€à¬ª"
- },
- "ML": {
- "name": "ମାଳୀ"
- },
"MK": {
"name": "ମାସେଡୋନିଆ"
},
"MM": {
- "name": "ମିୟାମାରà­"
+ "name": "ମିଆà¬à¬®à¬¾à¬°"
},
"MX": {
"name": "ମେକà­à¬¸à¬¿à¬•à­‹"
},
"MZ": {
- "name": "ମୋଜାମà­à¬¬à¬¿à¬•à­à­Ÿà­"
+ "name": "ମୋଜାମà­à¬¬à¬¿à¬•à­â€Œ"
},
"MC": {
"name": "ମୋନାକୋ"
@@ -563,20 +584,23 @@
"MA": {
"name": "ମୋରୋକà­à¬•à­‹"
},
- "MU": {
- "name": "ମୌରିସସà­"
- },
- "VI": {
- "name": "à­Ÿà­à¬à¬¸à­ ଭରà­à¬œà¬¿à¬¨à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "MR": {
+ "name": "ମୌରିଟାନିଆ"
},
"US": {
- "name": "ଯà­à¬•à­à¬¤ ରାଷà­à¬Ÿà­à¬° ଆମେରିକା"
+ "name": "ଯà­à¬•à­à¬¤ ରାଷà­à¬Ÿà­à¬°"
},
- "UA": {
- "name": "à­Ÿà­à¬•à­à¬°à¬¾à¬‡à¬¨à­"
+ "GB": {
+ "name": "ଯà­à¬•à­à¬¤à¬°à¬¾à¬œà­à­Ÿ"
},
"UM": {
- "name": "à­Ÿà­à¬¨à¬¾à¬‡à¬Ÿà­‡à¬¡à­ ଷà­à¬Ÿà­‡à¬Ÿà¬¸à­ ମାଇନରୠଆଉଟଲେଇଂ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ଯà­à¬•à­à¬¤à¬°à¬¾à¬·à­à¬Ÿà­à¬° ଆଉଟà­â€Œà¬²à¬¾à¬‡à¬™à­à¬— ଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "VI": {
+ "name": "ଯà­à¬•à­à¬¤à¬°à¬¾à¬·à­à¬Ÿà­à¬° ଭିରà­à¬œà¬¿à¬¨à­ ଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "UA": {
+ "name": "à­Ÿà­à¬•à­à¬°à­‡à¬¨à­â€Œ"
},
"YE": {
"name": "ୟେମେନà­"
@@ -596,6 +620,9 @@
"LU": {
"name": "ଲକà­à¬¸à­‡à¬®à¬¬à¬°à­à¬—"
},
+ "LR": {
+ "name": "ଲାଇବେରିଆ"
+ },
"LA": {
"name": "ଲାଓସà­"
},
@@ -603,16 +630,13 @@
"name": "ଲାଟଭିଆ"
},
"LI": {
- "name": "ଲିଚେସà­à¬¤à¬¿à¬†à¬¨à¬¾à¬¨à­"
+ "name": "ଲିଚେଟନଷà­à¬Ÿà­‡à¬‡à¬¨à­"
},
"LT": {
- "name": "ଲିଥାଆନିଆ"
+ "name": "ଲିଥà­à¬†à¬¨à¬¿à¬†"
},
"LY": {
- "name": "ଲିବିଆ"
- },
- "LR": {
- "name": "ଲିବେରିଆ"
+ "name": "ଲିବà­à­Ÿà¬¾"
},
"LB": {
"name": "ଲେବାନନà­"
@@ -648,19 +672,25 @@
"name": "ସାମୋଆ"
},
"SJ": {
- "name": "ସାଲà­à¬­à¬¾à¬°à­à¬¡ à¬à¬¬à¬‚ ଜାନୠମାୟୋନà­"
+ "name": "ସାଲବାରà­à¬¡ à¬à¬¬à¬‚ ଜାନà­â€Œ ମାୟେନà­â€Œ"
+ },
+ "EA": {
+ "name": "ସିଉଟା à¬à¬¬à¬‚ ମେଲିଲା"
},
"SL": {
- "name": "ସିଓରା ଲିଓନà­"
+ "name": "ସିà¬à¬°à¬¾ ଲିଓନ"
},
"SG": {
"name": "ସିଙà­à¬—ାପà­à¬°à­"
},
+ "SX": {
+ "name": "ସିଣà­à¬Ÿ ମାରà­à¬Ÿà­€à¬¨à­â€Œ"
+ },
"SY": {
"name": "ସିରିଆ"
},
"SD": {
- "name": "ସà­à¬¦à¬¾à¬¨à­"
+ "name": "ସà­à¬¦à¬¾à¬¨"
},
"SR": {
"name": "ସà­à¬°à¬¿à¬¨à¬¾à¬®"
@@ -669,10 +699,10 @@
"name": "ସେଚେଲସà­"
},
"KN": {
- "name": "ସେଣà­à¬Ÿ କିଟସୠà¬à¬£à­à¬¡ ନେଭିସà­"
+ "name": "ସେଣà­à¬Ÿ କିଟସà­â€Œ à¬à¬¬à¬‚ ନେଭିସà­â€Œ"
},
"PM": {
- "name": "ସେଣà­à¬Ÿ ପିà¬à¬°à­‡ à¬à¬¬à¬‚ ମିକà­à¬¬à¬¾à¬²à­‹à¬¨à­"
+ "name": "ସେଣà­à¬Ÿ ପିà¬à¬°à­‡ à¬à¬¬à¬‚ ମିକà­à­±à­‡à¬²à¬¨à­â€Œ"
},
"BL": {
"name": "ସେଣà­à¬Ÿ ବାରà­à¬¥à­‡à¬²à­‡à¬®à¬¿"
@@ -696,28 +726,28 @@
"name": "ସୋମାଲିଆ"
},
"SB": {
- "name": "ସୋଲୋମନୠଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ "name": "ସୋଲୋମନà­â€Œ ଦà­à­±à­€à¬ªà¬ªà­à¬žà­à¬œ"
},
"ES": {
"name": "ସà­à¬ªà­‡à¬¨à­"
},
- "SZ": {
- "name": "ସà­à¬¬à¬¾à¬œà¬¿à¬²à¬¾à¬£à­à¬¡"
- },
- "CH": {
- "name": "ସà­à¬¬à¬¿à¬œà¬°à¬²à­à­Ÿà¬¾à¬£à­à¬¡"
- },
"SK": {
"name": "ସà­à¬²à­‹à¬­à¬¾à¬•à¬¿à¬†"
},
"SI": {
"name": "ସà­à¬²à­‹à¬­à­‡à¬¨à¬¿à¬†"
},
+ "SZ": {
+ "name": "ସà­à­±à¬¾à¬œà¬¿à¬²à­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "CH": {
+ "name": "ସà­à­±à¬¿à¬œà¬°à¬²à­à­Ÿà¬¾à¬£à­à¬¡"
+ },
"SE": {
"name": "ସà­à­±à­‡à¬¡à­‡à¬¨à­"
},
"HK": {
- "name": "ହଂକଂ ବିଶେଷ ପà­à¬°à¬¶à¬¾à¬¸à¬¨à¬¿à¬• କà­à¬·à­‡à¬¤à­à¬° ଚୀନà­"
+ "name": "ହଂ କଂ à¬à¬¸à¬à¬†à¬°à­â€Œ ଚାଇନା"
},
"HU": {
"name": "ହଙà­à¬—େରୀ"
@@ -726,36 +756,6 @@
"name": "ହାଇତି"
},
"HN": {
- "name": "ହୋଣà­à¬¡à¬¾à¬°à­à¬¸à­"
- },
- "AC": {
- "name": "Ascension Island"
- },
- "IC": {
- "name": "Canary Islands"
- },
- "BQ": {
- "name": "Caribbean Netherlands"
- },
- "EA": {
- "name": "Ceuta & Melilla"
- },
- "CW": {
- "name": "Curaçao"
- },
- "DG": {
- "name": "Diego Garcia"
- },
- "XK": {
- "name": "Kosovo"
- },
- "SX": {
- "name": "Sint Maarten"
- },
- "SS": {
- "name": "South Sudan"
- },
- "TA": {
- "name": "Tristan da Cunha"
+ "name": "ହୋଣà­à¬¡à­à¬°à¬¾à¬¸à­â€Œ"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pa.json b/vendor/commerceguys/intl/resources/country/pa.json
index 4853d378f..b59b4b68d 100644
--- a/vendor/commerceguys/intl/resources/country/pa.json
+++ b/vendor/commerceguys/intl/resources/country/pa.json
@@ -348,7 +348,7 @@
"name": "ਚੀਨ"
},
"CZ": {
- "name": "ਚੈੱਕ ਗਣਰਾਜ"
+ "name": "ਚੈਕੀਆ"
},
"JP": {
"name": "ਜਪਾਨ"
@@ -437,15 +437,15 @@
"TH": {
"name": "ਥਾਈਲੈਂਡ"
},
- "ZA": {
- "name": "ਦੱਖਣ ਅਫਰੀਕਾ"
- },
"SS": {
"name": "ਦੱਖਣ ਸà©à¨¡à¨¾à¨¨"
},
"KR": {
"name": "ਦੱਖਣ ਕੋਰੀਆ"
},
+ "ZA": {
+ "name": "ਦੱਖਣੀ ਅਫਰੀਕਾ"
+ },
"GS": {
"name": "ਦੱਖਣੀ ਜਾਰਜੀਆ ਅਤੇ ਦੱਖਣੀ ਸੈਂਡਵਿਚ ਟਾਪੂ"
},
@@ -684,7 +684,7 @@
"name": "ਮੋਲਡੋਵਾ"
},
"MU": {
- "name": "ਮੌਰਿਸ਼ਸ"
+ "name": "ਮੌਰੀਸ਼ਸ"
},
"YE": {
"name": "ਯਮਨ"
diff --git a/vendor/commerceguys/intl/resources/country/pl.json b/vendor/commerceguys/intl/resources/country/pl.json
index 4a1690a1c..78fc28826 100644
--- a/vendor/commerceguys/intl/resources/country/pl.json
+++ b/vendor/commerceguys/intl/resources/country/pl.json
@@ -18,7 +18,7 @@
"name": "Anguilla"
},
"AQ": {
- "name": "Antarktyka"
+ "name": "Antarktyda"
},
"AG": {
"name": "Antigua i Barbuda"
diff --git a/vendor/commerceguys/intl/resources/country/ps.json b/vendor/commerceguys/intl/resources/country/ps.json
index 999cd380d..693aaece8 100644
--- a/vendor/commerceguys/intl/resources/country/ps.json
+++ b/vendor/commerceguys/intl/resources/country/ps.json
@@ -1,13 +1,49 @@
{
+ "AW": {
+ "name": "آروبا"
+ },
+ "AU": {
+ "name": "آسټرالیا"
+ },
"IS": {
"name": "آیسلینډ"
},
"AT": {
"name": "اتریش"
},
+ "AZ": {
+ "name": "اذربايجان"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AR": {
+ "name": "ارژنټاین"
+ },
+ "AM": {
+ "name": "ارمنستان"
+ },
+ "ER": {
+ "name": "اریتره"
+ },
+ "GQ": {
+ "name": "استوایی ګینه"
+ },
+ "EE": {
+ "name": "استونیا"
+ },
+ "IL": {
+ "name": "اسراييل"
+ },
"AF": {
"name": "اÙغانستان"
},
+ "EC": {
+ "name": "اکوادور"
+ },
+ "AX": {
+ "name": "الاند ټاپوان"
+ },
"AL": {
"name": "البانیه"
},
@@ -17,745 +53,709 @@
"DE": {
"name": "المان"
},
+ "AS": {
+ "name": "امریکایی سمو"
+ },
"AQ": {
"name": "انتارکتیکا"
},
+ "AG": {
+ "name": "انټيګوا او باربودا"
+ },
+ "AD": {
+ "name": "اندورا"
+ },
"ID": {
"name": "اندونیزیا"
},
"AO": {
"name": "انګولا"
},
- "IT": {
- "name": "ایټالیه"
- },
- "GB": {
- "name": "برتانیه"
- },
- "BG": {
- "name": "بلغاریه"
- },
- "BD": {
- "name": "بنګله‌دیش"
- },
- "PK": {
- "name": "پاکستان"
- },
- "PT": {
- "name": "پورتګال"
- },
- "PL": {
- "name": "پولنډ"
- },
- "TJ": {
- "name": "تاجکستان"
+ "AI": {
+ "name": "انګیلا"
},
- "TZ": {
- "name": "تنزانیا"
+ "UZ": {
+ "name": "اوزبکستان"
},
- "JP": {
- "name": "جاپان"
+ "UA": {
+ "name": "اوکراین"
},
- "JM": {
- "name": "جمیکا"
+ "IT": {
+ "name": "ایټالیه"
},
- "CN": {
- "name": "چین"
+ "IR": {
+ "name": "ايران"
},
- "ET": {
- "name": "حبشه"
+ "IE": {
+ "name": "ایرلینډ"
},
- "DK": {
- "name": "ډنمارک"
+ "BB": {
+ "name": "باربادوس"
},
- "RU": {
- "name": "روسیه"
+ "BS": {
+ "name": "باهاما"
},
- "RW": {
- "name": "روندا"
+ "BH": {
+ "name": "بحرين"
},
- "SV": {
- "name": "سالوÛډور"
+ "BR": {
+ "name": "برازیل"
},
- "SA": {
- "name": "سعودی عربستان"
+ "GB": {
+ "name": "برتانیه"
},
- "SY": {
- "name": "سوریه"
+ "BM": {
+ "name": "برمودا"
},
- "SE": {
- "name": "سویډن"
+ "BI": {
+ "name": "بروندي"
},
- "CH": {
- "name": "سویس"
+ "BN": {
+ "name": "بروني"
},
- "IQ": {
- "name": "عراق"
+ "VG": {
+ "name": "بریتانوی ویګور ټاپو"
},
- "FR": {
- "name": "Ùرانسه"
+ "BG": {
+ "name": "بلغاریه"
},
- "PS": {
- "name": "Ùلسطین"
+ "BZ": {
+ "name": "بلیز"
},
- "FI": {
- "name": "Ùنلینډ"
+ "BD": {
+ "name": "بنگله دÛØ´"
},
- "CA": {
- "name": "کاناډا"
+ "BT": {
+ "name": "بهوټان"
},
- "KH": {
- "name": "کمبودیا"
+ "BW": {
+ "name": "بوتسوانه"
},
- "CO": {
- "name": "کولمبیا"
+ "BF": {
+ "name": "بورکینا Ùاسو"
},
- "KW": {
- "name": "کویټ"
+ "BA": {
+ "name": "بوسنيا او Ù‡Ûرزګوينا"
},
- "CU": {
- "name": "کیوبا"
+ "BO": {
+ "name": "بولیویا"
},
- "GH": {
- "name": "ګانا"
+ "BY": {
+ "name": "بیلاروس"
},
- "GT": {
- "name": "ګواتیمالا"
+ "BE": {
+ "name": "بیلجیم"
},
- "GN": {
- "name": "ګیانا"
+ "BJ": {
+ "name": "بینن"
},
- "LA": {
- "name": "لاوس"
+ "PG": {
+ "name": "پاپ نيو ګيني، د يو Ù‡Ûواد نوم دÛ"
},
- "LR": {
- "name": "لایبریا"
+ "PY": {
+ "name": "پاراګوی"
},
- "LB": {
- "name": "لبنان"
+ "PK": {
+ "name": "پاکستان"
},
- "LY": {
- "name": "لیبیا"
+ "PA": {
+ "name": "پاناما"
},
- "MY": {
- "name": "مالیزیا"
+ "PW": {
+ "name": "پلو"
},
- "HU": {
- "name": "مجارستان"
+ "PT": {
+ "name": "پورتګال"
},
- "MA": {
- "name": "مراکش"
+ "PR": {
+ "name": "پورتو ریکو"
},
- "EG": {
- "name": "مصر"
+ "PL": {
+ "name": "پولنډ"
},
- "MN": {
- "name": "مغولستان"
+ "PN": {
+ "name": "پیټکیرن ټاپو"
},
- "NO": {
- "name": "ناروÛ"
+ "PE": {
+ "name": "پیرو"
},
- "NG": {
- "name": "نایجیریا"
+ "TJ": {
+ "name": "تاجيکستان"
},
- "NI": {
- "name": "نکاراګوا"
+ "TA": {
+ "name": "تریستان دا کنها"
},
- "NP": {
- "name": "نیپال"
+ "TG": {
+ "name": "تلل"
},
- "NZ": {
- "name": "نیوزیلنډ"
+ "TZ": {
+ "name": "تنزانیا"
},
- "NL": {
- "name": "هالÛÙ†Ú‰"
+ "TH": {
+ "name": "تهايلنډ"
},
- "HN": {
- "name": "هانډوراس"
+ "TV": {
+ "name": "توالیو"
},
- "ES": {
- "name": "هسپانیه"
+ "TM": {
+ "name": "تورکمنستان"
},
- "IN": {
- "name": "هند"
+ "TR": {
+ "name": "تورکيه"
},
- "YE": {
- "name": "یمن"
+ "TK": {
+ "name": "توکیلو"
},
- "UY": {
- "name": "یوروګوای"
+ "TN": {
+ "name": "تونس"
},
- "GR": {
- "name": "یونان"
+ "TO": {
+ "name": "تونګا"
},
- "AX": {
- "name": "Ã…land Islands"
+ "TL": {
+ "name": "تيمور-ليسټ"
},
- "AS": {
- "name": "American Samoa"
+ "TW": {
+ "name": "تیوان"
},
- "AD": {
- "name": "Andorra"
+ "TT": {
+ "name": "ټرینیاډډ او ټوبوګ"
},
- "AI": {
- "name": "Anguilla"
+ "JP": {
+ "name": "جاپان"
},
- "AG": {
- "name": "Antigua & Barbuda"
+ "GI": {
+ "name": "جبل الطارق"
},
- "AR": {
- "name": "Argentina"
+ "JE": {
+ "name": "جرسی"
},
- "AM": {
- "name": "Armenia"
+ "JM": {
+ "name": "جمیکا"
},
- "AW": {
- "name": "Aruba"
+ "SS": {
+ "name": "جنوبي سوډان"
},
- "AC": {
- "name": "Ascension Island"
+ "DJ": {
+ "name": "جی بوتي"
},
- "AU": {
- "name": "Australia"
+ "TD": {
+ "name": "چاډ"
},
- "AZ": {
- "name": "Azerbaijan"
+ "CZ": {
+ "name": "چکیا"
},
- "BS": {
- "name": "Bahamas"
+ "CL": {
+ "name": "چیلي"
},
- "BH": {
- "name": "Bahrain"
+ "CN": {
+ "name": "چین"
},
- "BB": {
- "name": "Barbados"
+ "ET": {
+ "name": "حبشه"
},
- "BY": {
- "name": "Belarus"
+ "IM": {
+ "name": "د آئل آ٠مین"
},
- "BE": {
- "name": "Belgium"
+ "TC": {
+ "name": "د ØªØ±Ú©ÛŒÛ Ø§Ùˆ کیکاسو ټاپو"
},
- "BZ": {
- "name": "Belize"
+ "AC": {
+ "name": "د توغندیو ټاپو"
},
- "BJ": {
- "name": "Benin"
+ "CI": {
+ "name": "د عاج ساحل"
},
- "BM": {
- "name": "Bermuda"
+ "TF": {
+ "name": "د ÙØ±Ø§Ù†Ø³Û Ø¬Ù†ÙˆØ¨ÙŠ سیمÛ"
},
- "BT": {
- "name": "Bhutan"
+ "IC": {
+ "name": "د کانري ټاپو"
},
- "BO": {
- "name": "Bolivia"
+ "CX": {
+ "name": "د کریساس ټاپو"
},
- "BA": {
- "name": "Bosnia & Herzegovina"
+ "UM": {
+ "name": "د متحده ایالاتو ټاپو ټاپوګانÛ"
},
- "BW": {
- "name": "Botswana"
+ "VI": {
+ "name": "د متحده ایالاتو ویګور ټاپو"
},
- "BR": {
- "name": "Brazil"
+ "CF": {
+ "name": "د مرکزي اÙریقا جمهوریت"
},
"IO": {
- "name": "British Indian Ocean Territory"
- },
- "VG": {
- "name": "British Virgin Islands"
+ "name": "د هند سمندر سمندر سیمه"
},
- "BN": {
- "name": "Brunei"
- },
- "BF": {
- "name": "Burkina Faso"
- },
- "BI": {
- "name": "Burundi"
- },
- "CM": {
- "name": "Cameroon"
+ "DM": {
+ "name": "دومینیکا"
},
- "IC": {
- "name": "Canary Islands"
+ "DO": {
+ "name": "دومینیکن جمهوريت"
},
- "CV": {
- "name": "Cape Verde"
+ "DG": {
+ "name": "ډایګو ګارسیا"
},
- "BQ": {
- "name": "Caribbean Netherlands"
+ "DK": {
+ "name": "ډنمارک"
},
- "KY": {
- "name": "Cayman Islands"
+ "RU": {
+ "name": "روسیه"
},
- "CF": {
- "name": "Central African Republic"
+ "RO": {
+ "name": "رومانیا"
},
- "EA": {
- "name": "Ceuta & Melilla"
+ "RW": {
+ "name": "روندا"
},
- "TD": {
- "name": "Chad"
+ "RE": {
+ "name": "ریونین"
},
- "CL": {
- "name": "Chile"
+ "ZW": {
+ "name": "زیمبابوی"
},
- "CX": {
- "name": "Christmas Island"
+ "ZM": {
+ "name": "زیمبیا"
},
- "CC": {
- "name": "Cocos (Keeling) Islands"
+ "SV": {
+ "name": "سالوÛډور"
},
- "KM": {
- "name": "Comoros"
+ "WS": {
+ "name": "ساموا"
},
- "CG": {
- "name": "Congo - Brazzaville"
+ "SM": {
+ "name": "سان مارینو"
},
- "CD": {
- "name": "Congo - Kinshasa"
+ "ST": {
+ "name": "ساو ټیم او پرنسیپ"
},
- "CK": {
- "name": "Cook Islands"
+ "LK": {
+ "name": "سريلانکا"
},
- "CR": {
- "name": "Costa Rica"
+ "SA": {
+ "name": "سعودي عربستان"
},
- "CI": {
- "name": "Côte d’Ivoire"
+ "SJ": {
+ "name": "سلواډر او جان میین"
},
- "HR": {
- "name": "Croatia"
+ "SK": {
+ "name": "سلواکیا"
},
- "CW": {
- "name": "Curaçao"
+ "SI": {
+ "name": "سلوانیا"
},
- "CY": {
- "name": "Cyprus"
+ "SB": {
+ "name": "سلیمان ټاپو"
},
- "CZ": {
- "name": "Czech Republic"
+ "SN": {
+ "name": "سنګال"
},
- "DG": {
- "name": "Diego Garcia"
+ "SZ": {
+ "name": "سوازیلینډ"
},
- "DJ": {
- "name": "Djibouti"
+ "SD": {
+ "name": "سوډان"
},
- "DM": {
- "name": "Dominica"
+ "SR": {
+ "name": "سورینام"
},
- "DO": {
- "name": "Dominican Republic"
+ "SY": {
+ "name": "سوریه"
},
- "EC": {
- "name": "Ecuador"
+ "SO": {
+ "name": "سومالیا"
},
- "GQ": {
- "name": "Equatorial Guinea"
+ "SE": {
+ "name": "سویډن"
},
- "ER": {
- "name": "Eritrea"
+ "CH": {
+ "name": "سویس"
},
- "EE": {
- "name": "Estonia"
+ "GS": {
+ "name": "سویل جورجیا او جنوبي سینڈوچ ټاپو"
},
- "FK": {
- "name": "Falkland Islands"
+ "ZA": {
+ "name": "سویلي اÙریقا"
},
- "FO": {
- "name": "Faroe Islands"
+ "KR": {
+ "name": "سویلي کوریا"
},
- "FJ": {
- "name": "Fiji"
+ "SC": {
+ "name": "سیچیلیس"
},
- "GF": {
- "name": "French Guiana"
+ "BL": {
+ "name": "سینټ بارټیلیټی"
},
- "PF": {
- "name": "French Polynesia"
+ "PM": {
+ "name": "سینټ پییر او میکولون"
},
- "TF": {
- "name": "French Southern Territories"
+ "KN": {
+ "name": "سینټ کټس او نیویس"
},
- "GA": {
- "name": "Gabon"
+ "LC": {
+ "name": "سینټ لوسیا"
},
- "GM": {
- "name": "Gambia"
+ "MF": {
+ "name": "سینټ مارټن"
},
- "GE": {
- "name": "Georgia"
+ "SX": {
+ "name": "سینټ مارټین"
},
- "GI": {
- "name": "Gibraltar"
+ "SH": {
+ "name": "سینټ هیلینا"
},
- "GL": {
- "name": "Greenland"
+ "VC": {
+ "name": "سینټ ویسنټینټ او ګرینډینز"
},
- "GD": {
- "name": "Grenada"
+ "SG": {
+ "name": "سينگاپور"
},
- "GP": {
- "name": "Guadeloupe"
+ "EA": {
+ "name": "سئوتا او مالایا"
},
- "GU": {
- "name": "Guam"
+ "SL": {
+ "name": "سییرا لیون"
},
- "GG": {
- "name": "Guernsey"
+ "KP": {
+ "name": "شمالی کوریا"
},
- "GW": {
- "name": "Guinea-Bissau"
+ "MP": {
+ "name": "شمالي ماریانا ټاپو"
},
- "GY": {
- "name": "Guyana"
+ "RS": {
+ "name": "صربیا"
},
- "HT": {
- "name": "Haiti"
+ "IQ": {
+ "name": "عراق"
},
- "HK": {
- "name": "Hong Kong SAR China"
+ "OM": {
+ "name": "عمان"
},
- "IR": {
- "name": "Iran"
+ "FO": {
+ "name": "Ùارو ټاپو"
},
- "IE": {
- "name": "Ireland"
+ "FR": {
+ "name": "Ùرانسه"
},
- "IM": {
- "name": "Isle of Man"
+ "PF": {
+ "name": "Ùرانسوي پولینیا"
},
- "IL": {
- "name": "Israel"
+ "GF": {
+ "name": "Ùرانسوي ګانا"
},
- "JE": {
- "name": "Jersey"
+ "PH": {
+ "name": "Ùلپين"
},
- "JO": {
- "name": "Jordan"
+ "PS": {
+ "name": "Ùلسطين سيمÛ"
},
- "KZ": {
- "name": "Kazakhstan"
+ "FI": {
+ "name": "Ùنلینډ"
},
- "KE": {
- "name": "Kenya"
+ "FK": {
+ "name": "Ùوکلنډ ټاپو"
},
- "KI": {
- "name": "Kiribati"
+ "FJ": {
+ "name": "ÙÙŠ جي"
},
- "XK": {
- "name": "Kosovo"
+ "CY": {
+ "name": "قبرس"
},
"KG": {
- "name": "Kyrgyzstan"
+ "name": "قرغزستان"
},
- "LV": {
- "name": "Latvia"
- },
- "LS": {
- "name": "Lesotho"
- },
- "LI": {
- "name": "Liechtenstein"
- },
- "LT": {
- "name": "Lithuania"
+ "KZ": {
+ "name": "قزاقستان"
},
- "LU": {
- "name": "Luxembourg"
+ "QA": {
+ "name": "قطر"
},
- "MO": {
- "name": "Macau SAR China"
+ "CM": {
+ "name": "کامرون"
},
- "MK": {
- "name": "Macedonia"
+ "CA": {
+ "name": "کاناډا"
},
- "MG": {
- "name": "Madagascar"
+ "CG": {
+ "name": "کانګو - بروزوییل"
},
- "MW": {
- "name": "Malawi"
+ "CD": {
+ "name": "کانګو - کینشاسا"
},
- "MV": {
- "name": "Maldives"
+ "HR": {
+ "name": "کرواثیا"
},
- "ML": {
- "name": "Mali"
+ "KH": {
+ "name": "کمبودیا"
},
- "MT": {
- "name": "Malta"
+ "CR": {
+ "name": "کوستاریکا"
},
- "MH": {
- "name": "Marshall Islands"
+ "XK": {
+ "name": "کوسوو"
},
- "MQ": {
- "name": "Martinique"
+ "CK": {
+ "name": "کوک ټاپوګان"
},
- "MR": {
- "name": "Mauritania"
+ "CC": {
+ "name": "کوکوز (کیبل) ټاپوګانÛ"
},
- "MU": {
- "name": "Mauritius"
+ "CW": {
+ "name": "کوکوکا"
},
- "YT": {
- "name": "Mayotte"
+ "CO": {
+ "name": "کولمبیا"
},
- "MX": {
- "name": "Mexico"
+ "KM": {
+ "name": "کوموروس"
},
- "FM": {
- "name": "Micronesia"
+ "KW": {
+ "name": "کویټ"
},
- "MD": {
- "name": "Moldova"
+ "CV": {
+ "name": "کیپ ورد"
},
- "MC": {
- "name": "Monaco"
+ "KI": {
+ "name": "کیري باتي"
},
- "ME": {
- "name": "Montenegro"
+ "BQ": {
+ "name": "کیریبین هالینډ"
},
- "MS": {
- "name": "Montserrat"
+ "KY": {
+ "name": "کیمان ټاپوګان"
},
- "MZ": {
- "name": "Mozambique"
+ "KE": {
+ "name": "کینیا"
},
- "MM": {
- "name": "Myanmar (Burma)"
+ "CU": {
+ "name": "کیوبا"
},
- "NA": {
- "name": "Namibia"
+ "GA": {
+ "name": "ګابن"
},
- "NR": {
- "name": "Nauru"
+ "GP": {
+ "name": "ګالډیپ"
},
- "NC": {
- "name": "New Caledonia"
+ "GM": {
+ "name": "ګامبیا"
},
- "NE": {
- "name": "Niger"
+ "GH": {
+ "name": "ګانا"
},
- "NU": {
- "name": "Niue"
+ "GD": {
+ "name": "ګرنادا"
},
- "NF": {
- "name": "Norfolk Island"
+ "GG": {
+ "name": "ګرنسي"
},
- "KP": {
- "name": "North Korea"
+ "GL": {
+ "name": "ګرینلینډ"
},
- "MP": {
- "name": "Northern Mariana Islands"
+ "GT": {
+ "name": "ګواتیمالا"
},
- "OM": {
- "name": "Oman"
+ "GU": {
+ "name": "ګوام"
},
- "PW": {
- "name": "Palau"
+ "GE": {
+ "name": "گورجستان"
},
- "PA": {
- "name": "Panama"
+ "GY": {
+ "name": "ګیانا"
},
- "PG": {
- "name": "Papua New Guinea"
+ "GN": {
+ "name": "ګینه"
},
- "PY": {
- "name": "Paraguay"
+ "GW": {
+ "name": "ګینه بیسو"
},
- "PE": {
- "name": "Peru"
+ "LA": {
+ "name": "لاووس"
},
- "PH": {
- "name": "Philippines"
+ "LR": {
+ "name": "لایبریا"
},
- "PN": {
- "name": "Pitcairn Islands"
+ "LV": {
+ "name": "لتوني"
},
- "PR": {
- "name": "Puerto Rico"
+ "LS": {
+ "name": "لسوتو"
},
- "QA": {
- "name": "Qatar"
+ "LU": {
+ "name": "لوګزامبورګ"
},
- "RE": {
- "name": "Réunion"
+ "EH": {
+ "name": "Ù„ÙˆÛŒØ¯ÛŒÚ ØµØ­Ø±Ø§"
},
- "RO": {
- "name": "Romania"
+ "LB": {
+ "name": "Ù„Ûبنان"
},
- "WS": {
- "name": "Samoa"
+ "LY": {
+ "name": "لیبیا"
},
- "SM": {
- "name": "San Marino"
+ "LT": {
+ "name": "لیتوانیا"
},
- "ST": {
- "name": "São Tomé & Príncipe"
+ "LI": {
+ "name": "لیختن اشتاین"
},
- "SN": {
- "name": "Senegal"
+ "MQ": {
+ "name": "مارټینیک"
},
- "RS": {
- "name": "Serbia"
+ "MH": {
+ "name": "مارشال ټاپو"
},
- "SC": {
- "name": "Seychelles"
+ "MW": {
+ "name": "مالاوي"
},
- "SL": {
- "name": "Sierra Leone"
+ "MT": {
+ "name": "مالتا"
},
- "SG": {
- "name": "Singapore"
+ "MV": {
+ "name": "مالديپ"
},
- "SX": {
- "name": "Sint Maarten"
+ "ML": {
+ "name": "مالي"
},
- "SK": {
- "name": "Slovakia"
+ "MY": {
+ "name": "مالیزیا"
},
- "SI": {
- "name": "Slovenia"
+ "MS": {
+ "name": "مانټیسیرت"
},
- "SB": {
- "name": "Solomon Islands"
+ "US": {
+ "name": "متحده ایالات"
},
- "SO": {
- "name": "Somalia"
+ "AE": {
+ "name": "متحده عرب امارات"
},
- "ZA": {
- "name": "South Africa"
+ "HU": {
+ "name": "مجارستان"
},
- "GS": {
- "name": "South Georgia & South Sandwich Islands"
+ "MG": {
+ "name": "مدګاسکار"
},
- "KR": {
- "name": "South Korea"
+ "MA": {
+ "name": "مراکش"
},
- "SS": {
- "name": "South Sudan"
+ "EG": {
+ "name": "مصر"
},
- "LK": {
- "name": "Sri Lanka"
+ "MN": {
+ "name": "مغولستان"
},
- "BL": {
- "name": "St. Barthélemy"
+ "MK": {
+ "name": "مقدونیه"
},
- "SH": {
- "name": "St. Helena"
+ "MO": {
+ "name": "مکا سار چین"
},
- "KN": {
- "name": "St. Kitts & Nevis"
+ "MR": {
+ "name": "موریتانیا"
},
- "LC": {
- "name": "St. Lucia"
+ "MU": {
+ "name": "موریشیس"
},
- "MF": {
- "name": "St. Martin"
+ "MZ": {
+ "name": "موزمبیک"
},
- "PM": {
- "name": "St. Pierre & Miquelon"
+ "MD": {
+ "name": "مولدوا"
},
- "VC": {
- "name": "St. Vincent & Grenadines"
+ "MC": {
+ "name": "موناکو"
},
- "SD": {
- "name": "Sudan"
+ "ME": {
+ "name": "مونټینیګرو"
},
- "SR": {
- "name": "Suriname"
+ "MM": {
+ "name": "ميانامار (برما)"
},
- "SJ": {
- "name": "Svalbard & Jan Mayen"
+ "YT": {
+ "name": "میټوت"
},
- "SZ": {
- "name": "Swaziland"
+ "FM": {
+ "name": "میکرونیزیا"
},
- "TW": {
- "name": "Taiwan"
+ "MX": {
+ "name": "میکسیکو"
},
- "TH": {
- "name": "Thailand"
+ "NF": {
+ "name": "نارÙولک ټاپوګان"
},
- "TL": {
- "name": "Timor-Leste"
+ "NO": {
+ "name": "ناروÛ"
},
- "TG": {
- "name": "Togo"
+ "NG": {
+ "name": "نایجیریا"
},
- "TK": {
- "name": "Tokelau"
+ "NR": {
+ "name": "نایرو"
},
- "TO": {
- "name": "Tonga"
+ "NI": {
+ "name": "نکاراګوا"
},
- "TT": {
- "name": "Trinidad & Tobago"
+ "NC": {
+ "name": "نوی کالیډونیا"
},
- "TA": {
- "name": "Tristan da Cunha"
+ "NP": {
+ "name": "نیپال"
},
- "TN": {
- "name": "Tunisia"
+ "NE": {
+ "name": "نیجر"
},
- "TR": {
- "name": "Turkey"
+ "NA": {
+ "name": "نیمبیا"
},
- "TM": {
- "name": "Turkmenistan"
+ "NZ": {
+ "name": "نیوزیلنډ"
},
- "TC": {
- "name": "Turks & Caicos Islands"
+ "NU": {
+ "name": "نیوو"
},
- "TV": {
- "name": "Tuvalu"
+ "NL": {
+ "name": "هالÛÙ†Ú‰"
},
- "UM": {
- "name": "U.S. Outlying Islands"
+ "HN": {
+ "name": "هانډوراس"
},
- "VI": {
- "name": "U.S. Virgin Islands"
+ "HK": {
+ "name": "هانګ کانګ SAR چین"
},
- "UG": {
- "name": "Uganda"
+ "HT": {
+ "name": "هایټي"
},
- "UA": {
- "name": "Ukraine"
+ "ES": {
+ "name": "هسپانیه"
},
- "AE": {
- "name": "United Arab Emirates"
+ "IN": {
+ "name": "هند"
},
- "US": {
- "name": "United States"
+ "VA": {
+ "name": "واتیکان ښار"
},
- "UZ": {
- "name": "Uzbekistan"
+ "WF": {
+ "name": "والیس او Ùوتونا"
},
"VU": {
- "name": "Vanuatu"
+ "name": "واناتو"
},
- "VA": {
- "name": "Vatican City"
+ "VN": {
+ "name": "ÙˆÛتنام"
},
"VE": {
- "name": "Venezuela"
- },
- "VN": {
- "name": "Vietnam"
+ "name": "وینزویلا"
},
- "WF": {
- "name": "Wallis & Futuna"
+ "YE": {
+ "name": "یمن"
},
- "EH": {
- "name": "Western Sahara"
+ "UY": {
+ "name": "یوروګوی"
},
- "ZM": {
- "name": "Zambia"
+ "UG": {
+ "name": "یوګانډا"
},
- "ZW": {
- "name": "Zimbabwe"
+ "GR": {
+ "name": "یونان"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/pt-AO.json b/vendor/commerceguys/intl/resources/country/pt-AO.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-AO.json
+++ b/vendor/commerceguys/intl/resources/country/pt-AO.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-CH.json b/vendor/commerceguys/intl/resources/country/pt-CH.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-CH.json
+++ b/vendor/commerceguys/intl/resources/country/pt-CH.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-CV.json b/vendor/commerceguys/intl/resources/country/pt-CV.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-CV.json
+++ b/vendor/commerceguys/intl/resources/country/pt-CV.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-GQ.json b/vendor/commerceguys/intl/resources/country/pt-GQ.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-GQ.json
+++ b/vendor/commerceguys/intl/resources/country/pt-GQ.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-GW.json b/vendor/commerceguys/intl/resources/country/pt-GW.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-GW.json
+++ b/vendor/commerceguys/intl/resources/country/pt-GW.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-LU.json b/vendor/commerceguys/intl/resources/country/pt-LU.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-LU.json
+++ b/vendor/commerceguys/intl/resources/country/pt-LU.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-MO.json b/vendor/commerceguys/intl/resources/country/pt-MO.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-MO.json
+++ b/vendor/commerceguys/intl/resources/country/pt-MO.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-MZ.json b/vendor/commerceguys/intl/resources/country/pt-MZ.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-MZ.json
+++ b/vendor/commerceguys/intl/resources/country/pt-MZ.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-PT.json b/vendor/commerceguys/intl/resources/country/pt-PT.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-PT.json
+++ b/vendor/commerceguys/intl/resources/country/pt-PT.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-ST.json b/vendor/commerceguys/intl/resources/country/pt-ST.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-ST.json
+++ b/vendor/commerceguys/intl/resources/country/pt-ST.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt-TL.json b/vendor/commerceguys/intl/resources/country/pt-TL.json
index 31fddbf1d..dc9c39b88 100644
--- a/vendor/commerceguys/intl/resources/country/pt-TL.json
+++ b/vendor/commerceguys/intl/resources/country/pt-TL.json
@@ -131,6 +131,9 @@
"TD": {
"name": "Chade"
},
+ "CZ": {
+ "name": "Chéquia"
+ },
"CL": {
"name": "Chile"
},
@@ -161,12 +164,12 @@
"KR": {
"name": "Coreia do Sul"
},
- "CI": {
- "name": "Costa do Marfim"
- },
"CR": {
"name": "Costa Rica"
},
+ "CI": {
+ "name": "Côte d’Ivoire (Costa do Marfim)"
+ },
"HR": {
"name": "Croácia"
},
@@ -393,7 +396,7 @@
"name": "Kosovo"
},
"KW": {
- "name": "Kuwait"
+ "name": "Koweit"
},
"LA": {
"name": "Laos"
@@ -507,7 +510,7 @@
"name": "Nigéria"
},
"NU": {
- "name": "Niue"
+ "name": "Niuê"
},
"NO": {
"name": "Noruega"
@@ -564,7 +567,7 @@
"name": "Quirguistão"
},
"KI": {
- "name": "Quiribati"
+ "name": "Quiribáti"
},
"GB": {
"name": "Reino Unido"
@@ -572,9 +575,6 @@
"CF": {
"name": "República Centro-Africana"
},
- "CZ": {
- "name": "República Checa"
- },
"DO": {
"name": "República Dominicana"
},
@@ -590,9 +590,6 @@
"RU": {
"name": "Rússia"
},
- "EH": {
- "name": "Saara Ocidental"
- },
"SV": {
"name": "Salvador"
},
@@ -620,6 +617,9 @@
"MF": {
"name": "São Martinho"
},
+ "SX": {
+ "name": "São Martinho (Sint Maarten)"
+ },
"PM": {
"name": "São Pedro e Miquelão"
},
@@ -629,6 +629,9 @@
"VC": {
"name": "São Vicente e Granadinas"
},
+ "EH": {
+ "name": "Sara Ocidental"
+ },
"SC": {
"name": "Seicheles"
},
@@ -644,9 +647,6 @@
"SG": {
"name": "Singapura"
},
- "SX": {
- "name": "Sint Maarten"
- },
"SY": {
"name": "Síria"
},
diff --git a/vendor/commerceguys/intl/resources/country/pt.json b/vendor/commerceguys/intl/resources/country/pt.json
index 97dd69cfb..7b3ffa3d7 100644
--- a/vendor/commerceguys/intl/resources/country/pt.json
+++ b/vendor/commerceguys/intl/resources/country/pt.json
@@ -107,6 +107,9 @@
"CV": {
"name": "Cabo Verde"
},
+ "CM": {
+ "name": "Camarões"
+ },
"KH": {
"name": "Camboja"
},
@@ -137,9 +140,6 @@
"VA": {
"name": "Cidade do Vaticano"
},
- "SG": {
- "name": "Cingapura"
- },
"CO": {
"name": "Colômbia"
},
@@ -312,7 +312,7 @@
"name": "Ilha Norfolk"
},
"AX": {
- "name": "Ilhas Ã…land"
+ "name": "Ilhas Aland"
},
"IC": {
"name": "Ilhas Canárias"
@@ -353,12 +353,12 @@
"TC": {
"name": "Ilhas Turks e Caicos"
},
+ "VI": {
+ "name": "Ilhas Virgens Americanas"
+ },
"VG": {
"name": "Ilhas Virgens Britânicas"
},
- "VI": {
- "name": "Ilhas Virgens dos EUA"
- },
"IN": {
"name": "Ãndia"
},
@@ -441,7 +441,7 @@
"name": "Malásia"
},
"MW": {
- "name": "Malawi"
+ "name": "Malaui"
},
"MV": {
"name": "Maldivas"
@@ -578,12 +578,6 @@
"DO": {
"name": "República Dominicana"
},
- "CM": {
- "name": "República dos Camarões"
- },
- "CZ": {
- "name": "República Tcheca"
- },
"RE": {
"name": "Reunião"
},
@@ -599,9 +593,6 @@
"EH": {
"name": "Saara Ocidental"
},
- "PM": {
- "name": "Saint Pierre e Miquelon"
- },
"WS": {
"name": "Samoa"
},
@@ -621,11 +612,14 @@
"name": "São Bartolomeu"
},
"KN": {
- "name": "São Cristóvão e Nevis"
+ "name": "São Cristóvão e Névis"
},
"MF": {
"name": "São Martinho"
},
+ "PM": {
+ "name": "São Pedro e Miquelão"
+ },
"ST": {
"name": "São Tomé e Príncipe"
},
@@ -644,6 +638,9 @@
"RS": {
"name": "Sérvia"
},
+ "SG": {
+ "name": "Singapura"
+ },
"SX": {
"name": "Sint Maarten"
},
@@ -677,18 +674,21 @@
"SJ": {
"name": "Svalbard e Jan Mayen"
},
+ "TJ": {
+ "name": "Tadjiquistão"
+ },
"TH": {
"name": "Tailândia"
},
"TW": {
"name": "Taiwan"
},
- "TJ": {
- "name": "Tajiquistão"
- },
"TZ": {
"name": "Tanzânia"
},
+ "CZ": {
+ "name": "Tchéquia"
+ },
"IO": {
"name": "Território Britânico do Oceano Ãndico"
},
diff --git a/vendor/commerceguys/intl/resources/country/qu.json b/vendor/commerceguys/intl/resources/country/qu.json
index 8ecfa3398..f221a304a 100644
--- a/vendor/commerceguys/intl/resources/country/qu.json
+++ b/vendor/commerceguys/intl/resources/country/qu.json
@@ -189,7 +189,7 @@
"name": "Curazao"
},
"CZ": {
- "name": "Czech Republic"
+ "name": "Czechia"
},
"DG": {
"name": "Diego Garcia"
diff --git a/vendor/commerceguys/intl/resources/country/rm.json b/vendor/commerceguys/intl/resources/country/rm.json
index e1fcdaf6f..78555cc07 100644
--- a/vendor/commerceguys/intl/resources/country/rm.json
+++ b/vendor/commerceguys/intl/resources/country/rm.json
@@ -90,7 +90,7 @@
"name": "Botswana"
},
"BR": {
- "name": "Brasila"
+ "name": "Brasilia"
},
"BN": {
"name": "Brunei"
@@ -327,10 +327,10 @@
"name": "Inslas Turks e Caicos"
},
"VI": {
- "name": "Inslas Verginas Americanas"
+ "name": "Inslas Virginas Americanas"
},
"VG": {
- "name": "Inslas Verginas Britannicas"
+ "name": "Inslas Virginas Britannicas"
},
"IQ": {
"name": "Irac"
diff --git a/vendor/commerceguys/intl/resources/country/ro-MD.json b/vendor/commerceguys/intl/resources/country/ro-MD.json
index 87b5a9da5..a0c5787bc 100644
--- a/vendor/commerceguys/intl/resources/country/ro-MD.json
+++ b/vendor/commerceguys/intl/resources/country/ro-MD.json
@@ -113,6 +113,9 @@
"CV": {
"name": "Capul Verde"
},
+ "CZ": {
+ "name": "Cehia"
+ },
"EA": {
"name": "Ceuta și Melilla"
},
@@ -545,9 +548,6 @@
"GB": {
"name": "Regatul Unit"
},
- "CZ": {
- "name": "Republica Cehă"
- },
"CF": {
"name": "Republica Centrafricană"
},
@@ -581,6 +581,9 @@
"VC": {
"name": "Saint Vincent și Grenadinele"
},
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
"PM": {
"name": "Saint-Pierre și Miquelon"
},
@@ -594,7 +597,7 @@
"name": "San Marino"
},
"ST": {
- "name": "Sao Tomé și Príncipe"
+ "name": "Sao Tome și Principe"
},
"SN": {
"name": "Senegal"
@@ -611,9 +614,6 @@
"LC": {
"name": "Sfânta Lucia"
},
- "BL": {
- "name": "Sfântul Bartolomeu"
- },
"MF": {
"name": "Sfântul Martin"
},
diff --git a/vendor/commerceguys/intl/resources/country/ro.json b/vendor/commerceguys/intl/resources/country/ro.json
index db9f3fdf3..eea0b4c10 100644
--- a/vendor/commerceguys/intl/resources/country/ro.json
+++ b/vendor/commerceguys/intl/resources/country/ro.json
@@ -113,6 +113,9 @@
"CV": {
"name": "Capul Verde"
},
+ "CZ": {
+ "name": "Cehia"
+ },
"EA": {
"name": "Ceuta și Melilla"
},
@@ -545,9 +548,6 @@
"GB": {
"name": "Regatul Unit"
},
- "CZ": {
- "name": "Republica Cehă"
- },
"CF": {
"name": "Republica Centrafricană"
},
@@ -581,6 +581,9 @@
"VC": {
"name": "Saint Vincent și Grenadinele"
},
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
"PM": {
"name": "Saint-Pierre și Miquelon"
},
@@ -594,7 +597,7 @@
"name": "San Marino"
},
"ST": {
- "name": "Sao Tomé și Príncipe"
+ "name": "Sao Tome și Principe"
},
"SN": {
"name": "Senegal"
@@ -611,9 +614,6 @@
"LC": {
"name": "Sfânta Lucia"
},
- "BL": {
- "name": "Sfântul Bartolomeu"
- },
"MF": {
"name": "Sfântul Martin"
},
diff --git a/vendor/commerceguys/intl/resources/country/ru-UA.json b/vendor/commerceguys/intl/resources/country/ru-UA.json
index 955727433..e679a630d 100644
--- a/vendor/commerceguys/intl/resources/country/ru-UA.json
+++ b/vendor/commerceguys/intl/resources/country/ru-UA.json
@@ -72,7 +72,7 @@
"name": "Бенин"
},
"BM": {
- "name": "Бермуды"
+ "name": "БермудÑкие о-ва"
},
"BG": {
"name": "БолгариÑ"
@@ -171,7 +171,7 @@
"name": "ГондураÑ"
},
"HK": {
- "name": "Гонконг (Ñпециальный админиÑтративный район)"
+ "name": "Гонконг (СÐР)"
},
"GD": {
"name": "Гренада"
@@ -366,7 +366,7 @@
"name": "Майотта"
},
"MO": {
- "name": "Макао (Ñпециальный админиÑтративный район)"
+ "name": "Макао (СÐР)"
},
"MK": {
"name": "МакедониÑ"
@@ -495,7 +495,7 @@
"name": "Панама"
},
"PG": {
- "name": "Папуа – ÐÐ¾Ð²Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ"
+ "name": "Папуа — ÐÐ¾Ð²Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ"
},
"PY": {
"name": "Парагвай"
@@ -743,12 +743,12 @@
"ET": {
"name": "ЭфиопиÑ"
},
- "ZA": {
- "name": "ЮÐР"
- },
"GS": {
"name": "Ð®Ð¶Ð½Ð°Ñ Ð“ÐµÐ¾Ñ€Ð³Ð¸Ñ Ð¸ Южные Сандвичевы о-ва"
},
+ "ZA": {
+ "name": "Южно-ÐфриканÑÐºÐ°Ñ Ð ÐµÑпублика"
+ },
"SS": {
"name": "Южный Судан"
},
diff --git a/vendor/commerceguys/intl/resources/country/ru.json b/vendor/commerceguys/intl/resources/country/ru.json
index 02bf78db7..d8f112e55 100644
--- a/vendor/commerceguys/intl/resources/country/ru.json
+++ b/vendor/commerceguys/intl/resources/country/ru.json
@@ -72,7 +72,7 @@
"name": "Бенин"
},
"BM": {
- "name": "Бермуды"
+ "name": "БермудÑкие о-ва"
},
"BG": {
"name": "БолгариÑ"
@@ -177,7 +177,7 @@
"name": "ГондураÑ"
},
"HK": {
- "name": "Гонконг (Ñпециальный админиÑтративный район)"
+ "name": "Гонконг (СÐР)"
},
"GD": {
"name": "Гренада"
@@ -372,7 +372,7 @@
"name": "Майотта"
},
"MO": {
- "name": "Макао (Ñпециальный админиÑтративный район)"
+ "name": "Макао (СÐР)"
},
"MK": {
"name": "МакедониÑ"
@@ -498,7 +498,7 @@
"name": "Панама"
},
"PG": {
- "name": "Папуа – ÐÐ¾Ð²Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ"
+ "name": "Папуа — ÐÐ¾Ð²Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ"
},
"PY": {
"name": "Парагвай"
@@ -702,7 +702,7 @@
"name": "ХорватиÑ"
},
"CF": {
- "name": "ЦÐР"
+ "name": "Центрально-ÐфриканÑÐºÐ°Ñ Ð ÐµÑпублика"
},
"TD": {
"name": "Чад"
@@ -743,12 +743,12 @@
"ET": {
"name": "ЭфиопиÑ"
},
- "ZA": {
- "name": "ЮÐР"
- },
"GS": {
"name": "Ð®Ð¶Ð½Ð°Ñ Ð“ÐµÐ¾Ñ€Ð³Ð¸Ñ Ð¸ Южные Сандвичевы о-ва"
},
+ "ZA": {
+ "name": "Южно-ÐфриканÑÐºÐ°Ñ Ð ÐµÑпублика"
+ },
"SS": {
"name": "Южный Судан"
},
diff --git a/vendor/commerceguys/intl/resources/country/sd.json b/vendor/commerceguys/intl/resources/country/sd.json
new file mode 100644
index 000000000..1550d5816
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/sd.json
@@ -0,0 +1,761 @@
+{
+ "IE": {
+ "name": "آئرلينڊ"
+ },
+ "IS": {
+ "name": "آئس لينڊ"
+ },
+ "CI": {
+ "name": "آئيوري ڪنارو"
+ },
+ "AZ": {
+ "name": "آذربائيجان"
+ },
+ "BE": {
+ "name": "آسٽريا"
+ },
+ "AU": {
+ "name": "آسٽريليا"
+ },
+ "AT": {
+ "name": "آشٽريا"
+ },
+ "US": {
+ "name": "آمريڪا جون Ú¯Úيل رياستون"
+ },
+ "UM": {
+ "name": "آمريڪي ٻاهريون ٻيٽ"
+ },
+ "AS": {
+ "name": "آمريڪي ساموا"
+ },
+ "VI": {
+ "name": "آمريڪي ورجن ٻيٽ"
+ },
+ "KP": {
+ "name": "اتر ڪوريا"
+ },
+ "MP": {
+ "name": "اتر مرينا ٻيٽ"
+ },
+ "IT": {
+ "name": "اٽلي"
+ },
+ "AR": {
+ "name": "ارجنٽينا"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AM": {
+ "name": "ارمینیا"
+ },
+ "UZ": {
+ "name": "ازبڪستان"
+ },
+ "ES": {
+ "name": "اسپين"
+ },
+ "IL": {
+ "name": "اسرائيل"
+ },
+ "AF": {
+ "name": "اÙغانستان"
+ },
+ "SV": {
+ "name": "ال سلواڊور"
+ },
+ "AL": {
+ "name": "البانيا"
+ },
+ "DZ": {
+ "name": "الجيريا"
+ },
+ "AX": {
+ "name": "الند ٻيٽ"
+ },
+ "AQ": {
+ "name": "انٽارڪٽيڪا"
+ },
+ "AG": {
+ "name": "انٽيگئا و بربودا"
+ },
+ "AD": {
+ "name": "اندورا"
+ },
+ "ID": {
+ "name": "انڊونيشيا"
+ },
+ "IN": {
+ "name": "انڊيا"
+ },
+ "IM": {
+ "name": "انسانن جو ٻيٽ"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "AI": {
+ "name": "انگويلا"
+ },
+ "EH": {
+ "name": "اولهه صحارا"
+ },
+ "ET": {
+ "name": "ايٿوپيا"
+ },
+ "IR": {
+ "name": "ايران"
+ },
+ "ER": {
+ "name": "ايريٽيريا"
+ },
+ "EE": {
+ "name": "ايسٽونيا"
+ },
+ "EC": {
+ "name": "ايڪواڊور"
+ },
+ "GQ": {
+ "name": "ايڪوٽوريل گائينا"
+ },
+ "BB": {
+ "name": "باربڊوس"
+ },
+ "BH": {
+ "name": "بحرين"
+ },
+ "BR": {
+ "name": "برازيل"
+ },
+ "IO": {
+ "name": "برطانوي هندي سمنڊ خطو"
+ },
+ "VG": {
+ "name": "برطانوي ورجن ٻيٽ"
+ },
+ "GB": {
+ "name": "برطانيه"
+ },
+ "BF": {
+ "name": "برڪينا Ùاسو"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونائي"
+ },
+ "BI": {
+ "name": "برونڊي"
+ },
+ "BG": {
+ "name": "بلغاريا"
+ },
+ "BD": {
+ "name": "بنگلاديش"
+ },
+ "BS": {
+ "name": "بهاماس"
+ },
+ "BW": {
+ "name": "بوٽسوانا"
+ },
+ "BA": {
+ "name": "بوسنیا اور هرزیگوینا"
+ },
+ "BO": {
+ "name": "بوليويا"
+ },
+ "BZ": {
+ "name": "بيليز"
+ },
+ "BJ": {
+ "name": "بينن"
+ },
+ "BY": {
+ "name": "بیلارس"
+ },
+ "PG": {
+ "name": "پاپوا نیو گني"
+ },
+ "PK": {
+ "name": "پاڪستان"
+ },
+ "PN": {
+ "name": "پٽڪئرن ٻيٽ"
+ },
+ "PT": {
+ "name": "پرتگال"
+ },
+ "PW": {
+ "name": "پلائو"
+ },
+ "PA": {
+ "name": "پناما"
+ },
+ "PL": {
+ "name": "پولينڊ"
+ },
+ "PY": {
+ "name": "پيراگوءÙ"
+ },
+ "PE": {
+ "name": "پيرو"
+ },
+ "PR": {
+ "name": "پيوئرٽو ريڪو"
+ },
+ "BT": {
+ "name": "ڀوٽان"
+ },
+ "TW": {
+ "name": "تائیوان"
+ },
+ "TJ": {
+ "name": "تاجڪستان"
+ },
+ "TC": {
+ "name": "ترڪ ۽ ڪيڪوس ٻيٽ"
+ },
+ "TM": {
+ "name": "ترڪمانستان"
+ },
+ "TR": {
+ "name": "ترڪي"
+ },
+ "TZ": {
+ "name": "تنزانيا"
+ },
+ "TV": {
+ "name": "توالو"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TL": {
+ "name": "تيمور ليستي"
+ },
+ "TN": {
+ "name": "تيونيسيا"
+ },
+ "TA": {
+ "name": "ٽرسٽن دا ڪوها"
+ },
+ "TT": {
+ "name": "ٽريني ڊيڊ ۽ ٽوباگو ٻيٽ"
+ },
+ "TK": {
+ "name": "ٽوڪلائو"
+ },
+ "TO": {
+ "name": "ٽونگا"
+ },
+ "TH": {
+ "name": "ٿائيليند"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "GE": {
+ "name": "جارجيا"
+ },
+ "GI": {
+ "name": "جبرالٽر"
+ },
+ "JE": {
+ "name": "جرسي"
+ },
+ "DE": {
+ "name": "جرمني"
+ },
+ "JM": {
+ "name": "جميڪا"
+ },
+ "TD": {
+ "name": "چاڊ"
+ },
+ "CL": {
+ "name": "چلي"
+ },
+ "HU": {
+ "name": "چيڪ جهموريه"
+ },
+ "CZ": {
+ "name": "چيڪيا"
+ },
+ "CN": {
+ "name": "چين"
+ },
+ "DG": {
+ "name": "ڊئيگو گارسيا"
+ },
+ "DJ": {
+ "name": "ڊجبيوتي"
+ },
+ "DM": {
+ "name": "ڊومينيڪا"
+ },
+ "DO": {
+ "name": "ڊومينيڪن جمهوريه"
+ },
+ "DK": {
+ "name": "ڊينمارڪ"
+ },
+ "ZA": {
+ "name": "ÚÚ©Ú» Ø¢Ùريقا"
+ },
+ "GS": {
+ "name": "ÚÚ©Ú» جارجيا Û½ ÚÚ©Ú» سينڊوچ ٻيٽ"
+ },
+ "SS": {
+ "name": "ÚÚ©Ú» سوڊان"
+ },
+ "KR": {
+ "name": "ÚÚ©Ú» ڪوريا"
+ },
+ "RW": {
+ "name": "روانڊا"
+ },
+ "RU": {
+ "name": "روس"
+ },
+ "RO": {
+ "name": "رومانيا"
+ },
+ "RE": {
+ "name": "ري يونين"
+ },
+ "ZW": {
+ "name": "زمبابوي"
+ },
+ "ZM": {
+ "name": "زيمبيا"
+ },
+ "CH": {
+ "name": "سئيٽرزلينڊ"
+ },
+ "CY": {
+ "name": "سائپرس"
+ },
+ "ST": {
+ "name": "سائو ٽوم ۽ پرنسپیي"
+ },
+ "RS": {
+ "name": "سربيا"
+ },
+ "LK": {
+ "name": "سري لنڪا"
+ },
+ "SA": {
+ "name": "سعودی عرب"
+ },
+ "SK": {
+ "name": "سلوواڪيا"
+ },
+ "SI": {
+ "name": "سلوینیا"
+ },
+ "WS": {
+ "name": "سموئا"
+ },
+ "SX": {
+ "name": "سنٽ مارٽن"
+ },
+ "SE": {
+ "name": "سوئيڊن"
+ },
+ "SZ": {
+ "name": "سوازيلينڊ"
+ },
+ "SJ": {
+ "name": "سوالبارڊ ۽ جان ماین"
+ },
+ "SD": {
+ "name": "سوڊان"
+ },
+ "SR": {
+ "name": "سورينام"
+ },
+ "SB": {
+ "name": "سولومون ٻيٽَ"
+ },
+ "SO": {
+ "name": "سوماليا"
+ },
+ "SL": {
+ "name": "سيرا ليون"
+ },
+ "KN": {
+ "name": "سينٽ ڪٽس و نيوس"
+ },
+ "LC": {
+ "name": "سينٽ لوسيا"
+ },
+ "MF": {
+ "name": "سينٽ مارٽن"
+ },
+ "SH": {
+ "name": "سينٽ ھيلينا"
+ },
+ "SG": {
+ "name": "سينگاپور"
+ },
+ "SN": {
+ "name": "سينيگال"
+ },
+ "SM": {
+ "name": "سین مرینو"
+ },
+ "BL": {
+ "name": "سینٽ برٿلیمی"
+ },
+ "PM": {
+ "name": "سینٽ پیئر و میڪوئیلون"
+ },
+ "VC": {
+ "name": "سینٽ ونسنت ۽ گریناڊینز"
+ },
+ "EA": {
+ "name": "سیوٽا ۽ میلیلا"
+ },
+ "SY": {
+ "name": "شام"
+ },
+ "SC": {
+ "name": "شي شلز"
+ },
+ "AC": {
+ "name": "طلوع ٻيٽ"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "AW": {
+ "name": "عروبا"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "FO": {
+ "name": "Ùارو ٻيٽ"
+ },
+ "FK": {
+ "name": "Ùاڪ لينڊ ٻيٽ"
+ },
+ "FJ": {
+ "name": "Ùجي"
+ },
+ "FR": {
+ "name": "Ùرانس"
+ },
+ "PF": {
+ "name": "Ùرانسيسي پولينيشيا"
+ },
+ "TF": {
+ "name": "Ùرانسيسي Úاکڻي علائقا"
+ },
+ "GF": {
+ "name": "Ùرانسيسي گيانا"
+ },
+ "PH": {
+ "name": "Ùلپائن"
+ },
+ "PS": {
+ "name": "Ùلسطینی"
+ },
+ "FI": {
+ "name": "ÙÙ† لينڊ"
+ },
+ "KZ": {
+ "name": "قازقستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "CA": {
+ "name": "ڪئناڊا"
+ },
+ "CG": {
+ "name": "ڪانگو - برازاویل"
+ },
+ "CD": {
+ "name": "ڪانگو -ڪنشاسا"
+ },
+ "KI": {
+ "name": "ڪرباتي"
+ },
+ "CX": {
+ "name": "ڪرسمس ٻيٽ"
+ },
+ "KG": {
+ "name": "ڪرغستان"
+ },
+ "HR": {
+ "name": "ڪروئيشيا"
+ },
+ "KH": {
+ "name": "ڪمبوڊيا"
+ },
+ "CR": {
+ "name": "ڪوسٽا رڪا"
+ },
+ "XK": {
+ "name": "ڪوسووو"
+ },
+ "CK": {
+ "name": "ڪوڪ ٻيٽ"
+ },
+ "CC": {
+ "name": "ڪوڪوس ٻيٽ"
+ },
+ "CO": {
+ "name": "ڪولمبيا"
+ },
+ "KM": {
+ "name": "ڪوموروس"
+ },
+ "KW": {
+ "name": "ڪويت"
+ },
+ "KY": {
+ "name": "ڪي مين ٻيٽ"
+ },
+ "CV": {
+ "name": "ڪيپ وردي"
+ },
+ "BQ": {
+ "name": "ڪيريبين نيدرلينڊ"
+ },
+ "CM": {
+ "name": "ڪيمرون"
+ },
+ "IC": {
+ "name": "ڪينري ٻيٽ"
+ },
+ "KE": {
+ "name": "ڪينيا"
+ },
+ "CU": {
+ "name": "ڪيوبا"
+ },
+ "CW": {
+ "name": "ڪيوراسائو"
+ },
+ "GA": {
+ "name": "گبون"
+ },
+ "GL": {
+ "name": "گرين لينڊ"
+ },
+ "GD": {
+ "name": "گرينڊا"
+ },
+ "GN": {
+ "name": "گني"
+ },
+ "GW": {
+ "name": "گني بسائو"
+ },
+ "GH": {
+ "name": "گهانا"
+ },
+ "GT": {
+ "name": "گوئٽي مالا"
+ },
+ "GP": {
+ "name": "گواڊیلوپ"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GG": {
+ "name": "گورنسي"
+ },
+ "GY": {
+ "name": "گيانا"
+ },
+ "GM": {
+ "name": "گيمبيا"
+ },
+ "LR": {
+ "name": "لائبیریا"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LV": {
+ "name": "لاتويا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LY": {
+ "name": "لبيا"
+ },
+ "LT": {
+ "name": "لٿونيا"
+ },
+ "LI": {
+ "name": "لچي ٽينسٽين"
+ },
+ "LS": {
+ "name": "ليسوٿو"
+ },
+ "LU": {
+ "name": "لیگزمبرگ"
+ },
+ "FM": {
+ "name": "مائڪرونيشيا"
+ },
+ "MQ": {
+ "name": "مارتينڪ"
+ },
+ "MH": {
+ "name": "مارشل ڀيٽ"
+ },
+ "MW": {
+ "name": "مالاوي"
+ },
+ "MT": {
+ "name": "مالٽا"
+ },
+ "MD": {
+ "name": "مالدووا"
+ },
+ "MV": {
+ "name": "مالديپ"
+ },
+ "ML": {
+ "name": "مالي"
+ },
+ "AE": {
+ "name": "متحده عرب امارات"
+ },
+ "MG": {
+ "name": "مداگيسڪر"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MO": {
+ "name": "مڪائو"
+ },
+ "MY": {
+ "name": "ملائيشيا"
+ },
+ "MN": {
+ "name": "منگوليا"
+ },
+ "MA": {
+ "name": "موروڪو"
+ },
+ "MR": {
+ "name": "موريتانيا"
+ },
+ "MU": {
+ "name": "موريشس"
+ },
+ "MZ": {
+ "name": "موزمبیق"
+ },
+ "MC": {
+ "name": "موناڪو"
+ },
+ "MS": {
+ "name": "مونٽسراٽ"
+ },
+ "ME": {
+ "name": "مونٽي نيگرو"
+ },
+ "YT": {
+ "name": "مياتي"
+ },
+ "MM": {
+ "name": "ميانمار (برما)"
+ },
+ "MK": {
+ "name": "ميسي ڊونيا"
+ },
+ "MX": {
+ "name": "ميڪسيڪو"
+ },
+ "NR": {
+ "name": "نائورو"
+ },
+ "NE": {
+ "name": "نائيجر"
+ },
+ "NG": {
+ "name": "نائيجيريا"
+ },
+ "NO": {
+ "name": "ناروي"
+ },
+ "NI": {
+ "name": "نڪراگوا"
+ },
+ "NF": {
+ "name": "نورÙÙˆÚª ٻيٽ"
+ },
+ "NU": {
+ "name": "نووي"
+ },
+ "NP": {
+ "name": "نيپال"
+ },
+ "NL": {
+ "name": "نيدرلينڊ"
+ },
+ "NA": {
+ "name": "نيميبيا"
+ },
+ "NZ": {
+ "name": "نيو زيلينڊ"
+ },
+ "NC": {
+ "name": "نیو ڪالیڊونیا"
+ },
+ "HK": {
+ "name": "هانگ ڪانگ"
+ },
+ "HN": {
+ "name": "هنڊورس"
+ },
+ "HT": {
+ "name": "هيٽي"
+ },
+ "WF": {
+ "name": "والس Û½ Ùتونا"
+ },
+ "CF": {
+ "name": "ÙˆÚ† Ø¢Ùريقي جمهوريه"
+ },
+ "VN": {
+ "name": "ويتنام"
+ },
+ "VA": {
+ "name": "ويٽڪين سٽي"
+ },
+ "VE": {
+ "name": "وينزيلا"
+ },
+ "VU": {
+ "name": "وينيٽيو"
+ },
+ "YE": {
+ "name": "يمن"
+ },
+ "UY": {
+ "name": "يوروگوءÙ"
+ },
+ "UA": {
+ "name": "يوڪرين"
+ },
+ "UG": {
+ "name": "يوگنڊا"
+ },
+ "GR": {
+ "name": "يونان"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/si.json b/vendor/commerceguys/intl/resources/country/si.json
index 2ea5146e6..c4f06049c 100644
--- a/vendor/commerceguys/intl/resources/country/si.json
+++ b/vendor/commerceguys/intl/resources/country/si.json
@@ -9,7 +9,7 @@
"name": "අයිස්ලන්තය"
},
"AW": {
- "name": "අරුබà·à·€"
+ "name": "අරූබà·"
},
"AZ": {
"name": "අසර්බයිජà·à¶±à¶º"
@@ -456,7 +456,7 @@
"name": "බහරේන්"
},
"BB": {
- "name": "බà·à¶»à·Šà¶¶à¶©à·à·ƒà·Š"
+ "name": "බà·à¶¶à¶©à·à·ƒà·Š"
},
"BI": {
"name": "බුරුන්දි"
diff --git a/vendor/commerceguys/intl/resources/country/sk.json b/vendor/commerceguys/intl/resources/country/sk.json
index cc90416be..1d305bf0d 100644
--- a/vendor/commerceguys/intl/resources/country/sk.json
+++ b/vendor/commerceguys/intl/resources/country/sk.json
@@ -126,7 +126,7 @@
"name": "ÄŒad"
},
"CZ": {
- "name": "Česká republika"
+ "name": "ÄŒesko"
},
"ME": {
"name": "ÄŒierna Hora"
@@ -183,7 +183,7 @@
"name": "Fínsko"
},
"GF": {
- "name": "Francúzska Guayana"
+ "name": "Francúzska Guyana"
},
"PF": {
"name": "Francúzska Polynézia"
@@ -227,9 +227,6 @@
"GT": {
"name": "Guatemala"
},
- "GY": {
- "name": "Guayana"
- },
"GG": {
"name": "Guernsey"
},
@@ -239,6 +236,9 @@
"GW": {
"name": "Guinea-Bissau"
},
+ "GY": {
+ "name": "Guyana"
+ },
"HT": {
"name": "Haiti"
},
@@ -519,7 +519,7 @@
"name": "Panama"
},
"PG": {
- "name": "Papua Nová Guinea"
+ "name": "Papua-Nová Guinea"
},
"PY": {
"name": "Paraguaj"
diff --git a/vendor/commerceguys/intl/resources/country/sl.json b/vendor/commerceguys/intl/resources/country/sl.json
index 2855bc52c..70527ff4a 100644
--- a/vendor/commerceguys/intl/resources/country/sl.json
+++ b/vendor/commerceguys/intl/resources/country/sl.json
@@ -227,15 +227,15 @@
"GE": {
"name": "Gruzija"
},
+ "GP": {
+ "name": "Guadeloupe"
+ },
"GU": {
"name": "Guam"
},
"GG": {
"name": "Guernsey"
},
- "GP": {
- "name": "Gvadalupe"
- },
"GY": {
"name": "Gvajana"
},
diff --git a/vendor/commerceguys/intl/resources/country/sq.json b/vendor/commerceguys/intl/resources/country/sq.json
index 95e46c4ac..b0412a837 100644
--- a/vendor/commerceguys/intl/resources/country/sq.json
+++ b/vendor/commerceguys/intl/resources/country/sq.json
@@ -104,6 +104,9 @@
"TD": {
"name": "Çad"
},
+ "CZ": {
+ "name": "Çeki"
+ },
"DK": {
"name": "Danimarkë"
},
@@ -185,6 +188,9 @@
"GW": {
"name": "Guine-Bisau"
},
+ "PG": {
+ "name": "Guineja e Re-Papua"
+ },
"GQ": {
"name": "Guineja Ekuatoriale"
},
@@ -233,12 +239,12 @@
"MP": {
"name": "Ishujt e Marianës Veriore"
},
- "VI": {
- "name": "Ishujt e Virgjër Amerikanë"
- },
"VG": {
"name": "Ishujt e Virgjër Britanikë"
},
+ "VI": {
+ "name": "Ishujt e Virgjër të SHBA-së"
+ },
"FK": {
"name": "Ishujt Falkland"
},
@@ -261,7 +267,7 @@
"name": "Ishujt Marshall"
},
"UM": {
- "name": "Ishujt periferikë të SHBA-së"
+ "name": "Ishujt Periferikë të SHBA-së"
},
"PN": {
"name": "Ishujt Pitkern"
@@ -503,9 +509,6 @@
"PA": {
"name": "Panama"
},
- "PG": {
- "name": "Papua Guineja e Re"
- },
"PY": {
"name": "Paraguai"
},
@@ -527,18 +530,21 @@
"CY": {
"name": "Qipro"
},
- "CF": {
- "name": "Repubika e Afrikës Qendrore"
- },
- "CZ": {
- "name": "Republika Çeke"
- },
"DO": {
"name": "Republika Dominikane"
},
+ "CF": {
+ "name": "Republika e Afrikës Qendrore"
+ },
"RE": {
"name": "Reunion"
},
+ "HK": {
+ "name": "RPA i Hong-Kongut"
+ },
+ "MO": {
+ "name": "RPA i Makaos"
+ },
"RW": {
"name": "Ruandë"
},
@@ -548,12 +554,6 @@
"RU": {
"name": "Rusi"
},
- "HK": {
- "name": "RVAK i Hong Kongut"
- },
- "MO": {
- "name": "RVAK i Makaos"
- },
"EH": {
"name": "Saharaja Perëndimore"
},
@@ -570,7 +570,7 @@
"name": "San-Marino"
},
"ST": {
- "name": "Sao-Tome e Prinsipe"
+ "name": "Sao Tome dhe Principe"
},
"SC": {
"name": "Sejshelle"
@@ -588,7 +588,7 @@
"name": "Singapor"
},
"SX": {
- "name": "Sint Marten"
+ "name": "Sint-Marten"
},
"SY": {
"name": "Siri"
@@ -621,7 +621,7 @@
"name": "Surinami"
},
"SJ": {
- "name": "Svalbard e Jan-Majen"
+ "name": "Svalbard dhe Jan-Majen"
},
"SZ": {
"name": "Svazilandë"
@@ -629,24 +629,24 @@
"BL": {
"name": "Shën Bartolomeu"
},
- "KN": {
- "name": "Shën Kits dhe Nevis"
- },
"PM": {
"name": "Shën Pier dhe Mikelon"
},
- "VC": {
- "name": "Shën Vincent dhe Grenadine"
- },
"SH": {
"name": "Shën-Helenë"
},
+ "KN": {
+ "name": "Shën-Kits dhe Nevis"
+ },
"LC": {
"name": "Shën-Luçia"
},
"MF": {
"name": "Shën-Martin"
},
+ "VC": {
+ "name": "Shën-Vincent dhe Grenadine"
+ },
"AL": {
"name": "Shqipëri"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json b/vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json
index 0161e3a6d..5ade7ae1e 100644
--- a/vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json
+++ b/vendor/commerceguys/intl/resources/country/sr-Cyrl-BA.json
@@ -560,6 +560,9 @@
"LC": {
"name": "Света Луција"
},
+ "BL": {
+ "name": "Свети Бартоломеј"
+ },
"VC": {
"name": "Свети ВинÑент и Гренадини"
},
@@ -584,9 +587,6 @@
"SC": {
"name": "Сејшели"
},
- "BL": {
- "name": "Сен Бартелеми"
- },
"SN": {
"name": "Сенегал"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json b/vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json
index e1991477a..6c0505219 100644
--- a/vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json
+++ b/vendor/commerceguys/intl/resources/country/sr-Cyrl-ME.json
@@ -560,6 +560,9 @@
"LC": {
"name": "Света Луција"
},
+ "BL": {
+ "name": "Свети Бартоломеј"
+ },
"VC": {
"name": "Свети ВинÑент и Гренадини"
},
@@ -584,9 +587,6 @@
"SC": {
"name": "Сејшели"
},
- "BL": {
- "name": "Сен Бартелеми"
- },
"SN": {
"name": "Сенегал"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json b/vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json
index 39e79d275..650d21335 100644
--- a/vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json
+++ b/vendor/commerceguys/intl/resources/country/sr-Cyrl-XK.json
@@ -560,6 +560,9 @@
"LC": {
"name": "Света Луција"
},
+ "BL": {
+ "name": "Свети Бартоломеј"
+ },
"VC": {
"name": "Свети ВинÑент и Гренадини"
},
@@ -584,9 +587,6 @@
"SC": {
"name": "Сејшели"
},
- "BL": {
- "name": "Сен Бартелеми"
- },
"SN": {
"name": "Сенегал"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn-BA.json b/vendor/commerceguys/intl/resources/country/sr-Latn-BA.json
index 9c4259ab5..068ce319d 100644
--- a/vendor/commerceguys/intl/resources/country/sr-Latn-BA.json
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn-BA.json
@@ -587,9 +587,6 @@
"SC": {
"name": "Sejšeli"
},
- "BL": {
- "name": "Sen Bartelemi"
- },
"SN": {
"name": "Senegal"
},
@@ -647,6 +644,9 @@
"LC": {
"name": "Sveta Lucija"
},
+ "BL": {
+ "name": "Sveti Bartolomej"
+ },
"KN": {
"name": "Sveti Kits i Nevis"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn-ME.json b/vendor/commerceguys/intl/resources/country/sr-Latn-ME.json
index bf4b909fd..c90be4f71 100644
--- a/vendor/commerceguys/intl/resources/country/sr-Latn-ME.json
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn-ME.json
@@ -584,9 +584,6 @@
"SC": {
"name": "Sejšeli"
},
- "BL": {
- "name": "Sen Bartelemi"
- },
"SN": {
"name": "Senegal"
},
@@ -644,6 +641,9 @@
"LC": {
"name": "Sveta Lucija"
},
+ "BL": {
+ "name": "Sveti Bartolomej"
+ },
"KN": {
"name": "Sveti Kits i Nevis"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn-XK.json b/vendor/commerceguys/intl/resources/country/sr-Latn-XK.json
index 77c09bc39..7660b096a 100644
--- a/vendor/commerceguys/intl/resources/country/sr-Latn-XK.json
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn-XK.json
@@ -587,9 +587,6 @@
"SC": {
"name": "Sejšeli"
},
- "BL": {
- "name": "Sen Bartelemi"
- },
"SN": {
"name": "Senegal"
},
@@ -647,6 +644,9 @@
"LC": {
"name": "Sveta Lucija"
},
+ "BL": {
+ "name": "Sveti Bartolomej"
+ },
"KN": {
"name": "Sveti Kits i Nevis"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr-Latn.json b/vendor/commerceguys/intl/resources/country/sr-Latn.json
index 60978a084..725ba304c 100644
--- a/vendor/commerceguys/intl/resources/country/sr-Latn.json
+++ b/vendor/commerceguys/intl/resources/country/sr-Latn.json
@@ -260,9 +260,6 @@
"IS": {
"name": "Island"
},
- "TL": {
- "name": "IstoÄni Timor"
- },
"IT": {
"name": "Italija"
},
@@ -495,7 +492,7 @@
"name": "Novi Zeland"
},
"CI": {
- "name": "Obala SlonovaÄe"
+ "name": "Obala SlonovaÄe (Kot d’Ivoar)"
},
"AX": {
"name": "Olandska Ostrva"
@@ -584,9 +581,6 @@
"SC": {
"name": "Sejšeli"
},
- "BL": {
- "name": "Sen Bartelemi"
- },
"PM": {
"name": "Sen Pjer i Mikelon"
},
@@ -653,6 +647,9 @@
"LC": {
"name": "Sveta Lucija"
},
+ "BL": {
+ "name": "Sveti Bartolomej"
+ },
"MF": {
"name": "Sveti Martin (Francuska)"
},
@@ -683,6 +680,9 @@
"TZ": {
"name": "Tanzanija"
},
+ "TL": {
+ "name": "Timor-Leste (IstoÄni Timor)"
+ },
"TG": {
"name": "Togo"
},
diff --git a/vendor/commerceguys/intl/resources/country/sr.json b/vendor/commerceguys/intl/resources/country/sr.json
index afa92fbae..ca76705db 100644
--- a/vendor/commerceguys/intl/resources/country/sr.json
+++ b/vendor/commerceguys/intl/resources/country/sr.json
@@ -230,9 +230,6 @@
"IS": {
"name": "ИÑланд"
},
- "TL": {
- "name": "ИÑточни Тимор"
- },
"IT": {
"name": "Италија"
},
@@ -462,7 +459,7 @@
"name": "Ðорвешка"
},
"CI": {
- "name": "Обала Слоноваче"
+ "name": "Обала Слоноваче (Кот д’Ивоар)"
},
"AX": {
"name": "ОландÑка ОÑтрва"
@@ -560,6 +557,9 @@
"LC": {
"name": "Света Луција"
},
+ "BL": {
+ "name": "Свети Бартоломеј"
+ },
"MF": {
"name": "Свети Мартин (ФранцуÑка)"
},
@@ -575,9 +575,6 @@
"SC": {
"name": "Сејшели"
},
- "BL": {
- "name": "Сен Бартелеми"
- },
"PM": {
"name": "Сен Пјер и Микелон"
},
@@ -638,6 +635,9 @@
"TJ": {
"name": "ТаџикиÑтан"
},
+ "TL": {
+ "name": "Тимор-ЛеÑте (ИÑточни Тимор)"
+ },
"TG": {
"name": "Того"
},
diff --git a/vendor/commerceguys/intl/resources/country/sv.json b/vendor/commerceguys/intl/resources/country/sv.json
index e501865cd..037904b48 100644
--- a/vendor/commerceguys/intl/resources/country/sv.json
+++ b/vendor/commerceguys/intl/resources/country/sv.json
@@ -252,7 +252,7 @@
"name": "Honduras"
},
"HK": {
- "name": "Hongkong, S.A.R. Kina"
+ "name": "Hongkong"
},
"IN": {
"name": "Indien"
@@ -384,7 +384,7 @@
"name": "Luxemburg"
},
"MO": {
- "name": "Macao, S.A.R. Kina"
+ "name": "Macao"
},
"MG": {
"name": "Madagaskar"
diff --git a/vendor/commerceguys/intl/resources/country/sw-CD.json b/vendor/commerceguys/intl/resources/country/sw-CD.json
index 0ecd33e6c..ec2e3232c 100644
--- a/vendor/commerceguys/intl/resources/country/sw-CD.json
+++ b/vendor/commerceguys/intl/resources/country/sw-CD.json
@@ -18,7 +18,7 @@
"name": "Aljeria"
},
"AD": {
- "name": "Andora"
+ "name": "Andorra"
},
"AO": {
"name": "Angola"
@@ -27,7 +27,7 @@
"name": "Anguilla"
},
"AQ": {
- "name": "Antaktika"
+ "name": "Antaktiki"
},
"AG": {
"name": "Antigua na Barbuda"
@@ -63,7 +63,7 @@
"name": "Bangladeshi"
},
"BY": {
- "name": "Belarusi"
+ "name": "Belarus"
},
"BZ": {
"name": "Belize"
@@ -87,7 +87,7 @@
"name": "Botswana"
},
"BR": {
- "name": "Brazili"
+ "name": "Brazil"
},
"BN": {
"name": "Brunei"
@@ -110,11 +110,17 @@
"TD": {
"name": "Chadi"
},
+ "CZ": {
+ "name": "Chechia"
+ },
"CL": {
"name": "Chile"
},
- "CN": {
- "name": "China"
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curacao"
},
"DK": {
"name": "Denmaki"
@@ -126,10 +132,10 @@
"name": "Dominika"
},
"EC": {
- "name": "Ekwado"
+ "name": "Ecuador"
},
"SV": {
- "name": "Elsavado"
+ "name": "El Salvador"
},
"IO": {
"name": "Eneo la Uingereza katika Bahari Hindi"
@@ -155,24 +161,27 @@
"GM": {
"name": "Gambia"
},
+ "GS": {
+ "name": "Georgia Kusini na Visiwa vya Sandwich Kusini"
+ },
"GH": {
"name": "Ghana"
},
+ "GI": {
+ "name": "Gibraltar"
+ },
"GN": {
"name": "Gine"
},
"GW": {
"name": "Ginebisau"
},
- "GQ": {
- "name": "Ginekweta"
+ "GL": {
+ "name": "Greenland"
},
"GD": {
"name": "Grenada"
},
- "GL": {
- "name": "Grinlandi"
- },
"GP": {
"name": "Guadeloupe"
},
@@ -185,20 +194,20 @@
"GG": {
"name": "Guernsey"
},
+ "GF": {
+ "name": "Guiana ya Ufaransa"
+ },
+ "GQ": {
+ "name": "Guinea ya Ikweta"
+ },
"GY": {
"name": "Guyana"
},
- "GF": {
- "name": "Gwiyana ya Ufaransa"
- },
"HT": {
"name": "Haiti"
},
- "ES": {
- "name": "Hispania"
- },
"HN": {
- "name": "Hondurasi"
+ "name": "Honduras"
},
"HK": {
"name": "Hong Kong SAR China"
@@ -233,9 +242,6 @@
"CF": {
"name": "Jamhuri ya Afrika ya Kati"
},
- "CZ": {
- "name": "Jamhuri ya Cheki"
- },
"DO": {
"name": "Jamhuri ya Dominika"
},
@@ -248,18 +254,12 @@
"JE": {
"name": "Jersey"
},
- "GI": {
- "name": "Jibralta"
- },
"DJ": {
"name": "Jibuti"
},
"GE": {
"name": "Jojia"
},
- "GS": {
- "name": "Jojia Kusini na Visiwa vya Sandwich Kusini"
- },
"KH": {
"name": "Kambodia"
},
@@ -320,17 +320,11 @@
"HR": {
"name": "Kroeshia"
},
- "CU": {
- "name": "Kuba"
- },
- "CW": {
- "name": "Kurakao"
- },
"KW": {
"name": "Kuwait"
},
"LA": {
- "name": "Laosi"
+ "name": "Laos"
},
"LU": {
"name": "Lasembagi"
@@ -390,7 +384,7 @@
"name": "Marekani"
},
"MQ": {
- "name": "Martiniki"
+ "name": "Martinique"
},
"YT": {
"name": "Mayotte"
@@ -399,16 +393,19 @@
"name": "Meksiko"
},
"FM": {
- "name": "Mikronesia"
+ "name": "Micronesia"
},
"EG": {
"name": "Misri"
},
+ "VA": {
+ "name": "Mji wa Vatican"
+ },
"MD": {
"name": "Moldova"
},
"MC": {
- "name": "Monako"
+ "name": "Monaco"
},
"MN": {
"name": "Mongolia"
@@ -417,7 +414,7 @@
"name": "Montenegro"
},
"MS": {
- "name": "Montserrati"
+ "name": "Montserrat"
},
"MU": {
"name": "Morisi"
@@ -443,6 +440,9 @@
"NP": {
"name": "Nepali"
},
+ "NC": {
+ "name": "New Caledonia"
+ },
"NE": {
"name": "Nijeri"
},
@@ -458,9 +458,6 @@
"NO": {
"name": "Norwe"
},
- "NC": {
- "name": "Nyukaledonia"
- },
"NZ": {
"name": "Nyuzilandi"
},
@@ -480,22 +477,22 @@
"name": "Papua New Guinea"
},
"PY": {
- "name": "Paragwai"
+ "name": "Paraguay"
},
"PE": {
"name": "Peru"
},
"PL": {
- "name": "Polandi"
+ "name": "Poland"
},
"PF": {
- "name": "Polinesia ya Ufaransa"
+ "name": "Polynesia ya Ufaransa"
},
"PR": {
"name": "Puetoriko"
},
"RE": {
- "name": "Riyunioni"
+ "name": "Reunion"
},
"RO": {
"name": "Romania"
@@ -506,9 +503,6 @@
"EH": {
"name": "Sahara Magharibi"
},
- "MF": {
- "name": "Saint Martin"
- },
"CY": {
"name": "Saiprasi"
},
@@ -521,24 +515,9 @@
"SM": {
"name": "San Marino"
},
- "BL": {
- "name": "Santabathelemi"
- },
- "SH": {
- "name": "Santahelena"
- },
- "KN": {
- "name": "Santakitzi na Nevis"
- },
- "LC": {
- "name": "Santalusia"
- },
"PM": {
"name": "Santapierre na Miquelon"
},
- "VC": {
- "name": "Santavisenti na Grenadini"
- },
"ST": {
"name": "Sao Tome na Prinsipe"
},
@@ -572,6 +551,24 @@
"LK": {
"name": "Sri Lanka"
},
+ "BL": {
+ "name": "St. Barthelemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts na Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "VC": {
+ "name": "St. Vincent na Grenadines"
+ },
"SS": {
"name": "Sudan Kusini"
},
@@ -579,7 +576,7 @@
"name": "Sudani"
},
"SR": {
- "name": "Surinamu"
+ "name": "Suriname"
},
"SJ": {
"name": "Svalbard na Jan Mayen"
@@ -621,7 +618,7 @@
"name": "Tunisia"
},
"TM": {
- "name": "Turukimenistani"
+ "name": "Turkmenistan"
},
"TV": {
"name": "Tuvalu"
@@ -629,6 +626,9 @@
"BE": {
"name": "Ubelgiji"
},
+ "CN": {
+ "name": "Uchina"
+ },
"FR": {
"name": "Ufaransa"
},
@@ -644,6 +644,9 @@
"GR": {
"name": "Ugiriki"
},
+ "ES": {
+ "name": "Uhispania"
+ },
"NL": {
"name": "Uholanzi"
},
@@ -663,7 +666,7 @@
"name": "Ureno"
},
"UY": {
- "name": "Urugwai"
+ "name": "Uruguay"
},
"RU": {
"name": "Urusi"
@@ -689,9 +692,6 @@
"VU": {
"name": "Vanuatu"
},
- "VA": {
- "name": "Vatikani"
- },
"VE": {
"name": "Venezuela"
},
@@ -702,7 +702,10 @@
"name": "Visiwa Vidogo vya Nje vya Marekani"
},
"AX": {
- "name": "Visiwa vya Alandi"
+ "name": "Visiwa vya Aland"
+ },
+ "KY": {
+ "name": "Visiwa vya Cayman"
},
"CC": {
"name": "Visiwa vya Cocos (Keeling)"
@@ -719,9 +722,6 @@
"IC": {
"name": "Visiwa vya Kanari"
},
- "KY": {
- "name": "Visiwa vya Kayman"
- },
"MP": {
"name": "Visiwa vya Mariana vya Kaskazini"
},
@@ -735,16 +735,16 @@
"name": "Visiwa vya Solomon"
},
"TC": {
- "name": "Visiwa vya Turki na Kaiko"
+ "name": "Visiwa vya Turks na Caicos"
},
"VI": {
- "name": "Visiwa vya Virgin vya Marekani"
+ "name": "Visiwa vya Virgin, Marekani"
},
"VG": {
- "name": "Visiwa vya Virgin vya Uingereza"
+ "name": "Visiwa vya Virgin, Uingereza"
},
"WF": {
- "name": "Walis na Futuna"
+ "name": "Wallis na Futuna"
},
"YE": {
"name": "Yemeni"
diff --git a/vendor/commerceguys/intl/resources/country/sw-KE.json b/vendor/commerceguys/intl/resources/country/sw-KE.json
index bcd7a4003..188441450 100644
--- a/vendor/commerceguys/intl/resources/country/sw-KE.json
+++ b/vendor/commerceguys/intl/resources/country/sw-KE.json
@@ -18,7 +18,7 @@
"name": "Aljeria"
},
"AD": {
- "name": "Andora"
+ "name": "Andorra"
},
"AO": {
"name": "Angola"
@@ -63,7 +63,7 @@
"name": "Bangladeshi"
},
"BY": {
- "name": "Belarusi"
+ "name": "Belarus"
},
"BZ": {
"name": "Belize"
@@ -87,7 +87,7 @@
"name": "Botswana"
},
"BR": {
- "name": "Brazili"
+ "name": "Brazil"
},
"BN": {
"name": "Brunei"
@@ -110,11 +110,20 @@
"TD": {
"name": "Chadi"
},
+ "CZ": {
+ "name": "Chechia"
+ },
"CL": {
"name": "Chile"
},
- "CN": {
- "name": "China"
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curacao"
},
"DK": {
"name": "Denmark"
@@ -126,10 +135,10 @@
"name": "Dominika"
},
"EC": {
- "name": "Ekwado"
+ "name": "Ecuador"
},
"SV": {
- "name": "Elsavado"
+ "name": "El Salvador"
},
"IO": {
"name": "Eneo la Uingereza katika Bahari Hindi"
@@ -155,24 +164,27 @@
"GM": {
"name": "Gambia"
},
+ "GS": {
+ "name": "Georgia Kusini na Visiwa vya Sandwich Kusini"
+ },
"GH": {
"name": "Ghana"
},
+ "GI": {
+ "name": "Gibraltar"
+ },
"GN": {
"name": "Gine"
},
"GW": {
"name": "Ginebisau"
},
- "GQ": {
- "name": "Ginekweta"
+ "GL": {
+ "name": "Greenland"
},
"GD": {
"name": "Grenada"
},
- "GL": {
- "name": "Grinlandi"
- },
"GU": {
"name": "Guam"
},
@@ -182,23 +194,23 @@
"GG": {
"name": "Guernsey"
},
+ "GF": {
+ "name": "Guiana ya Ufaransa"
+ },
+ "GQ": {
+ "name": "Guinea ya Ikweta"
+ },
"GY": {
"name": "Guyana"
},
"GP": {
"name": "Gwadelupe"
},
- "GF": {
- "name": "Gwiyana ya Ufaransa"
- },
"HT": {
"name": "Haiti"
},
- "ES": {
- "name": "Hispania"
- },
"HN": {
- "name": "Hondurasi"
+ "name": "Honduras"
},
"HK": {
"name": "Hong Kong SAR China"
@@ -236,9 +248,6 @@
"CF": {
"name": "Jamhuri ya Afrika ya Kati"
},
- "CZ": {
- "name": "Jamhuri ya Cheki"
- },
"DO": {
"name": "Jamhuri ya Dominika"
},
@@ -251,18 +260,12 @@
"JE": {
"name": "Jersey"
},
- "GI": {
- "name": "Jibralta"
- },
"DJ": {
"name": "Jibuti"
},
"GE": {
"name": "Jojia"
},
- "GS": {
- "name": "Jojia Kusini na Visiwa vya Sandwich Kusini"
- },
"KH": {
"name": "Kambodia"
},
@@ -305,9 +308,6 @@
"CG": {
"name": "Kongo - Brazzaville"
},
- "HR": {
- "name": "Korasia"
- },
"KP": {
"name": "Korea Kaskazini"
},
@@ -320,17 +320,11 @@
"CR": {
"name": "Kostarika"
},
- "CU": {
- "name": "Kuba"
- },
- "CW": {
- "name": "Kurakao"
- },
"KW": {
"name": "Kuwait"
},
"LA": {
- "name": "Laosi"
+ "name": "Laos"
},
"LU": {
"name": "Lasembagi"
@@ -390,7 +384,7 @@
"name": "Marekani"
},
"MQ": {
- "name": "Martiniki"
+ "name": "Martinique"
},
"YT": {
"name": "Mayotte"
@@ -404,11 +398,14 @@
"EG": {
"name": "Misri"
},
+ "VA": {
+ "name": "Mji wa Vatican"
+ },
"MD": {
"name": "Moldova"
},
"MC": {
- "name": "Monako"
+ "name": "Monaco"
},
"MN": {
"name": "Mongolia"
@@ -417,7 +414,7 @@
"name": "Montenegro"
},
"MS": {
- "name": "Montserrati"
+ "name": "Montserrat"
},
"MU": {
"name": "Morisi"
@@ -480,13 +477,13 @@
"name": "Papua New Guinea"
},
"PY": {
- "name": "Paragwai"
+ "name": "Paraguay"
},
"PE": {
"name": "Peru"
},
"PL": {
- "name": "Polandi"
+ "name": "Poland"
},
"PF": {
"name": "Polinesia ya Ufaransa"
@@ -495,7 +492,7 @@
"name": "Puetoriko"
},
"RE": {
- "name": "Riyunioni"
+ "name": "Reunion"
},
"RO": {
"name": "Romania"
@@ -506,9 +503,6 @@
"EH": {
"name": "Sahara Magharibi"
},
- "MF": {
- "name": "Saint Martin"
- },
"CY": {
"name": "Saiprasi"
},
@@ -521,24 +515,9 @@
"SM": {
"name": "San Marino"
},
- "BL": {
- "name": "Santabathelemi"
- },
- "SH": {
- "name": "Santahelena"
- },
- "KN": {
- "name": "Santakitzi na Nevis"
- },
- "LC": {
- "name": "Santalusia"
- },
"PM": {
"name": "Santapierre na Miquelon"
},
- "VC": {
- "name": "Santavisenti na Grenadini"
- },
"ST": {
"name": "Sao Tome na Prinsipe"
},
@@ -572,6 +551,24 @@
"LK": {
"name": "Sri Lanka"
},
+ "BL": {
+ "name": "St. Barthelemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts na Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "VC": {
+ "name": "St. Vincent na Grenadines"
+ },
"SD": {
"name": "Sudan"
},
@@ -621,7 +618,7 @@
"name": "Tunisia"
},
"TM": {
- "name": "Turukimenistani"
+ "name": "Turkmenistan"
},
"TV": {
"name": "Tuvalu"
@@ -629,6 +626,9 @@
"BE": {
"name": "Ubelgiji"
},
+ "CN": {
+ "name": "Uchina"
+ },
"FR": {
"name": "Ufaransa"
},
@@ -644,6 +644,9 @@
"GR": {
"name": "Ugiriki"
},
+ "ES": {
+ "name": "Uhispania"
+ },
"NL": {
"name": "Uholanzi"
},
@@ -663,7 +666,7 @@
"name": "Ureno"
},
"UY": {
- "name": "Urugwai"
+ "name": "Uruguay"
},
"RU": {
"name": "Urusi"
@@ -689,9 +692,6 @@
"VU": {
"name": "Vanuatu"
},
- "VA": {
- "name": "Vatikani"
- },
"VE": {
"name": "Venezuela"
},
@@ -702,7 +702,10 @@
"name": "Visiwa Vidogo vya Nje vya Marekani"
},
"AX": {
- "name": "Visiwa vya Alandi"
+ "name": "Visiwa vya Aland"
+ },
+ "KY": {
+ "name": "Visiwa vya Cayman"
},
"CC": {
"name": "Visiwa vya Cocos (Keeling)"
@@ -719,9 +722,6 @@
"IC": {
"name": "Visiwa vya Kanari"
},
- "KY": {
- "name": "Visiwa vya Kayman"
- },
"MP": {
"name": "Visiwa vya Mariana vya Kaskazini"
},
@@ -735,16 +735,16 @@
"name": "Visiwa vya Solomon"
},
"TC": {
- "name": "Visiwa vya Turki na Kaiko"
+ "name": "Visiwa vya Turks na Caicos"
},
"VI": {
- "name": "Visiwa vya Virgin vya Marekani"
+ "name": "Visiwa vya Virgin, Marekani"
},
"VG": {
- "name": "Visiwa vya Virgin vya Uingereza"
+ "name": "Visiwa vya Virgin, Uingereza"
},
"WF": {
- "name": "Walis na Futuna"
+ "name": "Wallis na Futuna"
},
"YE": {
"name": "Yemeni"
diff --git a/vendor/commerceguys/intl/resources/country/sw.json b/vendor/commerceguys/intl/resources/country/sw.json
index 2fcc28c53..646a44831 100644
--- a/vendor/commerceguys/intl/resources/country/sw.json
+++ b/vendor/commerceguys/intl/resources/country/sw.json
@@ -18,7 +18,7 @@
"name": "Aljeria"
},
"AD": {
- "name": "Andora"
+ "name": "Andorra"
},
"AO": {
"name": "Angola"
@@ -27,7 +27,7 @@
"name": "Anguilla"
},
"AQ": {
- "name": "Antaktika"
+ "name": "Antaktiki"
},
"AG": {
"name": "Antigua na Barbuda"
@@ -63,7 +63,7 @@
"name": "Bangladeshi"
},
"BY": {
- "name": "Belarusi"
+ "name": "Belarus"
},
"BZ": {
"name": "Belize"
@@ -87,7 +87,7 @@
"name": "Botswana"
},
"BR": {
- "name": "Brazili"
+ "name": "Brazil"
},
"BN": {
"name": "Brunei"
@@ -110,14 +110,23 @@
"TD": {
"name": "Chad"
},
+ "CZ": {
+ "name": "Chechia"
+ },
"CL": {
"name": "Chile"
},
- "CN": {
- "name": "China"
- },
"CI": {
- "name": "Côte d’Ivoire"
+ "name": "Cote d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curacao"
},
"CY": {
"name": "Cyprus"
@@ -132,10 +141,10 @@
"name": "Dominika"
},
"EC": {
- "name": "Ekwado"
+ "name": "Ecuador"
},
"SV": {
- "name": "Elsavado"
+ "name": "El Salvador"
},
"IO": {
"name": "Eneo la Uingereza katika Bahari Hindi"
@@ -161,24 +170,27 @@
"GM": {
"name": "Gambia"
},
+ "GS": {
+ "name": "Georgia Kusini na Visiwa vya Sandwich Kusini"
+ },
"GH": {
"name": "Ghana"
},
+ "GI": {
+ "name": "Gibraltar"
+ },
"GN": {
"name": "Gine"
},
"GW": {
"name": "Ginebisau"
},
- "GQ": {
- "name": "Ginekweta"
+ "GL": {
+ "name": "Greenland"
},
"GD": {
"name": "Grenada"
},
- "GL": {
- "name": "Grinlandi"
- },
"GP": {
"name": "Guadeloupe"
},
@@ -191,20 +203,20 @@
"GG": {
"name": "Guernsey"
},
+ "GF": {
+ "name": "Guiana ya Ufaransa"
+ },
+ "GQ": {
+ "name": "Guinea ya Ikweta"
+ },
"GY": {
"name": "Guyana"
},
- "GF": {
- "name": "Gwiyana ya Ufaransa"
- },
"HT": {
"name": "Haiti"
},
- "ES": {
- "name": "Hispania"
- },
"HN": {
- "name": "Hondurasi"
+ "name": "Honduras"
},
"HK": {
"name": "Hong Kong SAR China"
@@ -239,9 +251,6 @@
"CF": {
"name": "Jamhuri ya Afrika ya Kati"
},
- "CZ": {
- "name": "Jamhuri ya Cheki"
- },
"DO": {
"name": "Jamhuri ya Dominika"
},
@@ -254,18 +263,12 @@
"JE": {
"name": "Jersey"
},
- "GI": {
- "name": "Jibralta"
- },
"DJ": {
"name": "Jibuti"
},
"GE": {
"name": "Jojia"
},
- "GS": {
- "name": "Jojia Kusini na Visiwa vya Sandwich Kusini"
- },
"JO": {
"name": "Jordan"
},
@@ -308,9 +311,6 @@
"CG": {
"name": "Kongo - Brazzaville"
},
- "HR": {
- "name": "Korasia"
- },
"KP": {
"name": "Korea Kaskazini"
},
@@ -323,17 +323,11 @@
"CR": {
"name": "Kostarika"
},
- "CU": {
- "name": "Kuba"
- },
- "CW": {
- "name": "Kurakao"
- },
"KW": {
"name": "Kuwait"
},
"LA": {
- "name": "Laosi"
+ "name": "Laos"
},
"LV": {
"name": "Latvia"
@@ -393,7 +387,7 @@
"name": "Marekani"
},
"MQ": {
- "name": "Martiniki"
+ "name": "Martinique"
},
"YT": {
"name": "Mayotte"
@@ -402,16 +396,19 @@
"name": "Meksiko"
},
"FM": {
- "name": "Mikronesia"
+ "name": "Micronesia"
},
"EG": {
"name": "Misri"
},
+ "VA": {
+ "name": "Mji wa Vatican"
+ },
"MD": {
"name": "Moldova"
},
"MC": {
- "name": "Monako"
+ "name": "Monaco"
},
"MN": {
"name": "Mongolia"
@@ -420,7 +417,7 @@
"name": "Montenegro"
},
"MS": {
- "name": "Montserrati"
+ "name": "Montserrat"
},
"MU": {
"name": "Morisi"
@@ -446,6 +443,9 @@
"NP": {
"name": "Nepal"
},
+ "NC": {
+ "name": "New Caledonia"
+ },
"NE": {
"name": "Niger"
},
@@ -461,9 +461,6 @@
"NO": {
"name": "Norway"
},
- "NC": {
- "name": "Nyukaledonia"
- },
"NZ": {
"name": "Nyuzilandi"
},
@@ -483,16 +480,16 @@
"name": "Papua New Guinea"
},
"PY": {
- "name": "Paragwai"
+ "name": "Paraguay"
},
"PE": {
"name": "Peru"
},
"PL": {
- "name": "Polandi"
+ "name": "Poland"
},
"PF": {
- "name": "Polinesia ya Ufaransa"
+ "name": "Polynesia ya Ufaransa"
},
"PR": {
"name": "Puerto Rico"
@@ -501,7 +498,7 @@
"name": "Qatar"
},
"RE": {
- "name": "Riyunioni"
+ "name": "Reunion"
},
"RO": {
"name": "Romania"
@@ -512,9 +509,6 @@
"EH": {
"name": "Sahara Magharibi"
},
- "MF": {
- "name": "Saint Martin"
- },
"WS": {
"name": "Samoa"
},
@@ -524,24 +518,9 @@
"SM": {
"name": "San Marino"
},
- "BL": {
- "name": "Santabathelemi"
- },
- "SH": {
- "name": "Santahelena"
- },
- "KN": {
- "name": "Santakitzi na Nevis"
- },
- "LC": {
- "name": "Santalusia"
- },
"PM": {
"name": "Santapierre na Miquelon"
},
- "VC": {
- "name": "Santavisenti na Grenadini"
- },
"ST": {
"name": "São Tomé na Príncipe"
},
@@ -575,6 +554,24 @@
"LK": {
"name": "Sri Lanka"
},
+ "BL": {
+ "name": "St. Barthelemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts na Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "VC": {
+ "name": "St. Vincent na Grenadines"
+ },
"SD": {
"name": "Sudan"
},
@@ -582,7 +579,7 @@
"name": "Sudan Kusini"
},
"SR": {
- "name": "Surinamu"
+ "name": "Suriname"
},
"SJ": {
"name": "Svalbard na Jan Mayen"
@@ -624,7 +621,7 @@
"name": "Tunisia"
},
"TM": {
- "name": "Turukimenistani"
+ "name": "Turkmenistan"
},
"TV": {
"name": "Tuvalu"
@@ -632,6 +629,9 @@
"BE": {
"name": "Ubelgiji"
},
+ "CN": {
+ "name": "Uchina"
+ },
"FR": {
"name": "Ufaransa"
},
@@ -647,6 +647,9 @@
"GR": {
"name": "Ugiriki"
},
+ "ES": {
+ "name": "Uhispania"
+ },
"NL": {
"name": "Uholanzi"
},
@@ -666,7 +669,7 @@
"name": "Ureno"
},
"UY": {
- "name": "Urugwai"
+ "name": "Uruguay"
},
"RU": {
"name": "Urusi"
@@ -692,9 +695,6 @@
"VU": {
"name": "Vanuatu"
},
- "VA": {
- "name": "Vatikani"
- },
"VE": {
"name": "Venezuela"
},
@@ -705,7 +705,10 @@
"name": "Visiwa Vidogo vya Nje vya Marekani"
},
"AX": {
- "name": "Visiwa vya Alandi"
+ "name": "Visiwa vya Aland"
+ },
+ "KY": {
+ "name": "Visiwa vya Cayman"
},
"CC": {
"name": "Visiwa vya Cocos (Keeling)"
@@ -722,9 +725,6 @@
"IC": {
"name": "Visiwa vya Kanari"
},
- "KY": {
- "name": "Visiwa vya Kayman"
- },
"MP": {
"name": "Visiwa vya Mariana vya Kaskazini"
},
@@ -738,16 +738,16 @@
"name": "Visiwa vya Solomon"
},
"TC": {
- "name": "Visiwa vya Turki na Kaiko"
+ "name": "Visiwa vya Turks na Caicos"
},
"VI": {
- "name": "Visiwa vya Virgin vya Marekani"
+ "name": "Visiwa vya Virgin, Marekani"
},
"VG": {
- "name": "Visiwa vya Virgin vya Uingereza"
+ "name": "Visiwa vya Virgin, Uingereza"
},
"WF": {
- "name": "Walis na Futuna"
+ "name": "Wallis na Futuna"
},
"YE": {
"name": "Yemeni"
diff --git a/vendor/commerceguys/intl/resources/country/ta.json b/vendor/commerceguys/intl/resources/country/ta.json
index 7f07a5ec8..4e952d49f 100644
--- a/vendor/commerceguys/intl/resources/country/ta.json
+++ b/vendor/commerceguys/intl/resources/country/ta.json
@@ -300,7 +300,7 @@
"name": "சூடானà¯"
},
"CZ": {
- "name": "செக௠கà¯à®Ÿà®¿à®¯à®°à®šà¯"
+ "name": "செசியா"
},
"KN": {
"name": "செயினà¯à®Ÿà¯ கிடà¯à®¸à¯ & நெவிஸà¯"
diff --git a/vendor/commerceguys/intl/resources/country/te.json b/vendor/commerceguys/intl/resources/country/te.json
index 18003191c..1a83d3bf7 100644
--- a/vendor/commerceguys/intl/resources/country/te.json
+++ b/vendor/commerceguys/intl/resources/country/te.json
@@ -3,10 +3,7 @@
"name": "అంగోలా"
},
"AQ": {
- "name": "అంటారà±à°•à°Ÿà°¿à°•à°¾"
- },
- "AD": {
- "name": "అండొరà±à°°à°¾"
+ "name": "అంటారà±à°•à°¿à°Ÿà°¿à°•à°¾"
},
"AZ": {
"name": "అజరà±à°¬à±ˆà°œà°¾à°¨à±"
@@ -14,9 +11,6 @@
"AS": {
"name": "అమెరికనౠసమోవా"
},
- "US": {
- "name": "అమెరికా సంయà±à°•à±à°¤ రాషà±à°Ÿà±à°°à°¾à°²à±"
- },
"AW": {
"name": "à°…à°°à±à°¬à°¾"
},
@@ -29,12 +23,18 @@
"AL": {
"name": "à°…à°²à±à°¬à±‡à°¨à°¿à°¯à°¾"
},
+ "AC": {
+ "name": "అసెనà±à°·à°¨à± దీవి"
+ },
"AI": {
- "name": "ఆంగవిలà±à°²à°¾"
+ "name": "ఆంగà±à°µà°¿à°²à±à°²à°¾"
},
"AG": {
"name": "ఆంటిగà±à°µà°¾ మరియౠబారà±à°¬à±à°¡à°¾"
},
+ "AD": {
+ "name": "ఆండోరా"
+ },
"AF": {
"name": "ఆఫà±à°˜à°¨à°¿à°¸à±à°¤à°¾à°¨à±"
},
@@ -42,7 +42,7 @@
"name": "ఆరà±à°®à±‡à°¨à°¿à°¯à°¾"
},
"AX": {
- "name": "ఆలేండౠదీవà±à°²à±"
+ "name": "ఆలాండౠదీవà±à°²à±"
},
"AT": {
"name": "ఆసà±à°Ÿà±à°°à°¿à°¯à°¾"
@@ -93,7 +93,7 @@
"name": "ఉతà±à°¤à°° మరియానా దీవà±à°²à±"
},
"UY": {
- "name": "à°Šà°°à±à°—à±à°µà±‡"
+ "name": "ఉరà±à°—à±à°µà±‡"
},
"ER": {
"name": "à°Žà°°à°¿à°Ÿà±à°°à°¿à°¯à°¾"
@@ -101,9 +101,6 @@
"SV": {
"name": "ఎలౠసాలà±à°µà°¡à±‹à°°à±"
},
- "AC": {
- "name": "ఎసెషనౠదీవి"
- },
"EE": {
"name": "à°Žà°¸à±à°Ÿà±‹à°¨à°¿à°¯à°¾"
},
@@ -123,7 +120,7 @@
"name": "కంబోడియా"
},
"KZ": {
- "name": "కజకసà±à°¤à°¾à°¨à±"
+ "name": "కజకిసà±à°¤à°¾à°¨à±"
},
"BQ": {
"name": "కరీబియనౠనెదరà±à°²à°¾à°‚à°¡à±à°¸à±"
@@ -162,7 +159,7 @@
"name": "కేనరీ దీవà±à°²à±"
},
"CV": {
- "name": "కేపౠవెరà±à°¡à±‡"
+ "name": "కేపౠవెరà±à°¡à±†"
},
"KY": {
"name": "కేమానౠదీవà±à°²à±"
@@ -180,7 +177,7 @@
"name": "కోకోసౠ(కీలింగà±) దీవà±à°²à±"
},
"CI": {
- "name": "కోటెడౠà°à°µà±‹à°¯à°¿à°°à±"
+ "name": "కోటౠడి à°à°µà±‹à°°à±"
},
"CR": {
"name": "కోసà±à°Ÿà°¾ à°°à°¿à°•à°¾"
@@ -198,11 +195,14 @@
"name": "à°•à±à°°à±‹à°¯à±‡à°·à°¿à°¯à°¾"
},
"QA": {
- "name": "ఖతరà±"
+ "name": "ఖతారà±"
},
"GY": {
"name": "గయానా"
},
+ "GG": {
+ "name": "à°—à°°à±à°¨à±â€Œà°¸à±€"
+ },
"GM": {
"name": "గాంబియా"
},
@@ -216,26 +216,23 @@
"name": "గినియా-బిసà±à°¸à°¾à°µà±"
},
"GL": {
- "name": "à°—à±à°°à±€à°¨à±â€Œà°²à°¾à°‚à°¡à±"
+ "name": "à°—à±à°°à±€à°¨à±â€Œà°²à±à°¯à°¾à°‚à°¡à±"
},
"GR": {
"name": "à°—à±à°°à±€à°¸à±"
},
"GD": {
- "name": "à°—à±à°°à±†à°¨à±†à°¡à°¾"
+ "name": "à°—à±à°°à±†à°¨à°¡à°¾"
},
"GT": {
- "name": "à°—à±à°µà°¾à°Ÿà°¿à°®à°¾à°²"
+ "name": "à°—à±à°µà°¾à°Ÿà°¿à°®à°¾à°²à°¾"
},
"GP": {
- "name": "à°—à±à°µà°¾à°¡à±‡à°²à±‹à°ªà±"
+ "name": "à°—à±à°µà°¾à°¡à±†à°²à±‹à°ªà±"
},
"GU": {
"name": "à°—à±à°µà°¾à°®à±"
},
- "GG": {
- "name": "à°—à±à°µà±‡à°°à±à°¨à°¸à±‡"
- },
"GH": {
"name": "ఘనా"
},
@@ -246,7 +243,7 @@
"name": "చిలీ"
},
"CZ": {
- "name": "చెకౠరిపబà±à°²à°¿à°•à±"
+ "name": "చెకియా"
},
"CN": {
"name": "చైనా"
@@ -273,7 +270,7 @@
"name": "జిబౌటి"
},
"GI": {
- "name": "జిబà±à°°à°¾à°²à±à°Ÿà°¾à°°à±"
+ "name": "జిబà±à°°à°¾à°²à±à°Ÿà°°à±"
},
"JE": {
"name": "జెరà±à°¸à±€"
@@ -284,6 +281,15 @@
"TR": {
"name": "à°Ÿà°°à±à°•à±€"
},
+ "TM": {
+ "name": "à°Ÿà°°à±à°•à±â€Œà°®à±†à°¨à°¿à°¸à±à°¤à°¾à°¨à±"
+ },
+ "TC": {
+ "name": "à°Ÿà°°à±à°•à±à°¸à± & కైకోసౠదీవà±à°²à±"
+ },
+ "TO": {
+ "name": "టాంగా"
+ },
"TZ": {
"name": "టాంజానియా"
},
@@ -293,11 +299,8 @@
"TV": {
"name": "à°Ÿà±à°µà°¾à°²à±"
},
- "TO": {
- "name": "టోంగా"
- },
"TK": {
- "name": "టోకేలావà±"
+ "name": "టోకెలావà±"
},
"TG": {
"name": "టోగో"
@@ -318,20 +321,14 @@
"name": "డెనà±à°®à°¾à°°à±à°•à±"
},
"DO": {
- "name": "డొమెనికనౠరిపబà±à°²à°¿à°•à±"
+ "name": "డొమినికనౠరిపబà±à°²à°¿à°•à±"
},
"DM": {
- "name": "డొమెనికా"
+ "name": "డొమినికా"
},
"TJ": {
"name": "తజికిసà±à°¤à°¾à°¨à±"
},
- "TM": {
- "name": "à°¤à±à°°à±à°•à°®à±‡à°¨à°¿à°¸à±à°¤à°¾à°¨à±"
- },
- "TC": {
- "name": "à°¤à±à°°à±à°•à± మరియౠకాలికోసౠదీవà±à°²à±"
- },
"TW": {
"name": "తైవానà±"
},
@@ -363,7 +360,7 @@
"name": "నికరాగà±à°µà°¾"
},
"NU": {
- "name": "నియà±"
+ "name": "నియూ"
},
"NL": {
"name": "నెదరà±à°²à°¾à°‚à°¡à±à°¸à±"
@@ -392,18 +389,18 @@
"PY": {
"name": "పరాగà±à°µà±‡"
},
- "PW": {
- "name": "పలావà±"
- },
"PK": {
"name": "పాకిసà±à°¤à°¾à°¨à±"
},
"PG": {
- "name": "పాపà±à°µà°¾ à°¨à±à°¯à± గినియా"
+ "name": "పాపà±à°µà°¾ à°¨à±à°¯à±‚ గినియా"
},
"PS": {
"name": "పాలసà±à°¤à±€à°¨à°¿à°¯à°¨à± à°ªà±à°°à°¾à°‚తాలà±"
},
+ "PW": {
+ "name": "పాలావà±"
+ },
"PN": {
"name": "పిటà±â€Œà°•à±†à°¯à°¿à°°à±à°¨à± దీవà±à°²à±"
},
@@ -416,6 +413,9 @@
"PL": {
"name": "పోలాండà±"
},
+ "PR": {
+ "name": "à°ªà±à°¯à±‚à°°à±à°Ÿà±‹ రికో"
+ },
"FK": {
"name": "ఫాకà±â€Œà°²à±à°¯à°¾à°‚డౠదీవà±à°²à±"
},
@@ -429,10 +429,7 @@
"name": "à°«à°¿à°¨à±à°²à°¾à°‚à°¡à±"
},
"PH": {
- "name": "ఫిలిపà±à°ªà±€à°¨à±à°¸à±"
- },
- "PR": {
- "name": "à°«à±à°¯à±‚à°°à±à°Ÿà±‹ రికో"
+ "name": "ఫిలిపà±à°ªà±ˆà°¨à±à°¸à±"
},
"FR": {
"name": "à°«à±à°°à°¾à°¨à±à°¸à±â€Œ"
@@ -444,7 +441,7 @@
"name": "à°«à±à°°à±†à°‚చౠదకà±à°·à°¿à°£ à°ªà±à°°à°¾à°‚తాలà±"
},
"PF": {
- "name": "à°«à±à°°à±†à°‚చౠపోలినిషియా"
+ "name": "à°«à±à°°à±†à°‚చౠపోలినీషియా"
},
"BD": {
"name": "బంగà±à°²à°¾à°¦à±‡à°¶à±"
@@ -495,16 +492,16 @@
"name": "à°¬à±à°°à°¿à°Ÿà°¿à°·à± వరà±à°œà°¿à°¨à± దీవà±à°²à±"
},
"IO": {
- "name": "à°¬à±à°°à°¿à°Ÿà±€à°·à± భారతీయ సమà±à°¦à±à°°à°ªà± à°ªà±à°°à°¾à°‚తం"
+ "name": "à°¬à±à°°à°¿à°Ÿà±€à°·à± హిందూ మహాసమà±à°¦à±à°° à°ªà±à°°à°¾à°‚తం"
},
"BN": {
- "name": "à°¬à±à°°à±‚నై"
+ "name": "à°¬à±à°°à±‚నే"
},
"BR": {
"name": "à°¬à±à°°à±†à°œà°¿à°²à±"
},
"IN": {
- "name": "భారత దేశం"
+ "name": "భారతదేశం"
},
"BT": {
"name": "భూటానà±"
@@ -513,7 +510,7 @@
"name": "మంగోలియా"
},
"MO": {
- "name": "మకావౠఎసà±à°à°†à°°à± చైనా"
+ "name": "మకావౠఎసà±à°à°†à°°à± చైనా"
},
"MG": {
"name": "మడగాసà±à°•à°°à±"
@@ -524,14 +521,17 @@
"MY": {
"name": "మలేషియా"
},
+ "MS": {
+ "name": "మాంటà±à°¸à±†à°°à°¾à°Ÿà±"
+ },
"YT": {
- "name": "మాయొటà±à°Ÿà°¿"
+ "name": "మాయొటà±"
},
"MU": {
"name": "మారిషసà±"
},
"MQ": {
- "name": "మారà±à°Ÿà°¿à°¨à°¿à°•à±"
+ "name": "మారà±à°Ÿà°¿à°¨à±€à°•à±"
},
"MH": {
"name": "మారà±à°·à°²à± దీవà±à°²à±"
@@ -567,10 +567,7 @@
"name": "మొరాకో"
},
"ME": {
- "name": "మోంటేనేగà±à°°à±‹"
- },
- "MS": {
- "name": "మోంటà±à°¸à±‡à°°à±à°°à°¾à°Ÿà±"
+ "name": "మోంటెనీగà±à°°à±‹"
},
"MD": {
"name": "మోలà±à°¡à±‹à°µà°¾"
@@ -587,6 +584,9 @@
"GB": {
"name": "à°¯à±à°¨à±ˆà°Ÿà±†à°¡à± à°•à°¿à°‚à°—à±â€Œà°¡à°®à±"
},
+ "US": {
+ "name": "à°¯à±à°¨à±ˆà°Ÿà±†à°¡à± à°¸à±à°Ÿà±‡à°Ÿà±à°¸à±"
+ },
"YE": {
"name": "యెమెనà±"
},
@@ -612,7 +612,7 @@
"name": "లావోసà±"
},
"LI": {
- "name": "లికà±à°Ÿà±†à°¸à±à°Ÿà±‡à°¨à±"
+ "name": "లికà±à°Ÿà±†à°¨à±â€Œà°¸à±à°Ÿà±†à°¯à°¿à°¨à±"
},
"LT": {
"name": "లిథà±à°µà±‡à°¨à°¿à°¯à°¾"
@@ -642,7 +642,10 @@
"name": "వియతà±à°¨à°¾à°‚"
},
"VE": {
- "name": "వెనà±à°œà±à°²à°¾"
+ "name": "వెనిజà±à°²à°¾"
+ },
+ "SM": {
+ "name": "శానౠమారినో"
},
"LK": {
"name": "à°¶à±à°°à±€à°²à°‚à°•"
@@ -653,9 +656,6 @@
"WS": {
"name": "సమోవా"
},
- "SM": {
- "name": "సానౠమారినో"
- },
"ST": {
"name": "సావోటోమౠ& à°ªà±à°°à°¿à°¨à±à°¸à°¿à°ªà±‡"
},
@@ -680,32 +680,32 @@
"SR": {
"name": "సూరినామà±"
},
+ "CF": {
+ "name": "సెంటà±à°°à°²à± ఆఫà±à°°à°¿à°•à°¨à± రిపబà±à°²à°¿à°•à±"
+ },
+ "SN": {
+ "name": "సెనెగలà±"
+ },
"KN": {
- "name": "సెంటౠకిటà±à°Ÿà±à°¸à± మరియౠనెవిసà±"
+ "name": "సెయింటౠకిటà±à°¸à± మరియౠనెవిసà±"
},
"PM": {
- "name": "సెంటౠపియెరౠమరియౠమికెలానà±"
+ "name": "సెయింటౠపియెరౠమరియౠమికెలానà±"
},
"BL": {
- "name": "సెంటౠబరà±à°¤à±‡à°²à±†à°®à±€"
+ "name": "సెయింటౠబరà±à°¤à±‡à°²à±†à°®à±€"
},
"MF": {
- "name": "సెంటౠమారà±à°Ÿà°¿à°¨à±"
+ "name": "సెయింటౠమారà±à°Ÿà°¿à°¨à±"
},
"LC": {
- "name": "సెంటౠలూసియా"
+ "name": "సెయింటౠలూసియా"
},
"VC": {
- "name": "సెంటౠవినà±à°¸à±†à°‚టౠమరియౠగà±à°°à±†à°¨à°¡à±€à°¨à±à°¸à±"
- },
- "CF": {
- "name": "సెంటà±à°°à°²à± ఆఫà±à°°à°¿à°•à°¨à± రిపబà±à°²à°¿à°•à±"
- },
- "SN": {
- "name": "సెనెగలà±"
+ "name": "సెయింటౠవినà±à°¸à±†à°‚à°Ÿà± & à°—à±à°°à±†à°¨à°¡à±€à°¨à±à°¸à±"
},
"SH": {
- "name": "సెయింటౠహెలినా"
+ "name": "సెయింటౠహెలెనా"
},
"RS": {
"name": "సెరà±à°¬à°¿à°¯à°¾"
@@ -738,7 +738,7 @@
"name": "à°¸à±à°µà°¾à°œà°¿à°²à±à°¯à°¾à°‚à°¡à±"
},
"SJ": {
- "name": "à°¸à±à°µà°¾à°²à±à°¬à°¾à°°à±à°¡à± మరియౠయానౠమాయేనà±"
+ "name": "à°¸à±à°µà°¾à°²à±â€Œà°¬à°¾à°°à±à°¡à± & జానౠమాయెనà±"
},
"CH": {
"name": "à°¸à±à°µà°¿à°Ÿà±à°œà°°à±à°²à°¾à°‚à°¡à±"
diff --git a/vendor/commerceguys/intl/resources/country/tg.json b/vendor/commerceguys/intl/resources/country/tg.json
new file mode 100644
index 000000000..dd6afe16c
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/tg.json
@@ -0,0 +1,761 @@
+{
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "AU": {
+ "name": "ÐвÑтралиÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтриÑ"
+ },
+ "AL": {
+ "name": "ÐлбаниÑ"
+ },
+ "DZ": {
+ "name": "Ðлҷазоир"
+ },
+ "AE": {
+ "name": "Ðморатҳои Муттаҳидаи Ðраб"
+ },
+ "AI": {
+ "name": "ÐнгилиÑ"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктида"
+ },
+ "AG": {
+ "name": "Ðнтигуа ва Барбуда"
+ },
+ "SA": {
+ "name": "ÐрабиÑтони Саудӣ"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AM": {
+ "name": "ÐрманиÑтон"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AC": {
+ "name": "ÐÑунÑон"
+ },
+ "AF": {
+ "name": "ÐфғониÑтон"
+ },
+ "ZA": {
+ "name": "Ðфрикаи Ҷанубӣ"
+ },
+ "BS": {
+ "name": "Багам"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BH": {
+ "name": "Баҳрайн"
+ },
+ "BE": {
+ "name": "БелгиÑ"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BY": {
+ "name": "БелоруÑ"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "BO": {
+ "name": "БоливиÑ"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ð¸Ñ Ð²Ð° ҲерÑеговина"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "BR": {
+ "name": "БразилиÑ"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BG": {
+ "name": "БулғориÑ"
+ },
+ "BF": {
+ "name": "Буркина-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутон"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VE": {
+ "name": "ВенеÑуÑла"
+ },
+ "VN": {
+ "name": "Ветнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "ГамбиÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GF": {
+ "name": "Гвианаи ФаронÑа"
+ },
+ "GN": {
+ "name": "ГвинеÑ"
+ },
+ "GW": {
+ "name": "ГвинеÑ-БиÑау"
+ },
+ "GQ": {
+ "name": "ГвинеÑи Экваторӣ"
+ },
+ "DE": {
+ "name": "ГерманиÑ"
+ },
+ "GG": {
+ "name": "ГернÑи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландиÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GE": {
+ "name": "ГурҷиÑтон"
+ },
+ "DK": {
+ "name": "ДаниÑ"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "ZM": {
+ "name": "ЗамбиÑ"
+ },
+ "NZ": {
+ "name": "ЗеландиÑи Ðав"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "US": {
+ "name": "Иёлоти Муттаҳида"
+ },
+ "ID": {
+ "name": "ИндонезиÑ"
+ },
+ "IE": {
+ "name": "ИрландиÑ"
+ },
+ "IQ": {
+ "name": "Ироқ"
+ },
+ "IS": {
+ "name": "ИÑландиÑ"
+ },
+ "ES": {
+ "name": "ИÑпаниÑ"
+ },
+ "IL": {
+ "name": "ИÑроил"
+ },
+ "IT": {
+ "name": "ИталиÑ"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "NC": {
+ "name": "КаледониÑи Ðав"
+ },
+ "KH": {
+ "name": "Камбоҷа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "KE": {
+ "name": "КениÑ"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CO": {
+ "name": "КолумбиÑ"
+ },
+ "KM": {
+ "name": "Комор"
+ },
+ "KP": {
+ "name": "КореÑи Шимолӣ"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "CW": {
+ "name": "КюраÑао"
+ },
+ "KZ": {
+ "name": "ҚазоқиÑтон"
+ },
+ "IO": {
+ "name": "Қаламрави Ð‘Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð´Ð°Ñ€ уқёнуÑи Ҳинд"
+ },
+ "QA": {
+ "name": "Қатар"
+ },
+ "KG": {
+ "name": "ҚирғизиÑтон"
+ },
+ "KW": {
+ "name": "Қувайт"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвиÑ"
+ },
+ "PL": {
+ "name": "ЛаҳиÑтон"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "ЛибериÑ"
+ },
+ "LY": {
+ "name": "ЛибиÑ"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LB": {
+ "name": "Лубнон"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "МавританиÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао (МММ)"
+ },
+ "MK": {
+ "name": "Мақдун"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "МалайзиÑ"
+ },
+ "MV": {
+ "name": "Малдив"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MA": {
+ "name": "Марокаш"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "HU": {
+ "name": "МаҷориÑтон"
+ },
+ "MX": {
+ "name": "МекÑика"
+ },
+ "TF": {
+ "name": "Минтақаҳои Ҷанубии ФаронÑа"
+ },
+ "EG": {
+ "name": "МиÑÑ€"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MS": {
+ "name": "МонтÑеррат"
+ },
+ "MN": {
+ "name": "МуғулиÑтон"
+ },
+ "MM": {
+ "name": "ÐœÑнма"
+ },
+ "NA": {
+ "name": "ÐамибиÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "ÐигериÑ"
+ },
+ "NL": {
+ "name": "ÐидерландиÑ"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "ÐиуÑ"
+ },
+ "NO": {
+ "name": "ÐорвегиÑ"
+ },
+ "AZ": {
+ "name": "Озарбойҷон"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа ГвинеÑи Ðав"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PK": {
+ "name": "ПокиÑтон"
+ },
+ "PF": {
+ "name": "ПолинезиÑи ФаронÑа"
+ },
+ "PT": {
+ "name": "ПортугалиÑ"
+ },
+ "PR": {
+ "name": "ПуÑрто-Рико"
+ },
+ "RE": {
+ "name": "Реюнион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РуминиÑ"
+ },
+ "RU": {
+ "name": "РуÑиÑ"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "AS": {
+ "name": "Самоаи Ðмерика"
+ },
+ "ST": {
+ "name": "Сан Томе ва ПринÑипи"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SC": {
+ "name": "Сейшел"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "SH": {
+ "name": "Сент Елена"
+ },
+ "BL": {
+ "name": "Сент-Бартелми"
+ },
+ "VC": {
+ "name": "Сент-ВинÑент ва Гренадина"
+ },
+ "KN": {
+ "name": "Сент-ÐšÐ¸Ñ‚Ñ Ð²Ð° ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑиÑ"
+ },
+ "PM": {
+ "name": "Сент-Пер ва Микелон"
+ },
+ "RS": {
+ "name": "СербиÑ"
+ },
+ "SL": {
+ "name": "Сиерра-Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Маартен"
+ },
+ "SK": {
+ "name": "СловакиÑ"
+ },
+ "SI": {
+ "name": "СловениÑ"
+ },
+ "SO": {
+ "name": "Сомалӣ"
+ },
+ "SD": {
+ "name": "Судон"
+ },
+ "SS": {
+ "name": "Судони Ҷанубӣ"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SY": {
+ "name": "СуриÑ"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайван"
+ },
+ "TZ": {
+ "name": "ТанзаниÑ"
+ },
+ "TL": {
+ "name": "Тимор-ЛеÑте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TJ": {
+ "name": "ТоҷикиÑтон"
+ },
+ "TT": {
+ "name": "Тринидад ва Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан-да-КунÑ"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TR": {
+ "name": "ТуркиÑ"
+ },
+ "TM": {
+ "name": "ТуркманиÑтон"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "ӮзбекиÑтон"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "OM": {
+ "name": "Умон"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð»Ð¸Ñ Ð²Ð° Футуна"
+ },
+ "JO": {
+ "name": "Урдун"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "ФинлÑндиÑ"
+ },
+ "FJ": {
+ "name": "Фиҷи"
+ },
+ "FR": {
+ "name": "ФранÑиÑ"
+ },
+ "CN": {
+ "name": "Хитой"
+ },
+ "HR": {
+ "name": "ХорватиÑ"
+ },
+ "IN": {
+ "name": "ҲиндуÑтон"
+ },
+ "HK": {
+ "name": "Ҳонконг (МММ)"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "ЧерногориÑ"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CX": {
+ "name": "Ҷазираи КриÑмаÑ"
+ },
+ "IM": {
+ "name": "Ҷазираи ÐœÑн"
+ },
+ "NF": {
+ "name": "Ҷазираи Ðорфолк"
+ },
+ "MF": {
+ "name": "Ҷазираи Сент-Мартин"
+ },
+ "AX": {
+ "name": "Ҷазираҳои Ðланд"
+ },
+ "VG": {
+ "name": "Ҷазираҳои Виргини БританиÑ"
+ },
+ "VI": {
+ "name": "Ҷазираҳои Виргини ИМÐ"
+ },
+ "KY": {
+ "name": "Ҷазираҳои Кайман"
+ },
+ "CC": {
+ "name": "Ҷазираҳои ÐšÐ¾ÐºÐ¾Ñ (Килинг)"
+ },
+ "CK": {
+ "name": "Ҷазираҳои Кук"
+ },
+ "MP": {
+ "name": "Ҷазираҳои Марианаи Шимолӣ"
+ },
+ "MH": {
+ "name": "Ҷазираҳои Маршалл"
+ },
+ "PN": {
+ "name": "Ҷазираҳои Питкейрн"
+ },
+ "SB": {
+ "name": "Ҷазираҳои Соломон"
+ },
+ "TC": {
+ "name": "Ҷазираҳои Ð¢ÐµÑ€ÐºÑ Ð²Ð° КайкоÑ"
+ },
+ "FO": {
+ "name": "Ҷазираҳои Фарер"
+ },
+ "FK": {
+ "name": "Ҷазираҳои Фолкленд"
+ },
+ "UM": {
+ "name": "Ҷазираҳои Хурди ДурдаÑти ИМÐ"
+ },
+ "JE": {
+ "name": "ҶерÑи"
+ },
+ "DJ": {
+ "name": "Ҷибути"
+ },
+ "GS": {
+ "name": "ҶорҷиÑи Ҷанубӣ ва Ҷазираҳои Сандвич"
+ },
+ "CF": {
+ "name": "Ҷумҳурии Ðфриқои Марказӣ"
+ },
+ "DO": {
+ "name": "Ҷумҳурии Доминикан"
+ },
+ "CZ": {
+ "name": "Ҷумҳурии Чех"
+ },
+ "VA": {
+ "name": "Шаҳри Вотикон"
+ },
+ "CH": {
+ "name": "ШвейтÑариÑ"
+ },
+ "SE": {
+ "name": "ШветÑиÑ"
+ },
+ "GB": {
+ "name": "Шоҳигарии Муттаҳида"
+ },
+ "SJ": {
+ "name": "ШпитÑберген ва Ян Майен"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "FM": {
+ "name": "Штатҳои Федеративии МикронезиÑ"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "SV": {
+ "name": "Эл-Салвадор"
+ },
+ "ER": {
+ "name": "ЭритреÑ"
+ },
+ "IR": {
+ "name": "Эрон"
+ },
+ "EE": {
+ "name": "ЭÑтониÑ"
+ },
+ "ET": {
+ "name": "ЭфиопиÑ"
+ },
+ "GR": {
+ "name": "Юнон"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "YE": {
+ "name": "Яман"
+ },
+ "JP": {
+ "name": "ЯпониÑ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/th.json b/vendor/commerceguys/intl/resources/country/th.json
index 91124bec9..d7888e136 100644
--- a/vendor/commerceguys/intl/resources/country/th.json
+++ b/vendor/commerceguys/intl/resources/country/th.json
@@ -75,10 +75,10 @@
"name": "เขตปà¸à¸„รองพิเศษฮ่องà¸à¸‡à¹à¸«à¹ˆà¸‡à¸ªà¸²à¸˜à¸²à¸£à¸“รัà¸à¸›à¸£à¸°à¸Šà¸²à¸Šà¸™à¸ˆà¸µà¸™"
},
"CD": {
- "name": "คองโà¸-à¸à¸´à¸™à¸Šà¸²à¸‹à¸²"
+ "name": "คองโภ- à¸à¸´à¸™à¸Šà¸²à¸‹à¸²"
},
"CG": {
- "name": "คองโà¸-บราซซาวิล"
+ "name": "คองโภ- บราซซาวิล"
},
"KM": {
"name": "คอโมโรส"
@@ -149,8 +149,11 @@
"CL": {
"name": "ชิลี"
},
+ "CZ": {
+ "name": "เช็à¸"
+ },
"SM": {
- "name": "ซานมารีโน"
+ "name": "ซานมาริโน"
},
"WS": {
"name": "ซามัว"
@@ -161,6 +164,9 @@
"EH": {
"name": "ซาฮาราตะวันตà¸"
},
+ "SX": {
+ "name": "ซินต์มาร์เทน"
+ },
"ZW": {
"name": "ซิมบับเว"
},
@@ -186,9 +192,6 @@
"name": "เซนต์บาร์เธเลมี"
},
"MF": {
- "name": "เซนต์มาติน"
- },
- "SX": {
"name": "เซนต์มาร์ติน"
},
"LC": {
@@ -273,7 +276,7 @@
"name": "ไต้หวัน"
},
"TA": {
- "name": "ทริสตัน เดอ คูนา"
+ "name": "ทริสตันดาคูนา"
},
"TJ": {
"name": "ทาจิà¸à¸´à¸ªà¸–าน"
@@ -590,9 +593,6 @@
"GB": {
"name": "สหราชอาณาจัà¸à¸£"
},
- "CZ": {
- "name": "สาธารณรัà¸à¹€à¸Šà¹‡à¸"
- },
"DO": {
"name": "สาธารณรัà¸à¹‚ดมินิà¸à¸±à¸™"
},
diff --git a/vendor/commerceguys/intl/resources/country/ti.json b/vendor/commerceguys/intl/resources/country/ti.json
new file mode 100644
index 000000000..ffd50295a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/ti.json
@@ -0,0 +1,761 @@
+{
+ "HU": {
+ "name": "ሀንጋሪ"
+ },
+ "HT": {
+ "name": "ሀይቲ"
+ },
+ "IN": {
+ "name": "ህንዲ"
+ },
+ "HN": {
+ "name": "ሆንዱራስ"
+ },
+ "HK": {
+ "name": "ሆንጠኮንáŒ"
+ },
+ "LU": {
+ "name": "ሉክሰáˆá‰ áˆ­áŒ"
+ },
+ "LY": {
+ "name": "ሊቢያ"
+ },
+ "LB": {
+ "name": "ሊባኖስ"
+ },
+ "LT": {
+ "name": "ሊቱዌኒያ"
+ },
+ "LI": {
+ "name": "ሊችተንስታይን"
+ },
+ "LV": {
+ "name": "ላትቪያ"
+ },
+ "LA": {
+ "name": "ላኦስ"
+ },
+ "LR": {
+ "name": "ላይቤሪያ"
+ },
+ "LS": {
+ "name": "ሌሶቶ"
+ },
+ "AE": {
+ "name": "ሕቡራት ኢማራት ዓረብ"
+ },
+ "FM": {
+ "name": "ሚክሮኔዢያ"
+ },
+ "ML": {
+ "name": "ማሊ"
+ },
+ "MW": {
+ "name": "ማላዊ"
+ },
+ "MY": {
+ "name": "ማሌዢያ"
+ },
+ "MT": {
+ "name": "ማáˆá‰³"
+ },
+ "MV": {
+ "name": "ማáˆá‹²á‰­áˆµ"
+ },
+ "MU": {
+ "name": "ማሩሸስ"
+ },
+ "MH": {
+ "name": "ማርሻሠአይላንድ"
+ },
+ "MQ": {
+ "name": "ማርቲኒክ"
+ },
+ "CF": {
+ "name": "ማእከላይ ኣáሪቃ ሪá“ብሊክ"
+ },
+ "MK": {
+ "name": "ማከዶኒያ"
+ },
+ "MO": {
+ "name": "ማካዎ"
+ },
+ "MM": {
+ "name": "ማያንማር"
+ },
+ "MG": {
+ "name": "ማዳጋስካር"
+ },
+ "MX": {
+ "name": "ሜክሲኮ"
+ },
+ "YT": {
+ "name": "ሜይኦቴ"
+ },
+ "PS": {
+ "name": "áˆáˆáˆ•á‹³áˆ­ ááˆáˆµáŒ¤áˆ"
+ },
+ "TL": {
+ "name": "áˆá‰¥áˆ«á‰• ቲሞር"
+ },
+ "EH": {
+ "name": "áˆá‹•áˆ«á‰£á‹Š ሳህራ"
+ },
+ "MD": {
+ "name": "ሞáˆá‹¶á‰«"
+ },
+ "MR": {
+ "name": "ሞሪቴኒያ"
+ },
+ "MA": {
+ "name": "ሞሮኮ"
+ },
+ "MC": {
+ "name": "ሞናኮ"
+ },
+ "ME": {
+ "name": "ሞንቴኔáŒáˆ®"
+ },
+ "MS": {
+ "name": "ሞንትሴራት"
+ },
+ "MN": {
+ "name": "ሞንጎሊያ"
+ },
+ "MZ": {
+ "name": "ሞዛáˆá‰¢áŠ­"
+ },
+ "RW": {
+ "name": "ሩዋንዳ"
+ },
+ "RE": {
+ "name": "ሪዩኒየን"
+ },
+ "RU": {
+ "name": "ራሺያ"
+ },
+ "RO": {
+ "name": "ሮሜኒያ"
+ },
+ "SB": {
+ "name": "ሰሎሞን ደሴት"
+ },
+ "KP": {
+ "name": "ሰሜን ኮሪያ"
+ },
+ "RS": {
+ "name": "ሰርቢያ"
+ },
+ "SO": {
+ "name": "ሱማሌ"
+ },
+ "SR": {
+ "name": "ሱሪናáˆ"
+ },
+ "SZ": {
+ "name": "ሱዋዚላንድ"
+ },
+ "SD": {
+ "name": "ሱዳን"
+ },
+ "LK": {
+ "name": "ሲሪላንካ"
+ },
+ "SY": {
+ "name": "ሲሪያ"
+ },
+ "SC": {
+ "name": "ሲሼáˆáˆµ"
+ },
+ "SX": {
+ "name": "ሲንት ማርቲን"
+ },
+ "SG": {
+ "name": "ሲንጋá–ር"
+ },
+ "EA": {
+ "name": "ሲá‹á‰³áŠ• ሜሊላን"
+ },
+ "WS": {
+ "name": "ሳሞአ"
+ },
+ "SM": {
+ "name": "ሳን ማሪኖ"
+ },
+ "ST": {
+ "name": "ሳኦ ቶሜን á•áˆªáŠ•áˆ²á”ን"
+ },
+ "CY": {
+ "name": "ሳይá•áˆ¨áˆµ"
+ },
+ "SL": {
+ "name": "ሴራሊዮን"
+ },
+ "SN": {
+ "name": "ሴኔጋáˆ"
+ },
+ "SH": {
+ "name": "ሴንት ሄለና"
+ },
+ "LC": {
+ "name": "ሴንት ሉቺያ"
+ },
+ "MF": {
+ "name": "ሴንት ማርቲን"
+ },
+ "SK": {
+ "name": "ስሎቫኪያ"
+ },
+ "SI": {
+ "name": "ስሎቬኒያ"
+ },
+ "SJ": {
+ "name": "ስቫáˆá‰£áˆ­á‹µáŠ• ዣን ማየን ደሴታት"
+ },
+ "CH": {
+ "name": "ስዊዘርላንድ"
+ },
+ "SE": {
+ "name": "ስዊድን"
+ },
+ "SA": {
+ "name": "ስዑዲ ዓረብ"
+ },
+ "ES": {
+ "name": "ስá”ን"
+ },
+ "QA": {
+ "name": "ቀጠር"
+ },
+ "BL": {
+ "name": "ቅዱስ ባርተለሚይ"
+ },
+ "VC": {
+ "name": "ቅዱስ ቪንሴንትን áŒáˆ¬áŠ“ዲንስን"
+ },
+ "KN": {
+ "name": "ቅዱስ ኪትስን ኔቪስን"
+ },
+ "PM": {
+ "name": "ቅዱስ á’ዬርን ሚኩኤሎን"
+ },
+ "BT": {
+ "name": "ቡህታን"
+ },
+ "BG": {
+ "name": "ቡáˆáŒŒáˆªá‹«"
+ },
+ "BF": {
+ "name": "ቡርኪና á‹áˆ¶"
+ },
+ "GW": {
+ "name": "ቢሳዎ"
+ },
+ "BS": {
+ "name": "ባሃማስ"
+ },
+ "BH": {
+ "name": "ባህሬን"
+ },
+ "BB": {
+ "name": "ባርቤዶስ"
+ },
+ "BD": {
+ "name": "ባንáŒáˆ‹á‹²áˆ½"
+ },
+ "BZ": {
+ "name": "ቤሊዘ"
+ },
+ "BY": {
+ "name": "ቤላሩስ"
+ },
+ "BE": {
+ "name": "ቤáˆáŒ„áˆ"
+ },
+ "BM": {
+ "name": "ቤርሙዳ"
+ },
+ "BJ": {
+ "name": "ቤኒን"
+ },
+ "BN": {
+ "name": "ብሩኒ"
+ },
+ "BI": {
+ "name": "ብሩንዲ"
+ },
+ "BR": {
+ "name": "ብራዚáˆ"
+ },
+ "BO": {
+ "name": "ቦሊቪያ"
+ },
+ "BW": {
+ "name": "ቦትስዋና"
+ },
+ "BA": {
+ "name": "ቦá‹áŠ•á‹«áŠ• ሄርዘጎቪናን"
+ },
+ "VI": {
+ "name": "ቨርጂን ደሴታት ኣሜሪካ"
+ },
+ "VG": {
+ "name": "ቨርጂን ደሴታት እንáŒáˆŠá‹"
+ },
+ "VA": {
+ "name": "ቫቲካን"
+ },
+ "VU": {
+ "name": "ቫኑአቱ"
+ },
+ "VN": {
+ "name": "ቬትናáˆ"
+ },
+ "VE": {
+ "name": "ቬንዙዌላ"
+ },
+ "TR": {
+ "name": "ቱርክ"
+ },
+ "TM": {
+ "name": "ቱርክሜኒስታን"
+ },
+ "TV": {
+ "name": "ቱቫሉ"
+ },
+ "TN": {
+ "name": "ቱኒዚያ"
+ },
+ "TZ": {
+ "name": "ታንዛኒያ"
+ },
+ "TH": {
+ "name": "ታይላንድ"
+ },
+ "TW": {
+ "name": "ታይዋን"
+ },
+ "TJ": {
+ "name": "ታጃኪስታን"
+ },
+ "TA": {
+ "name": "ትሪስን ዳ ኩንሃ"
+ },
+ "TT": {
+ "name": "ትሪኒዳድን ቶባጎን"
+ },
+ "TO": {
+ "name": "ቶንጋ"
+ },
+ "TK": {
+ "name": "ቶክላá‹"
+ },
+ "TG": {
+ "name": "ቶáŒ"
+ },
+ "CL": {
+ "name": "ቺሊ"
+ },
+ "CN": {
+ "name": "ቻይና"
+ },
+ "CZ": {
+ "name": "ቼክ ሪá“ብሊክ"
+ },
+ "NU": {
+ "name": "ኒኡይ"
+ },
+ "NI": {
+ "name": "ኒካራጓ"
+ },
+ "NC": {
+ "name": "ኒዠካሌዶኒያ"
+ },
+ "NZ": {
+ "name": "ኒዠዚላንድ"
+ },
+ "NE": {
+ "name": "ኒጀር"
+ },
+ "NA": {
+ "name": "ናሚቢያ"
+ },
+ "NR": {
+ "name": "ናኡሩ"
+ },
+ "IO": {
+ "name": "ናይ ብሪጣንያ ህንዳዊ á‹á‰…ያኖስ áŒá‹áŠ£á‰µ"
+ },
+ "AS": {
+ "name": "ናይ ኣሜሪካ ሳሞኣ"
+ },
+ "UM": {
+ "name": "ናይ ኣሜሪካ áንትት á‹á‰ áˆ‰ ደሴታት"
+ },
+ "TF": {
+ "name": "ናይ áˆáˆ¨áŠ•áˆ³á‹­ ደቡባዊ áŒá‹áŠ£á‰³á‰µ"
+ },
+ "GF": {
+ "name": "ናይ áˆáˆ¨áŠ•áˆ³á‹­ ጉይና"
+ },
+ "PF": {
+ "name": "ናይ áˆáˆ¨áŠ•áˆ³á‹­ á–ሊáŠá‹á‹«"
+ },
+ "NG": {
+ "name": "ናይጄሪያ"
+ },
+ "NL": {
+ "name": "ኔዘርላንድስ"
+ },
+ "NP": {
+ "name": "ኔá“áˆ"
+ },
+ "NO": {
+ "name": "ኖርዌ"
+ },
+ "NF": {
+ "name": "ኖርáŽáˆáŠ­ ደሴት"
+ },
+ "AL": {
+ "name": "አáˆá‰£áŠ’á‹«"
+ },
+ "DZ": {
+ "name": "አáˆáŒ„ሪያ"
+ },
+ "US": {
+ "name": "አሜሪካ"
+ },
+ "AW": {
+ "name": "አሩባ"
+ },
+ "AM": {
+ "name": "አርሜኒያ"
+ },
+ "AR": {
+ "name": "አርጀንቲና"
+ },
+ "AC": {
+ "name": "አሴንሽን ደሴት"
+ },
+ "AQ": {
+ "name": "አንታርክቲካ"
+ },
+ "AD": {
+ "name": "አንዶራ"
+ },
+ "AI": {
+ "name": "አንጉኢላ"
+ },
+ "AO": {
+ "name": "አንáŒáˆ‹"
+ },
+ "AU": {
+ "name": "አá‹áˆµá‰µáˆ¬áˆŠá‹«"
+ },
+ "AZ": {
+ "name": "አዘርባጃን"
+ },
+ "IE": {
+ "name": "አየርላንድ"
+ },
+ "IM": {
+ "name": "አይሠኦá ማን"
+ },
+ "IS": {
+ "name": "አይስላንድ"
+ },
+ "AF": {
+ "name": "አáጋኒስታን"
+ },
+ "UY": {
+ "name": "ኡራጓይ"
+ },
+ "IQ": {
+ "name": "ኢራቅ"
+ },
+ "IR": {
+ "name": "ኢራን"
+ },
+ "ET": {
+ "name": "ኢትዮጵያ"
+ },
+ "ID": {
+ "name": "ኢንዶኔዢያ"
+ },
+ "GQ": {
+ "name": "ኢኳቶሪያሠጊኒ"
+ },
+ "EC": {
+ "name": "ኢኳዶር"
+ },
+ "AG": {
+ "name": "ኣንቲጓን ባሩዳን"
+ },
+ "SV": {
+ "name": "ኤሠሳáˆá‰«á‹¶áˆ­"
+ },
+ "ER": {
+ "name": "ኤርትራ"
+ },
+ "EE": {
+ "name": "ኤስቶኒያ"
+ },
+ "IL": {
+ "name": "እስራኤáˆ"
+ },
+ "GB": {
+ "name": "እንáŒáˆŠá‹"
+ },
+ "OM": {
+ "name": "ኦማን"
+ },
+ "AT": {
+ "name": "ኦስትሪያ"
+ },
+ "CW": {
+ "name": "ኩራካዎ"
+ },
+ "CU": {
+ "name": "ኩባ"
+ },
+ "KI": {
+ "name": "ኪሪባቲ"
+ },
+ "KG": {
+ "name": "ኪርጂስታን"
+ },
+ "CM": {
+ "name": "ካሜሩን"
+ },
+ "KH": {
+ "name": "ካáˆá‰¦á‹²á‹«"
+ },
+ "BQ": {
+ "name": "ካሪቢያን ኔዘርላንድስ"
+ },
+ "CA": {
+ "name": "ካናዳ"
+ },
+ "KZ": {
+ "name": "ካዛኪስታን"
+ },
+ "KY": {
+ "name": "ካይማን ደሴቶች"
+ },
+ "KE": {
+ "name": "ኬንያ"
+ },
+ "CV": {
+ "name": "ኬᕠቬርዴ"
+ },
+ "HR": {
+ "name": "ክሮኤሽያ"
+ },
+ "KW": {
+ "name": "ክዌት"
+ },
+ "CO": {
+ "name": "ኮሎáˆá‰¢á‹«"
+ },
+ "KM": {
+ "name": "ኮሞሮስ"
+ },
+ "CR": {
+ "name": "ኮስታ ሪካ"
+ },
+ "XK": {
+ "name": "ኮሶቮ"
+ },
+ "CI": {
+ "name": "ኮት ዲቯር"
+ },
+ "CD": {
+ "name": "ኮንጎ"
+ },
+ "CG": {
+ "name": "ኮንጎ ሪá“ብሊክ"
+ },
+ "CC": {
+ "name": "ኮኮስ ኬሊንጠደሴቶች"
+ },
+ "WF": {
+ "name": "ዋሊስን á‰á‰±áŠ“ን"
+ },
+ "ZW": {
+ "name": "á‹šáˆá‰§á‰¤"
+ },
+ "ZM": {
+ "name": "á‹›áˆá‰¢á‹«"
+ },
+ "YE": {
+ "name": "የመን"
+ },
+ "UA": {
+ "name": "ዩክሬን"
+ },
+ "UZ": {
+ "name": "á‹©á‹á‰ áŠªáˆµá‰³áŠ•"
+ },
+ "UG": {
+ "name": "ዩጋንዳ"
+ },
+ "MP": {
+ "name": "ደሴታት ሰሜናዊ ማሪያና"
+ },
+ "TC": {
+ "name": "ደሴታት ቱርክን ካይኮስን"
+ },
+ "AX": {
+ "name": "ደሴታት ኣላንድ"
+ },
+ "CK": {
+ "name": "ደሴታት ኩክ"
+ },
+ "IC": {
+ "name": "ደሴታት ካናሪ"
+ },
+ "CX": {
+ "name": "ደሴታት ክሪስትማስ"
+ },
+ "GS": {
+ "name": "ደሴታት ደቡብ ጆርጂያን ደቡድ ሳንድዊችን"
+ },
+ "FO": {
+ "name": "ደሴታት á‹áˆ«áŠ¦"
+ },
+ "FK": {
+ "name": "ደሴታት áŽáŠ­áˆ‹áŠ•á‹µ"
+ },
+ "SS": {
+ "name": "ደቡብ ሱዳን"
+ },
+ "ZA": {
+ "name": "ደቡብ አáሪካ"
+ },
+ "KR": {
+ "name": "ደቡብ ኮሪያ"
+ },
+ "DG": {
+ "name": "ዲየጎ ጋርሺያ"
+ },
+ "DK": {
+ "name": "ዴንማርክ"
+ },
+ "DO": {
+ "name": "ዶመኒካ ሪá“ብሊክ"
+ },
+ "DM": {
+ "name": "ዶሚኒካ"
+ },
+ "DE": {
+ "name": "ጀርመን"
+ },
+ "JE": {
+ "name": "ጀርሲ"
+ },
+ "DJ": {
+ "name": "ጂቡቲ"
+ },
+ "JM": {
+ "name": "ጃማይካ"
+ },
+ "JP": {
+ "name": "ጃá“ን"
+ },
+ "JO": {
+ "name": "ጆርዳን"
+ },
+ "GE": {
+ "name": "ጆርጂያ"
+ },
+ "GG": {
+ "name": "ገርንሲ"
+ },
+ "GU": {
+ "name": "ጉዋáˆ"
+ },
+ "GT": {
+ "name": "ጉዋቲማላ"
+ },
+ "GP": {
+ "name": "ጉዋደሉá•"
+ },
+ "GY": {
+ "name": "ጉያና"
+ },
+ "GI": {
+ "name": "ጊብራáˆá‰³áˆ­"
+ },
+ "GN": {
+ "name": "ጊኒ"
+ },
+ "GM": {
+ "name": "ጋáˆá‰¢á‹«"
+ },
+ "GA": {
+ "name": "ጋቦን"
+ },
+ "GH": {
+ "name": "ጋና"
+ },
+ "GL": {
+ "name": "áŒáˆªáŠ•áˆ‹áŠ•á‹µ"
+ },
+ "GR": {
+ "name": "áŒáˆªáŠ­"
+ },
+ "GD": {
+ "name": "áŒáˆ¬áŠ“ዳ"
+ },
+ "EG": {
+ "name": "áŒá‰¥áŒ½"
+ },
+ "IT": {
+ "name": "ጣሊያን"
+ },
+ "TD": {
+ "name": "ጫድ"
+ },
+ "FR": {
+ "name": "áˆáˆ¨áŠ•áˆ³á‹­"
+ },
+ "PH": {
+ "name": "áŠáˆŠá’ንስ"
+ },
+ "FI": {
+ "name": "áŠáŠ•áˆ‹áŠ•á‹µ"
+ },
+ "FJ": {
+ "name": "áŠáŒ‚"
+ },
+ "PN": {
+ "name": "á’ትካኢርን"
+ },
+ "PW": {
+ "name": "á“ላá‹"
+ },
+ "PY": {
+ "name": "á“ራጓይ"
+ },
+ "PA": {
+ "name": "á“ናማ"
+ },
+ "PK": {
+ "name": "á“ኪስታን"
+ },
+ "PG": {
+ "name": "á“á‘á‹‹ ኒዠጊኒ"
+ },
+ "PE": {
+ "name": "á”ሩ"
+ },
+ "PL": {
+ "name": "á–ላንድ"
+ },
+ "PT": {
+ "name": "á–ርቱጋáˆ"
+ },
+ "PR": {
+ "name": "á–ርታ ሪኮ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/tk.json b/vendor/commerceguys/intl/resources/country/tk.json
new file mode 100644
index 000000000..8ea77385d
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/tk.json
@@ -0,0 +1,761 @@
+{
+ "UM": {
+ "name": "ABŞ-nyň daşarky adalary"
+ },
+ "VI": {
+ "name": "ABŞ-nyň Wirgin adalary"
+ },
+ "AX": {
+ "name": "Aland adalary"
+ },
+ "AL": {
+ "name": "Albaniýa"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "AS": {
+ "name": "Amerikan Samoasy"
+ },
+ "US": {
+ "name": "Amerikanyň Birleşen Ştatlary"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angilýa"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua we Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Awstraliýa"
+ },
+ "AT": {
+ "name": "Awstriýa"
+ },
+ "AZ": {
+ "name": "Azerbaýjan"
+ },
+ "BS": {
+ "name": "Bagama adalary"
+ },
+ "BH": {
+ "name": "Bahreýn"
+ },
+ "BD": {
+ "name": "BangladeÅŸ"
+ },
+ "BB": {
+ "name": "Barbadow"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgiýa"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "AC": {
+ "name": "Beýgeliş adasy"
+ },
+ "AE": {
+ "name": "BirleÅŸen Arap Emirlikleri"
+ },
+ "GB": {
+ "name": "BirleÅŸen PatyÅŸalyk"
+ },
+ "BG": {
+ "name": "Bolgariýa"
+ },
+ "BO": {
+ "name": "Boliwiýa"
+ },
+ "BA": {
+ "name": "Bosniýa we Gersegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Braziliýa"
+ },
+ "VG": {
+ "name": "Britan Wirgin adalary"
+ },
+ "IO": {
+ "name": "Britaniýanyň Hint okeanyndaky territoriýalary"
+ },
+ "BN": {
+ "name": "Bruneý"
+ },
+ "BF": {
+ "name": "Burkina-Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "CZ": {
+ "name": "Çehiýa"
+ },
+ "CL": {
+ "name": "Çili"
+ },
+ "DK": {
+ "name": "Daniýa"
+ },
+ "KP": {
+ "name": "Demirgazyk Koreýa"
+ },
+ "MP": {
+ "name": "Demirgazyk Mariana adalary"
+ },
+ "DG": {
+ "name": "Diýego-Garsiýa"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikan Respublikasy"
+ },
+ "ET": {
+ "name": "Efiopiýa"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "GQ": {
+ "name": "Ekwatorial Gwineýa"
+ },
+ "ER": {
+ "name": "Eritreýa"
+ },
+ "AM": {
+ "name": "Ermenistan"
+ },
+ "EE": {
+ "name": "Estoniýa"
+ },
+ "IR": {
+ "name": "Eýran"
+ },
+ "FO": {
+ "name": "Farer adalary"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinler"
+ },
+ "FI": {
+ "name": "Finlandiýa"
+ },
+ "FK": {
+ "name": "Folklend adalary"
+ },
+ "FR": {
+ "name": "Fransiýa"
+ },
+ "TF": {
+ "name": "Fransuz günorta territoriýalary"
+ },
+ "GF": {
+ "name": "Fransuz Gwianasy"
+ },
+ "PF": {
+ "name": "Fransuz Polineziýasy"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "HT": {
+ "name": "Gaiti"
+ },
+ "GM": {
+ "name": "Gambiýa"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GY": {
+ "name": "Gaýana"
+ },
+ "KZ": {
+ "name": "Gazagystan"
+ },
+ "DE": {
+ "name": "Germaniýa"
+ },
+ "GG": {
+ "name": "Gernsi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "HN": {
+ "name": "Gonduras"
+ },
+ "HK": {
+ "name": "Gonkong AAS Hytaý"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandiýa"
+ },
+ "GR": {
+ "name": "Gresiýa"
+ },
+ "GE": {
+ "name": "Gruziýa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "EH": {
+ "name": "Günbatar Sahara"
+ },
+ "ZA": {
+ "name": "Günorta Afrika"
+ },
+ "GS": {
+ "name": "Günorta Georgiýa we Günorta Sendwiç adasy"
+ },
+ "KR": {
+ "name": "Günorta Koreýa"
+ },
+ "SS": {
+ "name": "Günorta Sudan"
+ },
+ "GP": {
+ "name": "Gwadelupa"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GN": {
+ "name": "Gwineýa"
+ },
+ "GW": {
+ "name": "Gwineýa-Bisau"
+ },
+ "KG": {
+ "name": "Gyrgyzystan"
+ },
+ "IN": {
+ "name": "Hindistan"
+ },
+ "HR": {
+ "name": "Horwatiýa"
+ },
+ "CN": {
+ "name": "Hytaý"
+ },
+ "ID": {
+ "name": "Indoneziýa"
+ },
+ "JO": {
+ "name": "Iordaniýa"
+ },
+ "IE": {
+ "name": "Irlandiýa"
+ },
+ "IS": {
+ "name": "Islandiýa"
+ },
+ "ES": {
+ "name": "Ispaniýa"
+ },
+ "IT": {
+ "name": "Italiýa"
+ },
+ "JE": {
+ "name": "Jersi"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "CV": {
+ "name": "Kabo-Werde"
+ },
+ "KH": {
+ "name": "Kamboja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanar adalary"
+ },
+ "BQ": {
+ "name": "Karib Niderlandy"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KY": {
+ "name": "Kaýman adalary"
+ },
+ "KE": {
+ "name": "Keniýa"
+ },
+ "SH": {
+ "name": "Keramatly Ãelena adasy"
+ },
+ "CY": {
+ "name": "Kipr"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokos (Kiling) adalary"
+ },
+ "CO": {
+ "name": "Kolumbiýa"
+ },
+ "KM": {
+ "name": "Komor Adalary"
+ },
+ "CG": {
+ "name": "Kongo - Brazzawil"
+ },
+ "CD": {
+ "name": "Kongo - KinÅŸasa"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kosta-Rika"
+ },
+ "CI": {
+ "name": "Kot-d’Iwuar"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuk adalary"
+ },
+ "KW": {
+ "name": "Kuweýt"
+ },
+ "CW": {
+ "name": "Kýurasao"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latwiýa"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberiýa"
+ },
+ "LI": {
+ "name": "Lihtenşteýn"
+ },
+ "LT": {
+ "name": "Litwa"
+ },
+ "LB": {
+ "name": "Liwan"
+ },
+ "LY": {
+ "name": "Liwiýa"
+ },
+ "LU": {
+ "name": "Lýuksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makau AAS Hytaý"
+ },
+ "MK": {
+ "name": "Makedoniýa"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaýziýa"
+ },
+ "MV": {
+ "name": "Maldiwler"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "MarÅŸall adalary"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MU": {
+ "name": "Mawrikiý"
+ },
+ "MR": {
+ "name": "Mawritaniýa"
+ },
+ "YT": {
+ "name": "Maýotta"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "IM": {
+ "name": "Men adasy"
+ },
+ "FM": {
+ "name": "Mikroneziýa"
+ },
+ "MD": {
+ "name": "Moldowa"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliýa"
+ },
+ "MS": {
+ "name": "Monserrat"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "EG": {
+ "name": "Müsür"
+ },
+ "MM": {
+ "name": "Mýanma (Burma)"
+ },
+ "NA": {
+ "name": "Namibiýa"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Niderlandiýa"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeriýa"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk adasy"
+ },
+ "NO": {
+ "name": "Norwegiýa"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "CF": {
+ "name": "Orta Afrika Respublikasy"
+ },
+ "AF": {
+ "name": "Owganystan"
+ },
+ "UZ": {
+ "name": "Özbegistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina territoriýasy"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua - Täze Gwineýa"
+ },
+ "PY": {
+ "name": "Paragwaý"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern adalary"
+ },
+ "PL": {
+ "name": "PolÅŸa"
+ },
+ "PT": {
+ "name": "Portugaliýa"
+ },
+ "PR": {
+ "name": "Puerto-Riko"
+ },
+ "RE": {
+ "name": "Reýunýon"
+ },
+ "CX": {
+ "name": "Roždestwo adasy"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumyniýa"
+ },
+ "RU": {
+ "name": "Russiýa"
+ },
+ "SV": {
+ "name": "Salwador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "ST": {
+ "name": "San-Tome we Prinsipi"
+ },
+ "SA": {
+ "name": "Saud Arabystany"
+ },
+ "BL": {
+ "name": "Sen-Bartelemi"
+ },
+ "MF": {
+ "name": "Sen-Marten"
+ },
+ "PM": {
+ "name": "Sen-Pýer we Mikelon"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KN": {
+ "name": "Sent-Kits we Newis"
+ },
+ "LC": {
+ "name": "Sent-Lýusiýa"
+ },
+ "VC": {
+ "name": "Sent-Winsent we Grenadinler"
+ },
+ "RS": {
+ "name": "Serbiýa"
+ },
+ "EA": {
+ "name": "Seuta we Melilýa"
+ },
+ "SC": {
+ "name": "Seýşel Adalary"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint-Marten"
+ },
+ "SY": {
+ "name": "Siriýa"
+ },
+ "SK": {
+ "name": "Slowakiýa"
+ },
+ "SI": {
+ "name": "Sloweniýa"
+ },
+ "SB": {
+ "name": "Solomon adalary"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SJ": {
+ "name": "Åžpisbergen we Ãan-Maýen"
+ },
+ "LK": {
+ "name": "Åžri-Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SZ": {
+ "name": "Swazilend"
+ },
+ "SE": {
+ "name": "Şwesiýa"
+ },
+ "CH": {
+ "name": "Şweýsariýa"
+ },
+ "SL": {
+ "name": "Sýerra-Leone"
+ },
+ "TJ": {
+ "name": "Täjigistan"
+ },
+ "TZ": {
+ "name": "Tanzaniýa"
+ },
+ "TH": {
+ "name": "Taýland"
+ },
+ "TW": {
+ "name": "Taýwan"
+ },
+ "NC": {
+ "name": "Täze Kaledoniýa"
+ },
+ "NZ": {
+ "name": "Täze Zelandiýa"
+ },
+ "TC": {
+ "name": "Terks we Kaýkos adalary"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad we Tobago"
+ },
+ "TA": {
+ "name": "Tristan-da-Kunýa"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TR": {
+ "name": "Türkiýe"
+ },
+ "TM": {
+ "name": "Türkmenistan"
+ },
+ "TV": {
+ "name": "Tuwalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "WF": {
+ "name": "Uollis we Futuna"
+ },
+ "UY": {
+ "name": "Urugwaý"
+ },
+ "VU": {
+ "name": "Wanuatu"
+ },
+ "VA": {
+ "name": "Watikan"
+ },
+ "VE": {
+ "name": "Wenesuela"
+ },
+ "HU": {
+ "name": "Wengriýa"
+ },
+ "VN": {
+ "name": "Wýetnam"
+ },
+ "JM": {
+ "name": "Ãamaýka"
+ },
+ "JP": {
+ "name": "Ãaponiýa"
+ },
+ "YE": {
+ "name": "Ãemen"
+ },
+ "IQ": {
+ "name": "Yrak"
+ },
+ "IL": {
+ "name": "Ysraýyl"
+ },
+ "ZM": {
+ "name": "Zambiýa"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/to.json b/vendor/commerceguys/intl/resources/country/to.json
index 38fc7193e..e62a9df5a 100644
--- a/vendor/commerceguys/intl/resources/country/to.json
+++ b/vendor/commerceguys/intl/resources/country/to.json
@@ -164,6 +164,12 @@
"LB": {
"name": "Lepanoni"
},
+ "DO": {
+ "name": "Lepupelika Tominika"
+ },
+ "CF": {
+ "name": "Lepupelika ʻAfilika Lotoloto"
+ },
"LS": {
"name": "Lesoto"
},
@@ -173,15 +179,6 @@
"LI": {
"name": "Likitenisiteini"
},
- "CZ": {
- "name": "Lipapilika Seki"
- },
- "DO": {
- "name": "Lipapilika Tominika"
- },
- "CF": {
- "name": "Lipapilika ʻAfilika Lotoloto"
- },
"LY": {
"name": "LÄ«pia"
},
@@ -228,7 +225,7 @@
"name": "Matakasika"
},
"MQ": {
- "name": "MÄteniki"
+ "name": "MÄtiniki"
},
"MR": {
"name": "Maulitenia"
@@ -455,6 +452,9 @@
"SA": {
"name": "Saute ʻAlepea"
},
+ "CZ": {
+ "name": "SÄ“kia"
+ },
"JE": {
"name": "Selusī"
},
@@ -614,15 +614,15 @@
"IS": {
"name": "ʻAisilani"
},
- "DZ": {
- "name": "ʻAisilia"
- },
"AE": {
"name": "ʻAlepea Fakatahataha"
},
"AL": {
"name": "ʻAlipania"
},
+ "DZ": {
+ "name": "ʻAlisilia"
+ },
"AW": {
"name": "ʻAlupa"
},
diff --git a/vendor/commerceguys/intl/resources/country/tr.json b/vendor/commerceguys/intl/resources/country/tr.json
index a2c28fcb4..f3e5510fc 100644
--- a/vendor/commerceguys/intl/resources/country/tr.json
+++ b/vendor/commerceguys/intl/resources/country/tr.json
@@ -1,6 +1,6 @@
{
"UM": {
- "name": "ABD Uzak Adaları"
+ "name": "ABD Küçük Harici Adaları"
},
"VI": {
"name": "ABD Virjin Adaları"
@@ -156,7 +156,7 @@
"name": "Çad"
},
"CZ": {
- "name": "Çek Cumhuriyeti"
+ "name": "Çekya"
},
"CN": {
"name": "Çin"
@@ -261,7 +261,7 @@
"name": "Grönland"
},
"GP": {
- "name": "Guadalupe"
+ "name": "Guadeloupe"
},
"GU": {
"name": "Guam"
@@ -357,7 +357,7 @@
"name": "KaradaÄŸ"
},
"BQ": {
- "name": "Karayip Hollanda"
+ "name": "Karayip Hollandası"
},
"QA": {
"name": "Katar"
diff --git a/vendor/commerceguys/intl/resources/country/tt.json b/vendor/commerceguys/intl/resources/country/tt.json
new file mode 100644
index 000000000..c4fe7599a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/tt.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "AU": {
+ "name": "ÐвÑтралиÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтриÑ"
+ },
+ "US": {
+ "name": "ÐКШ"
+ },
+ "VI": {
+ "name": "ÐКШ Виргин утраулары"
+ },
+ "UM": {
+ "name": "ÐКШ Кече Читтәге утраулары"
+ },
+ "AX": {
+ "name": "Ðланд утраулары"
+ },
+ "AL": {
+ "name": "ÐлбаниÑ"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "AS": {
+ "name": "Ðмерика СамоаÑÑ‹"
+ },
+ "AI": {
+ "name": "ÐнгильÑ"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктика"
+ },
+ "AG": {
+ "name": "Ðнтигуа һәм Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AZ": {
+ "name": "Әзәрбайҗан"
+ },
+ "AM": {
+ "name": "ӘрмәнÑтан"
+ },
+ "AF": {
+ "name": "ӘфганÑтан"
+ },
+ "BS": {
+ "name": "Багам утраулары"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BH": {
+ "name": "Бәхрәйн"
+ },
+ "BY": {
+ "name": "БеларуÑÑŒ"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "БельгиÑ"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "AE": {
+ "name": "Берләшкән Гарәп Әмирлекләре"
+ },
+ "BM": {
+ "name": "Бермуд утраулары"
+ },
+ "BG": {
+ "name": "БолгариÑ"
+ },
+ "BO": {
+ "name": "БоливиÑ"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ð¸Ñ Ò»Ó™Ð¼ Герцеговина"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "GB": {
+ "name": "БөекбританиÑ"
+ },
+ "BR": {
+ "name": "БразилиÑ"
+ },
+ "VG": {
+ "name": "Ð‘Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð’Ð¸Ñ€Ð³Ð¸Ð½ утраулары"
+ },
+ "IO": {
+ "name": "БританиÑнең Һинд Океанындагы ТерриториÑÑе"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "HU": {
+ "name": "ВенгриÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуÑла"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "ГамбиÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "ГвинеÑ"
+ },
+ "GW": {
+ "name": "ГвинеÑ-БиÑау"
+ },
+ "DE": {
+ "name": "ГерманиÑ"
+ },
+ "GG": {
+ "name": "ГернÑи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "HK": {
+ "name": "Гонконг МахÑÑƒÑ Ð˜Ð´Ð°Ñ€Ó™Ð»Ðµ Төбәге"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландиÑ"
+ },
+ "GR": {
+ "name": "ГрециÑ"
+ },
+ "GE": {
+ "name": "ГрузиÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "IQ": {
+ "name": "Гыйрак"
+ },
+ "DK": {
+ "name": "ДаниÑ"
+ },
+ "JE": {
+ "name": "ДжерÑи"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминикана РеÑпубликаÑÑ‹"
+ },
+ "DJ": {
+ "name": "Җибүти"
+ },
+ "ZM": {
+ "name": "ЗамбиÑ"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "IN": {
+ "name": "ИндиÑ"
+ },
+ "ID": {
+ "name": "ИндонезиÑ"
+ },
+ "JO": {
+ "name": "ИорданиÑ"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрландиÑ"
+ },
+ "IS": {
+ "name": "ИÑландиÑ"
+ },
+ "ES": {
+ "name": "ИÑпаниÑ"
+ },
+ "IT": {
+ "name": "ИталиÑ"
+ },
+ "YE": {
+ "name": "Йәмән"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "Кайман утраулары"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "КениÑ"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "ÐšÐ¾ÐºÐ¾Ñ (Килинг) утраулары"
+ },
+ "CO": {
+ "name": "КолумбиÑ"
+ },
+ "KM": {
+ "name": "Комор утраулары"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "ZA": {
+ "name": "КөньÑк Ðфрика"
+ },
+ "GS": {
+ "name": "КөньÑк Ð“ÐµÐ¾Ñ€Ð³Ð¸Ñ Ò»Ó™Ð¼ КөньÑк Сандвич утраулары"
+ },
+ "SS": {
+ "name": "КөньÑк Судан"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "CK": {
+ "name": "Кук утраулары"
+ },
+ "KW": {
+ "name": "Күвәйт"
+ },
+ "KG": {
+ "name": "КыргызÑтан"
+ },
+ "CN": {
+ "name": "Кытай"
+ },
+ "CW": {
+ "name": "КюраÑао"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвиÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "ЛибериÑ"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "ЛивиÑ"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "МавританиÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао МахÑÑƒÑ Ð˜Ð´Ð°Ñ€Ó™Ð»Ðµ Төбәге"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "МалайзиÑ"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдив утраулары"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалл утраулары"
+ },
+ "MX": {
+ "name": "МекÑика"
+ },
+ "FM": {
+ "name": "МикронезиÑ"
+ },
+ "EG": {
+ "name": "МиÑÑ‹Ñ€"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "МонголиÑ"
+ },
+ "MS": {
+ "name": "МонтÑеррат"
+ },
+ "IM": {
+ "name": "ÐœÑн утравы"
+ },
+ "NA": {
+ "name": "ÐамибиÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "ÐигериÑ"
+ },
+ "NL": {
+ "name": "Ðидерланд"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "ÐиуÑ"
+ },
+ "NO": {
+ "name": "ÐорвегиÑ"
+ },
+ "NF": {
+ "name": "Ðорфолк утравы"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа - Яңа ГвинеÑ"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "ПиткÑрн утраулары"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "ПортугалиÑ"
+ },
+ "PR": {
+ "name": "ПуÑрто-Рико"
+ },
+ "CX": {
+ "name": "Раштуа утравы"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RU": {
+ "name": "РоÑÑиÑ"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РумыниÑ"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе һәм ПринÑипи"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SC": {
+ "name": "Сейшел утраулары"
+ },
+ "BL": {
+ "name": "Сен-Бартельми"
+ },
+ "PM": {
+ "name": "Сен-Пьер һәм Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-ВинÑент һәм Гренадин"
+ },
+ "KN": {
+ "name": "Сент-ÐšÐ¸Ñ‚Ñ Ò»Ó™Ð¼ ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑиÑ"
+ },
+ "MF": {
+ "name": "Сент-Мартин"
+ },
+ "RS": {
+ "name": "СербиÑ"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SK": {
+ "name": "СловакиÑ"
+ },
+ "SI": {
+ "name": "СловениÑ"
+ },
+ "SA": {
+ "name": "Согуд ГарәбÑтаны"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SB": {
+ "name": "Сөләйман утраулары"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SY": {
+ "name": "СүриÑ"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TJ": {
+ "name": "ТаҗикÑтан"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "ТанзаниÑ"
+ },
+ "TC": {
+ "name": "Ð¢ÐµÑ€ÐºÑ Ò»Ó™Ð¼ ÐšÐ°Ð¹ÐºÐ¾Ñ ÑƒÑ‚Ñ€Ð°ÑƒÐ»Ð°Ñ€Ñ‹"
+ },
+ "TL": {
+ "name": "Тимор-ЛеÑте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "KP": {
+ "name": "ТөньÑк КореÑ"
+ },
+ "MP": {
+ "name": "ТөньÑк Мариана утраулары"
+ },
+ "TR": {
+ "name": "ТөркиÑ"
+ },
+ "TM": {
+ "name": "ТөркмәнÑтан"
+ },
+ "TT": {
+ "name": "Тринидад һәм Тобаго"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð»Ð¸Ñ Ò»Ó™Ð¼ Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "CF": {
+ "name": "Үзәк Ðфрика РеÑпубликаÑÑ‹"
+ },
+ "UZ": {
+ "name": "ҮзбәкÑтан"
+ },
+ "FO": {
+ "name": "Фарер утраулары"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "ФинлÑндиÑ"
+ },
+ "FK": {
+ "name": "Фолкленд утраулары"
+ },
+ "FR": {
+ "name": "ФранциÑ"
+ },
+ "TF": {
+ "name": "ФранциÑнең КөньÑк ТерриториÑләре"
+ },
+ "GF": {
+ "name": "Француз ГвианаÑÑ‹"
+ },
+ "PF": {
+ "name": "Француз ПолинезиÑÑе"
+ },
+ "HR": {
+ "name": "ХорватиÑ"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "ЧерногориÑ"
+ },
+ "CZ": {
+ "name": "Ð§ÐµÑ…Ð¸Ñ Ð ÐµÑпубликаÑÑ‹"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "ШвейцариÑ"
+ },
+ "SE": {
+ "name": "ШвециÑ"
+ },
+ "SJ": {
+ "name": "Шпицберген һәм Ян-Майен"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваториаль ГвинеÑ"
+ },
+ "ER": {
+ "name": "ЭритреÑ"
+ },
+ "EE": {
+ "name": "ЭÑтониÑ"
+ },
+ "ET": {
+ "name": "ЭфиопиÑ"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "NZ": {
+ "name": "Яңа ЗеландиÑ"
+ },
+ "NC": {
+ "name": "Яңа КаледониÑ"
+ },
+ "JP": {
+ "name": "ЯпониÑ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/uk.json b/vendor/commerceguys/intl/resources/country/uk.json
index e6462481e..fb457113a 100644
--- a/vendor/commerceguys/intl/resources/country/uk.json
+++ b/vendor/commerceguys/intl/resources/country/uk.json
@@ -20,12 +20,12 @@
"AS": {
"name": "ÐмериканÑьке Самоа"
},
- "AI": {
- "name": "ÐнгільÑ"
- },
"AO": {
"name": "Ðнгола"
},
+ "AI": {
+ "name": "ÐнґільÑ"
+ },
"AD": {
"name": "Ðндорра"
},
@@ -33,7 +33,7 @@
"name": "Ðнтарктика"
},
"AG": {
- "name": "Ðнтигуа Ñ– Барбуда"
+ "name": "Ðнтиґуа Ñ– Барбуда"
},
"AR": {
"name": "Ðргентина"
@@ -60,7 +60,7 @@
"name": "Беліз"
},
"BE": {
- "name": "БельгіÑ"
+ "name": "БельґіÑ"
},
"BJ": {
"name": "Бенін"
@@ -78,20 +78,20 @@
"name": "БолівіÑ"
},
"BA": {
- "name": "БоÑÐ½Ñ–Ñ Ñ– Герцоговина"
+ "name": "БоÑÐ½Ñ–Ñ Ñ– Герцеґовина"
},
"BW": {
"name": "БотÑвана"
},
"BR": {
- "name": "БразиліÑ"
+ "name": "БразіліÑ"
+ },
+ "IO": {
+ "name": "БританÑька Ñ‚ÐµÑ€Ð¸Ñ‚Ð¾Ñ€Ñ–Ñ Ð² ІндійÑькому Океані"
},
"VG": {
"name": "БританÑькі ВіргінÑькі оÑтрови"
},
- "IO": {
- "name": "БританÑькі території в ІндійÑькому океані"
- },
"BN": {
"name": "Бруней"
},
@@ -125,9 +125,6 @@
"AM": {
"name": "ВірменіÑ"
},
- "WF": {
- "name": "Ð’Ð¾Ð»Ð»Ñ–Ñ Ñ– Футуна"
- },
"VN": {
"name": "Вʼєтнам"
},
@@ -143,47 +140,47 @@
"GH": {
"name": "Гана"
},
- "GY": {
- "name": "ГаÑна"
- },
- "GP": {
- "name": "Гваделупа"
- },
- "GT": {
- "name": "Гватемала"
- },
"GN": {
"name": "ГвінеÑ"
},
"GW": {
"name": "ГвінеÑ-БіÑау"
},
- "GG": {
- "name": "ГернÑÑ–"
- },
- "GI": {
- "name": "Гібралтар"
- },
"HN": {
"name": "ГондураÑ"
},
"HK": {
"name": "Гонконг, О.Ð.Р. Китаю"
},
- "GD": {
- "name": "Гренада"
- },
- "GL": {
- "name": "ГренландіÑ"
- },
"GR": {
"name": "ГреціÑ"
},
"GE": {
"name": "ГрузіÑ"
},
+ "GY": {
+ "name": "Òайана"
+ },
+ "GP": {
+ "name": "Òваделупа"
+ },
+ "GT": {
+ "name": "Òватемала"
+ },
+ "GG": {
+ "name": "ÒернÑÑ–"
+ },
+ "GI": {
+ "name": "Òібралтар"
+ },
+ "GD": {
+ "name": "Òренада"
+ },
+ "GL": {
+ "name": "ÒренландіÑ"
+ },
"GU": {
- "name": "Гуам"
+ "name": "Òуам"
},
"DK": {
"name": "ДаніÑ"
@@ -300,7 +297,7 @@
"name": "Кіпр"
},
"KI": {
- "name": "Кірибаті"
+ "name": "Кірібаті"
},
"CC": {
"name": "КокоÑові (Кілінгові) оÑтрови"
@@ -321,7 +318,7 @@
"name": "КоÑово"
},
"CR": {
- "name": "КоÑта-Рика"
+ "name": "КоÑта-Ріка"
},
"CI": {
"name": "Кот-д’Івуар"
@@ -360,14 +357,14 @@
"name": "Ліхтенштейн"
},
"LU": {
- "name": "ЛюкÑембург"
- },
- "MU": {
- "name": "Маврикій"
+ "name": "ЛюкÑембурґ"
},
"MR": {
"name": "МавританіÑ"
},
+ "MU": {
+ "name": "Маврікій"
+ },
"MG": {
"name": "МадагаÑкар"
},
@@ -399,7 +396,7 @@
"name": "Марокко"
},
"MQ": {
- "name": "Мартиніка"
+ "name": "Мартініка"
},
"MH": {
"name": "Маршаллові ОÑтрови"
@@ -450,7 +447,7 @@
"name": "ÐідерландÑькі КарибÑькі оÑтрови"
},
"NI": {
- "name": "Ðікарагуа"
+ "name": "Ðікараґуа"
},
"DE": {
"name": "Ðімеччина"
@@ -465,7 +462,7 @@
"name": "Ðова КаледоніÑ"
},
"NO": {
- "name": "ÐорвегіÑ"
+ "name": "ÐорвеґіÑ"
},
"AE": {
"name": "Обʼєднані ÐрабÑькі Емірати"
@@ -494,9 +491,6 @@
"PN": {
"name": "ОÑтрови Піткерн"
},
- "SJ": {
- "name": "ОÑтрови Свальбард Ñ– Ян-Маєн"
- },
"TC": {
"name": "ОÑтрови Ð¢ÐµÑ€ÐºÑ Ñ– КайкоÑ"
},
@@ -513,10 +507,10 @@
"name": "Панама"
},
"PG": {
- "name": "Папуа Ðова ГвінеÑ"
+ "name": "Папуа-Ðова ÒвінеÑ"
},
"PY": {
- "name": "Парагвай"
+ "name": "Параґвай"
},
"PE": {
"name": "Перу"
@@ -543,10 +537,10 @@
"name": "Польща"
},
"PT": {
- "name": "ПортугаліÑ"
+ "name": "ПортуґаліÑ"
},
"PR": {
- "name": "Пуерто-Рико"
+ "name": "Пуерто-Ріко"
},
"RE": {
"name": "Реюньйон"
@@ -567,7 +561,7 @@
"name": "Самоа"
},
"SM": {
- "name": "Сан-Марино"
+ "name": "Сан-Маріно"
},
"ST": {
"name": "Сан-Томе Ñ– ПрінÑіпі"
@@ -594,7 +588,7 @@
"name": "Сенегал"
},
"VC": {
- "name": "Сент-ВінÑент Ñ– Гренадини"
+ "name": "Сент-ВінÑент Ñ– Òренадіни"
},
"KN": {
"name": "Сент-ÐšÑ–Ñ‚Ñ Ñ– ÐевіÑ"
@@ -629,14 +623,14 @@
"SO": {
"name": "Сомалі"
},
+ "US": {
+ "name": "Сполучені Штати"
+ },
"SD": {
"name": "Судан"
},
"SR": {
- "name": "Суринам"
- },
- "US": {
- "name": "СШÐ"
+ "name": "Сурінам"
},
"SL": {
"name": "Сьєрра-Леоне"
@@ -654,7 +648,7 @@
"name": "ТанзаніÑ"
},
"TL": {
- "name": "Тимор-Лешті"
+ "name": "Тімор-Лешті"
},
"TG": {
"name": "Того"
@@ -663,10 +657,10 @@
"name": "Токелау"
},
"TO": {
- "name": "Тонга"
+ "name": "Тонґа"
},
"TT": {
- "name": "Тринідад і Тобаго"
+ "name": "Трінідад і Тобаґо"
},
"TA": {
"name": "ТріÑтан-да-КуньÑ"
@@ -695,8 +689,11 @@
"UA": {
"name": "Україна"
},
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð»Ñ–Ñ Ñ– Футуна"
+ },
"UY": {
- "name": "Уругвай"
+ "name": "Уруґвай"
},
"FO": {
"name": "ФарерÑькі ОÑтрови"
@@ -717,7 +714,7 @@
"name": "ФранціÑ"
},
"GF": {
- "name": "Французька Гвіана"
+ "name": "Французька Òвіана"
},
"PF": {
"name": "Французька ПолінезіÑ"
@@ -735,10 +732,10 @@
"name": "Чад"
},
"CZ": {
- "name": "ЧеÑька РеÑпубліка"
+ "name": "ЧехіÑ"
},
"CL": {
- "name": "Чилі"
+ "name": "Чілі"
},
"ME": {
"name": "ЧорногоріÑ"
@@ -749,6 +746,9 @@
"SE": {
"name": "ШвеціÑ"
},
+ "SJ": {
+ "name": "Шпіцберґен і Ян-Майен"
+ },
"LK": {
"name": "Шрі-Ланка"
},
diff --git a/vendor/commerceguys/intl/resources/country/ur-IN.json b/vendor/commerceguys/intl/resources/country/ur-IN.json
index 6ccc58c2c..f128719dc 100644
--- a/vendor/commerceguys/intl/resources/country/ur-IN.json
+++ b/vendor/commerceguys/intl/resources/country/ur-IN.json
@@ -75,7 +75,7 @@
"name": "ایکواڈور"
},
"AZ": {
- "name": "آذر بائیجان"
+ "name": "آذربائیجان"
},
"AM": {
"name": "آرمینیا"
@@ -290,6 +290,9 @@
"JM": {
"name": "جمائیکا"
},
+ "DO": {
+ "name": "جمÛÙˆØ±ÛŒÛ ÚˆÙˆÙ…ÙŠÙ†ÙŠÚ©Ù†"
+ },
"ZA": {
"name": "جنوبی اÙریقÛ"
},
@@ -309,7 +312,7 @@
"name": "چلی"
},
"CZ": {
- "name": "چیک جمÛوریÛ"
+ "name": "چیکیا"
},
"CN": {
"name": "چین"
@@ -320,9 +323,6 @@
"DM": {
"name": "ڈومنیکا"
},
- "DO": {
- "name": "ڈومنیکن جمÛوریÛ"
- },
"DG": {
"name": "ڈیگو گارشیا"
},
@@ -401,6 +401,9 @@
"SE": {
"name": "سویڈن"
},
+ "SL": {
+ "name": "سیرالیون"
+ },
"BL": {
"name": "سینٹ برتھلیمی"
},
@@ -425,9 +428,6 @@
"SN": {
"name": "سینیگل"
},
- "SL": {
- "name": "سیئر لیون"
- },
"EA": {
"name": "سیئوٹا اور میلیلا"
},
@@ -470,12 +470,12 @@
"FI": {
"name": "ÙÙ† لینڈ"
},
- "KZ": {
- "name": "قازقستان"
- },
"CY": {
"name": "قبرص"
},
+ "KZ": {
+ "name": "قزاخستان"
+ },
"QA": {
"name": "قطر"
},
@@ -710,15 +710,15 @@
"NU": {
"name": "نیئو"
},
- "VA": {
- "name": "واٹیکن سٹی"
- },
"CF": {
"name": "وسط اÙریقی جمÛوریÛ"
},
"VN": {
"name": "ویتنام"
},
+ "VA": {
+ "name": "ویٹیکن سٹی"
+ },
"WF": {
"name": "ویلیز اور Ùیوٹیونا"
},
diff --git a/vendor/commerceguys/intl/resources/country/ur.json b/vendor/commerceguys/intl/resources/country/ur.json
index ca7d53525..c546ab3a0 100644
--- a/vendor/commerceguys/intl/resources/country/ur.json
+++ b/vendor/commerceguys/intl/resources/country/ur.json
@@ -78,7 +78,7 @@
"name": "ایکواڈور"
},
"AZ": {
- "name": "آذر بائیجان"
+ "name": "آذربائیجان"
},
"AM": {
"name": "آرمینیا"
@@ -266,6 +266,9 @@
"JM": {
"name": "جمائیکا"
},
+ "DO": {
+ "name": "جمÛÙˆØ±ÛŒÛ ÚˆÙˆÙ…ÙŠÙ†ÙŠÚ©Ù†"
+ },
"ZA": {
"name": "جنوبی اÙریقÛ"
},
@@ -285,7 +288,7 @@
"name": "چلی"
},
"CZ": {
- "name": "چیک جمÛوریÛ"
+ "name": "چیکیا"
},
"CN": {
"name": "چین"
@@ -299,9 +302,6 @@
"DM": {
"name": "ڈومنیکا"
},
- "DO": {
- "name": "ڈومنیکن جمÛوریÛ"
- },
"RW": {
"name": "روانڈا"
},
@@ -380,6 +380,9 @@
"SE": {
"name": "سویڈن"
},
+ "SL": {
+ "name": "سیرالیون"
+ },
"BL": {
"name": "سینٹ برتھلیمی"
},
@@ -404,9 +407,6 @@
"SN": {
"name": "سینیگل"
},
- "SL": {
- "name": "سیئر لیون"
- },
"EA": {
"name": "سیئوٹا اور میلیلا"
},
@@ -455,12 +455,12 @@
"FI": {
"name": "ÙÙ† لینڈ"
},
- "KZ": {
- "name": "قازقستان"
- },
"CY": {
"name": "قبرص"
},
+ "KZ": {
+ "name": "قزاخستان"
+ },
"QA": {
"name": "قطر"
},
@@ -710,15 +710,15 @@
"NU": {
"name": "نیئو"
},
- "VA": {
- "name": "واٹیکن سٹی"
- },
"CF": {
"name": "وسط اÙریقی جمÛوریÛ"
},
"VN": {
"name": "ویتنام"
},
+ "VA": {
+ "name": "ویٹیکن سٹی"
+ },
"WF": {
"name": "ویلیز اور Ùیوٹیونا"
},
diff --git a/vendor/commerceguys/intl/resources/country/uz-Cyrl.json b/vendor/commerceguys/intl/resources/country/uz-Cyrl.json
index 1e1cd6d96..e9bddac67 100644
--- a/vendor/commerceguys/intl/resources/country/uz-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/country/uz-Cyrl.json
@@ -24,7 +24,7 @@
"name": "Ðмерика СамоаÑи"
},
"AI": {
- "name": "ÐнгилÑ"
+ "name": "ÐнгильÑ"
},
"AO": {
"name": "Ðнгола"
@@ -62,12 +62,12 @@
"BH": {
"name": "Баҳрайн"
},
+ "BY": {
+ "name": "БеларуÑ"
+ },
"BZ": {
"name": "Белиз"
},
- "BY": {
- "name": "БелоруÑиÑ"
- },
"BE": {
"name": "БельгиÑ"
},
@@ -98,12 +98,12 @@
"BR": {
"name": "БразилиÑ"
},
+ "VG": {
+ "name": "Ð‘Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð’Ð¸Ñ€Ð³Ð¸Ð½ ороллари"
+ },
"IO": {
"name": "БританиÑнинг Ҳинд океанидаги ҳудуди"
},
- "VG": {
- "name": "Ð‘Ñ€Ñ‚Ð°Ð½Ð¸Ñ Ð’Ð¸Ñ€Ð³Ð¸Ð½ ороллари"
- },
"BN": {
"name": "Бруней"
},
@@ -684,7 +684,7 @@
"name": "Француз ГвианаÑи"
},
"TF": {
- "name": "Француз жанубий худудлари"
+ "name": "Француз жанубий ҳудудлари"
},
"PF": {
"name": "Француз ПолинезиÑÑи"
@@ -705,7 +705,7 @@
"name": "ЧерногориÑ"
},
"CZ": {
- "name": "Ð§ÐµÑ…Ð¸Ñ Ð ÐµÑпубликаÑи"
+ "name": "ЧехиÑ"
},
"CL": {
"name": "Чили"
diff --git a/vendor/commerceguys/intl/resources/country/uz.json b/vendor/commerceguys/intl/resources/country/uz.json
index a07a8a8ba..cc36eceb7 100644
--- a/vendor/commerceguys/intl/resources/country/uz.json
+++ b/vendor/commerceguys/intl/resources/country/uz.json
@@ -119,18 +119,6 @@
"GB": {
"name": "Buyuk Britaniya"
},
- "TD": {
- "name": "Chad"
- },
- "ME": {
- "name": "Chernogoriya"
- },
- "CZ": {
- "name": "Chexiya Respublikasi"
- },
- "CL": {
- "name": "Chili"
- },
"DK": {
"name": "Daniya"
},
@@ -162,7 +150,7 @@
"name": "Estoniya"
},
"PS": {
- "name": "Falastin hududi"
+ "name": "Falastin hududlari"
},
"FO": {
"name": "Farer orollari"
@@ -191,9 +179,6 @@
"PF": {
"name": "Fransuz Polineziyasi"
},
- "EH": {
- "name": "G‘arbiy Sahroi Kabir"
- },
"GA": {
"name": "Gabon"
},
@@ -416,12 +401,12 @@
"MA": {
"name": "Marokash"
},
- "MH": {
- "name": "Marshall orollari"
- },
"MQ": {
"name": "Martinika"
},
+ "MH": {
+ "name": "Marshall orollari"
+ },
"MU": {
"name": "Mavrikiy"
},
@@ -497,9 +482,6 @@
"NO": {
"name": "Norvegiya"
},
- "UZ": {
- "name": "Oʻzbekiston"
- },
"AZ": {
"name": "Ozarbayjon"
},
@@ -605,21 +587,6 @@
"SC": {
"name": "Seyshel orollari"
},
- "KP": {
- "name": "Shimoliy Koreya"
- },
- "MP": {
- "name": "Shimoliy Mariana orollari"
- },
- "LK": {
- "name": "Shri-Lanka"
- },
- "SE": {
- "name": "Shvetsiya"
- },
- "CH": {
- "name": "Shveytsariya"
- },
"SG": {
"name": "Singapur"
},
@@ -647,9 +614,6 @@
"SY": {
"name": "Suriya"
},
- "SJ": {
- "name": "Svalbard va Yan-Mayen"
- },
"SZ": {
"name": "Svazilend"
},
@@ -757,5 +721,41 @@
},
"ZW": {
"name": "Zimbabve"
+ },
+ "UZ": {
+ "name": "Oʻzbekiston"
+ },
+ "EH": {
+ "name": "G‘arbiy Sahroi Kabir"
+ },
+ "KP": {
+ "name": "Shimoliy Koreya"
+ },
+ "MP": {
+ "name": "Shimoliy Mariana orollari"
+ },
+ "SJ": {
+ "name": "Shpitsbergen va Yan-Mayen"
+ },
+ "LK": {
+ "name": "Shri-Lanka"
+ },
+ "SE": {
+ "name": "Shvetsiya"
+ },
+ "CH": {
+ "name": "Shveytsariya"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "ME": {
+ "name": "Chernogoriya"
+ },
+ "CZ": {
+ "name": "Chexiya"
+ },
+ "CL": {
+ "name": "Chili"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/vai.json b/vendor/commerceguys/intl/resources/country/vai.json
index e0a45b11e..062e0a79a 100644
--- a/vendor/commerceguys/intl/resources/country/vai.json
+++ b/vendor/commerceguys/intl/resources/country/vai.json
@@ -1,94 +1,10 @@
{
- "AX": {
- "name": "Ã…land Islands"
- },
- "AQ": {
- "name": "Antarctica"
- },
- "AC": {
- "name": "Ascension Island"
- },
- "IC": {
- "name": "Canary Islands"
- },
- "BQ": {
- "name": "Caribbean Netherlands"
- },
- "EA": {
- "name": "Ceuta & Melilla"
- },
- "CX": {
- "name": "Christmas Island"
- },
- "CC": {
- "name": "Cocos (Keeling) Islands"
- },
- "CW": {
- "name": "Curaçao"
- },
- "DG": {
- "name": "Diego Garcia"
- },
- "FO": {
- "name": "Faroe Islands"
- },
- "TF": {
- "name": "French Southern Territories"
- },
- "GG": {
- "name": "Guernsey"
- },
"HK": {
"name": "Hong Kong SAR China"
},
- "IM": {
- "name": "Isle of Man"
- },
- "JE": {
- "name": "Jersey"
- },
- "XK": {
- "name": "Kosovo"
- },
"MO": {
"name": "Macau SAR China"
},
- "ME": {
- "name": "Montenegro"
- },
- "RS": {
- "name": "Serbia"
- },
- "SX": {
- "name": "Sint Maarten"
- },
- "GS": {
- "name": "South Georgia & South Sandwich Islands"
- },
- "SS": {
- "name": "South Sudan"
- },
- "BL": {
- "name": "St. Barthélemy"
- },
- "MF": {
- "name": "St. Martin"
- },
- "SJ": {
- "name": "Svalbard & Jan Mayen"
- },
- "TA": {
- "name": "Tristan da Cunha"
- },
- "UM": {
- "name": "U.S. Outlying Islands"
- },
- "VA": {
- "name": "Vatican City"
- },
- "EH": {
- "name": "Western Sahara"
- },
"ER": {
"name": "ꔀꔸꔳꕟ"
},
@@ -134,6 +50,9 @@
"CV": {
"name": "ꔞꔪ ꗲꔵ ꔳꘋꗣ"
},
+ "CX": {
+ "name": "ꔞꔻꕮꔻ ꔳꘋꗣ"
+ },
"KE": {
"name": "ꔞꕰ"
},
@@ -167,9 +86,18 @@
"FJ": {
"name": "ꔱꔤꕀ"
},
+ "TF": {
+ "name": "ꔱꗷꘋꔻ ꗛꔤ ꔒꘋꗣ ê— ê•¸ê–ƒê”€ ê–¸"
+ },
"FI": {
"name": "ꔱꘋ ꖨꕮꕊ"
},
+ "TA": {
+ "name": "ꔳꔻꕚꘋ ꕜ ꖴꕯ"
+ },
+ "DG": {
+ "name": "ꔵꔀꖑ ꔳꘋꗣ"
+ },
"LS": {
"name": "ꔷꖇꕿ"
},
@@ -182,6 +110,9 @@
"SN": {
"name": "ꔻꕇꕭꕌ"
},
+ "SJ": {
+ "name": "ꔻꕙꕒꔵ ꗪ ꕧꘋ ꕮꘂꘋ"
+ },
"SY": {
"name": "ꔻꕩꘋ"
},
@@ -209,6 +140,9 @@
"SH": {
"name": "ꔻꘋ ꗥꔷꕯ"
},
+ "SX": {
+ "name": "ꔻꘋꔳ ꕮꕊꗳꘋ"
+ },
"NZ": {
"name": "ꔽꔤ ꖨꕮ ꕯꕮꕊ"
},
@@ -278,6 +212,9 @@
"AM": {
"name": "ꕉꕆꕯ"
},
+ "AX": {
+ "name": "ꕉꕞꔺ"
+ },
"AZ": {
"name": "ꕉꕤꕑꔤꕧꘋ"
},
@@ -296,6 +233,9 @@
"AG": {
"name": "ꕉꘋꔳꖶꕎ ꗪ ꕑꖜꕜ"
},
+ "AQ": {
+ "name": "ꕉꘋꕚꔳꕪ"
+ },
"HT": {
"name": "ꕌꔤꔳ"
},
@@ -341,6 +281,12 @@
"FK": {
"name": "ꕘꔷꕃ ꖨꕮ ꔳꘋꗣ"
},
+ "FO": {
+ "name": "ꕘꖄ ꔳꘋꗣ"
+ },
+ "VA": {
+ "name": "ꕙꔳꕪꘋ ꕢꕨꕌ"
+ },
"VE": {
"name": "ꕙꔳꕪꘋ ꕸꖃꔀ"
},
@@ -380,6 +326,9 @@
"RW": {
"name": "ꕟꖙꕡ"
},
+ "EH": {
+ "name": "ꕢꕌꕟ ꔎꔒ ꕀꔤ"
+ },
"ST": {
"name": "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕮꔧ ꕗꕴꔀ"
},
@@ -410,6 +359,9 @@
"CM": {
"name": "ꕪꔈꖩꘋ"
},
+ "BQ": {
+ "name": "ꕪꔓꔬꘂꘋ ꖨꕮ ꗨꗳꗣ"
+ },
"NC": {
"name": "ꕪꔷê–ꕇꕰ ꕯꕮꕊ"
},
@@ -425,6 +377,12 @@
"KH": {
"name": "ꕪꕹꔵꕩ"
},
+ "BL": {
+ "name": "ꕪꘋꕓ ꗞꗢ ꕒꕚꕞꕆ"
+ },
+ "MF": {
+ "name": "ꕪꘋꕓ ꗞꗢ ꕮꕊꔳꘋ"
+ },
"GM": {
"name": "ê•­ê”­ê•©"
},
@@ -467,6 +425,9 @@
"YT": {
"name": "ꕮꗚꔎ"
},
+ "IM": {
+ "name": "ꕮꘋ ꔳꘋꗣ"
+ },
"NG": {
"name": "ꕯꔤꕀꔸꕩ"
},
@@ -485,6 +446,9 @@
"AS": {
"name": "ꕶꕱ ꕢꕹꕎ"
},
+ "UM": {
+ "name": "ꕶꕱ ꕪꘋ ꗅꘋ ꔳꘋꗣ ꖸ"
+ },
"VI": {
"name": "ꕶꕱ ê—©ê—¡ ê— ê–·ê–¬ ꔳꘋꗣ"
},
@@ -551,6 +515,12 @@
"KM": {
"name": "ê–ꕹꖄꔻ"
},
+ "XK": {
+ "name": "ê–ꖇꕾ"
+ },
+ "CC": {
+ "name": "ê–ê–ê”» (ꔞꔀꔷꘋ) ꔳꘋꗣ"
+ },
"CG": {
"name": "ê–ê–"
},
@@ -602,6 +572,9 @@
"SZ": {
"name": "ꖬꕎꔽ ꖨꕮꕊ"
},
+ "SS": {
+ "name": "ꖬꕜꘋ ꗛꔤ ꔒꘋꗣ ê—"
+ },
"SB": {
"name": "ꖬꕞꔤꕮꕊꕯ ꔳꘋꗣ"
},
@@ -626,6 +599,9 @@
"KW": {
"name": "ꖴꔃꔳ"
},
+ "CW": {
+ "name": "ꖴꕟꖇꕱ"
+ },
"GT": {
"name": "ꖶꕎꔎꕮꕞ"
},
@@ -641,6 +617,9 @@
"GY": {
"name": "ꖶꕩꕯ"
},
+ "GG": {
+ "name": "ꖶꗦꘋꔻ"
+ },
"NU": {
"name": "ꖸꔃꔤ"
},
@@ -680,12 +659,18 @@
"GE": {
"name": "ꗘꖺꕀꕩ"
},
+ "GS": {
+ "name": "ꗘꖺꕀꕩ ꗛꔤ ꔒꘋꗣ ê— ê—ª ꗇꖢ ꔳꘋꗣ ꗛꔤ ꔒꘋꗣ ê—"
+ },
"JO": {
"name": "ꗘꖺꗵꘋ"
},
"MP": {
"name": "ꗛꔤ ꕪꘋꗒ ꕮꔸꕩꕯ ꔳꘋꗣ"
},
+ "IC": {
+ "name": "ꗛꖺꔻꕩ ꔳꘋꗣ"
+ },
"CO": {
"name": "ê—›ê—ê”­ê•©"
},
@@ -695,6 +680,9 @@
"MU": {
"name": "ꗞꔓꗔ"
},
+ "ME": {
+ "name": "ꗞꔳꕇꖶꖄ"
+ },
"MA": {
"name": "ê—žê•Ÿê–"
},
@@ -749,9 +737,21 @@
"VN": {
"name": "ꗲꕇꖮꔃꕞ"
},
+ "EA": {
+ "name": "ꗻꕚ ꗪ ꔡꔷꕞ"
+ },
+ "AC": {
+ "name": "ꗻꗡ ê•’ê•¡ê•Œ ê— ê”³ê˜‹ê—£"
+ },
+ "RS": {
+ "name": "ꗻꗡꔬꕩ"
+ },
"CZ": {
"name": "ꗿꕃ ꕸꖃꔀ"
},
+ "JE": {
+ "name": "ꘀꗡꔘ"
+ },
"MX": {
"name": "ꘈꔻê–"
},
diff --git a/vendor/commerceguys/intl/resources/country/vi.json b/vendor/commerceguys/intl/resources/country/vi.json
index e10ea0a3d..bf8a39968 100644
--- a/vendor/commerceguys/intl/resources/country/vi.json
+++ b/vendor/commerceguys/intl/resources/country/vi.json
@@ -111,7 +111,7 @@
"name": "Ca-ri-bê Hà Lan"
},
"UM": {
- "name": "Các đảo xa thuộc Hoa Kỳ"
+ "name": "Các tiểu đảo xa của Hoa Kỳ"
},
"AE": {
"name": "Các Tiểu Vương quốc Ả Rập Thống nhất"
@@ -155,9 +155,6 @@
"DO": {
"name": "Cộng hòa Dominica"
},
- "CZ": {
- "name": "Cộng hòa Séc"
- },
"CF": {
"name": "Cộng hòa Trung Phi"
},
@@ -314,6 +311,9 @@
"IL": {
"name": "Israel"
},
+ "IT": {
+ "name": "Italy"
+ },
"JM": {
"name": "Jamaica"
},
@@ -342,7 +342,7 @@
"name": "Kyrgyzstan"
},
"IO": {
- "name": "Lãnh thổ Anh tại Ấn Äá»™ DÆ°Æ¡ng"
+ "name": "Lãnh thổ Ấn độ dương thuộc Anh"
},
"PS": {
"name": "Lãnh thổ Palestine"
@@ -449,6 +449,9 @@
"AQ": {
"name": "Nam Cá»±c"
},
+ "GS": {
+ "name": "Nam Georgia & Quần đảo Nam Sandwich"
+ },
"ZA": {
"name": "Nam Phi"
},
@@ -554,9 +557,6 @@
"MH": {
"name": "Quần đảo Marshall"
},
- "GS": {
- "name": "Quần đảo Nam Georgia và Nam Sandwich"
- },
"PN": {
"name": "Quần đảo Pitcairn"
},
@@ -564,7 +564,7 @@
"name": "Quần đảo Solomon"
},
"TC": {
- "name": "Quần đảo Turk và Caicos"
+ "name": "Quần đảo Turks và Caicos"
},
"VG": {
"name": "Quần đảo Virgin thuộc Anh"
@@ -593,6 +593,9 @@
"ST": {
"name": "São Tomé và Príncipe"
},
+ "CZ": {
+ "name": "Séc"
+ },
"SN": {
"name": "Senegal"
},
@@ -746,9 +749,6 @@
"WF": {
"name": "Wallis và Futuna"
},
- "IT": {
- "name": "Ã"
- },
"YE": {
"name": "Yemen"
},
diff --git a/vendor/commerceguys/intl/resources/country/wo.json b/vendor/commerceguys/intl/resources/country/wo.json
new file mode 100644
index 000000000..410efe466
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/country/wo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistaŋ"
+ },
+ "ZA": {
+ "name": "Afrik di Sid"
+ },
+ "AL": {
+ "name": "Albani"
+ },
+ "DE": {
+ "name": "Almaañ"
+ },
+ "DZ": {
+ "name": "Alseri"
+ },
+ "AD": {
+ "name": "Andoor"
+ },
+ "AI": {
+ "name": "Angiiy"
+ },
+ "AQ": {
+ "name": "Antarktik"
+ },
+ "AG": {
+ "name": "Antiguwa ak Barbuda"
+ },
+ "SA": {
+ "name": "Arabi Sawudi"
+ },
+ "AM": {
+ "name": "Armeni"
+ },
+ "AR": {
+ "name": "Arsàntin"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Aserbayjaŋ"
+ },
+ "HT": {
+ "name": "Ayti"
+ },
+ "AO": {
+ "name": "Àngolaa"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreyin"
+ },
+ "BB": {
+ "name": "Barbad"
+ },
+ "BY": {
+ "name": "Belaris"
+ },
+ "BZ": {
+ "name": "Belis"
+ },
+ "BE": {
+ "name": "Belsig"
+ },
+ "BJ": {
+ "name": "Benee"
+ },
+ "BD": {
+ "name": "Bengalades"
+ },
+ "BR": {
+ "name": "Beresil"
+ },
+ "BM": {
+ "name": "Bermid"
+ },
+ "BG": {
+ "name": "Bilgari"
+ },
+ "BO": {
+ "name": "Boliwi"
+ },
+ "BA": {
+ "name": "Bosni Ersegowin"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BF": {
+ "name": "Burkina Faaso"
+ },
+ "BN": {
+ "name": "Burney"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "TD": {
+ "name": "Càdd"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "DK": {
+ "name": "Danmàrk"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominik"
+ },
+ "AX": {
+ "name": "Duni Aalànd"
+ },
+ "UM": {
+ "name": "Duni Amerig Utar meer"
+ },
+ "FK": {
+ "name": "Duni Falkland"
+ },
+ "FO": {
+ "name": "Duni Faro"
+ },
+ "KY": {
+ "name": "Duni Kaymaŋ"
+ },
+ "CC": {
+ "name": "Duni Koko (Kilin)"
+ },
+ "CK": {
+ "name": "Duni Kuuk"
+ },
+ "MP": {
+ "name": "Duni Mariyaan Noor"
+ },
+ "MH": {
+ "name": "Duni Marsaal"
+ },
+ "PN": {
+ "name": "Duni Pitkayirn"
+ },
+ "SB": {
+ "name": "Duni Salmoon"
+ },
+ "TC": {
+ "name": "Duni Tirk ak Kaykos"
+ },
+ "VG": {
+ "name": "Duni Wirsin yu Brëtaañ"
+ },
+ "VI": {
+ "name": "Duni Wirsin yu Etaa-sini"
+ },
+ "CX": {
+ "name": "Dunu Kirismas"
+ },
+ "IM": {
+ "name": "Dunu Maan"
+ },
+ "NF": {
+ "name": "Dunu Norfolk"
+ },
+ "ET": {
+ "name": "Ecopi"
+ },
+ "EC": {
+ "name": "Ekwaatër"
+ },
+ "SV": {
+ "name": "El Salwadoor"
+ },
+ "AE": {
+ "name": "Emira Arab Ini"
+ },
+ "IN": {
+ "name": "End"
+ },
+ "ER": {
+ "name": "Eritere"
+ },
+ "EG": {
+ "name": "Esipt"
+ },
+ "SK": {
+ "name": "Eslowaki"
+ },
+ "SI": {
+ "name": "Esloweni"
+ },
+ "ES": {
+ "name": "Españ"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "US": {
+ "name": "Etaa Sini"
+ },
+ "FR": {
+ "name": "Faraans"
+ },
+ "FJ": {
+ "name": "Fijji"
+ },
+ "PH": {
+ "name": "Filipin"
+ },
+ "FI": {
+ "name": "Finlànd"
+ },
+ "GA": {
+ "name": "Gaboŋ"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GD": {
+ "name": "Garanad"
+ },
+ "GM": {
+ "name": "Gàmbi"
+ },
+ "GR": {
+ "name": "Gerees"
+ },
+ "GG": {
+ "name": "Gernase"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GQ": {
+ "name": "Gine Ekuwatoriyal"
+ },
+ "GW": {
+ "name": "Gine-Bisaawóo"
+ },
+ "GL": {
+ "name": "Girinlànd"
+ },
+ "GY": {
+ "name": "Giyaan"
+ },
+ "GP": {
+ "name": "Guwaadelup"
+ },
+ "GU": {
+ "name": "Guwam"
+ },
+ "GT": {
+ "name": "Guwatemala"
+ },
+ "GF": {
+ "name": "Guyaan Farañse"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "UA": {
+ "name": "Ikeren"
+ },
+ "ID": {
+ "name": "Indonesi"
+ },
+ "IQ": {
+ "name": "Irag"
+ },
+ "IR": {
+ "name": "Iraŋ"
+ },
+ "IE": {
+ "name": "Irlànd"
+ },
+ "IS": {
+ "name": "Islànd"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "CV": {
+ "name": "Kabo Werde"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanadaa"
+ },
+ "KZ": {
+ "name": "Kasaxstaŋ"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KH": {
+ "name": "Kàmboj"
+ },
+ "KE": {
+ "name": "Keeña"
+ },
+ "KG": {
+ "name": "Kirgistaŋ"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CI": {
+ "name": "Kodiwaar (Côte d’Ivoire)"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "KP": {
+ "name": "Kore Noor"
+ },
+ "HR": {
+ "name": "Korowasi"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "KW": {
+ "name": "Kowet"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CW": {
+ "name": "Kursawo"
+ },
+ "LA": {
+ "name": "Lawos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "LB": {
+ "name": "Libaa"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LU": {
+ "name": "Liksàmbur"
+ },
+ "LI": {
+ "name": "Liktensteyin"
+ },
+ "LT": {
+ "name": "Litiyani"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskaar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiiw"
+ },
+ "MY": {
+ "name": "Malesi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malt"
+ },
+ "MA": {
+ "name": "Marog"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MK": {
+ "name": "Maseduwaan"
+ },
+ "YT": {
+ "name": "Mayot"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikoronesi"
+ },
+ "MM": {
+ "name": "Miyanmaar"
+ },
+ "MD": {
+ "name": "Moldawi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoli"
+ },
+ "ME": {
+ "name": "Montenegoro"
+ },
+ "MR": {
+ "name": "Mooritani"
+ },
+ "MS": {
+ "name": "Mooseraa"
+ },
+ "MU": {
+ "name": "Moriis"
+ },
+ "MZ": {
+ "name": "Mosàmbig"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nawru"
+ },
+ "NP": {
+ "name": "Nepaal"
+ },
+ "NE": {
+ "name": "Niiseer"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NG": {
+ "name": "Niseriya"
+ },
+ "NU": {
+ "name": "Niw"
+ },
+ "NO": {
+ "name": "Norwees"
+ },
+ "NC": {
+ "name": "Nuwel Kaledoni"
+ },
+ "NZ": {
+ "name": "Nuwel Selànd"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "HN": {
+ "name": "Onduraas"
+ },
+ "HU": {
+ "name": "Ongari"
+ },
+ "AU": {
+ "name": "Ostarali"
+ },
+ "AT": {
+ "name": "Ótiriis"
+ },
+ "PK": {
+ "name": "Pakistaŋ"
+ },
+ "PW": {
+ "name": "Palaw"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwasi Gine Gu Bees"
+ },
+ "PY": {
+ "name": "Paraguwe"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "NL": {
+ "name": "Peyi Baa"
+ },
+ "PF": {
+ "name": "Polinesi Farañse"
+ },
+ "PL": {
+ "name": "Poloñ"
+ },
+ "PT": {
+ "name": "Portigaal"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "RE": {
+ "name": "Reeñoo"
+ },
+ "DO": {
+ "name": "Repiblik Dominiken"
+ },
+ "CF": {
+ "name": "Repiblik Sàntar Afrik"
+ },
+ "CZ": {
+ "name": "Réewum Cek"
+ },
+ "RU": {
+ "name": "Risi"
+ },
+ "RO": {
+ "name": "Rumani"
+ },
+ "GB": {
+ "name": "Ruwaayom Ini"
+ },
+ "RW": {
+ "name": "Ruwànda"
+ },
+ "JM": {
+ "name": "Samayig"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa bu Amerig"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "BL": {
+ "name": "Saŋ Bartalemi"
+ },
+ "SH": {
+ "name": "Saŋ Eleen"
+ },
+ "KN": {
+ "name": "Saŋ Kits ak Newis"
+ },
+ "LC": {
+ "name": "Saŋ Lusi"
+ },
+ "MF": {
+ "name": "Saŋ Marteŋ"
+ },
+ "PM": {
+ "name": "Saŋ Peer ak Mikeloŋ"
+ },
+ "VC": {
+ "name": "Saŋ Weesaa ak Garanadin"
+ },
+ "ST": {
+ "name": "Sawo Tome ak Pirinsipe"
+ },
+ "ZM": {
+ "name": "Sàmbi"
+ },
+ "JP": {
+ "name": "Sàppoŋ"
+ },
+ "SN": {
+ "name": "Senegaal"
+ },
+ "RS": {
+ "name": "Serbi"
+ },
+ "JE": {
+ "name": "Serse"
+ },
+ "GE": {
+ "name": "Seworsi"
+ },
+ "GS": {
+ "name": "Seworsi di Sid ak Duni Sàndwiis di Sid"
+ },
+ "SC": {
+ "name": "Seysel"
+ },
+ "GI": {
+ "name": "Sibraltaar"
+ },
+ "CN": {
+ "name": "Siin"
+ },
+ "CY": {
+ "name": "Siipar"
+ },
+ "CL": {
+ "name": "Sili"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SX": {
+ "name": "Sin Marten"
+ },
+ "SG": {
+ "name": "Singapuur"
+ },
+ "SY": {
+ "name": "Siri"
+ },
+ "LK": {
+ "name": "Siri Lànka"
+ },
+ "SR": {
+ "name": "Sirinam"
+ },
+ "VA": {
+ "name": "Site bu Watikaa"
+ },
+ "CH": {
+ "name": "Siwis"
+ },
+ "SL": {
+ "name": "Siyera Lewon"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "JO": {
+ "name": "Sordani"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SD": {
+ "name": "Sudaŋ"
+ },
+ "SS": {
+ "name": "Sudaŋ di Sid"
+ },
+ "SZ": {
+ "name": "Suwasilànd"
+ },
+ "SE": {
+ "name": "Suwed"
+ },
+ "SJ": {
+ "name": "Swalbaar ak Jan Mayen"
+ },
+ "TJ": {
+ "name": "Tajikistaŋ"
+ },
+ "TZ": {
+ "name": "Taŋsani"
+ },
+ "TH": {
+ "name": "Taylànd"
+ },
+ "TW": {
+ "name": "Taywan"
+ },
+ "TF": {
+ "name": "Teer Ostraal gu Fraas"
+ },
+ "IO": {
+ "name": "Terituwaaru Brëtaañ ci Oseyaa Enjeŋ"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TN": {
+ "name": "Tinisi"
+ },
+ "TT": {
+ "name": "Tirinite ak Tobago"
+ },
+ "TR": {
+ "name": "Tirki"
+ },
+ "TM": {
+ "name": "Tirkmenistaŋ"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokoloo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tuwalo"
+ },
+ "UG": {
+ "name": "Ugànda"
+ },
+ "UY": {
+ "name": "Uruge"
+ },
+ "UZ": {
+ "name": "Usbekistaŋ"
+ },
+ "WF": {
+ "name": "Walis ak Futuna"
+ },
+ "VU": {
+ "name": "Wanuatu"
+ },
+ "VE": {
+ "name": "Wenesiyela"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VN": {
+ "name": "Wiyetnam"
+ },
+ "YE": {
+ "name": "Yaman"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/yo-BJ.json b/vendor/commerceguys/intl/resources/country/yo-BJ.json
index e845e9262..a956369a2 100644
--- a/vendor/commerceguys/intl/resources/country/yo-BJ.json
+++ b/vendor/commerceguys/intl/resources/country/yo-BJ.json
@@ -41,6 +41,9 @@
"HK": {
"name": "Hong Kong SAR China"
},
+ "VA": {
+ "name": "Ìlú Vatican"
+ },
"IM": {
"name": "Isle of Man"
},
@@ -239,9 +242,6 @@
"FR": {
"name": "OrílÉ›Ìède Faranse"
},
- "VA": {
- "name": "OrílÉ›Ìède Fatikani"
- },
"VE": {
"name": "OrílÉ›Ìède FÉ›nÉ›shuÉ›la"
},
diff --git a/vendor/commerceguys/intl/resources/country/yo.json b/vendor/commerceguys/intl/resources/country/yo.json
index 4e19fd200..dfd524f8c 100644
--- a/vendor/commerceguys/intl/resources/country/yo.json
+++ b/vendor/commerceguys/intl/resources/country/yo.json
@@ -41,6 +41,9 @@
"HK": {
"name": "Hong Kong SAR China"
},
+ "VA": {
+ "name": "Ìlú Vatican"
+ },
"IM": {
"name": "Isle of Man"
},
@@ -239,9 +242,6 @@
"FR": {
"name": "OrílẹÌède Faranse"
},
- "VA": {
- "name": "OrílẹÌède Fatikani"
- },
"VE": {
"name": "OrílẹÌède Fẹnẹṣuẹla"
},
diff --git a/vendor/commerceguys/intl/resources/country/yue.json b/vendor/commerceguys/intl/resources/country/yue.json
deleted file mode 100644
index fd836461a..000000000
--- a/vendor/commerceguys/intl/resources/country/yue.json
+++ /dev/null
@@ -1,761 +0,0 @@
-{
- "BT": {
- "name": "ä¸ä¸¹"
- },
- "CN": {
- "name": "中è¯äººæ°‘共和國"
- },
- "MO": {
- "name": "中è¯äººæ°‘共和國澳門特別行政å€"
- },
- "HK": {
- "name": "中è¯äººæ°‘共和國香港特別行政å€"
- },
- "CF": {
- "name": "中éžå…±å’Œåœ‹"
- },
- "DK": {
- "name": "丹麥"
- },
- "AZ": {
- "name": "亞塞拜然"
- },
- "AM": {
- "name": "亞美尼亞"
- },
- "IL": {
- "name": "以色列"
- },
- "IQ": {
- "name": "伊拉克"
- },
- "IR": {
- "name": "伊朗"
- },
- "EA": {
- "name": "休é”與梅利利亞"
- },
- "RU": {
- "name": "ä¿„ç¾…æ–¯"
- },
- "BG": {
- "name": "ä¿åŠ åˆ©äºž"
- },
- "HR": {
- "name": "克羅埃西亞"
- },
- "IS": {
- "name": "冰島"
- },
- "LI": {
- "name": "列支敦斯登"
- },
- "LY": {
- "name": "利比亞"
- },
- "CG": {
- "name": "剛果(布拉薩)"
- },
- "CD": {
- "name": "剛果(金å¤æ²™ï¼‰"
- },
- "GA": {
- "name": "加彭"
- },
- "CA": {
- "name": "加拿大"
- },
- "IC": {
- "name": "加那利群島"
- },
- "HU": {
- "name": "匈牙利"
- },
- "KP": {
- "name": "北韓"
- },
- "MP": {
- "name": "北馬里亞ç´ç¾¤å³¶"
- },
- "TT": {
- "name": "åƒé‡Œé”åŒå¤šå·´å“¥"
- },
- "GS": {
- "name": "å—ä½æ²»äºžå³¶åŒå—æ¡‘å¨å¥‡ç¾¤å³¶"
- },
- "AQ": {
- "name": "å—極洲"
- },
- "SS": {
- "name": "å—蘇丹"
- },
- "ZA": {
- "name": "å—éž"
- },
- "KR": {
- "name": "å—韓"
- },
- "QA": {
- "name": "å¡é”"
- },
- "ID": {
- "name": "å°å°¼"
- },
- "IN": {
- "name": "å°åº¦"
- },
- "ER": {
- "name": "厄利垂亞"
- },
- "EC": {
- "name": "厄瓜多"
- },
- "CU": {
- "name": "å¤å·´"
- },
- "TW": {
- "name": "å°ç£"
- },
- "SZ": {
- "name": "å²ç“¦æ¿Ÿè˜­"
- },
- "DJ": {
- "name": "å‰å¸ƒåœ°"
- },
- "KG": {
- "name": "å‰çˆ¾å‰æ–¯"
- },
- "KI": {
- "name": "å‰é‡Œå·´æ–¯"
- },
- "TV": {
- "name": "å瓦魯"
- },
- "KZ": {
- "name": "哈薩克"
- },
- "CO": {
- "name": "哥倫比亞"
- },
- "CR": {
- "name": "哥斯大黎加"
- },
- "CM": {
- "name": "喀麥隆"
- },
- "GE": {
- "name": "喬治亞共和國"
- },
- "TC": {
- "name": "土克斯åŠé–‹ç§‘斯群島"
- },
- "TM": {
- "name": "土庫曼"
- },
- "TR": {
- "name": "土耳其"
- },
- "TZ": {
- "name": "å¦å°šå°¼äºž"
- },
- "EG": {
- "name": "埃åŠ"
- },
- "TJ": {
- "name": "å¡”å‰å…‹"
- },
- "SN": {
- "name": "塞內加爾"
- },
- "SC": {
- "name": "塞席爾"
- },
- "RS": {
- "name": "塞爾維亞"
- },
- "TG": {
- "name": "多哥"
- },
- "DO": {
- "name": "多明尼加共和國"
- },
- "DM": {
- "name": "多米尼克"
- },
- "NG": {
- "name": "奈åŠåˆ©äºž"
- },
- "AT": {
- "name": "奧地利"
- },
- "AX": {
- "name": "奧蘭群島"
- },
- "VE": {
- "name": "委內瑞拉"
- },
- "BD": {
- "name": "孟加拉"
- },
- "AO": {
- "name": "安哥拉"
- },
- "AI": {
- "name": "安圭拉"
- },
- "AG": {
- "name": "安æç“œåŒå·´å¸ƒé”"
- },
- "AD": {
- "name": "安é“爾"
- },
- "HN": {
- "name": "å®éƒ½æ‹‰æ–¯"
- },
- "FM": {
- "name": "密克羅尼西亞群島"
- },
- "LA": {
- "name": "寮國"
- },
- "ZM": {
- "name": "尚比亞"
- },
- "NI": {
- "name": "尼加拉瓜"
- },
- "NE": {
- "name": "尼日"
- },
- "NP": {
- "name": "尼泊爾"
- },
- "PS": {
- "name": "å·´å‹’æ–¯å¦è‡ªæ²»å€"
- },
- "BS": {
- "name": "巴哈馬"
- },
- "PK": {
- "name": "巴基斯å¦"
- },
- "PG": {
- "name": "巴布亞ç´å¹¾å…§äºž"
- },
- "PY": {
- "name": "巴拉圭"
- },
- "PA": {
- "name": "巴拿馬"
- },
- "BH": {
- "name": "å·´æž—"
- },
- "BR": {
- "name": "巴西"
- },
- "BB": {
- "name": "å·´è²å¤š"
- },
- "BF": {
- "name": "布å‰ç´æ³•ç´¢"
- },
- "GR": {
- "name": "希臘"
- },
- "PW": {
- "name": "帛ç‰"
- },
- "GN": {
- "name": "幾內亞"
- },
- "GW": {
- "name": "幾內亞比索"
- },
- "CK": {
- "name": "庫克群島"
- },
- "CW": {
- "name": "庫拉索"
- },
- "DE": {
- "name": "德國"
- },
- "EE": {
- "name": "愛沙尼亞"
- },
- "IE": {
- "name": "愛爾蘭"
- },
- "TK": {
- "name": "托克勞群島"
- },
- "LV": {
- "name": "拉脫維亞"
- },
- "NO": {
- "name": "挪å¨"
- },
- "CZ": {
- "name": "æ·å…‹å…±å’Œåœ‹"
- },
- "MA": {
- "name": "摩洛哥"
- },
- "MD": {
- "name": "摩爾多瓦"
- },
- "MC": {
- "name": "æ‘©ç´å“¥"
- },
- "SY": {
- "name": "敘利亞"
- },
- "FJ": {
- "name": "æ–æ¿Ÿ"
- },
- "SK": {
- "name": "斯洛ä¼å…‹"
- },
- "SI": {
- "name": "斯洛維尼亞"
- },
- "SJ": {
- "name": "斯瓦爾巴特群島åŒæšé¦¬å»¶å³¶"
- },
- "LK": {
- "name": "斯里蘭å¡"
- },
- "SG": {
- "name": "新加å¡"
- },
- "NC": {
- "name": "新喀里多尼亞"
- },
- "JP": {
- "name": "日本"
- },
- "CL": {
- "name": "智利"
- },
- "IM": {
- "name": "曼島"
- },
- "TO": {
- "name": "æ±åŠ "
- },
- "TL": {
- "name": "æ±å¸æ±¶"
- },
- "TD": {
- "name": "查德"
- },
- "KH": {
- "name": "柬埔寨"
- },
- "GG": {
- "name": "根西島"
- },
- "GD": {
- "name": "格瑞那é”"
- },
- "GL": {
- "name": "格陵蘭"
- },
- "VA": {
- "name": "梵蒂岡"
- },
- "MU": {
- "name": "模里西斯"
- },
- "BE": {
- "name": "比利時"
- },
- "BN": {
- "name": "汶èŠ"
- },
- "SA": {
- "name": "æ²™çƒåœ°é˜¿æ‹‰ä¼¯"
- },
- "FR": {
- "name": "法國"
- },
- "TF": {
- "name": "法屬å—方屬地"
- },
- "GF": {
- "name": "法屬圭亞那"
- },
- "PF": {
- "name": "法屬玻里尼西亞"
- },
- "MF": {
- "name": "法屬è–馬ä¸"
- },
- "FO": {
- "name": "法羅群島"
- },
- "PR": {
- "name": "波多黎å„"
- },
- "BA": {
- "name": "波斯尼亞åŒé»‘塞哥維那"
- },
- "BW": {
- "name": "波札那"
- },
- "PL": {
- "name": "波蘭"
- },
- "TH": {
- "name": "泰國"
- },
- "HT": {
- "name": "海地"
- },
- "JE": {
- "name": "澤西島"
- },
- "AU": {
- "name": "澳洲"
- },
- "UA": {
- "name": "çƒå…‹è˜­"
- },
- "UG": {
- "name": "çƒå¹²é”"
- },
- "UY": {
- "name": "çƒæ‹‰åœ­"
- },
- "UZ": {
- "name": "çƒèŒ²åˆ¥å…‹"
- },
- "JM": {
- "name": "牙買加"
- },
- "TA": {
- "name": "特里斯å¦é”庫尼亞群島"
- },
- "SL": {
- "name": "ç…å­å±±"
- },
- "BO": {
- "name": "玻利維亞"
- },
- "SE": {
- "name": "ç‘žå…¸"
- },
- "CH": {
- "name": "瑞士"
- },
- "GP": {
- "name": "瓜地洛普"
- },
- "GT": {
- "name": "瓜地馬拉"
- },
- "WF": {
- "name": "瓦利斯åŒå¯Œåœ–ç´ç¾¤å³¶"
- },
- "GM": {
- "name": "甘比亞"
- },
- "RE": {
- "name": "留尼旺"
- },
- "BY": {
- "name": "白俄羅斯"
- },
- "BM": {
- "name": "百慕é”"
- },
- "PN": {
- "name": "皮特肯群島"
- },
- "RW": {
- "name": "盧安é”"
- },
- "LU": {
- "name": "盧森堡"
- },
- "GI": {
- "name": "直布羅陀"
- },
- "FK": {
- "name": "ç¦å…‹è˜­ç¾¤å³¶"
- },
- "VU": {
- "name": "è¬é‚£æœ"
- },
- "KW": {
- "name": "科å¨ç‰¹"
- },
- "CC": {
- "name": "科科斯(基林)群島"
- },
- "XK": {
- "name": "科索沃"
- },
- "PE": {
- "name": "秘魯"
- },
- "TN": {
- "name": "çªå°¼è¥¿äºž"
- },
- "LT": {
- "name": "立陶宛"
- },
- "JO": {
- "name": "ç´„æ—¦"
- },
- "NA": {
- "name": "ç´ç±³æ¯”亞"
- },
- "NU": {
- "name": "ç´åŸƒå³¶"
- },
- "NZ": {
- "name": "ç´è¥¿è˜­"
- },
- "SB": {
- "name": "索羅門群島"
- },
- "SO": {
- "name": "索馬利亞"
- },
- "CV": {
- "name": "維德角"
- },
- "MM": {
- "name": "緬甸"
- },
- "RO": {
- "name": "羅馬尼亞"
- },
- "US": {
- "name": "美國"
- },
- "UM": {
- "name": "美國本土外å°å³¶å¶¼"
- },
- "VI": {
- "name": "美屬維京群島"
- },
- "AS": {
- "name": "美屬薩摩亞"
- },
- "IT": {
- "name": "義大利"
- },
- "KN": {
- "name": "è–基茨åŒå°¼ç¶­æ–¯"
- },
- "ST": {
- "name": "è–多美åŒæ™®æž—西比"
- },
- "BL": {
- "name": "è–å·´ç‘Ÿç±³"
- },
- "VC": {
- "name": "è–文森特åŒæ ¼æž—ç´ä¸æ–¯"
- },
- "PM": {
- "name": "è–皮埃爾åŒå¯†å…‹éš†ç¾¤å³¶"
- },
- "CX": {
- "name": "è–誕島"
- },
- "SH": {
- "name": "è–赫勒拿島"
- },
- "LC": {
- "name": "è–露西亞"
- },
- "SM": {
- "name": "è–馬利諾"
- },
- "KE": {
- "name": "肯亞"
- },
- "FI": {
- "name": "芬蘭"
- },
- "GB": {
- "name": "英國"
- },
- "IO": {
- "name": "英屬å°åº¦æ´‹é ˜åœ°"
- },
- "VG": {
- "name": "英屬維京群島"
- },
- "MR": {
- "name": "茅利塔尼亞"
- },
- "SX": {
- "name": "è·å±¬è–馬ä¸"
- },
- "AW": {
- "name": "è·å±¬é˜¿é­¯å·´"
- },
- "NL": {
- "name": "è·è˜­"
- },
- "BQ": {
- "name": "è·è˜­åŠ å‹’比å€"
- },
- "MZ": {
- "name": "莫三比克"
- },
- "PH": {
- "name": "è²å¾‹è³“"
- },
- "YE": {
- "name": "葉門"
- },
- "KM": {
- "name": "葛摩"
- },
- "PT": {
- "name": "è‘¡è„牙"
- },
- "MN": {
- "name": "è’™å¤"
- },
- "MS": {
- "name": "蒙哲臘"
- },
- "ME": {
- "name": "蒙特內哥羅"
- },
- "BI": {
- "name": "蒲隆地"
- },
- "GY": {
- "name": "蓋亞那"
- },
- "WS": {
- "name": "薩摩亞"
- },
- "SV": {
- "name": "薩爾瓦多"
- },
- "SD": {
- "name": "蘇丹"
- },
- "SR": {
- "name": "蘇利å—"
- },
- "ET": {
- "name": "衣索比亞"
- },
- "EH": {
- "name": "西撒哈拉"
- },
- "ES": {
- "name": "西ç­ç‰™"
- },
- "NF": {
- "name": "諾ç¦å…‹å³¶"
- },
- "NR": {
- "name": "諾魯"
- },
- "CI": {
- "name": "象牙海岸"
- },
- "BJ": {
- "name": "è²å—"
- },
- "BZ": {
- "name": "è²é‡Œæ–¯"
- },
- "LR": {
- "name": "賴比瑞亞"
- },
- "LS": {
- "name": "賴索托"
- },
- "CY": {
- "name": "賽普勒斯"
- },
- "GQ": {
- "name": "赤é“幾內亞"
- },
- "VN": {
- "name": "越å—"
- },
- "ZW": {
- "name": "辛巴å¨"
- },
- "GH": {
- "name": "迦ç´"
- },
- "DG": {
- "name": "迪亞哥加西亞島"
- },
- "KY": {
- "name": "開曼群島"
- },
- "GU": {
- "name": "關島"
- },
- "AF": {
- "name": "阿富汗"
- },
- "AE": {
- "name": "阿拉伯è¯åˆå¤§å…¬åœ‹"
- },
- "OM": {
- "name": "阿曼王國"
- },
- "AR": {
- "name": "阿根廷"
- },
- "AC": {
- "name": "阿森æ¾å³¶"
- },
- "DZ": {
- "name": "阿爾åŠåˆ©äºž"
- },
- "AL": {
- "name": "阿爾巴尼亞"
- },
- "MQ": {
- "name": "馬ä¸å°¼å…‹å³¶"
- },
- "MY": {
- "name": "馬來西亞"
- },
- "MK": {
- "name": "馬其頓"
- },
- "ML": {
- "name": "馬利"
- },
- "MW": {
- "name": "馬拉å¨"
- },
- "MT": {
- "name": "馬爾他"
- },
- "MV": {
- "name": "馬爾地夫"
- },
- "YT": {
- "name": "馬約特"
- },
- "MH": {
- "name": "馬紹爾群島"
- },
- "MG": {
- "name": "馬é”加斯加"
- },
- "LB": {
- "name": "黎巴嫩"
- },
- "MX": {
- "name": "墨西哥"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/country/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/country/zh-Hant-HK.json
index f78b07103..71354c99f 100644
--- a/vendor/commerceguys/intl/resources/country/zh-Hant-HK.json
+++ b/vendor/commerceguys/intl/resources/country/zh-Hant-HK.json
@@ -96,7 +96,7 @@
"name": "加蓬"
},
"MP": {
- "name": "北馬里亞ç´ç¾¤å³¶"
+ "name": "北馬利安ç´ç¾¤å³¶"
},
"KP": {
"name": "北韓"
@@ -198,7 +198,7 @@
"name": "多哥共和國"
},
"AI": {
- "name": "安圭拉"
+ "name": "安奎拉"
},
"AO": {
"name": "安哥拉"
@@ -276,7 +276,7 @@
"name": "所羅門群島"
},
"LV": {
- "name": "拉脫維亞"
+ "name": "拉脱維亞"
},
"TL": {
"name": "æ±å¸æ±¶"
@@ -504,7 +504,7 @@
"name": "索馬里"
},
"MQ": {
- "name": "馬ä¸å°¼å…‹å³¶"
+ "name": "馬ä¸å°¼å…‹"
},
"MT": {
"name": "馬耳他"
@@ -537,13 +537,13 @@
"name": "馬爾代夫"
},
"FM": {
- "name": "密克羅尼西亞群島"
+ "name": "密克羅尼西亞"
},
"CZ": {
- "name": "æ·å…‹å…±å’Œåœ‹"
+ "name": "æ·å…‹"
},
"SY": {
- "name": "æ•åˆ©äºž"
+ "name": "敘利亞"
},
"VA": {
"name": "梵蒂岡"
@@ -599,9 +599,6 @@
"PH": {
"name": "è²å¾‹è³“"
},
- "LS": {
- "name": "èŠç´¢æ‰˜"
- },
"VN": {
"name": "越å—"
},
@@ -666,7 +663,7 @@
"name": "è–文森特和格林ç´ä¸æ–¯"
},
"PM": {
- "name": "è–皮埃爾和密克隆群島"
+ "name": "è–皮埃與密克隆群島"
},
"ST": {
"name": "è–多美和普林西比"
@@ -737,6 +734,9 @@
"NF": {
"name": "諾ç¦å…‹å³¶"
},
+ "LS": {
+ "name": "賴索托"
+ },
"SV": {
"name": "薩爾瓦多"
},
diff --git a/vendor/commerceguys/intl/resources/country/zh-Hant-MO.json b/vendor/commerceguys/intl/resources/country/zh-Hant-MO.json
index f78b07103..71354c99f 100644
--- a/vendor/commerceguys/intl/resources/country/zh-Hant-MO.json
+++ b/vendor/commerceguys/intl/resources/country/zh-Hant-MO.json
@@ -96,7 +96,7 @@
"name": "加蓬"
},
"MP": {
- "name": "北馬里亞ç´ç¾¤å³¶"
+ "name": "北馬利安ç´ç¾¤å³¶"
},
"KP": {
"name": "北韓"
@@ -198,7 +198,7 @@
"name": "多哥共和國"
},
"AI": {
- "name": "安圭拉"
+ "name": "安奎拉"
},
"AO": {
"name": "安哥拉"
@@ -276,7 +276,7 @@
"name": "所羅門群島"
},
"LV": {
- "name": "拉脫維亞"
+ "name": "拉脱維亞"
},
"TL": {
"name": "æ±å¸æ±¶"
@@ -504,7 +504,7 @@
"name": "索馬里"
},
"MQ": {
- "name": "馬ä¸å°¼å…‹å³¶"
+ "name": "馬ä¸å°¼å…‹"
},
"MT": {
"name": "馬耳他"
@@ -537,13 +537,13 @@
"name": "馬爾代夫"
},
"FM": {
- "name": "密克羅尼西亞群島"
+ "name": "密克羅尼西亞"
},
"CZ": {
- "name": "æ·å…‹å…±å’Œåœ‹"
+ "name": "æ·å…‹"
},
"SY": {
- "name": "æ•åˆ©äºž"
+ "name": "敘利亞"
},
"VA": {
"name": "梵蒂岡"
@@ -599,9 +599,6 @@
"PH": {
"name": "è²å¾‹è³“"
},
- "LS": {
- "name": "èŠç´¢æ‰˜"
- },
"VN": {
"name": "越å—"
},
@@ -666,7 +663,7 @@
"name": "è–文森特和格林ç´ä¸æ–¯"
},
"PM": {
- "name": "è–皮埃爾和密克隆群島"
+ "name": "è–皮埃與密克隆群島"
},
"ST": {
"name": "è–多美和普林西比"
@@ -737,6 +734,9 @@
"NF": {
"name": "諾ç¦å…‹å³¶"
},
+ "LS": {
+ "name": "賴索托"
+ },
"SV": {
"name": "薩爾瓦多"
},
diff --git a/vendor/commerceguys/intl/resources/country/zh-Hant.json b/vendor/commerceguys/intl/resources/country/zh-Hant.json
index 93c51a231..c1b94b2fd 100644
--- a/vendor/commerceguys/intl/resources/country/zh-Hant.json
+++ b/vendor/commerceguys/intl/resources/country/zh-Hant.json
@@ -84,7 +84,7 @@
"name": "加彭"
},
"MP": {
- "name": "北馬里亞ç´ç¾¤å³¶"
+ "name": "北馬利安ç´ç¾¤å³¶"
},
"KP": {
"name": "北韓"
@@ -179,12 +179,12 @@
"TG": {
"name": "多哥"
},
- "AI": {
- "name": "安圭拉"
- },
"AG": {
"name": "安地å¡åŠå·´å¸ƒé”"
},
+ "AI": {
+ "name": "安奎拉"
+ },
"AO": {
"name": "安哥拉"
},
@@ -209,9 +209,6 @@
"HR": {
"name": "克羅埃西亞"
},
- "SJ": {
- "name": "冷岸åŠå¤®æ£‰"
- },
"LY": {
"name": "利比亞"
},
@@ -282,7 +279,7 @@
"name": "法屬圭亞那"
},
"TF": {
- "name": "法屬å—方屬地"
+ "name": "法屬å—部屬地"
},
"PF": {
"name": "法屬玻里尼西亞"
@@ -318,7 +315,7 @@
"name": "阿根廷"
},
"OM": {
- "name": "阿曼王國"
+ "name": "阿曼"
},
"AF": {
"name": "阿富汗"
@@ -365,12 +362,12 @@
"BO": {
"name": "玻利維亞"
},
+ "CC": {
+ "name": "科克斯(基éˆï¼‰ç¾¤å³¶"
+ },
"KW": {
"name": "科å¨ç‰¹"
},
- "CC": {
- "name": "科科斯(基林)群島"
- },
"XK": {
"name": "科索沃"
},
@@ -434,6 +431,9 @@
"NO": {
"name": "挪å¨"
},
+ "SJ": {
+ "name": "挪å¨å±¬æ–¯ç“¦å·´åŠå°–棉"
+ },
"GG": {
"name": "æ ¹æ¯"
},
@@ -486,7 +486,7 @@
"name": "索羅門群島"
},
"MQ": {
- "name": "馬ä¸å°¼å…‹å³¶"
+ "name": "馬ä¸å°¼å…‹"
},
"ML": {
"name": "馬利"
@@ -501,7 +501,7 @@
"name": "馬拉å¨"
},
"YT": {
- "name": "馬約特"
+ "name": "馬約特島"
},
"MH": {
"name": "馬紹爾群島"
@@ -516,10 +516,10 @@
"name": "馬爾地夫"
},
"FM": {
- "name": "密克羅尼西亞群島"
+ "name": "密克羅尼西亞"
},
"CZ": {
- "name": "æ·å…‹å…±å’Œåœ‹"
+ "name": "æ·å…‹"
},
"SY": {
"name": "敘利亞"
@@ -636,7 +636,7 @@
"name": "è–文森åŠæ ¼ç‘žé‚£ä¸"
},
"PM": {
- "name": "è–皮埃爾和密克隆群島"
+ "name": "è–皮埃與密克隆群島"
},
"ST": {
"name": "è–多美普林西比"
diff --git a/vendor/commerceguys/intl/resources/country/zh.json b/vendor/commerceguys/intl/resources/country/zh.json
index 5215f7776..ae5b2a4dc 100644
--- a/vendor/commerceguys/intl/resources/country/zh.json
+++ b/vendor/commerceguys/intl/resources/country/zh.json
@@ -185,6 +185,9 @@
"TF": {
"name": "法属å—部领地"
},
+ "MF": {
+ "name": "法属圣马ä¸"
+ },
"VA": {
"name": "梵蒂冈"
},
@@ -218,9 +221,6 @@
"CR": {
"name": "哥斯达黎加"
},
- "GG": {
- "name": "æ ¼æ©è¥¿å²›"
- },
"GD": {
"name": "格林纳达"
},
@@ -230,6 +230,9 @@
"GE": {
"name": "æ ¼é²å‰äºš"
},
+ "GG": {
+ "name": "根西岛"
+ },
"CU": {
"name": "å¤å·´"
},
@@ -297,7 +300,7 @@
"name": "柬埔寨"
},
"CZ": {
- "name": "æ·å…‹å…±å’Œå›½"
+ "name": "æ·å…‹"
},
"ZW": {
"name": "津巴布韦"
@@ -557,9 +560,6 @@
"LC": {
"name": "圣å¢è¥¿äºš"
},
- "MF": {
- "name": "圣马ä¸å²›"
- },
"SM": {
"name": "圣马力诺"
},
@@ -662,15 +662,15 @@
"UZ": {
"name": "乌兹别克斯å¦"
},
- "GR": {
- "name": "希腊"
- },
"ES": {
"name": "西ç­ç‰™"
},
"EH": {
"name": "西撒哈拉"
},
+ "GR": {
+ "name": "希腊"
+ },
"SG": {
"name": "新加å¡"
},
diff --git a/vendor/commerceguys/intl/resources/country/zu.json b/vendor/commerceguys/intl/resources/country/zu.json
index 0ce7b0451..f1f8f3c9e 100644
--- a/vendor/commerceguys/intl/resources/country/zu.json
+++ b/vendor/commerceguys/intl/resources/country/zu.json
@@ -183,7 +183,7 @@
"name": "i-Cyprus"
},
"CZ": {
- "name": "i-Czech Republic"
+ "name": "i-Czechia"
},
"DK": {
"name": "i-Denmark"
@@ -602,9 +602,6 @@
"SO": {
"name": "i-Somalia"
},
- "ZA": {
- "name": "i-South Africa"
- },
"GS": {
"name": "i-South Georgia ne-South Sandwich Islands"
},
@@ -752,6 +749,9 @@
"ML": {
"name": "iMali"
},
+ "ZA": {
+ "name": "iNingizimu Afrika"
+ },
"ZW": {
"name": "iZimbabwe"
},
diff --git a/vendor/commerceguys/intl/resources/currency/af.json b/vendor/commerceguys/intl/resources/currency/af.json
index d689c1003..cd8a831f4 100644
--- a/vendor/commerceguys/intl/resources/currency/af.json
+++ b/vendor/commerceguys/intl/resources/currency/af.json
@@ -49,9 +49,6 @@
"BYN": {
"name": "Belo-Russiese roebel"
},
- "BYR": {
- "name": "Belo-Russiese roebel (2000–2016)"
- },
"BMD": {
"name": "Bermuda-dollar"
},
@@ -355,7 +352,7 @@
"name": "Paraguaanse guarani"
},
"PEN": {
- "name": "Peruaanse nuwe sol"
+ "name": "Peruaanse sol"
},
"PLN": {
"name": "Poolse zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/agq.json b/vendor/commerceguys/intl/resources/currency/agq.json
index d23dcf674..f1f870ece 100644
--- a/vendor/commerceguys/intl/resources/currency/agq.json
+++ b/vendor/commerceguys/intl/resources/currency/agq.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -113,7 +110,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dàlasì è Gambìa"
@@ -379,7 +376,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ak.json b/vendor/commerceguys/intl/resources/currency/ak.json
index f866fb612..c7da6759b 100644
--- a/vendor/commerceguys/intl/resources/currency/ak.json
+++ b/vendor/commerceguys/intl/resources/currency/ak.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -109,7 +106,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -355,7 +352,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/am.json b/vendor/commerceguys/intl/resources/currency/am.json
index e96d302ec..d77c6c325 100644
--- a/vendor/commerceguys/intl/resources/currency/am.json
+++ b/vendor/commerceguys/intl/resources/currency/am.json
@@ -27,12 +27,12 @@
"AWG": {
"name": "አሩባን áሎሪን"
},
- "HUF": {
- "name": "የáˆáŠ•áŒ‹áˆª áŽáˆªáŠ•á‰µ"
- },
"HNL": {
"name": "የሃንዱራ ሌáˆá“አይራ"
},
+ "HUF": {
+ "name": "የሃንጋሪያን áŽáˆªáŠ•á‰µ"
+ },
"HTG": {
"name": "የሃያቲ ጓርዴ"
},
@@ -148,7 +148,7 @@
"name": "የሲንጋá–ር ዶላር"
},
"STD": {
- "name": "የሳኦ ቶመ እና á•áˆªáŠ•áˆ²á ዶብራ"
+ "name": "የሳኦ ቶሜ እና á•áˆªáŠ•áˆ²á” ዶብራ"
},
"SAR": {
"name": "የሳá‹á‹² ሪያáˆ"
@@ -192,9 +192,6 @@
"BYN": {
"name": "የቤላሩስያ ሩብáˆ"
},
- "BYR": {
- "name": "የቤላሩስያ ሩብሠ(2000–2016)"
- },
"BMD": {
"name": "የቤርሙዳ ዶላር"
},
@@ -228,7 +225,7 @@
"symbol": "â‚«"
},
"AED": {
- "name": "የተባበሩት የአረብ ኤáˆáˆ¨á‰µáˆµ ዲርሀáˆ"
+ "name": "የተባበሩት የአረብ ኤáˆáˆ¬á‰µáˆµ ድርሀáˆ"
},
"TRY": {
"name": "የቱርክ ሊራ"
@@ -375,9 +372,6 @@
"CVE": {
"name": "የኬᕠቫርዲ ኤስኩዶ"
},
- "HRK": {
- "name": "የክሮሽያ ኩና"
- },
"COP": {
"name": "የኮሎáˆá‰¢á‹« á”ሶ"
},
@@ -471,7 +465,7 @@
"name": "የá“á•á‹‹ ኒዠጊኒ ኪና"
},
"PEN": {
- "name": "የá”ሩቪያ ኑኤቮ ሶáˆ"
+ "name": "የá”ሩቪያ ሶáˆ"
},
"PLN": {
"name": "የá–ላንድ á‹áˆŽá‰²"
@@ -489,6 +483,9 @@
"PAB": {
"name": "á“ናማኒአን ባáˆá‰¦áŠ "
},
+ "HRK": {
+ "name": "Croatian Kuna"
+ },
"SVC": {
"name": "Salvadoran Colón"
},
diff --git a/vendor/commerceguys/intl/resources/currency/ar.json b/vendor/commerceguys/intl/resources/currency/ar.json
index b2ed83b64..8105b0ce0 100644
--- a/vendor/commerceguys/intl/resources/currency/ar.json
+++ b/vendor/commerceguys/intl/resources/currency/ar.json
@@ -47,7 +47,7 @@
"name": "بيزو اوروغواي"
},
"CLP": {
- "name": "بيزو شيلي"
+ "name": "بيزو تشيلي"
},
"PHP": {
"name": "بيزو Ùلبيني"
@@ -66,7 +66,7 @@
"symbol": "MX$"
},
"BDT": {
- "name": "تاكا بنجلاديشي"
+ "name": "تاكا بنغلاديشي"
},
"WST": {
"name": "تالا ساموا"
@@ -105,9 +105,6 @@
"name": "جنيه مصري",
"symbol": "ج.Ù….â€"
},
- "PYG": {
- "name": "جواراني باراجواي"
- },
"HTG": {
"name": "جوردى هايتي"
},
@@ -123,7 +120,7 @@
"symbol": "د.Ù….â€"
},
"GMD": {
- "name": "دلاسي جامبي"
+ "name": "دلاسي غامبي"
},
"STD": {
"name": "دوبرا ساو تومي وبرينسيبي"
@@ -156,7 +153,7 @@
"symbol": "NT$"
},
"TTD": {
- "name": "دولار ترينداد وتوباجو"
+ "name": "دولار ترينداد وتوباغو"
},
"JMD": {
"name": "دولار جامايكي"
@@ -248,9 +245,6 @@
"BYN": {
"name": "روبل بيلاروسي"
},
- "BYR": {
- "name": "روبل بيلاروسي (٢٠٠٠–٢٠١٦)"
- },
"RUB": {
"name": "روبل روسي"
},
@@ -313,7 +307,7 @@
"name": "زلوتي بولندي"
},
"PEN": {
- "name": "سول جديد البيرو"
+ "name": "سول بيروÙÙŠ"
},
"UZS": {
"name": "سوم أوزبكستاني"
@@ -343,6 +337,9 @@
"name": "شيكل إسرائيلي جديد",
"symbol": "₪"
},
+ "PYG": {
+ "name": "غواراني باراغواي"
+ },
"ANG": {
"name": "غيلدر أنتيلي هولندي"
},
@@ -353,8 +350,7 @@
"name": "Ùرنك بروندي"
},
"KMF": {
- "name": "Ùرنك جزر القمر",
- "symbol": "Ù.ج.Ù‚.â€"
+ "name": "Ùرنك جزر القمر"
},
"DJF": {
"name": "Ùرنك جيبوتي"
@@ -387,16 +383,19 @@
"name": "Ùلورن أروبي"
},
"HUF": {
- "name": "Ùورينت مجري"
+ "name": "Ùورينت هنغاري"
},
"NIO": {
"name": "قرطبة نيكاراغوا"
},
+ "ISK": {
+ "name": "كرونة أيسلندية"
+ },
"CZK": {
"name": "كرونة تشيكية"
},
"DKK": {
- "name": "كرونة دانماركي"
+ "name": "كرونة دنماركية"
},
"SEK": {
"name": "كرونة سويدية"
@@ -404,9 +403,6 @@
"NOK": {
"name": "كرونة نرويجية"
},
- "ISK": {
- "name": "كرونه أيسلندي"
- },
"ZMW": {
"name": "كواشا زامبي"
},
@@ -414,13 +410,13 @@
"name": "كواشا مالاوي"
},
"AOA": {
- "name": "كوانزا أنجولي"
+ "name": "كوانزا أنغولي"
},
"GTQ": {
- "name": "كوتزال جواتيمالا"
+ "name": "كوتزال غواتيمالا"
},
"CRC": {
- "name": "كولن كوستا ريكي"
+ "name": "كولن كوستاريكي"
},
"SVC": {
"name": "كولون سلÙادوري"
diff --git a/vendor/commerceguys/intl/resources/currency/asa.json b/vendor/commerceguys/intl/resources/currency/asa.json
index 168bb5ec9..6331116a8 100644
--- a/vendor/commerceguys/intl/resources/currency/asa.json
+++ b/vendor/commerceguys/intl/resources/currency/asa.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "dalathi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ast.json b/vendor/commerceguys/intl/resources/currency/ast.json
index 88b9bf9e9..248b9de86 100644
--- a/vendor/commerceguys/intl/resources/currency/ast.json
+++ b/vendor/commerceguys/intl/resources/currency/ast.json
@@ -402,9 +402,6 @@
"BYN": {
"name": "Rublu bielorrusu"
},
- "BYR": {
- "name": "Rublu bielorrusu (2000–2016)"
- },
"RUB": {
"name": "Rublu rusu"
},
@@ -446,7 +443,7 @@
"name": "Shilling ugandés"
},
"PEN": {
- "name": "sol nuevu peruanu"
+ "name": "Sol peruanu"
},
"KGS": {
"name": "Som kirguistanín"
diff --git a/vendor/commerceguys/intl/resources/currency/az.json b/vendor/commerceguys/intl/resources/currency/az.json
index 3796d0c60..f62f6a224 100644
--- a/vendor/commerceguys/intl/resources/currency/az.json
+++ b/vendor/commerceguys/intl/resources/currency/az.json
@@ -39,9 +39,6 @@
"BYN": {
"name": "Belarus Rublu"
},
- "BYR": {
- "name": "Belarus Rublu (2000–2016)"
- },
"BZD": {
"name": "Beliz Dolları"
},
@@ -364,7 +361,7 @@
"name": "Paraqvay Quaranisi"
},
"PEN": {
- "name": "Peru Nuevo Solu"
+ "name": "Peru Solu"
},
"PLN": {
"name": "Polşa Zlotısı"
diff --git a/vendor/commerceguys/intl/resources/currency/bas.json b/vendor/commerceguys/intl/resources/currency/bas.json
index 94106f1ce..4a1642f34 100644
--- a/vendor/commerceguys/intl/resources/currency/bas.json
+++ b/vendor/commerceguys/intl/resources/currency/bas.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasì gambìà"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/base.json b/vendor/commerceguys/intl/resources/currency/base.json
index cf527b22c..7d7ae1694 100644
--- a/vendor/commerceguys/intl/resources/currency/base.json
+++ b/vendor/commerceguys/intl/resources/currency/base.json
@@ -76,10 +76,6 @@
"BYN": {
"numeric_code": "933"
},
- "BYR": {
- "numeric_code": "974",
- "fraction_digits": "0"
- },
"BZD": {
"numeric_code": "084"
},
diff --git a/vendor/commerceguys/intl/resources/currency/be.json b/vendor/commerceguys/intl/resources/currency/be.json
index 3b88230c1..8d7d955eb 100644
--- a/vendor/commerceguys/intl/resources/currency/be.json
+++ b/vendor/commerceguys/intl/resources/currency/be.json
@@ -55,9 +55,6 @@
"name": "беларуÑкі рубель",
"symbol": "Br"
},
- "BYR": {
- "name": "беларуÑкі рубель (2000–2016)"
- },
"BZD": {
"name": "белізÑкі долар"
},
@@ -347,7 +344,7 @@
"name": "паўночнакарÑйÑÐºÐ°Ñ Ð²Ð¾Ð½Ð°"
},
"PEN": {
- "name": "перуанÑкі новы Ñоль"
+ "name": "перуанÑкі Ñоль"
},
"PLN": {
"name": "польÑкі злоты"
@@ -420,7 +417,7 @@
"name": "узбекÑкі Ñум"
},
"UAH": {
- "name": "украінÑÐºÐ°Ñ Ð³Ñ€Ñ‹ÑžÐ½Ð°"
+ "name": "украінÑÐºÐ°Ñ Ð³Ñ€Ñ‹ÑžÐ½Ñ"
},
"UYU": {
"name": "уругвайÑкае пеÑа"
diff --git a/vendor/commerceguys/intl/resources/currency/bez.json b/vendor/commerceguys/intl/resources/currency/bez.json
index bedf0d618..5ab9cbbb0 100644
--- a/vendor/commerceguys/intl/resources/currency/bez.json
+++ b/vendor/commerceguys/intl/resources/currency/bez.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -393,7 +390,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/bg.json b/vendor/commerceguys/intl/resources/currency/bg.json
index d046fcb0c..5512f4d4e 100644
--- a/vendor/commerceguys/intl/resources/currency/bg.json
+++ b/vendor/commerceguys/intl/resources/currency/bg.json
@@ -44,9 +44,6 @@
"BYN": {
"name": "БеларуÑка рубла"
},
- "BYR": {
- "name": "БеларуÑка рубла (2000–2016)"
- },
"BZD": {
"name": "БелизийÑки долар"
},
@@ -324,7 +321,7 @@
"name": "Патака на Макао"
},
"PEN": {
- "name": "ПеруанÑки нов Ñол"
+ "name": "ПеруанÑки Ñол"
},
"PLN": {
"name": "ПолÑка злота"
diff --git a/vendor/commerceguys/intl/resources/currency/bm.json b/vendor/commerceguys/intl/resources/currency/bm.json
index a4492fff9..2b6029151 100644
--- a/vendor/commerceguys/intl/resources/currency/bm.json
+++ b/vendor/commerceguys/intl/resources/currency/bm.json
@@ -49,9 +49,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -115,7 +112,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -344,7 +341,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/bn.json b/vendor/commerceguys/intl/resources/currency/bn.json
index 00fc47afe..1a707d4f1 100644
--- a/vendor/commerceguys/intl/resources/currency/bn.json
+++ b/vendor/commerceguys/intl/resources/currency/bn.json
@@ -4,7 +4,7 @@
"symbol": "A$"
},
"ISK": {
- "name": "আইসলà§à¦¯à¦¾à¦¨à§à¦¡ কà§à¦°à§Œà¦¨"
+ "name": "আইসলà§à¦¯à¦¾à¦¨à§à¦¡à§€à¦¯à¦¼ কà§à¦°à§‹à¦¨à¦¾"
},
"AZN": {
"name": "আজারবাইজান মানাত"
@@ -93,7 +93,7 @@
"name": "কাজাখাসà§à¦¤à¦¾à¦¨à¦¿ টেঙà§à¦—ে"
},
"QAR": {
- "name": "কাতার রিয়à§à¦¯à¦¾à¦²"
+ "name": "কাতার রিয়াল"
},
"CAD": {
"name": "কানাডিয়ান ডলার",
@@ -183,7 +183,7 @@
"name": "ডোমিনিকান পেসো"
},
"DKK": {
- "name": "ডà§à¦¯à¦¾à¦¨à¦¿à¦¶ কà§à¦°à§Œà¦¨"
+ "name": "ডà§à¦¯à¦¾à¦¨à¦¿à¦¶ কà§à¦°à§‹à¦¨"
},
"TJS": {
"name": "তাজিকিসà§à¦¤à¦¾à¦¨ সোমোনি"
@@ -222,7 +222,7 @@
"symbol": "NT$"
},
"NOK": {
- "name": "নরওয়ে কà§à¦°à§Œà¦¨"
+ "name": "নরওয়েজিয়ান কà§à¦°à§‹à¦¨"
},
"NGN": {
"name": "নাইজেরিয়ান নায়রা"
@@ -261,7 +261,7 @@
"symbol": "EC$"
},
"PEN": {
- "name": "পেরà§à¦­à¦¿à¦¯à¦¼à¦¾à¦¨ সোল নà§à¦¯à¦¼à§‡à¦­à§‹"
+ "name": "পেরà§à¦­à¦¿à¦¯à¦¼à¦¾à¦¨ সোল"
},
"PLN": {
"name": "পোলিশ জà§à¦²à§‹à¦Ÿà¦¿"
@@ -285,7 +285,7 @@
"name": "বলিভিয়ানো"
},
"BAM": {
- "name": "বসনিয়া à¦à¦¬à¦‚ হারà§à¦œà§‡à¦—োভিনা মারà§à¦•"
+ "name": "বসনিয়া à¦à¦¬à¦‚ হারà§à¦œà§‡à¦—োভিনা বিনিমেয় মারà§à¦•"
},
"BDT": {
"name": "বাংলাদেশী টাকা",
@@ -307,14 +307,11 @@
"name": "বà§à¦°à§à¦¨à§à¦¡à¦¿ ফà§à¦°à¦¾à¦™à§à¦•"
},
"BGN": {
- "name": "বà§à¦²à¦—েরীয় নিউ লেভ"
+ "name": "বà§à¦²à¦—েরীয় লেভ"
},
"BYN": {
"name": "বেলারà§à¦¶à¦¿à¦¯à¦¼à¦¾à¦¨ রà§à¦¬à§‡à¦²"
},
- "BYR": {
- "name": "বেলারà§à¦¶à¦¿à¦¯à¦¼à¦¾à¦¨ রà§à¦¬à§‡à¦² (2000–2016)"
- },
"BZD": {
"name": "বেলিজ ডলার"
},
@@ -410,7 +407,7 @@
"name": "রà§à¦¯à¦¼à¦¾à¦¨à§à¦¡à¦¾à¦¨ ফà§à¦°à¦¾à¦™à§à¦•"
},
"LYD": {
- "name": "লিবিয়ান ডলার"
+ "name": "লিবিয়ান দিনার"
},
"LRD": {
"name": "লিবেরিয়ান ডলার"
@@ -480,7 +477,7 @@
"name": "সোয়াজিলà§à¦¯à¦¾à¦¨à§à¦¡ লিলাঙà§à¦—েনি"
},
"SAR": {
- "name": "সৌদি রিয়à§à¦¯à¦¾à¦²"
+ "name": "সৌদি রিয়াল"
},
"HKD": {
"name": "হংকং ডলার",
diff --git a/vendor/commerceguys/intl/resources/currency/br.json b/vendor/commerceguys/intl/resources/currency/br.json
index 5fd6a16fe..f34426849 100644
--- a/vendor/commerceguys/intl/resources/currency/br.json
+++ b/vendor/commerceguys/intl/resources/currency/br.json
@@ -324,9 +324,6 @@
"BTN": {
"name": "ngultrum Bhoutan"
},
- "PEN": {
- "name": "nuevo sol Perou"
- },
"MRO": {
"name": "ouguiya Maouritania"
},
@@ -400,9 +397,6 @@
"BYN": {
"name": "roubl Belarus"
},
- "BYR": {
- "name": "roubl Belarus (2000–2016)"
- },
"RUB": {
"name": "roubl Rusia"
},
@@ -446,6 +440,9 @@
"TZS": {
"name": "shilling Tanzania"
},
+ "PEN": {
+ "name": "sol Perou"
+ },
"KGS": {
"name": "som Kyrgyzstan"
},
diff --git a/vendor/commerceguys/intl/resources/currency/brx.json b/vendor/commerceguys/intl/resources/currency/brx.json
index de82e0c03..ec7d50841 100644
--- a/vendor/commerceguys/intl/resources/currency/brx.json
+++ b/vendor/commerceguys/intl/resources/currency/brx.json
@@ -254,7 +254,7 @@
"name": "पारागà¥à¤à¤ˆ गà¥à¤†à¤°à¤¾à¤¨à¥€"
},
"PEN": {
- "name": "पेरà¥à¤µà¤¾à¤ˆ नया सोल"
+ "name": "पेरà¥à¤µà¤¾à¤ˆ सोल"
},
"PLN": {
"name": "पोलिश ज़à¥à¤²à¥‰à¤Ÿà¥€"
@@ -300,9 +300,6 @@
"BYN": {
"name": "बेलारà¥à¤¸à¥€ रूबल"
},
- "BYR": {
- "name": "बेलारà¥à¤¸à¥€ रूबल (2000–2016)"
- },
"BZD": {
"name": "बेलीज़ डॉलर"
},
diff --git a/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json b/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
index 401787676..8b2bdf902 100644
--- a/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/currency/bs-Cyrl.json
@@ -46,9 +46,6 @@
"BYN": {
"name": "БелоруÑка рубља"
},
- "BYR": {
- "name": "БелоруÑка рубља (2000–2016)"
- },
"BMD": {
"name": "БермудÑки долар"
},
@@ -335,7 +332,7 @@
"name": "ПарагвајÑки гуарни"
},
"PEN": {
- "name": "ПеруанÑки нуево Ñол"
+ "name": "ПеруанÑки Ñол"
},
"PLN": {
"name": "ПољÑки злот",
diff --git a/vendor/commerceguys/intl/resources/currency/bs.json b/vendor/commerceguys/intl/resources/currency/bs.json
index adf31c61b..e16d68cb8 100644
--- a/vendor/commerceguys/intl/resources/currency/bs.json
+++ b/vendor/commerceguys/intl/resources/currency/bs.json
@@ -50,9 +50,6 @@
"BYN": {
"name": "Bjeloruska rublja"
},
- "BYR": {
- "name": "Bjeloruska rublja (2000–2016)"
- },
"BWP": {
"name": "Bocvanska pula"
},
@@ -356,7 +353,7 @@
"name": "Paragvajski gvarani"
},
"PEN": {
- "name": "Peruanski novi sol"
+ "name": "Peruanski sol"
},
"PLN": {
"name": "Poljski zlot"
diff --git a/vendor/commerceguys/intl/resources/currency/ca.json b/vendor/commerceguys/intl/resources/currency/ca.json
index 932ce5061..1c2d49cbe 100644
--- a/vendor/commerceguys/intl/resources/currency/ca.json
+++ b/vendor/commerceguys/intl/resources/currency/ca.json
@@ -333,9 +333,6 @@
"name": "nou dòlar de Taiwan",
"symbol": "NT$"
},
- "PEN": {
- "name": "nou sol peruà"
- },
"ILS": {
"name": "nou xéquel israelià",
"symbol": "₪"
@@ -412,9 +409,6 @@
"BYN": {
"name": "ruble bielorús"
},
- "BYR": {
- "name": "ruble bielorús (2000–2016)"
- },
"RUB": {
"name": "ruble rus"
},
@@ -443,6 +437,9 @@
"PKR": {
"name": "rupia pakistanesa"
},
+ "PEN": {
+ "name": "sol peruà"
+ },
"KGS": {
"name": "som kirguís"
},
diff --git a/vendor/commerceguys/intl/resources/currency/ce.json b/vendor/commerceguys/intl/resources/currency/ce.json
index 042d6a546..20e535ad0 100644
--- a/vendor/commerceguys/intl/resources/currency/ce.json
+++ b/vendor/commerceguys/intl/resources/currency/ce.json
@@ -56,9 +56,6 @@
"BYN": {
"name": "БелоруÑÑин Ñом"
},
- "BYR": {
- "name": "БелоруÑÑин Ñом (2000–2016)"
- },
"BMD": {
"name": "Бермудан доллар"
},
@@ -173,9 +170,6 @@
"CVE": {
"name": "Кабо-Верден ÑÑкудо"
},
- "KZT": {
- "name": "КазахÑтанан тенге"
- },
"KYD": {
"name": "Кайманийн гӀайренийн доллар"
},
@@ -224,6 +218,9 @@
"KWD": {
"name": "Кувейтан динар"
},
+ "KZT": {
+ "name": "КхазакхÑтанан тенге"
+ },
"KRW": {
"name": "Къилба Корейн вона",
"symbol": "â‚©"
@@ -343,7 +340,7 @@
"name": "Парагвайн гуарани"
},
"PEN": {
- "name": "Перун керла Ñоль"
+ "name": "Перун Ñоль"
},
"PLN": {
"name": "Польшан злотый"
@@ -365,7 +362,7 @@
"name": "Сан-Томен а, ПринÑипин а добра"
},
"SAR": {
- "name": "СаӀудийн Ðравин риал"
+ "name": "СаӀудийн Ӏаьрбийчоьнан риал"
},
"SZL": {
"name": "Свазилендан лилангени"
@@ -426,7 +423,7 @@
"name": "Угандан шиллинг"
},
"UZS": {
- "name": "УзбекиÑтанан Ñум"
+ "name": "УзбекиÑтанан Ñом"
},
"UAH": {
"name": "Украинан гривна"
diff --git a/vendor/commerceguys/intl/resources/currency/cgg.json b/vendor/commerceguys/intl/resources/currency/cgg.json
index 649e56df5..1a80c45ed 100644
--- a/vendor/commerceguys/intl/resources/currency/cgg.json
+++ b/vendor/commerceguys/intl/resources/currency/cgg.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -366,7 +363,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/chr.json b/vendor/commerceguys/intl/resources/currency/chr.json
index 5b89c29e1..86e4a1b71 100644
--- a/vendor/commerceguys/intl/resources/currency/chr.json
+++ b/vendor/commerceguys/intl/resources/currency/chr.json
@@ -273,9 +273,6 @@
"BYN": {
"name": "á‡áŽ³áŽ·á Ꭰá•áŽ³"
},
- "BYR": {
- "name": "á‡áŽ³áŽ·á Ꭰá•áŽ³ (2000–2016)"
- },
"BZD": {
"name": "á‡áŽµá Ꭰá•áŽ³"
},
diff --git a/vendor/commerceguys/intl/resources/currency/cs.json b/vendor/commerceguys/intl/resources/currency/cs.json
index 3824b157b..2f75f4228 100644
--- a/vendor/commerceguys/intl/resources/currency/cs.json
+++ b/vendor/commerceguys/intl/resources/currency/cs.json
@@ -49,9 +49,6 @@
"BYN": {
"name": "běloruský rubl"
},
- "BYR": {
- "name": "běloruský rubl (2000–2016)"
- },
"BMD": {
"name": "bermudský dolar"
},
@@ -79,7 +76,7 @@
"name": "brunejský dolar"
},
"BGN": {
- "name": "bulharský lev"
+ "name": "bulharský leva"
},
"BIF": {
"name": "burundský frank"
@@ -358,7 +355,7 @@
"name": "paraguajské guarani"
},
"PEN": {
- "name": "peruánský nový sol"
+ "name": "peruánský sol"
},
"PLN": {
"name": "polský zlotý"
diff --git a/vendor/commerceguys/intl/resources/currency/cy.json b/vendor/commerceguys/intl/resources/currency/cy.json
index ca64ac81d..b38a500d6 100644
--- a/vendor/commerceguys/intl/resources/currency/cy.json
+++ b/vendor/commerceguys/intl/resources/currency/cy.json
@@ -223,7 +223,7 @@
"name": "Kip Laos"
},
"CZK": {
- "name": "Koruna Tsiec"
+ "name": "Koruna’r Weriniaeth Tsiec"
},
"ISK": {
"name": "Króna Gwlad yr Iâ"
@@ -300,9 +300,6 @@
"ERN": {
"name": "Nakfa Eritrea"
},
- "PEN": {
- "name": "Nuevo Sol Periw"
- },
"MRO": {
"name": "Ouguiya Mauritania"
},
@@ -357,7 +354,7 @@
"symbol": "£"
},
"SHP": {
- "name": "Punt Saint Helena"
+ "name": "Punt St Helena"
},
"SDG": {
"name": "Punt Sudan"
@@ -411,9 +408,6 @@
"BYN": {
"name": "Rwbl Belarws"
},
- "BYR": {
- "name": "Rwbl Belarws (2000–2016)"
- },
"RUB": {
"name": "Rwbl Rwsia"
},
@@ -440,6 +434,9 @@
"name": "Shegel Newydd Israel",
"symbol": "₪"
},
+ "PEN": {
+ "name": "Sol Periw"
+ },
"KGS": {
"name": "Som Kyrgyzstan"
},
diff --git a/vendor/commerceguys/intl/resources/currency/da.json b/vendor/commerceguys/intl/resources/currency/da.json
index d53310c93..2053d040e 100644
--- a/vendor/commerceguys/intl/resources/currency/da.json
+++ b/vendor/commerceguys/intl/resources/currency/da.json
@@ -193,9 +193,6 @@
"BYN": {
"name": "hviderussisk rubel"
},
- "BYR": {
- "name": "hviderussisk rubel (2000–2016)"
- },
"INR": {
"name": "indisk rupee",
"symbol": "₹"
@@ -351,7 +348,7 @@
"name": "paraguaysk guarani"
},
"PEN": {
- "name": "peruviansk nuevo sol"
+ "name": "peruviansk sol"
},
"PLN": {
"name": "polsk zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/dav.json b/vendor/commerceguys/intl/resources/currency/dav.json
index 1c12c163f..0815fc583 100644
--- a/vendor/commerceguys/intl/resources/currency/dav.json
+++ b/vendor/commerceguys/intl/resources/currency/dav.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/de-CH.json b/vendor/commerceguys/intl/resources/currency/de-CH.json
index 7f6b29a41..0c69ad302 100644
--- a/vendor/commerceguys/intl/resources/currency/de-CH.json
+++ b/vendor/commerceguys/intl/resources/currency/de-CH.json
@@ -55,7 +55,7 @@
"name": "Bhutan-Ngultrum"
},
"BOB": {
- "name": "Bolivanischer Boliviano"
+ "name": "Bolivianischer Boliviano"
},
"BAM": {
"name": "Bosnien und Herzegowina Konvertierbare Mark"
@@ -117,8 +117,7 @@
"name": "Eritreischer Nakfa"
},
"EUR": {
- "name": "Euro",
- "symbol": "€"
+ "name": "Euro"
},
"FKP": {
"name": "Falkland-Pfund"
@@ -343,7 +342,7 @@
"name": "Paraguayischer Guaraní"
},
"PEN": {
- "name": "Peruanischer Sol"
+ "name": "Peruanischer Neuer Sol"
},
"PHP": {
"name": "Philippinischer Peso"
@@ -490,8 +489,5 @@
},
"BYN": {
"name": "Weissrussischer Rubel"
- },
- "BYR": {
- "name": "Weissrussischer Rubel (2000–2016)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/de.json b/vendor/commerceguys/intl/resources/currency/de.json
index eb009e567..0f97eb7b4 100644
--- a/vendor/commerceguys/intl/resources/currency/de.json
+++ b/vendor/commerceguys/intl/resources/currency/de.json
@@ -55,7 +55,7 @@
"name": "Bhutan-Ngultrum"
},
"BOB": {
- "name": "Bolivanischer Boliviano"
+ "name": "Bolivianischer Boliviano"
},
"BAM": {
"name": "Bosnien und Herzegowina Konvertierbare Mark"
@@ -490,8 +490,5 @@
},
"BYN": {
"name": "Weißrussischer Rubel"
- },
- "BYR": {
- "name": "Weißrussischer Rubel (2000–2016)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/dje.json b/vendor/commerceguys/intl/resources/currency/dje.json
index fddc77db1..bc323e79e 100644
--- a/vendor/commerceguys/intl/resources/currency/dje.json
+++ b/vendor/commerceguys/intl/resources/currency/dje.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -117,7 +114,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -362,7 +359,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/dsb.json b/vendor/commerceguys/intl/resources/currency/dsb.json
index 2a300e71f..b531834f3 100644
--- a/vendor/commerceguys/intl/resources/currency/dsb.json
+++ b/vendor/commerceguys/intl/resources/currency/dsb.json
@@ -51,9 +51,6 @@
"BYN": {
"name": "běłoruski rubl"
},
- "BYR": {
- "name": "běłoruski rubl (2000–2016)"
- },
"BTN": {
"name": "bhutański ngultrum"
},
@@ -355,7 +352,7 @@
"name": "paraguayski guarani"
},
"PEN": {
- "name": "peruski nowy sol"
+ "name": "peruski sol"
},
"ZAR": {
"name": "pódpołdnjowoafriski rand"
diff --git a/vendor/commerceguys/intl/resources/currency/dz.json b/vendor/commerceguys/intl/resources/currency/dz.json
index c42b4c1a8..4771d28ba 100644
--- a/vendor/commerceguys/intl/resources/currency/dz.json
+++ b/vendor/commerceguys/intl/resources/currency/dz.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -82,7 +79,7 @@
"name": "Cuban Convertible Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DJF": {
"name": "Djiboutian Franc"
diff --git a/vendor/commerceguys/intl/resources/currency/ebu.json b/vendor/commerceguys/intl/resources/currency/ebu.json
index c52936dfa..f831bedb4 100644
--- a/vendor/commerceguys/intl/resources/currency/ebu.json
+++ b/vendor/commerceguys/intl/resources/currency/ebu.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ee.json b/vendor/commerceguys/intl/resources/currency/ee.json
index 97041dc96..3202b60dc 100644
--- a/vendor/commerceguys/intl/resources/currency/ee.json
+++ b/vendor/commerceguys/intl/resources/currency/ee.json
@@ -2,9 +2,6 @@
"AFN": {
"name": "afghanistanga afghani"
},
- "ISK": {
- "name": "aiselandga króna"
- },
"ALL": {
"name": "albaniaga lek"
},
@@ -31,7 +28,7 @@
"name": "azerbaidzanga manat"
},
"BSD": {
- "name": "bahamiaga dollar"
+ "name": "bahamasga dollar"
},
"BHD": {
"name": "bahrainga dinar"
@@ -40,14 +37,11 @@
"name": "bangladeshga taka"
},
"BBD": {
- "name": "barbadiaga dollar"
+ "name": "barbadosga dollar"
},
"BYN": {
"name": "belarusiaga ruble"
},
- "BYR": {
- "name": "belarusiaga ruble (2000–2016)"
- },
"BZD": {
"name": "belizega dollar"
},
@@ -67,11 +61,11 @@
"name": "botswanaga pula"
},
"BRL": {
- "name": "Braziliaga real",
+ "name": "braziliaga real",
"symbol": "R$"
},
"GBP": {
- "name": "Britishga pound",
+ "name": "britainga pound",
"symbol": "£"
},
"BND": {
@@ -84,26 +78,47 @@
"name": "burundiga franc"
},
"CAD": {
- "name": "Canadaga dollar",
+ "name": "canadaga dollar",
"symbol": "CA$"
},
+ "KYD": {
+ "name": "cayman islandsga dollar"
+ },
"XPF": {
"name": "CFP ga franc",
"symbol": "CFPF"
},
+ "CLP": {
+ "name": "chilega peso"
+ },
"CNY": {
"name": "Chinesega yuan",
"symbol": "CNÂ¥"
},
+ "COP": {
+ "name": "colombiaga peso"
+ },
+ "CRC": {
+ "name": "costa ricaga colón"
+ },
+ "HRK": {
+ "name": "croatiaga kuna"
+ },
+ "CUC": {
+ "name": "cubaga convertible peso"
+ },
+ "CUP": {
+ "name": "cubaga peso"
+ },
+ "CZK": {
+ "name": "czechga koruna"
+ },
"DKK": {
- "name": "Denmarkga krone"
+ "name": "denmarkga krone"
},
"DOP": {
"name": "dominicaga peso"
},
- "JMD": {
- "name": "dzamaikaga dollar"
- },
"DJF": {
"name": "dziboutiga franc"
},
@@ -113,6 +128,10 @@
"GEL": {
"name": "dzɔdziaga lari"
},
+ "XCD": {
+ "name": "east caribbeanga dollar",
+ "symbol": "EC$"
+ },
"EGP": {
"name": "egyptega pound"
},
@@ -127,7 +146,7 @@
"symbol": "€"
},
"FKP": {
- "name": "falklanɖ ƒudomekpo dukɔwo ƒe ga pound"
+ "name": "falkland islands pound"
},
"FJD": {
"name": "fidziga dollar"
@@ -143,7 +162,7 @@
"symbol": "GH₵"
},
"GIP": {
- "name": "gilbrataga pound"
+ "name": "gilbratarga pound"
},
"GNF": {
"name": "giniga franc"
@@ -154,10 +173,6 @@
"GYD": {
"name": "guyanaga dollar"
},
- "XCD": {
- "name": "É£edzeÆ’e caribbeaga dollar",
- "symbol": "EC$"
- },
"XOF": {
"name": "É£etoÉ–ofe afrikaga CFA franc BCEAO",
"symbol": "CFA"
@@ -179,6 +194,9 @@
"HUF": {
"name": "hungariaga forint"
},
+ "ISK": {
+ "name": "icelandga króna"
+ },
"INR": {
"name": "Indiaga rupee",
"symbol": "₹"
@@ -196,6 +214,9 @@
"name": "israelga yeyetÉ” sheqel",
"symbol": "₪"
},
+ "JMD": {
+ "name": "jamaicaga dollar"
+ },
"JPY": {
"name": "Japanesega yen",
"symbol": "JPÂ¥"
@@ -209,9 +230,6 @@
"QAR": {
"name": "katarga rial"
},
- "KYD": {
- "name": "kayman Æ’udomekpoga dollar"
- },
"KZT": {
"name": "kazakhstanga tenge"
},
@@ -221,27 +239,12 @@
"KGS": {
"name": "kirgistanga som"
},
- "COP": {
- "name": "kolombiaga peso"
- },
"KMF": {
"name": "komoroga franc"
},
"CDF": {
"name": "kongoga franc"
},
- "CRC": {
- "name": "kosta rikaga kolón"
- },
- "HRK": {
- "name": "kroatiaga kuna"
- },
- "CUC": {
- "name": "kubaga convertible peso"
- },
- "CUP": {
- "name": "kubaga peso"
- },
"KWD": {
"name": "kuwaitga dinar"
},
@@ -263,9 +266,6 @@
"MOP": {
"name": "makanesega pataca"
},
- "MKD": {
- "name": "makedoniaga denar"
- },
"MGA": {
"name": "malagasega ariary"
},
@@ -278,8 +278,11 @@
"MVR": {
"name": "maldiviaga rufiyaa"
},
+ "MKD": {
+ "name": "marcedoniaga denar"
+ },
"MXN": {
- "name": "Mexicoga peso",
+ "name": "mexicoga peso",
"symbol": "MX$"
},
"MDL": {
@@ -309,21 +312,21 @@
"NAD": {
"name": "Namibian Dollar"
},
- "ANG": {
- "name": "nedalands antilleaga guilder"
- },
"NPR": {
"name": "nepalga rupee"
},
+ "ANG": {
+ "name": "netherlands antilleaga guilder"
+ },
"NZD": {
"name": "new zealanÉ–ga dollar",
"symbol": "NZ$"
},
"NIO": {
- "name": "nikaraguaga córdoba"
+ "name": "nicaraguaga córdoba"
},
"NOK": {
- "name": "Norwayga krone"
+ "name": "norwayga krone"
},
"OMR": {
"name": "omanga rial"
@@ -341,16 +344,16 @@
"name": "paraguayga guarani"
},
"PEN": {
- "name": "peruga nuevo sol"
+ "name": "peruga sol"
},
"PLN": {
- "name": "polanÉ–ga zloty"
+ "name": "polandga zloty"
},
"RON": {
"name": "romaniaga leu"
},
"RUB": {
- "name": "Russiaga ruble"
+ "name": "russiaga ruble"
},
"RWF": {
"name": "rwandaga franc"
@@ -411,10 +414,10 @@
"name": "swaziga lilangeni"
},
"SEK": {
- "name": "Swedishga krone"
+ "name": "swedenga krone"
},
"CHF": {
- "name": "Swissga franc"
+ "name": "switzerlandga franc"
},
"SYP": {
"name": "syriaga pound"
@@ -437,7 +440,7 @@
"name": "tonagaga pa’anga"
},
"TTD": {
- "name": "trinidad kple tobagoga dollar"
+ "name": "trinidad & tobagoga dollar"
},
"TND": {
"name": "tunisiaga dinar"
@@ -448,12 +451,6 @@
"TMT": {
"name": "turkmenistanga manat"
},
- "CZK": {
- "name": "tsɛk repɔblikga koruna"
- },
- "CLP": {
- "name": "tsilega peso"
- },
"UGX": {
"name": "ugandaga shilling"
},
@@ -467,7 +464,7 @@
"name": "uruguayga peso"
},
"USD": {
- "name": "US ga dollar",
+ "name": "us ga dollar",
"symbol": "US$"
},
"UZS": {
diff --git a/vendor/commerceguys/intl/resources/currency/el.json b/vendor/commerceguys/intl/resources/currency/el.json
index a39940800..8f712441d 100644
--- a/vendor/commerceguys/intl/resources/currency/el.json
+++ b/vendor/commerceguys/intl/resources/currency/el.json
@@ -103,7 +103,7 @@
"name": "ΔολάÏιο ΜπÏουνέι"
},
"NAD": {
- "name": "ΔολάÏιο Îαμίμπια"
+ "name": "ΔολάÏιο Îαμίμπιας"
},
"NZD": {
"name": "ΔολάÏιο Îέας Ζηλανδίας",
@@ -226,7 +226,7 @@
"name": "ΛίÏα Λιβάνου"
},
"FKP": {
- "name": "ΛίÏα Îησιών Φώκλαντ"
+ "name": "ΛίÏα Îήσων Φόκλαντ"
},
"SSP": {
"name": "ΛίÏα Îότιου Σουδάν"
@@ -295,9 +295,6 @@
"name": "Îέο Σέκελ ΙσÏαήλ",
"symbol": "₪"
},
- "PEN": {
- "name": "Îέο Σολ ΠεÏοÏ"
- },
"GMD": {
"name": "Îταλάσι Γκάμπιας"
},
@@ -321,7 +318,7 @@
"name": "Ουγκίγια ΜαυÏιτανίας"
},
"TOP": {
- "name": "Παάγκα νήσων Τόγκα"
+ "name": "Παάγκα Τόνγκα"
},
"MOP": {
"name": "Πατάκα Μακάο"
@@ -385,9 +382,6 @@
"BYN": {
"name": "ΡοÏβλι ΛευκοÏωσίας"
},
- "BYR": {
- "name": "ΡοÏβλι ΛευκοÏωσίας (2000–2016)"
- },
"RUB": {
"name": "ΡοÏβλι Ρωσίας"
},
@@ -431,6 +425,9 @@
"GHS": {
"name": "Σέντι Γκάνας"
},
+ "PEN": {
+ "name": "Σολ ΠεÏοÏ"
+ },
"KGS": {
"name": "Σομ ΚιÏγιζίας"
},
@@ -456,7 +453,7 @@
"name": "ΦιοÏίνι ΟυγγαÏίας"
},
"AWG": {
- "name": "ΦλοÏίνι ΑÏοÏμπα"
+ "name": "ΦλοÏίνι ΑÏοÏμπας"
},
"GNF": {
"name": "ΦÏάγκο Γουινέας"
diff --git a/vendor/commerceguys/intl/resources/currency/en-AG.json b/vendor/commerceguys/intl/resources/currency/en-AG.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-AG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-AG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-AI.json b/vendor/commerceguys/intl/resources/currency/en-AI.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-AI.json
+++ b/vendor/commerceguys/intl/resources/currency/en-AI.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-AT.json b/vendor/commerceguys/intl/resources/currency/en-AT.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-AT.json
+++ b/vendor/commerceguys/intl/resources/currency/en-AT.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-AU.json b/vendor/commerceguys/intl/resources/currency/en-AU.json
index 2086571d2..29ebfb1a6 100644
--- a/vendor/commerceguys/intl/resources/currency/en-AU.json
+++ b/vendor/commerceguys/intl/resources/currency/en-AU.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -125,7 +122,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -335,7 +332,7 @@
"name": "Peso Uruguayo"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-BB.json b/vendor/commerceguys/intl/resources/currency/en-BB.json
index a5ee75c9f..d052b2427 100644
--- a/vendor/commerceguys/intl/resources/currency/en-BB.json
+++ b/vendor/commerceguys/intl/resources/currency/en-BB.json
@@ -43,9 +43,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -131,7 +128,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-BE.json b/vendor/commerceguys/intl/resources/currency/en-BE.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-BE.json
+++ b/vendor/commerceguys/intl/resources/currency/en-BE.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-BM.json b/vendor/commerceguys/intl/resources/currency/en-BM.json
index 916bbd50e..a2714bcb8 100644
--- a/vendor/commerceguys/intl/resources/currency/en-BM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-BM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -131,7 +128,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-BS.json b/vendor/commerceguys/intl/resources/currency/en-BS.json
index 8f9fe22de..c7534edb4 100644
--- a/vendor/commerceguys/intl/resources/currency/en-BS.json
+++ b/vendor/commerceguys/intl/resources/currency/en-BS.json
@@ -43,9 +43,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -131,7 +128,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-BW.json b/vendor/commerceguys/intl/resources/currency/en-BW.json
index 53c625795..b4ab19892 100644
--- a/vendor/commerceguys/intl/resources/currency/en-BW.json
+++ b/vendor/commerceguys/intl/resources/currency/en-BW.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -131,7 +128,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-BZ.json b/vendor/commerceguys/intl/resources/currency/en-BZ.json
index c5009ee58..d8b597ecd 100644
--- a/vendor/commerceguys/intl/resources/currency/en-BZ.json
+++ b/vendor/commerceguys/intl/resources/currency/en-BZ.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar",
"symbol": "$"
@@ -131,7 +128,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-CA.json b/vendor/commerceguys/intl/resources/currency/en-CA.json
index 6a9e82df3..41a380166 100644
--- a/vendor/commerceguys/intl/resources/currency/en-CA.json
+++ b/vendor/commerceguys/intl/resources/currency/en-CA.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-CC.json b/vendor/commerceguys/intl/resources/currency/en-CC.json
index 1b1219952..fd788caf9 100644
--- a/vendor/commerceguys/intl/resources/currency/en-CC.json
+++ b/vendor/commerceguys/intl/resources/currency/en-CC.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-CH.json b/vendor/commerceguys/intl/resources/currency/en-CH.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-CH.json
+++ b/vendor/commerceguys/intl/resources/currency/en-CH.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-CK.json b/vendor/commerceguys/intl/resources/currency/en-CK.json
index 9158ce9db..f382cfbb1 100644
--- a/vendor/commerceguys/intl/resources/currency/en-CK.json
+++ b/vendor/commerceguys/intl/resources/currency/en-CK.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-CM.json b/vendor/commerceguys/intl/resources/currency/en-CM.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-CM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-CM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-CX.json b/vendor/commerceguys/intl/resources/currency/en-CX.json
index 1b1219952..fd788caf9 100644
--- a/vendor/commerceguys/intl/resources/currency/en-CX.json
+++ b/vendor/commerceguys/intl/resources/currency/en-CX.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-CY.json b/vendor/commerceguys/intl/resources/currency/en-CY.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-CY.json
+++ b/vendor/commerceguys/intl/resources/currency/en-CY.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-DE.json b/vendor/commerceguys/intl/resources/currency/en-DE.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-DE.json
+++ b/vendor/commerceguys/intl/resources/currency/en-DE.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-DG.json b/vendor/commerceguys/intl/resources/currency/en-DG.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-DG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-DG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-DK.json b/vendor/commerceguys/intl/resources/currency/en-DK.json
index 5fddb26dc..720fd9858 100644
--- a/vendor/commerceguys/intl/resources/currency/en-DK.json
+++ b/vendor/commerceguys/intl/resources/currency/en-DK.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone",
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-DM.json b/vendor/commerceguys/intl/resources/currency/en-DM.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-DM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-DM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-ER.json b/vendor/commerceguys/intl/resources/currency/en-ER.json
index b0623e0a7..492ca7a09 100644
--- a/vendor/commerceguys/intl/resources/currency/en-ER.json
+++ b/vendor/commerceguys/intl/resources/currency/en-ER.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-FI.json b/vendor/commerceguys/intl/resources/currency/en-FI.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-FI.json
+++ b/vendor/commerceguys/intl/resources/currency/en-FI.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-FJ.json b/vendor/commerceguys/intl/resources/currency/en-FJ.json
index 5ddd5fce4..0889c30d7 100644
--- a/vendor/commerceguys/intl/resources/currency/en-FJ.json
+++ b/vendor/commerceguys/intl/resources/currency/en-FJ.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-FK.json b/vendor/commerceguys/intl/resources/currency/en-FK.json
index 078c007e8..6a6555517 100644
--- a/vendor/commerceguys/intl/resources/currency/en-FK.json
+++ b/vendor/commerceguys/intl/resources/currency/en-FK.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-FM.json b/vendor/commerceguys/intl/resources/currency/en-FM.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-FM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-FM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GB.json b/vendor/commerceguys/intl/resources/currency/en-GB.json
index 0222bca60..dbd7fd92c 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GB.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GB.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
@@ -407,7 +404,7 @@
"name": "Sri Lankan Rupee"
},
"SHP": {
- "name": "St. Helena Pound"
+ "name": "St Helena Pound"
},
"SDG": {
"name": "Sudanese Pound"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GD.json b/vendor/commerceguys/intl/resources/currency/en-GD.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GD.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GD.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GG.json b/vendor/commerceguys/intl/resources/currency/en-GG.json
index 5c8391a1f..7c0de43b6 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -126,7 +123,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -342,7 +339,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GH.json b/vendor/commerceguys/intl/resources/currency/en-GH.json
index 261609038..e4395cf0f 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GH.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GH.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GI.json b/vendor/commerceguys/intl/resources/currency/en-GI.json
index e1c32ef42..22f1ee19d 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GI.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GI.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GM.json b/vendor/commerceguys/intl/resources/currency/en-GM.json
index 060badc84..8a6e8b5e2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-GY.json b/vendor/commerceguys/intl/resources/currency/en-GY.json
index bc1df2236..ea586f163 100644
--- a/vendor/commerceguys/intl/resources/currency/en-GY.json
+++ b/vendor/commerceguys/intl/resources/currency/en-GY.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-HK.json b/vendor/commerceguys/intl/resources/currency/en-HK.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-HK.json
+++ b/vendor/commerceguys/intl/resources/currency/en-HK.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-IE.json b/vendor/commerceguys/intl/resources/currency/en-IE.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-IE.json
+++ b/vendor/commerceguys/intl/resources/currency/en-IE.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-IL.json b/vendor/commerceguys/intl/resources/currency/en-IL.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-IL.json
+++ b/vendor/commerceguys/intl/resources/currency/en-IL.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-IM.json b/vendor/commerceguys/intl/resources/currency/en-IM.json
index 5c8391a1f..7c0de43b6 100644
--- a/vendor/commerceguys/intl/resources/currency/en-IM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-IM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -126,7 +123,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -342,7 +339,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-IN.json b/vendor/commerceguys/intl/resources/currency/en-IN.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-IN.json
+++ b/vendor/commerceguys/intl/resources/currency/en-IN.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-IO.json b/vendor/commerceguys/intl/resources/currency/en-IO.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-IO.json
+++ b/vendor/commerceguys/intl/resources/currency/en-IO.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-JE.json b/vendor/commerceguys/intl/resources/currency/en-JE.json
index 5c8391a1f..7c0de43b6 100644
--- a/vendor/commerceguys/intl/resources/currency/en-JE.json
+++ b/vendor/commerceguys/intl/resources/currency/en-JE.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -126,7 +123,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -342,7 +339,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-JM.json b/vendor/commerceguys/intl/resources/currency/en-JM.json
index 65c651ce7..b3e723358 100644
--- a/vendor/commerceguys/intl/resources/currency/en-JM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-JM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-KE.json b/vendor/commerceguys/intl/resources/currency/en-KE.json
index e96a6c4a0..0a8b93bca 100644
--- a/vendor/commerceguys/intl/resources/currency/en-KE.json
+++ b/vendor/commerceguys/intl/resources/currency/en-KE.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-KI.json b/vendor/commerceguys/intl/resources/currency/en-KI.json
index 1b1219952..fd788caf9 100644
--- a/vendor/commerceguys/intl/resources/currency/en-KI.json
+++ b/vendor/commerceguys/intl/resources/currency/en-KI.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-KN.json b/vendor/commerceguys/intl/resources/currency/en-KN.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-KN.json
+++ b/vendor/commerceguys/intl/resources/currency/en-KN.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-KY.json b/vendor/commerceguys/intl/resources/currency/en-KY.json
index 82884c315..33b08b531 100644
--- a/vendor/commerceguys/intl/resources/currency/en-KY.json
+++ b/vendor/commerceguys/intl/resources/currency/en-KY.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -131,7 +128,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-LC.json b/vendor/commerceguys/intl/resources/currency/en-LC.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-LC.json
+++ b/vendor/commerceguys/intl/resources/currency/en-LC.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-LR.json b/vendor/commerceguys/intl/resources/currency/en-LR.json
index cc838c602..3d0008cce 100644
--- a/vendor/commerceguys/intl/resources/currency/en-LR.json
+++ b/vendor/commerceguys/intl/resources/currency/en-LR.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-LS.json b/vendor/commerceguys/intl/resources/currency/en-LS.json
index c9bb2a8af..ca6ddbbfd 100644
--- a/vendor/commerceguys/intl/resources/currency/en-LS.json
+++ b/vendor/commerceguys/intl/resources/currency/en-LS.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-MG.json b/vendor/commerceguys/intl/resources/currency/en-MG.json
index 6f78fca85..e6f461d19 100644
--- a/vendor/commerceguys/intl/resources/currency/en-MG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-MG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-MO.json b/vendor/commerceguys/intl/resources/currency/en-MO.json
index 506c4021c..e378f7135 100644
--- a/vendor/commerceguys/intl/resources/currency/en-MO.json
+++ b/vendor/commerceguys/intl/resources/currency/en-MO.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-MS.json b/vendor/commerceguys/intl/resources/currency/en-MS.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-MS.json
+++ b/vendor/commerceguys/intl/resources/currency/en-MS.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-MT.json b/vendor/commerceguys/intl/resources/currency/en-MT.json
index e5cfcf45a..32a33e424 100644
--- a/vendor/commerceguys/intl/resources/currency/en-MT.json
+++ b/vendor/commerceguys/intl/resources/currency/en-MT.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-MU.json b/vendor/commerceguys/intl/resources/currency/en-MU.json
index 9a98b79b8..faa36a1a6 100644
--- a/vendor/commerceguys/intl/resources/currency/en-MU.json
+++ b/vendor/commerceguys/intl/resources/currency/en-MU.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-MW.json b/vendor/commerceguys/intl/resources/currency/en-MW.json
index 2cae7e10c..2e456d660 100644
--- a/vendor/commerceguys/intl/resources/currency/en-MW.json
+++ b/vendor/commerceguys/intl/resources/currency/en-MW.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-MY.json b/vendor/commerceguys/intl/resources/currency/en-MY.json
index f01a127b3..37867d004 100644
--- a/vendor/commerceguys/intl/resources/currency/en-MY.json
+++ b/vendor/commerceguys/intl/resources/currency/en-MY.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-NA.json b/vendor/commerceguys/intl/resources/currency/en-NA.json
index 0f6fc29fb..e749919f8 100644
--- a/vendor/commerceguys/intl/resources/currency/en-NA.json
+++ b/vendor/commerceguys/intl/resources/currency/en-NA.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-NF.json b/vendor/commerceguys/intl/resources/currency/en-NF.json
index 1b1219952..fd788caf9 100644
--- a/vendor/commerceguys/intl/resources/currency/en-NF.json
+++ b/vendor/commerceguys/intl/resources/currency/en-NF.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-NG.json b/vendor/commerceguys/intl/resources/currency/en-NG.json
index bd2936b1f..ee9ad672e 100644
--- a/vendor/commerceguys/intl/resources/currency/en-NG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-NG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-NL.json b/vendor/commerceguys/intl/resources/currency/en-NL.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-NL.json
+++ b/vendor/commerceguys/intl/resources/currency/en-NL.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-NR.json b/vendor/commerceguys/intl/resources/currency/en-NR.json
index 1b1219952..fd788caf9 100644
--- a/vendor/commerceguys/intl/resources/currency/en-NR.json
+++ b/vendor/commerceguys/intl/resources/currency/en-NR.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-NU.json b/vendor/commerceguys/intl/resources/currency/en-NU.json
index 9158ce9db..f382cfbb1 100644
--- a/vendor/commerceguys/intl/resources/currency/en-NU.json
+++ b/vendor/commerceguys/intl/resources/currency/en-NU.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-NZ.json b/vendor/commerceguys/intl/resources/currency/en-NZ.json
index 9158ce9db..f382cfbb1 100644
--- a/vendor/commerceguys/intl/resources/currency/en-NZ.json
+++ b/vendor/commerceguys/intl/resources/currency/en-NZ.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-PG.json b/vendor/commerceguys/intl/resources/currency/en-PG.json
index b516c4fa1..3946b09b9 100644
--- a/vendor/commerceguys/intl/resources/currency/en-PG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-PG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-PH.json b/vendor/commerceguys/intl/resources/currency/en-PH.json
index 0d0e909f4..6d205f099 100644
--- a/vendor/commerceguys/intl/resources/currency/en-PH.json
+++ b/vendor/commerceguys/intl/resources/currency/en-PH.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso",
+ "name": "Philippine Piso",
"symbol": "₱"
},
"PLN": {
diff --git a/vendor/commerceguys/intl/resources/currency/en-PK.json b/vendor/commerceguys/intl/resources/currency/en-PK.json
index 3efdccab9..bddc01155 100644
--- a/vendor/commerceguys/intl/resources/currency/en-PK.json
+++ b/vendor/commerceguys/intl/resources/currency/en-PK.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-PN.json b/vendor/commerceguys/intl/resources/currency/en-PN.json
index 9158ce9db..f382cfbb1 100644
--- a/vendor/commerceguys/intl/resources/currency/en-PN.json
+++ b/vendor/commerceguys/intl/resources/currency/en-PN.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-PW.json b/vendor/commerceguys/intl/resources/currency/en-PW.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-PW.json
+++ b/vendor/commerceguys/intl/resources/currency/en-PW.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-RW.json b/vendor/commerceguys/intl/resources/currency/en-RW.json
index 29ae52fa7..7ebe596f5 100644
--- a/vendor/commerceguys/intl/resources/currency/en-RW.json
+++ b/vendor/commerceguys/intl/resources/currency/en-RW.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SB.json b/vendor/commerceguys/intl/resources/currency/en-SB.json
index 3263b8692..1422bd9a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SB.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SB.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SC.json b/vendor/commerceguys/intl/resources/currency/en-SC.json
index 62595c166..ae2cf953f 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SC.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SC.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SD.json b/vendor/commerceguys/intl/resources/currency/en-SD.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SD.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SD.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SE.json b/vendor/commerceguys/intl/resources/currency/en-SE.json
index 06f298c3e..a819f0a28 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SE.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SE.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SG.json b/vendor/commerceguys/intl/resources/currency/en-SG.json
index d87cccad3..69a11d035 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SH.json b/vendor/commerceguys/intl/resources/currency/en-SH.json
index a09415df8..bb33a8525 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SH.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SH.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SI.json b/vendor/commerceguys/intl/resources/currency/en-SI.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SI.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SI.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SL.json b/vendor/commerceguys/intl/resources/currency/en-SL.json
index 855450aed..5c321f42b 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SL.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SL.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SS.json b/vendor/commerceguys/intl/resources/currency/en-SS.json
index 06451eb04..bd110e507 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SS.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SS.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SX.json b/vendor/commerceguys/intl/resources/currency/en-SX.json
index 8281d7ca8..17555d40d 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SX.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SX.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-SZ.json b/vendor/commerceguys/intl/resources/currency/en-SZ.json
index 13ba67805..a223db811 100644
--- a/vendor/commerceguys/intl/resources/currency/en-SZ.json
+++ b/vendor/commerceguys/intl/resources/currency/en-SZ.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-TC.json b/vendor/commerceguys/intl/resources/currency/en-TC.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-TC.json
+++ b/vendor/commerceguys/intl/resources/currency/en-TC.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-TK.json b/vendor/commerceguys/intl/resources/currency/en-TK.json
index 9158ce9db..f382cfbb1 100644
--- a/vendor/commerceguys/intl/resources/currency/en-TK.json
+++ b/vendor/commerceguys/intl/resources/currency/en-TK.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-TO.json b/vendor/commerceguys/intl/resources/currency/en-TO.json
index caf96fdb1..149f8c5c7 100644
--- a/vendor/commerceguys/intl/resources/currency/en-TO.json
+++ b/vendor/commerceguys/intl/resources/currency/en-TO.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-TT.json b/vendor/commerceguys/intl/resources/currency/en-TT.json
index ecc602635..c689ab9c4 100644
--- a/vendor/commerceguys/intl/resources/currency/en-TT.json
+++ b/vendor/commerceguys/intl/resources/currency/en-TT.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-TV.json b/vendor/commerceguys/intl/resources/currency/en-TV.json
index 1b1219952..fd788caf9 100644
--- a/vendor/commerceguys/intl/resources/currency/en-TV.json
+++ b/vendor/commerceguys/intl/resources/currency/en-TV.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-TZ.json b/vendor/commerceguys/intl/resources/currency/en-TZ.json
index 0bceeffe8..9c0b4f383 100644
--- a/vendor/commerceguys/intl/resources/currency/en-TZ.json
+++ b/vendor/commerceguys/intl/resources/currency/en-TZ.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-UG.json b/vendor/commerceguys/intl/resources/currency/en-UG.json
index 852f4f8ce..cb3c71e78 100644
--- a/vendor/commerceguys/intl/resources/currency/en-UG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-UG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-VC.json b/vendor/commerceguys/intl/resources/currency/en-VC.json
index 8b5a17450..f425158a2 100644
--- a/vendor/commerceguys/intl/resources/currency/en-VC.json
+++ b/vendor/commerceguys/intl/resources/currency/en-VC.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-VG.json b/vendor/commerceguys/intl/resources/currency/en-VG.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-VG.json
+++ b/vendor/commerceguys/intl/resources/currency/en-VG.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-VU.json b/vendor/commerceguys/intl/resources/currency/en-VU.json
index 2edb41ec8..15384fec4 100644
--- a/vendor/commerceguys/intl/resources/currency/en-VU.json
+++ b/vendor/commerceguys/intl/resources/currency/en-VU.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-WS.json b/vendor/commerceguys/intl/resources/currency/en-WS.json
index b27260797..8c61e44d4 100644
--- a/vendor/commerceguys/intl/resources/currency/en-WS.json
+++ b/vendor/commerceguys/intl/resources/currency/en-WS.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-ZA.json b/vendor/commerceguys/intl/resources/currency/en-ZA.json
index c9bb2a8af..ca6ddbbfd 100644
--- a/vendor/commerceguys/intl/resources/currency/en-ZA.json
+++ b/vendor/commerceguys/intl/resources/currency/en-ZA.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-ZM.json b/vendor/commerceguys/intl/resources/currency/en-ZM.json
index f04124b95..ee03dde05 100644
--- a/vendor/commerceguys/intl/resources/currency/en-ZM.json
+++ b/vendor/commerceguys/intl/resources/currency/en-ZM.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en-ZW.json b/vendor/commerceguys/intl/resources/currency/en-ZW.json
index 0222bca60..97dbe0dbf 100644
--- a/vendor/commerceguys/intl/resources/currency/en-ZW.json
+++ b/vendor/commerceguys/intl/resources/currency/en-ZW.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Rouble"
},
- "BYR": {
- "name": "Belarusian Rouble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/en.json b/vendor/commerceguys/intl/resources/currency/en.json
index c1c83d22a..14c23494a 100644
--- a/vendor/commerceguys/intl/resources/currency/en.json
+++ b/vendor/commerceguys/intl/resources/currency/en.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -130,7 +127,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -346,7 +343,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/es-AR.json b/vendor/commerceguys/intl/resources/currency/es-AR.json
index 6f11b94bc..f39cee55c 100644
--- a/vendor/commerceguys/intl/resources/currency/es-AR.json
+++ b/vendor/commerceguys/intl/resources/currency/es-AR.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -407,9 +404,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -437,6 +431,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-BO.json b/vendor/commerceguys/intl/resources/currency/es-BO.json
index e0417ed46..d9f9c41ed 100644
--- a/vendor/commerceguys/intl/resources/currency/es-BO.json
+++ b/vendor/commerceguys/intl/resources/currency/es-BO.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-BR.json b/vendor/commerceguys/intl/resources/currency/es-BR.json
index cd23cae0f..275be6956 100644
--- a/vendor/commerceguys/intl/resources/currency/es-BR.json
+++ b/vendor/commerceguys/intl/resources/currency/es-BR.json
@@ -191,11 +191,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -240,9 +240,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -252,6 +249,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -273,15 +273,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -310,13 +310,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -333,9 +333,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-BZ.json b/vendor/commerceguys/intl/resources/currency/es-BZ.json
new file mode 100644
index 000000000..eab95d716
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/es-BZ.json
@@ -0,0 +1,475 @@
+{
+ "AFN": {
+ "name": "afgani"
+ },
+ "MGA": {
+ "name": "ariari"
+ },
+ "PAB": {
+ "name": "balboa panameño"
+ },
+ "THB": {
+ "name": "bat"
+ },
+ "ETB": {
+ "name": "bir"
+ },
+ "VEF": {
+ "name": "bolívar venezolano"
+ },
+ "BOB": {
+ "name": "boliviano"
+ },
+ "GHS": {
+ "name": "cedi"
+ },
+ "KES": {
+ "name": "chelín keniano"
+ },
+ "SOS": {
+ "name": "chelín somalí"
+ },
+ "TZS": {
+ "name": "chelín tanzano"
+ },
+ "UGX": {
+ "name": "chelín ugandés"
+ },
+ "CRC": {
+ "name": "colón costarricense"
+ },
+ "SVC": {
+ "name": "colón salvadoreño"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense"
+ },
+ "CZK": {
+ "name": "corona checa"
+ },
+ "DKK": {
+ "name": "corona danesa"
+ },
+ "ISK": {
+ "name": "corona islandesa"
+ },
+ "NOK": {
+ "name": "corona noruega"
+ },
+ "SEK": {
+ "name": "corona sueca"
+ },
+ "GMD": {
+ "name": "dalasi"
+ },
+ "DZD": {
+ "name": "dinar argelino"
+ },
+ "BHD": {
+ "name": "dinar bahreiní"
+ },
+ "IQD": {
+ "name": "dinar iraquí"
+ },
+ "JOD": {
+ "name": "dinar jordano"
+ },
+ "KWD": {
+ "name": "dinar kuwaití"
+ },
+ "LYD": {
+ "name": "dinar libio"
+ },
+ "MKD": {
+ "name": "dinar macedonio"
+ },
+ "RSD": {
+ "name": "dinar serbio"
+ },
+ "TND": {
+ "name": "dinar tunecino"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos"
+ },
+ "MAD": {
+ "name": "dírham marroquí"
+ },
+ "STD": {
+ "name": "dobra"
+ },
+ "AUD": {
+ "name": "dólar australiano"
+ },
+ "BSD": {
+ "name": "dólar bahameño"
+ },
+ "BBD": {
+ "name": "dólar barbadense"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "$"
+ },
+ "BND": {
+ "name": "dólar bruneano"
+ },
+ "CAD": {
+ "name": "dólar canadiense"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental"
+ },
+ "USD": {
+ "name": "dólar estadounidense"
+ },
+ "FJD": {
+ "name": "dólar fiyiano"
+ },
+ "GYD": {
+ "name": "dólar guyanés"
+ },
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
+ "JMD": {
+ "name": "dólar jamaicano"
+ },
+ "LRD": {
+ "name": "dólar liberiano"
+ },
+ "NAD": {
+ "name": "dólar namibio"
+ },
+ "NZD": {
+ "name": "dólar neozelandés"
+ },
+ "SBD": {
+ "name": "dólar salomonense"
+ },
+ "SGD": {
+ "name": "dólar singapurense"
+ },
+ "SRD": {
+ "name": "dólar surinamés"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense"
+ },
+ "VND": {
+ "name": "dong"
+ },
+ "AMD": {
+ "name": "dram armenio"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde"
+ },
+ "PLN": {
+ "name": "esloti"
+ },
+ "EUR": {
+ "name": "euro"
+ },
+ "AWG": {
+ "name": "florín arubeño"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas"
+ },
+ "HUF": {
+ "name": "forinto húngaro"
+ },
+ "BIF": {
+ "name": "franco burundés"
+ },
+ "XAF": {
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense"
+ },
+ "CDF": {
+ "name": "franco congoleño"
+ },
+ "GNF": {
+ "name": "franco guineano"
+ },
+ "RWF": {
+ "name": "franco ruandés"
+ },
+ "CHF": {
+ "name": "franco suizo"
+ },
+ "DJF": {
+ "name": "franco yibutiano"
+ },
+ "HTG": {
+ "name": "gourde haitiano"
+ },
+ "UAH": {
+ "name": "grivna"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo"
+ },
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
+ "PGK": {
+ "name": "kina"
+ },
+ "LAK": {
+ "name": "kip"
+ },
+ "AOA": {
+ "name": "kuanza"
+ },
+ "HRK": {
+ "name": "kuna"
+ },
+ "MWK": {
+ "name": "kwacha malauí"
+ },
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
+ "GEL": {
+ "name": "lari"
+ },
+ "ALL": {
+ "name": "lek"
+ },
+ "HNL": {
+ "name": "lempira hondureño"
+ },
+ "SLL": {
+ "name": "leona"
+ },
+ "MDL": {
+ "name": "leu moldavo"
+ },
+ "RON": {
+ "name": "leu rumano"
+ },
+ "BGN": {
+ "name": "lev búlgaro"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena"
+ },
+ "EGP": {
+ "name": "libra egipcia"
+ },
+ "GBP": {
+ "name": "libra esterlina"
+ },
+ "GIP": {
+ "name": "libra gibraltareña"
+ },
+ "LBP": {
+ "name": "libra libanesa"
+ },
+ "FKP": {
+ "name": "libra malvinense"
+ },
+ "SYP": {
+ "name": "libra siria"
+ },
+ "SDG": {
+ "name": "libra sudanesa"
+ },
+ "SSP": {
+ "name": "libra sursudanesa"
+ },
+ "SZL": {
+ "name": "lilangeni"
+ },
+ "TRY": {
+ "name": "lira turca"
+ },
+ "LSL": {
+ "name": "loti lesothense"
+ },
+ "AZN": {
+ "name": "manat azerbaiyano"
+ },
+ "TMT": {
+ "name": "manat turcomano"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia y Herzegovina"
+ },
+ "MZN": {
+ "name": "metical"
+ },
+ "ERN": {
+ "name": "nafka"
+ },
+ "NGN": {
+ "name": "naira"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí"
+ },
+ "TOP": {
+ "name": "paanga"
+ },
+ "MOP": {
+ "name": "pataca de Macao"
+ },
+ "ARS": {
+ "name": "peso argentino"
+ },
+ "CLP": {
+ "name": "peso chileno"
+ },
+ "COP": {
+ "name": "peso colombiano"
+ },
+ "CUP": {
+ "name": "peso cubano"
+ },
+ "CUC": {
+ "name": "peso cubano convertible"
+ },
+ "DOP": {
+ "name": "peso dominicano"
+ },
+ "PHP": {
+ "name": "peso filipino"
+ },
+ "MXN": {
+ "name": "peso mexicano"
+ },
+ "UYU": {
+ "name": "peso uruguayo"
+ },
+ "BWP": {
+ "name": "pula"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco"
+ },
+ "ZAR": {
+ "name": "rand"
+ },
+ "BRL": {
+ "name": "real brasileño"
+ },
+ "QAR": {
+ "name": "rial catarí"
+ },
+ "IRR": {
+ "name": "rial iraní"
+ },
+ "OMR": {
+ "name": "rial omaní"
+ },
+ "SAR": {
+ "name": "rial saudí"
+ },
+ "YER": {
+ "name": "rial yemení"
+ },
+ "KHR": {
+ "name": "riel"
+ },
+ "MYR": {
+ "name": "ringit"
+ },
+ "BYN": {
+ "name": "rublo bielorruso"
+ },
+ "RUB": {
+ "name": "rublo ruso"
+ },
+ "MVR": {
+ "name": "rufiya"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa"
+ },
+ "INR": {
+ "name": "rupia india"
+ },
+ "IDR": {
+ "name": "rupia indonesia"
+ },
+ "MUR": {
+ "name": "rupia mauriciana"
+ },
+ "NPR": {
+ "name": "rupia nepalí"
+ },
+ "PKR": {
+ "name": "rupia pakistaní"
+ },
+ "SCR": {
+ "name": "rupia seychellense"
+ },
+ "PEN": {
+ "name": "sol peruano"
+ },
+ "KGS": {
+ "name": "som"
+ },
+ "TJS": {
+ "name": "somoni tayiko"
+ },
+ "UZS": {
+ "name": "sum"
+ },
+ "BDT": {
+ "name": "taka"
+ },
+ "WST": {
+ "name": "tala"
+ },
+ "KZT": {
+ "name": "tenge kazako"
+ },
+ "MNT": {
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
+ },
+ "VUV": {
+ "name": "vatu"
+ },
+ "KPW": {
+ "name": "won norcoreano"
+ },
+ "KRW": {
+ "name": "won surcoreano"
+ },
+ "JPY": {
+ "name": "yen"
+ },
+ "CNY": {
+ "name": "yuan"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-CL.json b/vendor/commerceguys/intl/resources/currency/es-CL.json
index 874540fd3..4733acf05 100644
--- a/vendor/commerceguys/intl/resources/currency/es-CL.json
+++ b/vendor/commerceguys/intl/resources/currency/es-CL.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -407,9 +404,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -437,6 +431,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-CO.json b/vendor/commerceguys/intl/resources/currency/es-CO.json
index 75ab946d3..e53dc30ff 100644
--- a/vendor/commerceguys/intl/resources/currency/es-CO.json
+++ b/vendor/commerceguys/intl/resources/currency/es-CO.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -407,9 +404,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -437,6 +431,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-CR.json b/vendor/commerceguys/intl/resources/currency/es-CR.json
index f7ad79ccc..74dac039f 100644
--- a/vendor/commerceguys/intl/resources/currency/es-CR.json
+++ b/vendor/commerceguys/intl/resources/currency/es-CR.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-CU.json b/vendor/commerceguys/intl/resources/currency/es-CU.json
index 3bc3d9aa0..f11d6e3de 100644
--- a/vendor/commerceguys/intl/resources/currency/es-CU.json
+++ b/vendor/commerceguys/intl/resources/currency/es-CU.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -407,9 +404,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -437,6 +431,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-DO.json b/vendor/commerceguys/intl/resources/currency/es-DO.json
index 8c5b32e98..0862480bb 100644
--- a/vendor/commerceguys/intl/resources/currency/es-DO.json
+++ b/vendor/commerceguys/intl/resources/currency/es-DO.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -407,9 +404,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -437,6 +431,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-EC.json b/vendor/commerceguys/intl/resources/currency/es-EC.json
index 5530493cf..9ae0199f9 100644
--- a/vendor/commerceguys/intl/resources/currency/es-EC.json
+++ b/vendor/commerceguys/intl/resources/currency/es-EC.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-GT.json b/vendor/commerceguys/intl/resources/currency/es-GT.json
index 71c11a878..c829a0423 100644
--- a/vendor/commerceguys/intl/resources/currency/es-GT.json
+++ b/vendor/commerceguys/intl/resources/currency/es-GT.json
@@ -191,11 +191,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -240,9 +240,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -252,6 +249,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -273,15 +273,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -310,13 +310,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -333,9 +333,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-HN.json b/vendor/commerceguys/intl/resources/currency/es-HN.json
index 480e946c6..be28ed999 100644
--- a/vendor/commerceguys/intl/resources/currency/es-HN.json
+++ b/vendor/commerceguys/intl/resources/currency/es-HN.json
@@ -191,11 +191,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -240,9 +240,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -252,6 +249,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-MX.json b/vendor/commerceguys/intl/resources/currency/es-MX.json
index 8c5982e71..566daeb42 100644
--- a/vendor/commerceguys/intl/resources/currency/es-MX.json
+++ b/vendor/commerceguys/intl/resources/currency/es-MX.json
@@ -1,10 +1,9 @@
{
"AFN": {
- "name": "afgani afgano",
- "symbol": "Af"
+ "name": "afgani"
},
"MGA": {
- "name": "ariary malgache"
+ "name": "ariari"
},
"THB": {
"name": "baht tailandés"
@@ -13,7 +12,7 @@
"name": "balboa panameño"
},
"ETB": {
- "name": "birr etíope"
+ "name": "bir"
},
"VEF": {
"name": "bolívar venezolano"
@@ -22,7 +21,7 @@
"name": "boliviano"
},
"GHS": {
- "name": "cedi ghanés"
+ "name": "cedi"
},
"KES": {
"name": "chelín keniano"
@@ -61,7 +60,7 @@
"name": "corona sueca"
},
"GMD": {
- "name": "dalasi gambiano"
+ "name": "dalasi"
},
"DZD": {
"name": "dinar argelino"
@@ -97,11 +96,10 @@
"name": "dírham marroquí"
},
"STD": {
- "name": "dobra de Santo Tomé y Príncipe"
+ "name": "dobra"
},
"AUD": {
- "name": "dólar australiano",
- "symbol": "AU$"
+ "name": "dólar australiano"
},
"BSD": {
"name": "dólar bahameño"
@@ -112,24 +110,18 @@
"BZD": {
"name": "dólar beliceño"
},
+ "BND": {
+ "name": "dólar bruneano"
+ },
"CAD": {
"name": "dólar canadiense"
},
"BMD": {
"name": "dólar de Bermudas"
},
- "BND": {
- "name": "dólar de Brunéi"
- },
- "HKD": {
- "name": "dólar de Hong Kong"
- },
"KYD": {
"name": "dólar de las Islas Caimán"
},
- "SBD": {
- "name": "dólar de las Islas Salomón"
- },
"TTD": {
"name": "dólar de Trinidad y Tobago"
},
@@ -145,6 +137,9 @@
"GYD": {
"name": "dólar guyanés"
},
+ "HKD": {
+ "name": "dólar hongkonés"
+ },
"JMD": {
"name": "dólar jamaicano"
},
@@ -157,6 +152,9 @@
"NZD": {
"name": "dólar neozelandés"
},
+ "SBD": {
+ "name": "dólar salomonense"
+ },
"SGD": {
"name": "dólar singapurense"
},
@@ -167,7 +165,7 @@
"name": "dólar zimbabuense"
},
"VND": {
- "name": "dong vietnamita"
+ "name": "dong"
},
"AMD": {
"name": "dram armenio"
@@ -175,16 +173,17 @@
"CVE": {
"name": "escudo de Cabo Verde"
},
+ "PLN": {
+ "name": "esloti"
+ },
"EUR": {
"name": "euro"
},
"AWG": {
- "name": "florín arubeño",
- "symbol": "Afl."
+ "name": "florín arubeño"
},
"ANG": {
- "name": "florín de las Antillas Neerlandesas",
- "symbol": "Naf"
+ "name": "florín de las Antillas Neerlandesas"
},
"HUF": {
"name": "forinto húngaro"
@@ -192,14 +191,15 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
- "name": "franco CFP"
+ "name": "franco CFP",
+ "symbol": "CFPF"
},
"KMF": {
"name": "franco comorense"
@@ -223,19 +223,28 @@
"name": "gourde haitiano"
},
"UAH": {
- "name": "grivna ucraniana"
+ "name": "grivna"
},
"PYG": {
"name": "guaraní paraguayo"
},
+ "BTN": {
+ "name": "gultrum"
+ },
+ "MMK": {
+ "name": "kiat"
+ },
"PGK": {
- "name": "kina de Papúa Nueva Guinea"
+ "name": "kina"
},
"LAK": {
- "name": "kip laosiano"
+ "name": "kip"
+ },
+ "AOA": {
+ "name": "kuanza"
},
"HRK": {
- "name": "kuna croata"
+ "name": "kuna"
},
"MWK": {
"name": "kwacha malauí"
@@ -243,24 +252,17 @@
"ZMW": {
"name": "kwacha zambiano"
},
- "AOA": {
- "name": "kwanza angoleño",
- "symbol": "Kz"
- },
- "MMK": {
- "name": "kyat de Myanmar"
- },
"GEL": {
- "name": "lari georgiano"
+ "name": "lari"
},
"ALL": {
- "name": "lek albanés"
+ "name": "lek"
},
"HNL": {
"name": "lempira hondureño"
},
"SLL": {
- "name": "leone de Sierra Leona"
+ "name": "leona"
},
"MDL": {
"name": "leu moldavo"
@@ -271,15 +273,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -299,7 +301,7 @@
"name": "libra sursudanesa"
},
"SZL": {
- "name": "lilangeni suazi"
+ "name": "lilangeni"
},
"TRY": {
"name": "lira turca"
@@ -308,47 +310,37 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
- "name": "manat turkmeno"
+ "name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
- "name": "metical mozambiqueño"
- },
- "ERN": {
- "name": "nafka"
+ "name": "metical"
},
"NGN": {
- "name": "naira nigeriano"
+ "name": "naira"
},
- "BTN": {
- "name": "ngultrum butanés"
+ "ERN": {
+ "name": "nakfa"
},
"TWD": {
"name": "nuevo dólar taiwanés"
},
"ILS": {
- "name": "nuevo shéquel israelí"
- },
- "PEN": {
- "name": "nuevo sol peruano"
- },
- "MRO": {
- "name": "ouguiya mauritano"
+ "name": "nuevo séquel israelí"
},
"TOP": {
- "name": "paʻanga tongano"
+ "name": "paanga"
},
"MOP": {
"name": "pataca de Macao"
},
"ARS": {
- "name": "peso argentino",
- "symbol": "$a"
+ "name": "peso argentino"
},
"CLP": {
"name": "peso chileno"
@@ -376,55 +368,49 @@
"name": "peso uruguayo"
},
"BWP": {
- "name": "pula botsuano"
+ "name": "pula"
},
"GTQ": {
"name": "quetzal guatemalteco"
},
"ZAR": {
- "name": "rand sudafricano"
+ "name": "rand"
},
"BRL": {
"name": "real brasileño"
},
+ "QAR": {
+ "name": "rial catarí"
+ },
"IRR": {
"name": "rial iraní"
},
"OMR": {
"name": "rial omaní"
},
+ "SAR": {
+ "name": "rial saudí"
+ },
"YER": {
"name": "rial yemení"
},
"KHR": {
- "name": "riel camboyano"
+ "name": "riel"
},
"MYR": {
- "name": "ringgit malayo"
- },
- "QAR": {
- "name": "riyal de Qatar"
- },
- "SAR": {
- "name": "riyal saudí"
+ "name": "ringit"
},
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
"MVR": {
- "name": "rufiyaa de Maldivas"
- },
- "SCR": {
- "name": "rupia de Seychelles"
+ "name": "rufiya"
},
"LKR": {
- "name": "rupia de Sri Lanka"
+ "name": "rupia esrilanquesa"
},
"INR": {
"name": "rupia india"
@@ -441,29 +427,38 @@
"PKR": {
"name": "rupia pakistaní"
},
- "KGS": {
- "name": "som kirguís"
+ "SCR": {
+ "name": "rupia seychellense"
},
- "UZS": {
- "name": "som uzbeko"
+ "PEN": {
+ "name": "sol peruano"
+ },
+ "KGS": {
+ "name": "som"
},
"TJS": {
"name": "somoni tayiko"
},
+ "UZS": {
+ "name": "sum"
+ },
"BDT": {
- "name": "taka de Bangladesh"
+ "name": "taka"
},
"WST": {
- "name": "tala samoano"
+ "name": "tala"
},
"KZT": {
- "name": "tenge kazajo"
+ "name": "tenge kazako"
},
"MNT": {
- "name": "tugrik mongol"
+ "name": "tugrik"
+ },
+ "MRO": {
+ "name": "uguiya"
},
"VUV": {
- "name": "vatu vanuatuense"
+ "name": "vatu"
},
"KPW": {
"name": "won norcoreano"
@@ -472,13 +467,9 @@
"name": "won surcoreano"
},
"JPY": {
- "name": "yen japonés"
+ "name": "yen"
},
"CNY": {
- "name": "yuan chino",
- "symbol": "CNÂ¥"
- },
- "PLN": {
- "name": "zloty polaco"
+ "name": "yuan"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/es-NI.json b/vendor/commerceguys/intl/resources/currency/es-NI.json
index 1bd0311ed..e04765e73 100644
--- a/vendor/commerceguys/intl/resources/currency/es-NI.json
+++ b/vendor/commerceguys/intl/resources/currency/es-NI.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-PA.json b/vendor/commerceguys/intl/resources/currency/es-PA.json
index f1b6b36ce..2d749eae7 100644
--- a/vendor/commerceguys/intl/resources/currency/es-PA.json
+++ b/vendor/commerceguys/intl/resources/currency/es-PA.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-PE.json b/vendor/commerceguys/intl/resources/currency/es-PE.json
index 0f30b8f59..28bfc780a 100644
--- a/vendor/commerceguys/intl/resources/currency/es-PE.json
+++ b/vendor/commerceguys/intl/resources/currency/es-PE.json
@@ -191,11 +191,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -240,9 +240,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -252,6 +249,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -273,15 +273,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -310,13 +310,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -333,10 +333,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano",
- "symbol": "S\/"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +402,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +429,10 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano",
+ "symbol": "S\/"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-PR.json b/vendor/commerceguys/intl/resources/currency/es-PR.json
index 5530493cf..9ae0199f9 100644
--- a/vendor/commerceguys/intl/resources/currency/es-PR.json
+++ b/vendor/commerceguys/intl/resources/currency/es-PR.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-PY.json b/vendor/commerceguys/intl/resources/currency/es-PY.json
index 8f2fc326d..abe564c78 100644
--- a/vendor/commerceguys/intl/resources/currency/es-PY.json
+++ b/vendor/commerceguys/intl/resources/currency/es-PY.json
@@ -191,11 +191,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-SV.json b/vendor/commerceguys/intl/resources/currency/es-SV.json
index 5530493cf..9ae0199f9 100644
--- a/vendor/commerceguys/intl/resources/currency/es-SV.json
+++ b/vendor/commerceguys/intl/resources/currency/es-SV.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-US.json b/vendor/commerceguys/intl/resources/currency/es-US.json
index 3241eee20..c3e21b38d 100644
--- a/vendor/commerceguys/intl/resources/currency/es-US.json
+++ b/vendor/commerceguys/intl/resources/currency/es-US.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-UY.json b/vendor/commerceguys/intl/resources/currency/es-UY.json
index 9ff6de1b4..82b926116 100644
--- a/vendor/commerceguys/intl/resources/currency/es-UY.json
+++ b/vendor/commerceguys/intl/resources/currency/es-UY.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -407,9 +404,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -437,6 +431,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es-VE.json b/vendor/commerceguys/intl/resources/currency/es-VE.json
index 3740b2d7d..8cc486914 100644
--- a/vendor/commerceguys/intl/resources/currency/es-VE.json
+++ b/vendor/commerceguys/intl/resources/currency/es-VE.json
@@ -192,11 +192,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -241,9 +241,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -253,6 +250,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -274,15 +274,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -311,13 +311,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -334,9 +334,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -406,9 +403,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -436,6 +430,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/es.json b/vendor/commerceguys/intl/resources/currency/es.json
index 8c930a423..b23abaeff 100644
--- a/vendor/commerceguys/intl/resources/currency/es.json
+++ b/vendor/commerceguys/intl/resources/currency/es.json
@@ -132,7 +132,7 @@
},
"USD": {
"name": "dólar estadounidense",
- "symbol": "$"
+ "symbol": "US$"
},
"FJD": {
"name": "dólar fiyiano"
@@ -196,11 +196,11 @@
"BIF": {
"name": "franco burundés"
},
- "XOF": {
- "name": "franco CFA BCEAO"
- },
"XAF": {
- "name": "franco CFA BEAC"
+ "name": "franco CFA de Ãfrica Central"
+ },
+ "XOF": {
+ "name": "franco CFA de Ãfrica Occidental"
},
"XPF": {
"name": "franco CFP",
@@ -245,9 +245,6 @@
"LAK": {
"name": "kip"
},
- "ZMW": {
- "name": "kuacha zambiano"
- },
"AOA": {
"name": "kuanza"
},
@@ -257,6 +254,9 @@
"MWK": {
"name": "kwacha malauí"
},
+ "ZMW": {
+ "name": "kwacha zambiano"
+ },
"GEL": {
"name": "lari"
},
@@ -278,15 +278,15 @@
"BGN": {
"name": "lev búlgaro"
},
- "GBP": {
- "name": "libra británica"
- },
"SHP": {
"name": "libra de Santa Elena"
},
"EGP": {
"name": "libra egipcia"
},
+ "GBP": {
+ "name": "libra esterlina"
+ },
"GIP": {
"name": "libra gibraltareña"
},
@@ -315,13 +315,13 @@
"name": "loti lesothense"
},
"AZN": {
- "name": "manat azerí"
+ "name": "manat azerbaiyano"
},
"TMT": {
"name": "manat turcomano"
},
"BAM": {
- "name": "marco convertible de Bosnia-Herzegovina"
+ "name": "marco convertible de Bosnia y Herzegovina"
},
"MZN": {
"name": "metical"
@@ -338,9 +338,6 @@
"ILS": {
"name": "nuevo séquel israelí"
},
- "PEN": {
- "name": "nuevo sol peruano"
- },
"TOP": {
"name": "paanga"
},
@@ -410,9 +407,6 @@
"BYN": {
"name": "rublo bielorruso"
},
- "BYR": {
- "name": "rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "rublo ruso"
},
@@ -440,6 +434,9 @@
"SCR": {
"name": "rupia seychellense"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/et.json b/vendor/commerceguys/intl/resources/currency/et.json
index 2c2c7397b..68416cf0b 100644
--- a/vendor/commerceguys/intl/resources/currency/et.json
+++ b/vendor/commerceguys/intl/resources/currency/et.json
@@ -339,7 +339,7 @@
"name": "Paraguay guaranii"
},
"PEN": {
- "name": "Peruu uus soll"
+ "name": "Peruu soll"
},
"PLN": {
"name": "Poola zlott"
@@ -424,10 +424,6 @@
"name": "Tai baat",
"symbol": "฿"
},
- "TWD": {
- "name": "Taiwani dollar",
- "symbol": "NT$"
- },
"TZS": {
"name": "Tansaania Å¡illing"
},
@@ -471,6 +467,10 @@
"UZS": {
"name": "Usbekistani somm"
},
+ "TWD": {
+ "name": "uus Taiwani dollar",
+ "symbol": "NT$"
+ },
"NZD": {
"name": "Uus-Meremaa dollar",
"symbol": "NZ$"
@@ -478,9 +478,6 @@
"BYN": {
"name": "Valgevene rubla"
},
- "BYR": {
- "name": "Valgevene rubla (2000–2016)"
- },
"VUV": {
"name": "Vanuatu vatu"
},
diff --git a/vendor/commerceguys/intl/resources/currency/eu.json b/vendor/commerceguys/intl/resources/currency/eu.json
index ccdcc834f..5fc68d401 100644
--- a/vendor/commerceguys/intl/resources/currency/eu.json
+++ b/vendor/commerceguys/intl/resources/currency/eu.json
@@ -69,9 +69,6 @@
"BYN": {
"name": "Bielorrusiako errubloa"
},
- "BYR": {
- "name": "Bielorrusiako errubloa (2000–2016)"
- },
"BOB": {
"name": "Boliviako bolivianoa"
},
@@ -358,7 +355,7 @@
"name": "Paraguaiko guarania"
},
"PEN": {
- "name": "Peruko sol berria"
+ "name": "Peruko sol"
},
"PLN": {
"name": "Poloniako zlotya"
diff --git a/vendor/commerceguys/intl/resources/currency/ewo.json b/vendor/commerceguys/intl/resources/currency/ewo.json
index 9b356264f..6e15bc6d8 100644
--- a/vendor/commerceguys/intl/resources/currency/ewo.json
+++ b/vendor/commerceguys/intl/resources/currency/ewo.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasí yá Gámbía"
@@ -360,7 +357,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/fa-AF.json b/vendor/commerceguys/intl/resources/currency/fa-AF.json
index 7e8dee1d7..14c6eafdf 100644
--- a/vendor/commerceguys/intl/resources/currency/fa-AF.json
+++ b/vendor/commerceguys/intl/resources/currency/fa-AF.json
@@ -81,9 +81,15 @@
"SHP": {
"name": "پوند سنت هلن"
},
+ "SDG": {
+ "name": "پوند سودان"
+ },
"SSP": {
"name": "پوند سودان جنوبی"
},
+ "EGP": {
+ "name": "پوند مصر"
+ },
"BDT": {
"name": "تاکای بنگلادش"
},
@@ -227,9 +233,6 @@
"BYN": {
"name": "روبل روسیهٔ سÙید"
},
- "BYR": {
- "name": "روبل روسیهٔ سÙید (۲۰۰۰–۲۰۱۶)"
- },
"IDR": {
"name": "روپیهٔ اندونزی"
},
@@ -423,18 +426,12 @@
"TRY": {
"name": "لیرهٔ ترکیه"
},
- "SDG": {
- "name": "لیرهٔ سودان"
- },
"SYP": {
"name": "لیرهٔ سوریه"
},
"LBP": {
"name": "لیرهٔ لبنان"
},
- "EGP": {
- "name": "لیرهٔ مصر"
- },
"SZL": {
"name": "لیلانگنی سوازیلند"
},
diff --git a/vendor/commerceguys/intl/resources/currency/fa.json b/vendor/commerceguys/intl/resources/currency/fa.json
index b43afbc65..229f0d1bd 100644
--- a/vendor/commerceguys/intl/resources/currency/fa.json
+++ b/vendor/commerceguys/intl/resources/currency/fa.json
@@ -81,9 +81,15 @@
"SHP": {
"name": "پوند سنت هلن"
},
+ "SDG": {
+ "name": "پوند سودان"
+ },
"SSP": {
"name": "پوند سودان جنوبی"
},
+ "EGP": {
+ "name": "پوند مصر"
+ },
"BDT": {
"name": "تاکای بنگلادش"
},
@@ -226,10 +232,7 @@
"symbol": "R$"
},
"BYN": {
- "name": "روبل بیلوروسی"
- },
- "BYR": {
- "name": "روبل بیلوروسی (۲۰۰۰–۲۰۱۶)"
+ "name": "روبل بلاروسی"
},
"RUB": {
"name": "روبل روسیه"
@@ -432,18 +435,12 @@
"TRY": {
"name": "لیرهٔ ترکیه"
},
- "SDG": {
- "name": "لیرهٔ سودان"
- },
"SYP": {
"name": "لیرهٔ سوریه"
},
"LBP": {
"name": "لیرهٔ لبنان"
},
- "EGP": {
- "name": "لیرهٔ مصر"
- },
"SZL": {
"name": "لیلانگنی سوازیلند"
},
diff --git a/vendor/commerceguys/intl/resources/currency/ff.json b/vendor/commerceguys/intl/resources/currency/ff.json
index b35af4b3d..30613be8f 100644
--- a/vendor/commerceguys/intl/resources/currency/ff.json
+++ b/vendor/commerceguys/intl/resources/currency/ff.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi Gammbi"
@@ -360,7 +357,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/fi.json b/vendor/commerceguys/intl/resources/currency/fi.json
index 6d78d9419..be1f58285 100644
--- a/vendor/commerceguys/intl/resources/currency/fi.json
+++ b/vendor/commerceguys/intl/resources/currency/fi.json
@@ -92,7 +92,7 @@
"name": "Chilen peso"
},
"CRC": {
- "name": "Costa Rican colon"
+ "name": "Costa Rican colón"
},
"DJF": {
"name": "Djiboutin frangi"
@@ -104,7 +104,7 @@
"name": "Egyptin punta"
},
"SVC": {
- "name": "El Salvadorin colon"
+ "name": "El Salvadorin colón"
},
"GBP": {
"name": "Englannin punta",
@@ -332,13 +332,13 @@
"name": "Paraguayn guarani"
},
"PEN": {
- "name": "Perun uusi sol"
+ "name": "Perun sol"
},
"KPW": {
"name": "Pohjois-Korean won"
},
"PLN": {
- "name": "Puolan zloty"
+ "name": "Puolan złoty"
},
"QAR": {
"name": "Qatarin rial"
@@ -457,9 +457,6 @@
"BYN": {
"name": "Valko-Venäjän rupla"
},
- "BYR": {
- "name": "Valko-Venäjän rupla (2000–2016)"
- },
"VUV": {
"name": "Vanuatun vatu"
},
diff --git a/vendor/commerceguys/intl/resources/currency/fil.json b/vendor/commerceguys/intl/resources/currency/fil.json
index d97acdb07..e99faeb31 100644
--- a/vendor/commerceguys/intl/resources/currency/fil.json
+++ b/vendor/commerceguys/intl/resources/currency/fil.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BTN": {
"name": "Bhutanese Ngultrum"
},
@@ -331,7 +328,7 @@
"name": "Paraguayan Guarani"
},
"PEN": {
- "name": "Peruvian Nuevo Sol"
+ "name": "Peruvian Sol"
},
"ARS": {
"name": "Piso ng Argentina"
diff --git a/vendor/commerceguys/intl/resources/currency/fo.json b/vendor/commerceguys/intl/resources/currency/fo.json
index bff216136..7620537b7 100644
--- a/vendor/commerceguys/intl/resources/currency/fo.json
+++ b/vendor/commerceguys/intl/resources/currency/fo.json
@@ -154,9 +154,6 @@
"BYN": {
"name": "Hvítarussland ruble"
},
- "BYR": {
- "name": "Hvítarussland ruble (2000–2016)"
- },
"INR": {
"name": "indiskir rupis",
"symbol": "₹"
@@ -346,7 +343,7 @@
"name": "Paraguai guarani"
},
"PEN": {
- "name": "Peru nuevo sol"
+ "name": "Peru sol"
},
"PLN": {
"name": "Pólland zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/fr-CA.json b/vendor/commerceguys/intl/resources/currency/fr-CA.json
index b20786d38..659a1697f 100644
--- a/vendor/commerceguys/intl/resources/currency/fr-CA.json
+++ b/vendor/commerceguys/intl/resources/currency/fr-CA.json
@@ -325,9 +325,6 @@
"ILS": {
"name": "nouveau shekel israélien"
},
- "PEN": {
- "name": "nouveau sol péruvien"
- },
"MRO": {
"name": "ouguiya mauritanien"
},
@@ -383,9 +380,6 @@
"OMR": {
"name": "rial omanais"
},
- "QAR": {
- "name": "rial qatari"
- },
"SAR": {
"name": "rial saoudien"
},
@@ -398,12 +392,12 @@
"MYR": {
"name": "ringgit malais"
},
+ "QAR": {
+ "name": "riyal qatari"
+ },
"BYN": {
"name": "rouble biélorusse"
},
- "BYR": {
- "name": "rouble biélorusse (2000–2016)"
- },
"RUB": {
"name": "rouble russe"
},
@@ -443,6 +437,9 @@
"TZS": {
"name": "shilling tanzanien"
},
+ "PEN": {
+ "name": "sol péruvien"
+ },
"KGS": {
"name": "som kirghize"
},
diff --git a/vendor/commerceguys/intl/resources/currency/fr.json b/vendor/commerceguys/intl/resources/currency/fr.json
index 515567341..f43d7cd0c 100644
--- a/vendor/commerceguys/intl/resources/currency/fr.json
+++ b/vendor/commerceguys/intl/resources/currency/fr.json
@@ -341,9 +341,6 @@
"name": "nouveau shekel israélien",
"symbol": "₪"
},
- "PEN": {
- "name": "nouveau sol péruvien"
- },
"MRO": {
"name": "ouguiya mauritanien"
},
@@ -398,33 +395,30 @@
"name": "réal brésilien",
"symbol": "R$"
},
+ "KHR": {
+ "name": "riel cambodgien"
+ },
+ "MYR": {
+ "name": "ringgit malais"
+ },
"IRR": {
- "name": "rial iranien"
+ "name": "riyal iranien"
},
"OMR": {
- "name": "rial omanais"
+ "name": "riyal omanais"
},
"QAR": {
- "name": "rial qatari"
+ "name": "riyal qatari"
},
"SAR": {
- "name": "rial saoudien"
+ "name": "riyal saoudien"
},
"YER": {
- "name": "rial yéménite"
- },
- "KHR": {
- "name": "riel cambodgien"
- },
- "MYR": {
- "name": "ringgit malais"
+ "name": "riyal yéménite"
},
"BYN": {
"name": "rouble biélorusse"
},
- "BYR": {
- "name": "rouble biélorusse (2000–2016)"
- },
"RUB": {
"name": "rouble russe"
},
@@ -465,6 +459,9 @@
"TZS": {
"name": "shilling tanzanien"
},
+ "PEN": {
+ "name": "sol péruvien"
+ },
"KGS": {
"name": "som kirghize"
},
diff --git a/vendor/commerceguys/intl/resources/currency/fur.json b/vendor/commerceguys/intl/resources/currency/fur.json
index 2ae5571c7..18f50089b 100644
--- a/vendor/commerceguys/intl/resources/currency/fur.json
+++ b/vendor/commerceguys/intl/resources/currency/fur.json
@@ -330,7 +330,7 @@
"symbol": "MX$"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"QAR": {
"name": "Qatari Rial"
@@ -354,9 +354,6 @@
"BYN": {
"name": "Rubli bielorùs"
},
- "BYR": {
- "name": "Rubli bielorùs (2000–2016)"
- },
"RUB": {
"name": "rubli rus"
},
diff --git a/vendor/commerceguys/intl/resources/currency/fy.json b/vendor/commerceguys/intl/resources/currency/fy.json
index 2525eebda..470706d73 100644
--- a/vendor/commerceguys/intl/resources/currency/fy.json
+++ b/vendor/commerceguys/intl/resources/currency/fy.json
@@ -357,7 +357,7 @@
"name": "Paraguayaanske guarani"
},
"PEN": {
- "name": "Peruaanske nieuwe sol"
+ "name": "Peruaanske sol"
},
"PLN": {
"name": "Poalske zloty"
@@ -486,9 +486,6 @@
"BYN": {
"name": "Wit-Russyske roebel"
},
- "BYR": {
- "name": "Wit-Russyske roebel (2000–2016)"
- },
"ISK": {
"name": "Yslânske kroon"
},
diff --git a/vendor/commerceguys/intl/resources/currency/ga.json b/vendor/commerceguys/intl/resources/currency/ga.json
index a7796a1f1..d0f2424e4 100644
--- a/vendor/commerceguys/intl/resources/currency/ga.json
+++ b/vendor/commerceguys/intl/resources/currency/ga.json
@@ -297,9 +297,6 @@
"BTN": {
"name": "Ngultrum na Bútáine"
},
- "PEN": {
- "name": "Nuevo Sol Pheiriú"
- },
"MRO": {
"name": "Ouguiya na Máratáine"
},
@@ -402,9 +399,6 @@
"BYN": {
"name": "Rúbal na Bealarúise"
},
- "BYR": {
- "name": "Rúbal na Bealarúise (2000–2016)"
- },
"RUB": {
"name": "Rúbal na Rúise"
},
@@ -449,6 +443,9 @@
"name": "Seiceal Nua Iosrael",
"symbol": "₪"
},
+ "PEN": {
+ "name": "Sol Pheiriú"
+ },
"KGS": {
"name": "Som na Cirgeastáine"
},
diff --git a/vendor/commerceguys/intl/resources/currency/gd.json b/vendor/commerceguys/intl/resources/currency/gd.json
index e1ab68fe9..1c118f112 100644
--- a/vendor/commerceguys/intl/resources/currency/gd.json
+++ b/vendor/commerceguys/intl/resources/currency/gd.json
@@ -402,9 +402,6 @@
"BYN": {
"name": "Rùbal Bealaruiseach"
},
- "BYR": {
- "name": "Rùbal Bealaruiseach (2000–2016)"
- },
"RUB": {
"name": "Rùbal Ruiseach"
},
@@ -450,7 +447,7 @@
"name": "Shilling Ugandach"
},
"PEN": {
- "name": "Sol ùr Pearùthach"
+ "name": "Sol Pearùthach"
},
"KGS": {
"name": "Som Cìorgasach"
diff --git a/vendor/commerceguys/intl/resources/currency/gl.json b/vendor/commerceguys/intl/resources/currency/gl.json
index 1746741d6..94323ebb3 100644
--- a/vendor/commerceguys/intl/resources/currency/gl.json
+++ b/vendor/commerceguys/intl/resources/currency/gl.json
@@ -89,14 +89,14 @@
},
"AUD": {
"name": "Dólar australiano",
- "symbol": "$A"
+ "symbol": "A$"
},
"BZD": {
"name": "Dólar belizense"
},
"CAD": {
"name": "Dólar canadense",
- "symbol": "$CA"
+ "symbol": "CA$"
},
"BSD": {
"name": "Dólar das Bahamas"
@@ -385,7 +385,7 @@
},
"BRL": {
"name": "Real brasileiro",
- "symbol": "$R"
+ "symbol": "R$"
},
"YER": {
"name": "Rial iemení"
@@ -411,9 +411,6 @@
"BYN": {
"name": "Rublo bielorruso"
},
- "BYR": {
- "name": "Rublo bielorruso (2000–2016)"
- },
"RUB": {
"name": "Rublo ruso"
},
diff --git a/vendor/commerceguys/intl/resources/currency/gsw.json b/vendor/commerceguys/intl/resources/currency/gsw.json
index 4c4fd89ac..0f52b7ec8 100644
--- a/vendor/commerceguys/intl/resources/currency/gsw.json
+++ b/vendor/commerceguys/intl/resources/currency/gsw.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarus Rubel"
},
- "BYR": {
- "name": "Belarus Rubel (2000–2016)"
- },
"BZD": {
"name": "Belize-Dollar"
},
@@ -302,9 +299,6 @@
"ANG": {
"name": "Niderländischi-Antille-Gulde"
},
- "PEN": {
- "name": "Nöie Sol"
- },
"TWD": {
"name": "Nöii Taiwan-Dollar",
"symbol": "NT$"
@@ -397,6 +391,9 @@
"SGD": {
"name": "Singapur-Dollar"
},
+ "PEN": {
+ "name": "Sol"
+ },
"KGS": {
"name": "Som"
},
diff --git a/vendor/commerceguys/intl/resources/currency/gu.json b/vendor/commerceguys/intl/resources/currency/gu.json
index 8d3a6d70f..ffdafb14b 100644
--- a/vendor/commerceguys/intl/resources/currency/gu.json
+++ b/vendor/commerceguys/intl/resources/currency/gu.json
@@ -252,7 +252,7 @@
"name": "પાપà«àª† નà«àª¯à«‚ ગિનીયન કિના"
},
"PEN": {
- "name": "પેરà«àªµàª¿àª¯àª¨ નà«àª¯à«àªµà«‹ સોલ"
+ "name": "પેરà«àªµàª¿àª¯àª¨ સોલ"
},
"PLN": {
"name": "પોલિસ àªà«àª²à«‹àªŸà«€"
@@ -287,9 +287,6 @@
"BYN": {
"name": "બેલારà«àª¶àª¿àª¯àª¨ રૂબલ"
},
- "BYR": {
- "name": "બેલારà«àª¶àª¿àª¯àª¨ રૂબલ (2000–2016)"
- },
"BZD": {
"name": "બેલિઠડોલર"
},
diff --git a/vendor/commerceguys/intl/resources/currency/guz.json b/vendor/commerceguys/intl/resources/currency/guz.json
index 1c12c163f..0815fc583 100644
--- a/vendor/commerceguys/intl/resources/currency/guz.json
+++ b/vendor/commerceguys/intl/resources/currency/guz.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ha.json b/vendor/commerceguys/intl/resources/currency/ha.json
index 254e280c4..6cc65420e 100644
--- a/vendor/commerceguys/intl/resources/currency/ha.json
+++ b/vendor/commerceguys/intl/resources/currency/ha.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"USD": {
"name": "Dalar Amurka",
@@ -384,7 +381,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/he.json b/vendor/commerceguys/intl/resources/currency/he.json
index e0dab4de2..99259436e 100644
--- a/vendor/commerceguys/intl/resources/currency/he.json
+++ b/vendor/commerceguys/intl/resources/currency/he.json
@@ -1,6 +1,6 @@
{
"MRO": {
- "name": "×וגוויה מ×וריטני"
+ "name": "×ו×וגויה מ×וריטני"
},
"EUR": {
"name": "×ירו",
@@ -32,7 +32,7 @@
"name": "בלבו××” פנמי"
},
"PYG": {
- "name": "גוורני פר×גוו××™"
+ "name": "גו×רני פרגוו××™"
},
"HTG": {
"name": "גורד ×”×יטי"
@@ -40,9 +40,6 @@
"ANG": {
"name": "גילדר של ×”×× ×˜×™×œ×™× ×”×”×•×œ× ×“×™×™×"
},
- "UAH": {
- "name": "גריבנה ×וקר××™× ×™"
- },
"STD": {
"name": "דוברה של סן טומה ופרינסיפה"
},
@@ -113,7 +110,7 @@
"name": "דולר פיג׳י"
},
"KYD": {
- "name": "דולר קיימ×× ×™"
+ "name": "דולר קיימני"
},
"CAD": {
"name": "דולר קנדי",
@@ -157,11 +154,14 @@
"name": "×“×™×¨×”× ×©×œ ×יחוד הנסיכויות הערביות"
},
"GMD": {
- "name": "דל×סי גמבי"
+ "name": "דלסי גמבי"
},
"AMD": {
"name": "דר×× ×רמני"
},
+ "UAH": {
+ "name": "הריבנה ×וקר××™× ×™"
+ },
"VUV": {
"name": "ו×טו של ונו×טו"
},
@@ -207,23 +207,26 @@
"SEK": {
"name": "כתר שוודי"
},
+ "MDL": {
+ "name": "ל×ו מולדובני"
+ },
"RON": {
"name": "ל×ו רומני"
},
+ "GEL": {
+ "name": "ל×רי ×’×ורגי"
+ },
"BGN": {
"name": "לב בולגרי"
},
"LSL": {
"name": "לוטי לסותי"
},
- "MDL": {
- "name": "לי×ו מולדובני"
- },
"SLL": {
"name": "לי×ון סיירה ל×וני"
},
"SZL": {
- "name": "לילנגני סווזי"
+ "name": "לילנגני סווזילנדי"
},
"SSP": {
"name": "לירה דרו×-סודנית"
@@ -256,17 +259,14 @@
"ALL": {
"name": "לק ×לבני"
},
- "GEL": {
- "name": "לרי ×’×ורגי"
- },
"AZN": {
- "name": "מ×× ×ט ×זרביג׳ני"
+ "name": "מ×× ×ט ×זרבייג׳ני"
},
"TMT": {
"name": "מ×× ×ט טורקמני"
},
"BAM": {
- "name": "מ×רק בר המרה של בוסניה־הרצגובינה"
+ "name": "מ×רק סחיר של בוסניה והרצגובינה"
},
"MZN": {
"name": "מטיקל מוזמביני"
@@ -284,7 +284,7 @@
"name": "סדי ×’×× ×™"
},
"PEN": {
- "name": "סול פרו×× ×™ חדש"
+ "name": "סול פרו×× ×™"
},
"UZS": {
"name": "×¡×•× ×וזבקי"
@@ -305,7 +305,7 @@
"name": "פ×× ×’×” טונגי"
},
"BWP": {
- "name": "פולה בוצוו×× ×™"
+ "name": "פולה בוטסו×× ×™"
},
"HUF": {
"name": "פורינט הונגרי"
@@ -370,21 +370,21 @@
"name": "פרנק שוויצרי"
},
"XOF": {
- "name": "פרנק CFA BCEAO",
+ "name": "פרנק CFA מערב ×פריקני",
"symbol": "CFA"
},
"XAF": {
- "name": "פרנק CFA BEAC",
+ "name": "פרנק CFA מרכז ×פריקני",
"symbol": "FCFA"
},
"AOA": {
"name": "קו×× ×–×” ×נגולי"
},
"MWK": {
- "name": "קו×צ׳ה מל×וי"
+ "name": "קו×צ׳ה מל×ווי"
},
"ZMW": {
- "name": "קוו×צ׳ה זמבית"
+ "name": "קוו×צ׳ה זמבי"
},
"SVC": {
"name": "קולון סלבדורי"
@@ -411,7 +411,7 @@
"name": "קיפ ל××™"
},
"GTQ": {
- "name": "קצל גו×טמלי"
+ "name": "קצ×ל גו×טמלי"
},
"ZAR": {
"name": "ר×נד ×“×¨×•× ×פריק××™"
@@ -419,9 +419,6 @@
"BYN": {
"name": "רובל בלרוסי"
},
- "BYR": {
- "name": "רובל בלרוסי (2000–2016)"
- },
"RUB": {
"name": "רובל רוסי"
},
@@ -482,10 +479,10 @@
"name": "שילינג טנזני"
},
"SOS": {
- "name": "שילינג סומ×לי"
+ "name": "שילינג סומלי"
},
"KES": {
- "name": "שילינג קניי×תי"
+ "name": "שילינג קנייתי"
},
"ILS": {
"name": "שקל חדש",
diff --git a/vendor/commerceguys/intl/resources/currency/hi.json b/vendor/commerceguys/intl/resources/currency/hi.json
index 6a388889a..78f10ebcd 100644
--- a/vendor/commerceguys/intl/resources/currency/hi.json
+++ b/vendor/commerceguys/intl/resources/currency/hi.json
@@ -1,8 +1,4 @@
{
- "XAF": {
- "name": "[CFA] फ़à¥à¤°à¥ˆà¤‚क [BEAC]",
- "symbol": "FCFA"
- },
"XPF": {
"name": "[CFP] फ़à¥à¤°à¥ˆà¤‚क",
"symbol": "CFPF"
@@ -88,6 +84,10 @@
"KWD": {
"name": "कà¥à¤µà¥ˆà¤¤à¥€ दिनार"
},
+ "XAF": {
+ "name": "केंदà¥à¤°à¥€à¤¯ अफ़à¥à¤°à¥€à¤•à¥€ CFA फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "FCFA"
+ },
"KES": {
"name": "केनà¥à¤¯à¤¾à¤ˆ शिलिंग"
},
@@ -236,7 +236,7 @@
"name": "पनामेनियन बैलà¥à¤¬à¥‹à¤†"
},
"XOF": {
- "name": "पशà¥à¤šà¤¿à¤®à¥€ अफ़à¥à¤°à¥€à¤•à¥€ CFA फà¥à¤°à¥ˆà¤‚क",
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ अफ़à¥à¤°à¥€à¤•à¥€ CFA फ़à¥à¤°à¥ˆà¤‚क",
"symbol": "CFA"
},
"PKR": {
@@ -250,7 +250,7 @@
"symbol": "EC$"
},
"PEN": {
- "name": "पेरूवियन नà¥à¤à¤µà¥‹ सोल"
+ "name": "पेरूवियन सोल"
},
"PYG": {
"name": "पैरागà¥à¤µà¤¿à¤¯à¤¨ गà¥à¤†à¤°à¤¾à¤¨à¥€"
@@ -291,9 +291,6 @@
"BYN": {
"name": "बेलारूसी रूबल"
},
- "BYR": {
- "name": "बेलारूसी रूबल (2000–2016)"
- },
"BZD": {
"name": "बेलीज़ डॉलर"
},
diff --git a/vendor/commerceguys/intl/resources/currency/hr.json b/vendor/commerceguys/intl/resources/currency/hr.json
index 4039f8ba9..0ed89d942 100644
--- a/vendor/commerceguys/intl/resources/currency/hr.json
+++ b/vendor/commerceguys/intl/resources/currency/hr.json
@@ -50,9 +50,6 @@
"BYN": {
"name": "bjeloruska rublja"
},
- "BYR": {
- "name": "bjeloruska rublja (2000–2016)"
- },
"BWP": {
"name": "bocvanska pula"
},
@@ -350,7 +347,7 @@
"name": "paragvajski gvarani"
},
"PEN": {
- "name": "peruanski novi sol"
+ "name": "peruanski sol"
},
"PLN": {
"name": "poljska zlota"
diff --git a/vendor/commerceguys/intl/resources/currency/hsb.json b/vendor/commerceguys/intl/resources/currency/hsb.json
index 03343db72..eb47873ca 100644
--- a/vendor/commerceguys/intl/resources/currency/hsb.json
+++ b/vendor/commerceguys/intl/resources/currency/hsb.json
@@ -51,9 +51,6 @@
"BYN": {
"name": "běłoruski rubl"
},
- "BYR": {
- "name": "běłoruski rubl (2000–2016)"
- },
"BTN": {
"name": "bhutanski ngultrum"
},
@@ -365,7 +362,7 @@
"name": "paraguayski guarani"
},
"PEN": {
- "name": "peruski nowy sol"
+ "name": "peruski sol"
},
"PLN": {
"name": "pólski złoty",
diff --git a/vendor/commerceguys/intl/resources/currency/hu.json b/vendor/commerceguys/intl/resources/currency/hu.json
index 284e7cd05..72a163aca 100644
--- a/vendor/commerceguys/intl/resources/currency/hu.json
+++ b/vendor/commerceguys/intl/resources/currency/hu.json
@@ -137,9 +137,6 @@
"BYN": {
"name": "fehérorosz rubel"
},
- "BYR": {
- "name": "fehérorosz rubel (2000–2016)"
- },
"FJD": {
"name": "fidzsi dollár"
},
@@ -359,7 +356,7 @@
"name": "paraguayi guarani"
},
"PEN": {
- "name": "perui sol nuevo"
+ "name": "perui sol"
},
"RON": {
"name": "román lej"
diff --git a/vendor/commerceguys/intl/resources/currency/hy.json b/vendor/commerceguys/intl/resources/currency/hy.json
index bbf5b2052..5c745c2d9 100644
--- a/vendor/commerceguys/intl/resources/currency/hy.json
+++ b/vendor/commerceguys/intl/resources/currency/hy.json
@@ -1,35 +1,35 @@
{
"AZN": {
- "name": "Ô±Õ¤Ö€Õ¢Õ¥Õ»Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ´Õ¡Õ¶Õ¡Õ©"
+ "name": "Õ¡Õ¤Ö€Õ¢Õ¥Õ»Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ´Õ¡Õ¶Õ¡Õ©"
},
"ALL": {
- "name": "Ô±Õ¬Õ¢Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õ¯"
+ "name": "Õ¡Õ¬Õ¢Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õ¯"
},
"DZD": {
- "name": "Ô±Õ¬ÕªÕ«Ö€ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
+ "name": "Õ¡Õ¬ÕªÕ«Ö€Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
},
"USD": {
"name": "Ô±Õ„Õ† Õ¤Õ¸Õ¬Õ¡Ö€",
"symbol": "$"
},
"AOA": {
- "name": "Ô±Õ¶Õ£Õ¸Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¶Õ¦Õ¡"
+ "name": "Õ¡Õ¶Õ£Õ¸Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¶Õ¦Õ¡"
},
"AUD": {
- "name": "Ô±Õ¾Õ½Õ¿Ö€Õ¡Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "name": "Õ¡Õ¾Õ½Õ¿Ö€Õ¡Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
"symbol": "A$"
},
"AED": {
"name": "Ô±Ö€Õ¡Õ¢Õ¡Õ¯Õ¡Õ¶ Õ„Õ«Õ¡ÖÕµÕ¡Õ¬ Ô·Õ´Õ«Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ« Õ¤Õ«Ö€Õ°Õ¡Õ´"
},
"ARS": {
- "name": "Ô±Ö€Õ£Õ¥Õ¶Õ¿Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
+ "name": "Õ¡Ö€Õ£Õ¥Õ¶Õ¿Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
},
"AWG": {
- "name": "Ô±Ö€Õ¸Ö‚Õ¢Õ¡Õ¯Õ¡Õ¶ Ö†Õ¬Õ¸Ö€Õ«Õ¶"
+ "name": "Õ¡Ö€Õ¸Ö‚Õ¢Õ¡Õ¯Õ¡Õ¶ Ö†Õ¬Õ¸Ö€Õ«Õ¶"
},
"XCD": {
- "name": "Ô±Ö€Ö‡Õ¥Õ¬Õ¡Õ¯Õ¡Ö€Õ«Õ¢ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "name": "Õ¡Ö€Ö‡Õ¥Õ¬Õ¡Õ¯Õ¡Ö€Õ«Õ¢ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
"symbol": "EC$"
},
"XOF": {
@@ -37,10 +37,10 @@
"symbol": "CFA"
},
"AFN": {
- "name": "Ô±Ö†Õ²Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¡Ö†Õ²Õ¡Õ¶Õ«"
+ "name": "Õ¡Ö†Õ²Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¡Ö†Õ²Õ¡Õ¶Õ«"
},
"BSD": {
- "name": "Ô²Õ¡Õ°Õ¡Õ´ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Õ¢Õ¡Õ°Õ¡Õ´ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"BHD": {
"name": "Ô²Õ¡Õ°Ö€Õ¥ÕµÕ¶Õ« Õ¤Õ«Õ¶Õ¡Ö€"
@@ -49,151 +49,148 @@
"name": "Ô²Õ¡Õ¶Õ£Õ¬Õ¡Õ¤Õ¥Õ·Õ« Õ¿Õ¡Õ¯Õ¡"
},
"BBD": {
- "name": "Ô²Õ¡Ö€Õ¢Õ¡Õ¤Õ¸Õ½ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Õ¢Õ¡Ö€Õ¢Õ¡Õ¤Õ¸Õ½ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"BYN": {
- "name": "Ô²Õ¥Õ¬Õ¡Õ¼Õ¸Ö‚Õ½Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚Õ¢Õ¬Õ«"
- },
- "BYR": {
- "name": "Բելառուսական ռուբլի (2000–2016)"
+ "name": "Õ¢Õ¥Õ¬Õ¡Õ¼Õ¸Ö‚Õ½Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚Õ¢Õ¬Õ«"
},
"BZD": {
"name": "Ô²Õ¥Õ¬Õ«Õ¦Õ« Õ¤Õ¸Õ¬Õ¡Ö€"
},
"BMD": {
- "name": "Ô²Õ¥Ö€Õ´Õ¸Ö‚Õ¤ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Õ¢Õ¥Ö€Õ´Õ¸Ö‚Õ¤ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"BWP": {
- "name": "Ô²Õ¸Õ©Õ½Õ¾Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ ÕºÕ¸Ö‚Õ¬Õ¡"
+ "name": "Õ¢Õ¸Õ©Õ½Õ¾Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ ÕºÕ¸Ö‚Õ¬Õ¡"
},
"BOB": {
- "name": "Ô²Õ¸Õ¬Õ«Õ¾Õ«Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¸Õ¬Õ«Õ¾Õ«Õ¡Õ¶Õ¸"
+ "name": "Õ¢Õ¸Õ¬Õ«Õ¾Õ«Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¸Õ¬Õ«Õ¾Õ«Õ¡Õ¶Õ¸"
},
"BAM": {
"name": "Ô²Õ¸Õ½Õ¶Õ«Õ¡ Ö‡ Õ€Õ¥Ö€ÖÕ¥Õ£Õ¸Õ¾Õ«Õ¶Õ¡ÕµÕ« ÖƒÕ¸Õ­Õ¡Ö€Õ¯Õ¾Õ¸Õ² Õ´Õ¡Ö€Õ¯"
},
"BTN": {
- "name": "Ô²Õ¸Ö‚Õ©Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¶Õ£Õ¸Ö‚Õ¬Õ¿Ö€Õ¸Ö‚Õ´"
+ "name": "Õ¢Õ¸Ö‚Õ©Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¶Õ£Õ¸Ö‚Õ¬Õ¿Ö€Õ¸Ö‚Õ´"
},
"BGN": {
- "name": "Ô²Õ¸Ö‚Õ¬Õ²Õ¡Ö€Õ¡Õ¯Õ¡Õ¶ Õ¬Ö‡"
+ "name": "Õ¢Õ¸Ö‚Õ¬Õ²Õ¡Ö€Õ¡Õ¯Õ¡Õ¶ Õ¬Ö‡"
},
"BIF": {
- "name": "Ô²Õ¸Ö‚Ö€Õ¸Ö‚Õ¶Õ¤Õ«Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
+ "name": "Õ¢Õ¸Ö‚Ö€Õ¸Ö‚Õ¶Õ¤Õ«Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
},
"BRL": {
- "name": "Ô²Ö€Õ¡Õ¦Õ«Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¥Õ¡Õ¬",
+ "name": "Õ¢Ö€Õ¡Õ¦Õ«Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¥Õ¡Õ¬",
"symbol": "R$"
},
"GBP": {
- "name": "Ô²Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿ Õ½Õ¿Õ¥Ö€Õ¬Õ«Õ¶Õ£",
+ "name": "Õ¢Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿ Õ½Õ¿Õ¥Ö€Õ¬Õ«Õ¶Õ£",
"symbol": "£"
},
"BND": {
"name": "Ô²Ö€Õ¸Ö‚Õ¶Õ¥ÕµÕ« Õ¤Õ¸Õ¬Õ¡Ö€"
},
"GMD": {
- "name": "Ô³Õ¡Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¡Õ¬Õ¡Õ½Õ«"
+ "name": "Õ£Õ¡Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¡Õ¬Õ¡Õ½Õ«"
},
"GYD": {
- "name": "Ô³Õ¡ÕµÕ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Õ£Õ¡ÕµÕ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"GHS": {
- "name": "Ô³Õ¡Õ¶Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ Õ½Õ¥Õ¤Õ«"
+ "name": "Õ£Õ¡ÕµÕ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ½Õ¥Õ¤Õ«"
},
"GTQ": {
- "name": "Ô³Õ¾Õ¡Õ¿Õ¥Õ´Õ¡Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¥Õ¿Õ½Õ¡Õ¬"
+ "name": "Õ£Õ¾Õ¡Õ¿Õ¥Õ´Õ¡Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¥Õ¿Õ½Õ¡Õ¬"
},
"GNF": {
- "name": "Ô³Õ¾Õ«Õ¶Õ¥Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
+ "name": "Õ£Õ¾Õ«Õ¶Õ¥Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
},
"DKK": {
- "name": "Ô´Õ¡Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
+ "name": "Õ¤Õ¡Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
},
"DOP": {
- "name": "Ô´Õ¸Õ´Õ«Õ¶Õ«Õ¯ÕµÕ¡Õ¶ ÕºÕ¥Õ½Õ¸"
+ "name": "Õ¤Õ¸Õ´Õ«Õ¶Õ«Õ¯ÕµÕ¡Õ¶ ÕºÕ¥Õ½Õ¸"
},
"EGP": {
- "name": "ÔµÕ£Õ«ÕºÕ¿Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
+ "name": "Õ¥Õ£Õ«ÕºÕ¿Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
},
"ETB": {
- "name": "ÔµÕ©Õ¸Õ¾ÕºÕ«Õ¡Õ¯Õ¡Õ¶ Õ¢Õ«Ö€"
+ "name": "Õ¥Õ©Õ¸Õ¾ÕºÕ«Õ¡Õ¯Õ¡Õ¶ Õ¢Õ«Ö€"
},
"YER": {
- "name": "ÔµÕ´Õ¥Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬"
+ "name": "Õ¥Õ´Õ¥Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬"
},
"EUR": {
- "name": "ÔµÕ¾Ö€Õ¸",
+ "name": "Õ¥Õ¾Ö€Õ¸",
"symbol": "€"
},
"ZMW": {
- "name": "Ô¶Õ¡Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¹Õ¡"
+ "name": "Õ¦Õ¡Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¹Õ¡"
},
"ERN": {
- "name": "Ô·Ö€Õ«Õ©Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¡Õ¯Ö†Õ¡"
+ "name": "Õ§Ö€Õ«Õ©Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¡Õ¯Õ¾Õ¡"
},
"THB": {
- "name": "Ô¹Õ¡ÕµÕ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¡Õ¿",
+ "name": "Õ©Õ¡ÕµÕ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¡Õ¿",
"symbol": "฿"
},
"TWD": {
- "name": "Ô¹Õ¡ÕµÕ¾Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¸Ö€ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "name": "Õ©Õ¡ÕµÕ¾Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¸Ö€ Õ¤Õ¸Õ¬Õ¡Ö€",
"symbol": "NT$"
},
"TND": {
- "name": "Ô¹Õ¸Ö‚Õ¶Õ«Õ½ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
+ "name": "Õ©Õ¸Ö‚Õ¶Õ«Õ½ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
},
"TRY": {
- "name": "Ô¹Õ¸Ö‚Ö€Ö„Õ¡Õ¯Õ¡Õ¶ Õ¬Õ«Ö€Õ¡"
+ "name": "Õ©Õ¸Ö‚Ö€Ö„Õ¡Õ¯Õ¡Õ¶ Õ¬Õ«Ö€Õ¡"
},
"TMT": {
- "name": "Ô¹Õ¸Ö‚Ö€Ö„Õ´Õ¥Õ¶Õ¡Õ¯Õ¡Õ¶ Õ´Õ¡Õ¶Õ¡Õ©"
+ "name": "Õ©Õ¸Ö‚Ö€Ö„Õ´Õ¥Õ¶Õ¡Õ¯Õ¡Õ¶ Õ´Õ¡Õ¶Õ¡Õ©"
},
"IDR": {
- "name": "Ô»Õ¶Õ¤Õ¸Õ¶Õ¥Õ¦Õ«Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
+ "name": "Õ«Õ¶Õ¤Õ¸Õ¶Õ¥Õ¦Õ«Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
},
"ISK": {
- "name": "Ô»Õ½Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
+ "name": "Õ«Õ½Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
},
"ILS": {
"name": "Ô»Õ½Ö€Õ¡ÕµÕ¥Õ¬Õ« Õ¶Õ¸Ö€ Õ·Õ¥Õ¯Õ¥Õ¬",
"symbol": "₪"
},
"IRR": {
- "name": "Ô»Ö€Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬"
+ "name": "Õ«Ö€Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬"
},
"IQD": {
- "name": "Ô»Ö€Õ¡Ö„ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
+ "name": "Õ«Ö€Õ¡Ö„ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
},
"LAK": {
- "name": "Ô¼Õ¡Õ¸Õ½Õ¡Õ¯Õ¡Õ¶ Õ¯Õ«Õº"
+ "name": "Õ¬Õ¡Õ¸Õ½Õ¡Õ¯Õ¡Õ¶ Õ¯Õ«Õº"
},
"PLN": {
- "name": "Ô¼Õ¥Õ°Õ¡Õ¯Õ¡Õ¶ Õ¦Õ¬Õ¸Õ¿Õ«"
+ "name": "Õ¬Õ¥Õ°Õ¡Õ¯Õ¡Õ¶ Õ¦Õ¬Õ¸Õ¿Õ«"
},
"LBP": {
- "name": "Ô¼Õ«Õ¢Õ¡Õ¶Õ¡Õ¶ÕµÕ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
+ "name": "Õ¬Õ«Õ¢Õ¡Õ¶Õ¡Õ¶ÕµÕ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
},
"LRD": {
- "name": "Ô¼Õ«Õ¢Õ¥Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Õ¬Õ«Õ¢Õ¥Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"LYD": {
- "name": "Ô¼Õ«Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
+ "name": "Õ¬Õ«Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
},
"HRK": {
- "name": "Ô½Õ¸Ö€Õ¾Õ¡Õ©Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¸Ö‚Õ¶Õ¡"
+ "name": "Õ­Õ¸Ö€Õ¾Õ¡Õ©Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¸Ö‚Õ¶Õ¡"
},
"CVE": {
"name": "Ô¿Õ¡Õ¢Õ¸ ÕŽÕ¥Ö€Õ¤Õ¥Õ« Õ§Õ½Õ¯Õ¸Ö‚Õ¤Õ¸"
},
"KHR": {
- "name": "Ô¿Õ¡Õ´Õ¢Õ¸Õ»Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¥Õ¬"
+ "name": "Õ¯Õ¡Õ´Õ¢Õ¸Õ»Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¥Õ¬"
},
"KYD": {
"name": "Ô¿Õ¡ÕµÕ´Õ¡Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Õ¤Õ¸Õ¬Õ¡Ö€"
},
"CAD": {
- "name": "Ô¿Õ¡Õ¶Õ¡Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "name": "Õ¯Õ¡Õ¶Õ¡Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
"symbol": "CA$"
},
"QAR": {
@@ -204,10 +201,10 @@
"symbol": "FCFA"
},
"COP": {
- "name": "Ô¿Õ¸Õ¬Õ¸Ö‚Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
+ "name": "Õ¯Õ¸Õ¬Õ¸Ö‚Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
},
"KMF": {
- "name": "Ô¿Õ¸Õ´Õ¸Ö€ÕµÕ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
+ "name": "Õ¯Õ¸Õ´Õ¸Ö€ÕµÕ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
},
"CDF": {
"name": "Ô¿Õ¸Õ¶Õ£Õ¸ÕµÕ« Ö†Ö€Õ¡Õ¶Õ¯"
@@ -219,172 +216,172 @@
"name": "Õ¯Õ¸Ö‚Õ¢Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
},
"CUC": {
- "name": "Ô¿Õ¸Ö‚Õ¢Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ ÖƒÕ¸Õ­Õ¡Ö€Õ¯Õ¾Õ¸Õ² ÕºÕ¥Õ½Õ¸"
+ "name": "Õ¯Õ¸Ö‚Õ¢Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ ÖƒÕ¸Õ­Õ¡Ö€Õ¯Õ¾Õ¸Õ² ÕºÕ¥Õ½Õ¸"
},
"XPF": {
"name": "Ô¿ÕŠÕ– Ö†Ö€Õ¡Õ¶Õ¯",
"symbol": "CFPF"
},
"HTG": {
- "name": "Õ€Õ¡ÕµÕ«Õ©ÕµÕ¡Õ¶ Õ£Õ¸Ö‚Ö€Õ¤"
+ "name": "Õ°Õ¡Õ«Õ©ÕµÕ¡Õ¶ Õ£Õ¸Ö‚Ö€Õ¤"
},
"AMD": {
- "name": "Õ€Õ¡ÕµÕ¯Õ¡Õ¯Õ¡Õ¶ Õ¤Ö€Õ¡Õ´",
+ "name": "Õ°Õ¡ÕµÕ¯Õ¡Õ¯Õ¡Õ¶ Õ¤Ö€Õ¡Õ´",
"symbol": "Ö"
},
"ZAR": {
- "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¡Ö†Ö€Õ«Õ¯ÕµÕ¡Õ¶ Õ¼Õ¡Õ¶Õ¤"
+ "name": "Õ°Õ¡Ö€Õ¡Õ¾Õ¡Ö†Ö€Õ«Õ¯ÕµÕ¡Õ¶ Õ¼Õ¡Õ¶Õ¤"
},
"KRW": {
- "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¯Õ¸Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¾Õ¸Õ¶",
+ "name": "Õ°Õ¡Ö€Õ¡Õ¾Õ¯Õ¸Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¾Õ¸Õ¶",
"symbol": "â‚©"
},
"SSP": {
- "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ½Õ¸Ö‚Õ¤Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
+ "name": "Õ°Õ¡Ö€Õ¡Õ¾Õ½Õ¸Ö‚Õ¤Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
},
"KPW": {
- "name": "Õ€ÕµÕ¸Ö‚Õ½Õ«Õ½Õ¯Õ¸Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¾Õ¸Õ¶"
+ "name": "Õ°ÕµÕ¸Ö‚Õ½Õ«Õ½Õ¯Õ¸Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¾Õ¸Õ¶"
},
"INR": {
- "name": "Õ€Õ¶Õ¤Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
+ "name": "Õ°Õ¶Õ¤Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
"symbol": "₹"
},
"HNL": {
- "name": "Õ€Õ¸Õ¶Õ¤Õ¸Ö‚Ö€Õ¡Õ½Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õ´ÕºÕ«Ö€Õ¡"
+ "name": "Õ°Õ¸Õ¶Õ¤Õ¸Ö‚Ö€Õ¡Õ½Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õ´ÕºÕ«Ö€Õ¡"
},
"HKD": {
"name": "Õ€Õ¸Õ¶Õ¯Õ¸Õ¶Õ£Õ« Õ¤Õ¸Õ¬Õ¡Ö€",
"symbol": "HK$"
},
"JOD": {
- "name": "Õ€Õ¸Ö€Õ¤Õ¡Õ¶Õ¡Õ¶ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
+ "name": "Õ°Õ¸Ö€Õ¤Õ¡Õ¶Õ¡Õ¶ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
},
"HUF": {
- "name": "Õ€Õ¸Ö‚Õ¶Õ£Õ¡Ö€Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö€Õ«Õ¶Õ¿"
+ "name": "Õ°Õ¸Ö‚Õ¶Õ£Õ¡Ö€Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö€Õ«Õ¶Õ¿"
},
"KZT": {
- "name": "Õ‚Õ¡Õ¦Õ¡Õ­Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¥Õ¶Õ£Õ¥"
+ "name": "Õ²Õ¡Õ¦Õ¡Õ­Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¥Õ¶Õ£Õ¥"
},
"KGS": {
- "name": "Õ‚Ö€Õ²Õ¦Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´"
+ "name": "Õ²Ö€Õ²Õ¦Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´"
},
"JMD": {
"name": "ÕƒÕ¡Õ´Õ¡ÕµÕ¯Õ¡ÕµÕ« Õ¤Õ¸Õ¬Õ¡Ö€"
},
"JPY": {
- "name": "ÕƒÕ¡ÕºÕ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ«Õ¥Õ¶",
+ "name": "Õ³Õ¡ÕºÕ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ«Õ¥Õ¶",
"symbol": "JPÂ¥"
},
"MGA": {
"name": "Õ„Õ¡Õ¤Õ¡Õ£Õ¡Õ½Õ¯Õ¡Ö€Õ« Õ¡Ö€Õ«Õ¡Ö€Õ«"
},
"MYR": {
- "name": "Õ„Õ¡Õ¬Õ¡ÕµÕ¦Õ«Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¶Õ£Õ«Õ¿"
+ "name": "Õ´Õ¡Õ¬Õ¡ÕµÕ¦Õ«Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¶Õ£Õ«Õ¿"
},
"MWK": {
- "name": "Õ„Õ¡Õ¬Õ¡Õ¾Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¹Õ¡"
+ "name": "Õ´Õ¡Õ¬Õ¡Õ¾Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¹Õ¡"
},
"MVR": {
- "name": "Õ„Õ¡Õ¬Õ¤Õ«Õ¾ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚Ö†Õ«ÕµÕ¡"
+ "name": "Õ´Õ¡Õ¬Õ¤Õ«Õ¾ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚Ö†Õ«ÕµÕ¡"
},
"MOP": {
- "name": "Õ„Õ¡Õ¯Õ¡Õ¸Ö‚Õ« ÕºÕ¡Õ¿Õ¡Õ¯Õ¡"
+ "name": "Õ„Õ¡Õ¯Õ¡Õ¸ÕµÕ« ÕºÕ¡Õ¿Õ¡Õ¯Õ¡"
},
"MKD": {
- "name": "Õ„Õ¡Õ¯Õ¥Õ¤Õ¸Õ¶ÕµÕ¡Õ¶ Õ¤Õ¥Õ¶Õ¡Ö€"
+ "name": "Õ´Õ¡Õ¯Õ¥Õ¤Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¥Õ¶Õ¡Ö€"
},
"MUR": {
- "name": "Õ„Õ¡Õ¾Ö€Õ«Õ¯ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
+ "name": "Õ´Õ¡Õ¾Ö€Õ«Õ¯ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
},
"MRO": {
- "name": "Õ„Õ¡Õ¾Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¸Ö‚Õ£Õ«ÕµÕ¡"
+ "name": "Õ´Õ¡Õ¾Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¸Ö‚Õ£Õ«ÕµÕ¡"
},
"MAD": {
"name": "Õ„Õ¡Ö€Õ¸Õ¯Õ¯Õ¸ÕµÕ« Õ¤Õ«Ö€Õ°Õ¡Õ´"
},
"MXN": {
- "name": "Õ„Õ¥Ö„Õ½Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "name": "Õ´Õ¥Ö„Õ½Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
"symbol": "MX$"
},
"MMK": {
"name": "Õ„ÕµÕ¡Õ¶Õ´Õ¡ÕµÕ« Õ¯ÕµÕ¡Õ¿"
},
"MZN": {
- "name": "Õ„Õ¸Õ¦Õ¡Õ´Õ¢Õ«Õ¯ÕµÕ¡Õ¶ Õ´Õ¥Õ¿Õ«Õ¯Õ¡Õ¬"
+ "name": "Õ´Õ¸Õ¦Õ¡Õ´Õ¢Õ«Õ¯ÕµÕ¡Õ¶ Õ´Õ¥Õ¿Õ«Õ¯Õ¡Õ¬"
},
"MDL": {
- "name": "Õ„Õ¸Õ¬Õ¤Õ¸Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õµ"
+ "name": "Õ´Õ¸Õ¬Õ¤Õ¸Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õµ"
},
"MNT": {
- "name": "Õ„Õ¸Õ¶Õ²Õ¸Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¸Ö‚Õ£Ö€Õ«Õ¯"
+ "name": "Õ´Õ¸Õ¶Õ²Õ¸Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¸Ö‚Õ£Ö€Õ«Õ¯"
},
"NAD": {
- "name": "Õ†Õ¡Õ´Õ«Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Õ¶Õ¡Õ´Õ«Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"NPR": {
"name": "Õ†Õ¥ÕºÕ¡Õ¬Õ« Õ¼Õ¸Ö‚ÖƒÕ«"
},
"NGN": {
- "name": "Õ†Õ«Õ£Õ¥Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¡ÕµÖ€Õ¡"
+ "name": "Õ¶Õ«Õ£Õ¥Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¡ÕµÖ€Õ¡"
},
"ANG": {
- "name": "Õ†Õ«Õ¤Õ¥Õ¼Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¡Õ¶Õ¿Õ«Õ¬ÕµÕ¡Õ¶ Õ£Õ¸Ö‚Õ¬Õ¤Õ¥Õ¶"
+ "name": "Õ¶Õ«Õ¤Õ¥Õ¼Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¡Õ¶Õ¿Õ«Õ¬ÕµÕ¡Õ¶ Õ£Õ¸Ö‚Õ¬Õ¤Õ¥Õ¶"
},
"NIO": {
- "name": "Õ†Õ«Õ¯Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¸Ö€Õ¤Õ¸Õ¢Õ¡"
+ "name": "Õ¶Õ«Õ¯Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¸Ö€Õ¤Õ¸Õ¢Õ¡"
},
"NZD": {
- "name": "Õ†Õ¸Ö€Õ¦Õ¥Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "name": "Õ¶Õ¸Ö€Õ¦Õ¥Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
"symbol": "NZ$"
},
"NOK": {
- "name": "Õ†Õ¸Ö€Õ¾Õ¥Õ£Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
+ "name": "Õ¶Õ¸Ö€Õ¾Õ¥Õ£Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
},
"SEK": {
- "name": "Õ‡Õ¾Õ¥Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
+ "name": "Õ·Õ¾Õ¥Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
},
"CHF": {
- "name": "Õ‡Õ¾Õ¥ÕµÖÕ¡Ö€Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
+ "name": "Õ·Õ¾Õ¥ÕµÖÕ¡Ö€Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
},
"LKR": {
"name": "Õ‡Ö€Õ« Ô¼Õ¡Õ¶Õ¯Õ¡ÕµÕ« Õ¼Õ¸Ö‚ÖƒÕ«"
},
"UGX": {
- "name": "ÕˆÖ‚Õ£Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
+ "name": "Õ¸Ö‚Õ£Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
},
"UZS": {
- "name": "ÕˆÖ‚Õ¦Õ¢Õ¥Õ¯Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´"
+ "name": "Õ¸Ö‚Õ¦Õ¢Õ¥Õ¯Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´"
},
"UAH": {
- "name": "ÕˆÖ‚Õ¯Ö€Õ¡Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ Õ£Ö€Õ«Õ¾Õ¶Õ¡"
+ "name": "Õ¸Ö‚Õ¯Ö€Õ¡Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ Õ£Ö€Õ«Õ¾Õ¶Õ¡"
},
"UYU": {
- "name": "ÕˆÖ‚Ö€Õ¸Ö‚Õ£Õ¾Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
+ "name": "Õ¸Ö‚Ö€Õ¸Ö‚Õ£Õ¾Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
},
"CZK": {
- "name": "Õ‰Õ¥Õ­Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
+ "name": "Õ¹Õ¥Õ­Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶"
},
"CLP": {
- "name": "Õ‰Õ«Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
+ "name": "Õ¹Õ«Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸"
},
"CNY": {
- "name": "Õ‰Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ ÕµÕ¸Ö‚Õ¡Õ¶",
+ "name": "Õ¹Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ ÕµÕ¸Ö‚Õ¡Õ¶",
"symbol": "CNÂ¥"
},
"PKR": {
- "name": "ÕŠÕ¡Õ¯Õ«Õ½Õ¿Õ¡Õ¶ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
+ "name": "ÕºÕ¡Õ¯Õ«Õ½Õ¿Õ¡Õ¶ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
},
"PAB": {
- "name": "ÕŠÕ¡Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¡Õ¬Õ¢Õ¸Õ¡"
+ "name": "ÕºÕ¡Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¡Õ¬Õ¢Õ¸Õ¡"
},
"PGK": {
"name": "ÕŠÕ¡ÕºÕ¸Ö‚Õ¡ Õ†Õ¸Ö€ Ô³Õ¾Õ«Õ¶Õ¥Õ¡ÕµÕ« Õ¯Õ«Õ¶Õ¡"
},
"PYG": {
- "name": "ÕŠÕ¡Ö€Õ¡Õ£Õ¾Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ Õ£Õ¸Ö‚Õ¡Ö€Õ¡Õ¶Õ«"
+ "name": "ÕºÕ¡Ö€Õ¡Õ£Õ¾Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ Õ£Õ¸Ö‚Õ¡Ö€Õ¡Õ¶Õ«"
},
"PEN": {
- "name": "ÕŠÕ¥Ö€Õ¸Ö‚Õ« Õ¶Õ¸Ö€ Õ½Õ¸Õ¬"
+ "name": "ÕŠÕ¥Ö€Õ¸Ö‚Õ« Õ½Õ¸Õ¬"
},
"DJF": {
"name": "Õ‹Õ«Õ¢Õ¸Ö‚Õ©Õ«Õ« Ö†Ö€Õ¡Õ¶Õ¯"
@@ -393,16 +390,16 @@
"name": "Õ‹Õ«Õ¢Ö€Õ¡Õ¬Õ©Õ¡Ö€Õ« Ö†Õ¸Ö‚Õ¶Õ¿"
},
"RWF": {
- "name": "Ռուանդական ֆրանկ"
+ "name": "Õ¼Õ¸Ö‚Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯"
},
"RON": {
- "name": "Ռումինական լեյ"
+ "name": "Õ¼Õ¸Ö‚Õ´Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õµ"
},
"RUB": {
- "name": "Ռուսական ռուբլի"
+ "name": "Õ¼Õ¸Ö‚Õ½Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚Õ¢Õ¬Õ«"
},
"WST": {
- "name": "ÕÕ¡Õ´Õ¸Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¡Õ¬Õ¡"
+ "name": "Õ½Õ¡Õ´Õ¸Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¡Õ¬Õ¡"
},
"STD": {
"name": "ÕÕ¡Õ¶ ÕÕ¸Õ´Õ¥ Ö‡ Õ“Ö€Õ«Õ¶Õ½Õ«ÕºÕ«Õ« Õ¤Õ¸Õ¢Ö€Õ¡"
@@ -411,10 +408,10 @@
"name": "ÕÕ¡Õ¸Ö‚Õ¤ÕµÕ¡Õ¶ Ô±Ö€Õ¡Õ¢Õ«Õ¡ÕµÕ« Õ¼Õ«Õ¡Õ¬"
},
"SCR": {
- "name": "ÕÕ¥ÕµÕ·Õ¥Õ¬ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
+ "name": "Õ½Õ¥ÕµÕ·Õ¥Õ¬ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«"
},
"RSD": {
- "name": "ÕÕ¥Ö€Õ¢Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
+ "name": "Õ½Õ¥Ö€Õ¢Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€"
},
"SLL": {
"name": "ÕÕ«Õ¥Õ¼Õ¡ Ô¼Õ¥Õ¸Õ¶Õ¥Õ« Õ¬Õ¥Õ¸Õ¶Õ¥"
@@ -423,44 +420,44 @@
"name": "ÕÕ«Õ¶Õ£Õ¡ÕºÕ¸Ö‚Ö€Õ« Õ¤Õ¸Õ¬Õ¡Ö€"
},
"SYP": {
- "name": "ÕÕ«Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
+ "name": "Õ½Õ«Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
},
"SBD": {
- "name": "ÕÕ¸Õ²Õ¸Õ´Õ¸Õ¶Õ« Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "ÕÕ¸Õ²Õ¸Õ´Õ¸Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Õ¤Õ¸Õ¬Õ¡Ö€"
},
"SOS": {
- "name": "ÕÕ¸Õ´Õ¡Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
+ "name": "Õ½Õ¸Õ´Õ¡Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
},
"SDG": {
- "name": "ÕÕ¸Ö‚Õ¤Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
+ "name": "Õ½Õ¸Ö‚Õ¤Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿"
},
"SHP": {
"name": "ÕÕ¸Ö‚Ö€Õ¢ Õ€Õ¥Õ²Õ«Õ¶Õ¥Õ« Ö†Õ¸Ö‚Õ¶Õ¿"
},
"SRD": {
- "name": "ÕÕ¸Ö‚Ö€Õ«Õ¶Õ¡Õ´Õ« Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Õ½Õ¸Ö‚Ö€Õ«Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"SZL": {
- "name": "ÕÕ¾Õ¡Õ¦Õ«Õ¬Õ¥Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¬Õ«Õ¬Õ¡Õ¶Õ£Õ¥Õ¶Õ«"
+ "name": "Õ½Õ¾Õ¡Õ¦Õ«Õ¬Õ¥Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¬Õ«Õ¬Õ¡Õ¶Õ£Õ¥Õ¶Õ«"
},
"VUV": {
"name": "ÕŽÕ¡Õ¶Õ¸Ö‚Õ¡Õ¿Õ¸Ö‚Õ« Õ¾Õ¡Õ¿Õ¸Ö‚"
},
"VEF": {
- "name": "ÕŽÕ¥Õ¶Õ¥Õ½Õ¸Ö‚Õ¥Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¸Õ¬Õ«Õ¾Õ¡Ö€"
+ "name": "Õ¾Õ¥Õ¶Õ¥Õ½Õ¸Ö‚Õ¥Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¸Õ¬Õ«Õ¾Õ¡Ö€"
},
"VND": {
- "name": "ÕŽÕ«Õ¥Õ¿Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¶Õ£",
+ "name": "Õ¾Õ«Õ¥Õ¿Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¶Õ£",
"symbol": "â‚«"
},
"GEL": {
- "name": "ÕŽÖ€Õ¡ÖÕ¡Õ¯Õ¡Õ¶ Õ¬Õ¡Ö€Õ«"
+ "name": "Õ¾Ö€Õ¡ÖÕ¡Õ¯Õ¡Õ¶ Õ¬Õ¡Ö€Õ«"
},
"TZS": {
- "name": "ÕÕ¡Õ¶Õ¦Õ¡Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
+ "name": "Õ¿Õ¡Õ¶Õ¦Õ¡Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
},
"TJS": {
- "name": "ÕÕ¡Õ»Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´Õ¸Õ¶Õ«"
+ "name": "Õ¿Õ¡Õ»Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´Õ¸Õ¶Õ«"
},
"TOP": {
"name": "ÕÕ¸Õ¶Õ£Õ¡ÕµÕ« ÕºÕ¡Õ¡Õ¶Õ£Õ¡"
@@ -469,7 +466,7 @@
"name": "ÕÖ€Õ«Õ¶Õ«Õ¤Õ¡Õ¤ Ö‡ ÕÕ¸Õ¢Õ¡Õ£Õ¸ÕµÕ« Õ¤Õ¸Õ¬Õ¡Ö€"
},
"KES": {
- "name": "Õ”Õ¥Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
+ "name": "Ö„Õ¥Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£"
},
"KWD": {
"name": "Õ”Õ¸Ö‚Õ¾Õ¥ÕµÕ©Õ« Õ¤Õ«Õ¶Õ¡Ö€"
@@ -478,10 +475,10 @@
"name": "Õ•Õ´Õ¡Õ¶Õ« Õ¼Õ«Õ¡Õ¬"
},
"PHP": {
- "name": "Õ–Õ«Õ¬Õ«ÕºÕ«Õ¶ÕµÕ¡Õ¶ ÕºÕ¥Õ½Õ¸"
+ "name": "Ö†Õ«Õ¬Õ«ÕºÕ«Õ¶ÕµÕ¡Õ¶ ÕºÕ¥Õ½Õ¸"
},
"FJD": {
- "name": "Õ–Õ«Õ»Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
+ "name": "Ö†Õ«Õ»Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€"
},
"FKP": {
"name": "Õ–Õ¸Õ¬Ö„Õ¬Õ¥Õ¶Õ¤ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Ö†Õ¸Ö‚Õ¶Õ¿"
diff --git a/vendor/commerceguys/intl/resources/currency/id.json b/vendor/commerceguys/intl/resources/currency/id.json
index c43aff82d..af13eb8f9 100644
--- a/vendor/commerceguys/intl/resources/currency/id.json
+++ b/vendor/commerceguys/intl/resources/currency/id.json
@@ -300,9 +300,6 @@
"BTN": {
"name": "Ngultrum Bhutan"
},
- "PEN": {
- "name": "Nuevo Sol Peru"
- },
"MRO": {
"name": "Ouguiya Mauritania"
},
@@ -408,9 +405,6 @@
"BYN": {
"name": "Rubel Belarusia"
},
- "BYR": {
- "name": "Rubel Belarusia (2000–2016)"
- },
"RUB": {
"name": "Rubel Rusia"
},
@@ -456,6 +450,9 @@
"UGX": {
"name": "Shilling Uganda"
},
+ "PEN": {
+ "name": "Sol Peru"
+ },
"KGS": {
"name": "Som Kirgistan"
},
diff --git a/vendor/commerceguys/intl/resources/currency/is.json b/vendor/commerceguys/intl/resources/currency/is.json
index 4b16aa872..54997c733 100644
--- a/vendor/commerceguys/intl/resources/currency/is.json
+++ b/vendor/commerceguys/intl/resources/currency/is.json
@@ -157,9 +157,6 @@
"BYN": {
"name": "hvítrússnesk rúbla"
},
- "BYR": {
- "name": "hvítrússnesk rúbla (2000–2016)"
- },
"IDR": {
"name": "indónesísk rúpía"
},
diff --git a/vendor/commerceguys/intl/resources/currency/it.json b/vendor/commerceguys/intl/resources/currency/it.json
index 60150d80a..c05d4c303 100644
--- a/vendor/commerceguys/intl/resources/currency/it.json
+++ b/vendor/commerceguys/intl/resources/currency/it.json
@@ -152,8 +152,7 @@
"symbol": "NZ$"
},
"USD": {
- "name": "dollaro statunitense",
- "symbol": "US$"
+ "name": "dollaro statunitense"
},
"ZWL": {
"name": "dollaro zimbabwiano (2009)"
@@ -308,9 +307,6 @@
"name": "nuovo siclo israeliano",
"symbol": "₪"
},
- "PEN": {
- "name": "nuovo sol peruviano"
- },
"MRO": {
"name": "ouguiya della Mauritania"
},
@@ -387,9 +383,6 @@
"BYN": {
"name": "rublo bielorusso"
},
- "BYR": {
- "name": "rublo bielorusso (2000–2016)"
- },
"RUB": {
"name": "rublo russo"
},
@@ -430,6 +423,9 @@
"UGX": {
"name": "scellino ugandese"
},
+ "PEN": {
+ "name": "sol peruviano"
+ },
"KGS": {
"name": "som kirghiso"
},
diff --git a/vendor/commerceguys/intl/resources/currency/ja.json b/vendor/commerceguys/intl/resources/currency/ja.json
index c4ca60d98..84279e7b3 100644
--- a/vendor/commerceguys/intl/resources/currency/ja.json
+++ b/vendor/commerceguys/intl/resources/currency/ja.json
@@ -122,7 +122,7 @@
"name": "キューム兌æ›ãƒšã‚½"
},
"KGS": {
- "name": "キルギスタン ソム"
+ "name": "キルギス ソム"
},
"GTQ": {
"name": "グアテマラ ケツァル"
@@ -209,7 +209,7 @@
"name": "セーシェル ルピー"
},
"SHP": {
- "name": "セントヘレナ島 ãƒãƒ³ãƒ‰"
+ "name": "セントヘレナ ãƒãƒ³ãƒ‰"
},
"SOS": {
"name": "ソマリア シリング"
@@ -245,7 +245,7 @@
"name": "ドミニカ ペソ"
},
"TTD": {
- "name": "トリニダードトãƒã‚´ ドル"
+ "name": "トリニダード・トãƒã‚´ ドル"
},
"TMT": {
"name": "トルクメニスタン マナト"
@@ -309,7 +309,7 @@
"name": "ãƒãƒ³ã‚°ãƒ©ãƒ‡ã‚·ãƒ¥ ã‚¿ã‚«"
},
"FJD": {
- "name": "フィジー諸島 ドル"
+ "name": "フィジー ドル"
},
"PHP": {
"name": "フィリピン ペソ"
@@ -343,20 +343,17 @@
"BYN": {
"name": "ベラルーシ ルーブル"
},
- "BYR": {
- "name": "ベラルーシ ルーブル (2000–2016)"
- },
"BZD": {
"name": "ベリーズ ドル"
},
"PEN": {
- "name": "ペルー 新ソル"
+ "name": "ペルー ソル"
},
"PLN": {
"name": "ãƒãƒ¼ãƒ©ãƒ³ãƒ‰ ズウォティ"
},
"BAM": {
- "name": "ボスニア マルク (BAM)"
+ "name": "ボスニア・ヘルツェゴビナ å…Œæ›ãƒžãƒ«ã‚¯ (BAM)"
},
"BWP": {
"name": "ボツワナ プラ"
@@ -399,7 +396,7 @@
"name": "モザンビーク メティカル"
},
"MVR": {
- "name": "モルディブ諸島 ルフィア"
+ "name": "モルディブ ルフィア"
},
"MDL": {
"name": "モルドムレイ"
diff --git a/vendor/commerceguys/intl/resources/currency/jmc.json b/vendor/commerceguys/intl/resources/currency/jmc.json
index 61220f73e..f5fec488b 100644
--- a/vendor/commerceguys/intl/resources/currency/jmc.json
+++ b/vendor/commerceguys/intl/resources/currency/jmc.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ka.json b/vendor/commerceguys/intl/resources/currency/ka.json
index 4694e134f..2a1484b1a 100644
--- a/vendor/commerceguys/intl/resources/currency/ka.json
+++ b/vendor/commerceguys/intl/resources/currency/ka.json
@@ -62,9 +62,6 @@
"BYN": {
"name": "ბელáƒáƒ áƒ£áƒ¡áƒ£áƒšáƒ˜ რუბლი"
},
- "BYR": {
- "name": "ბელáƒáƒ áƒ£áƒ¡áƒ£áƒšáƒ˜ რუბლი (2000–2016)"
- },
"BMD": {
"name": "ბერმუდული დáƒáƒšáƒáƒ áƒ˜"
},
@@ -305,7 +302,7 @@
"name": "პáƒáƒ áƒáƒ’ვáƒáƒ£áƒšáƒ˜ გუáƒáƒ áƒáƒœáƒ˜"
},
"PEN": {
- "name": "პერუს áƒáƒ®áƒáƒšáƒ˜ სáƒáƒšáƒ˜"
+ "name": "პერუს სáƒáƒšáƒ˜"
},
"PLN": {
"name": "პáƒáƒšáƒáƒœáƒ£áƒ áƒ˜ ზლáƒáƒ¢áƒ˜"
diff --git a/vendor/commerceguys/intl/resources/currency/kab.json b/vendor/commerceguys/intl/resources/currency/kab.json
index e722120cf..2a81451f0 100644
--- a/vendor/commerceguys/intl/resources/currency/kab.json
+++ b/vendor/commerceguys/intl/resources/currency/kab.json
@@ -186,9 +186,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -243,7 +240,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -399,7 +396,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/kam.json b/vendor/commerceguys/intl/resources/currency/kam.json
index 4bae167d8..0143397c9 100644
--- a/vendor/commerceguys/intl/resources/currency/kam.json
+++ b/vendor/commerceguys/intl/resources/currency/kam.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/kde.json b/vendor/commerceguys/intl/resources/currency/kde.json
index 582622411..5930d1edb 100644
--- a/vendor/commerceguys/intl/resources/currency/kde.json
+++ b/vendor/commerceguys/intl/resources/currency/kde.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/kea.json b/vendor/commerceguys/intl/resources/currency/kea.json
index 9bd182bd9..89ab5c1af 100644
--- a/vendor/commerceguys/intl/resources/currency/kea.json
+++ b/vendor/commerceguys/intl/resources/currency/kea.json
@@ -36,9 +36,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi"
@@ -371,7 +368,7 @@
"symbol": "MX$"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"BWP": {
"name": "Pula di Botsuana"
diff --git a/vendor/commerceguys/intl/resources/currency/khq.json b/vendor/commerceguys/intl/resources/currency/khq.json
index fddc77db1..bc323e79e 100644
--- a/vendor/commerceguys/intl/resources/currency/khq.json
+++ b/vendor/commerceguys/intl/resources/currency/khq.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -117,7 +114,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -362,7 +359,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ki.json b/vendor/commerceguys/intl/resources/currency/ki.json
index 0cb6f6094..2c96b1d81 100644
--- a/vendor/commerceguys/intl/resources/currency/ki.json
+++ b/vendor/commerceguys/intl/resources/currency/ki.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -105,7 +102,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -369,7 +366,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/kk.json b/vendor/commerceguys/intl/resources/currency/kk.json
index fafe024f9..62f389c38 100644
--- a/vendor/commerceguys/intl/resources/currency/kk.json
+++ b/vendor/commerceguys/intl/resources/currency/kk.json
@@ -49,9 +49,6 @@
"BYN": {
"name": "БеларуÑÑŒ рублі"
},
- "BYR": {
- "name": "БеларуÑÑŒ рублі (2000–2016)"
- },
"BZD": {
"name": "Белиз доллары"
},
@@ -352,7 +349,7 @@
"name": "ПәкіÑтан рупиÑÑÑ‹"
},
"PEN": {
- "name": "Перу жаңа Ñолі"
+ "name": "Перу Ñолі"
},
"PLN": {
"name": "Польша злотаÑÑ‹"
diff --git a/vendor/commerceguys/intl/resources/currency/kln.json b/vendor/commerceguys/intl/resources/currency/kln.json
index 23edfe9a6..63d52d601 100644
--- a/vendor/commerceguys/intl/resources/currency/kln.json
+++ b/vendor/commerceguys/intl/resources/currency/kln.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -272,7 +269,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/km.json b/vendor/commerceguys/intl/resources/currency/km.json
index d07787964..3df85d04c 100644
--- a/vendor/commerceguys/intl/resources/currency/km.json
+++ b/vendor/commerceguys/intl/resources/currency/km.json
@@ -300,9 +300,6 @@
"BYN": {
"name": "រ៉ូបល​បáŸáž¡áž¶ážšáž»ážŸ"
},
- "BYR": {
- "name": "រ៉ូបល​បáŸáž¡áž¶ážšáž»ážŸ (2000–2016)"
- },
"RUB": {
"name": "រ៉ូបល​រុស្ស៊ី"
},
diff --git a/vendor/commerceguys/intl/resources/currency/kn.json b/vendor/commerceguys/intl/resources/currency/kn.json
index 109a09d11..8a1dff544 100644
--- a/vendor/commerceguys/intl/resources/currency/kn.json
+++ b/vendor/commerceguys/intl/resources/currency/kn.json
@@ -10,7 +10,7 @@
"name": "ಅà²à²°à³â€Œà²¬à³ˆà²œà²¾à²¨à²¿ ಮನಾತà³"
},
"AFN": {
- "name": "ಅಫà³â€Œà²˜à²¨à³ ಅಫಗಾನಿ"
+ "name": "ಅಫà³â€Œà²˜à²¨à³ ಅಫಘಾನಿ"
},
"USD": {
"name": "ಅಮೆರಿಕದ ಡಾಲರà³â€Œ",
@@ -42,7 +42,7 @@
"name": "ಇಥಿಯೋಪಿಯನೠಬಿರà³"
},
"IQD": {
- "name": "ಇರಾಖಿಯನೠದಿನಾರà³"
+ "name": "ಇರಾಕಿಯನೠದಿನಾರà³â€Œ"
},
"IRR": {
"name": "ಇರಾನಿಯನೠರಿಯಲà³"
@@ -90,6 +90,9 @@
"KGS": {
"name": "ಕಿರà³à²—ಿಸà³à²¤à²¾à²¨à²¿ ಸೋಮà³"
},
+ "KES": {
+ "name": "ಕೀನà³à²¯à²¾à²¦ ಶಿಲà³à²²à²¿à²‚ಗà³â€Œ"
+ },
"KWD": {
"name": "ಕà³à²µà³ˆà²¤à³€ ದಿನಾರà³"
},
@@ -97,9 +100,6 @@
"name": "ಕೆನಡಾದ ಡಾಲರà³",
"symbol": "CA$"
},
- "KES": {
- "name": "ಕೆನà³à²¯à²¨à³ ಶಿಲà³à²²à²¿à²‚ಗà³"
- },
"KYD": {
"name": "ಕೆಮà³à²¯à²¾à²¨à³â€Œ à²à²²à³à²¯à²¾à²‚ಡà³â€Œà²¨ ಡಾಲರà³â€Œ"
},
@@ -183,6 +183,9 @@
"TOP": {
"name": "ಟೊಂಗಾ ಪಾಂಗ"
},
+ "TND": {
+ "name": "ಟà³à²¯à³à²¨à³€à²·à²¿à²¯à²¨à³â€Œ ದಿನಾರà³"
+ },
"TTD": {
"name": "ಟà³à²°à²¿à²¨à²¿à²¡à²¾à²¡à³ ಮತà³à²¤à³ ಟೊಬಾಗೊ ಡಾಲರà³"
},
@@ -198,9 +201,6 @@
"TZS": {
"name": "ತಾನà³â€Œà²œà³‡à²¨à²¿à²¯à²¨à³ ಶಿಲà³à²²à²¿à²‚ಗà³"
},
- "TND": {
- "name": "ತà³à²¨à³€à²¸à²¿à²¯à²¨à³ ದಿನಾರà³"
- },
"THB": {
"name": "ಥಾಯೠಬಹà³à²¤à³",
"symbol": "฿"
@@ -262,7 +262,7 @@
"name": "ಪೆರà³à²—à³à²µà³‡à²¯ ಗà³à²µà²¾à²°à²¨à³€"
},
"PEN": {
- "name": "ಪೆರà³à²µà²¿à²¯à²¨à³ ನà³à²¯à³†à²µà³Š ಸೊಲà³"
+ "name": "ಪೆರà³à²µà²¿à²¯à²¨à³ ಸೊಲà³"
},
"PLN": {
"name": "ಪೊಲಿಶೠà²à³à²²à³‹à²Ÿà²¿"
@@ -300,9 +300,6 @@
"BYN": {
"name": "ಬೆಲಾರà³à²¸à²¿à²¯à²¨à³ ರೂಬಲà³"
},
- "BYR": {
- "name": "ಬೆಲಾರà³à²¸à²¿à²¯à²¨à³ ರೂಬಲೠ(2000–2016)"
- },
"BZD": {
"name": "ಬೆಲೀಜೠಡಾಲರà³"
},
@@ -339,6 +336,10 @@
"MOP": {
"name": "ಮಕà³à²¯à³‚ದ ಪಟಕಾ"
},
+ "XAF": {
+ "name": "ಮಧà³à²¯ ಆಫà³à²°à²¿à²•à²¨à³ CFA ಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "FCFA"
+ },
"MGA": {
"name": "ಮಲಗಾಸಿ ಅರಿಯಾರಿ"
},
@@ -484,10 +485,6 @@
"HNL": {
"name": "ಹೊಂಡà³à²°à²¾à²¨à³â€Œ ಲೆಂಪಿರಾ"
},
- "XAF": {
- "name": "CFA ಫà³à²°à²¾à²‚ಕೠBEAC",
- "symbol": "FCFA"
- },
"SVC": {
"name": "Salvadoran Colón"
},
diff --git a/vendor/commerceguys/intl/resources/currency/ko.json b/vendor/commerceguys/intl/resources/currency/ko.json
index 30bf96ab3..644441ac9 100644
--- a/vendor/commerceguys/intl/resources/currency/ko.json
+++ b/vendor/commerceguys/intl/resources/currency/ko.json
@@ -155,9 +155,6 @@
"BYN": {
"name": "벨ë¼ë£¨ìŠ¤ 루블"
},
- "BYR": {
- "name": "벨ë¼ë£¨ìŠ¤ 루블 (2000–2016)"
- },
"BZD": {
"name": "벨리즈 달러"
},
@@ -461,7 +458,7 @@
"name": "파푸아뉴기니 키나"
},
"PEN": {
- "name": "페루 누ì—ë³´ 솔"
+ "name": "페루 솔"
},
"FKP": {
"name": "í¬í´ëžœë“œì œë„ 파운드"
diff --git a/vendor/commerceguys/intl/resources/currency/ks.json b/vendor/commerceguys/intl/resources/currency/ks.json
index 0b7d22eb3..a4006757f 100644
--- a/vendor/commerceguys/intl/resources/currency/ks.json
+++ b/vendor/commerceguys/intl/resources/currency/ks.json
@@ -117,9 +117,6 @@
"BYN": {
"name": "بÙلیروشÙیَن رÙبٕل"
},
- "BYR": {
- "name": "بÙلیروشÙیَن رÙبٕل (۲۰۰۰–۲۰۱۶)"
- },
"BDT": {
"name": "بَنگلادیٖشی ٹَکا"
},
@@ -151,7 +148,7 @@
"name": "پٮ۪رٮ۪گیوٗوَیَن Ú¯Ùعارانی"
},
"PEN": {
- "name": "پٔریوٗوÙیَن نیوٗاوز سولٕز"
+ "name": "پٔریوٗوÙیَن سولٕز"
},
"PHP": {
"name": "Ù¾Ú¾ÙÙ„ÙپایÙÙ”Ù† پٮ۪سو"
diff --git a/vendor/commerceguys/intl/resources/currency/ksb.json b/vendor/commerceguys/intl/resources/currency/ksb.json
index 2531c7dc4..42f723d58 100644
--- a/vendor/commerceguys/intl/resources/currency/ksb.json
+++ b/vendor/commerceguys/intl/resources/currency/ksb.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "dalasi ya Gambia"
@@ -372,7 +369,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ksf.json b/vendor/commerceguys/intl/resources/currency/ksf.json
index 3cef423da..0831cd379 100644
--- a/vendor/commerceguys/intl/resources/currency/ksf.json
+++ b/vendor/commerceguys/intl/resources/currency/ksf.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -402,7 +399,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ksh.json b/vendor/commerceguys/intl/resources/currency/ksh.json
index 0b77eb2d2..ce20e351b 100644
--- a/vendor/commerceguys/intl/resources/currency/ksh.json
+++ b/vendor/commerceguys/intl/resources/currency/ksh.json
@@ -337,7 +337,7 @@
"name": "parajuaanesche Juarani"
},
"PEN": {
- "name": "perruaanesche Nuevo Sol"
+ "name": "perruaanesche Sol"
},
"IRR": {
"name": "persesche Rial"
@@ -487,9 +487,6 @@
"BYN": {
"name": "wiißrußesche Rubel"
},
- "BYR": {
- "name": "wiißrußesche Rubel (2000–2016)"
- },
"SHP": {
"name": "Zint-Hellena-Pongk"
}
diff --git a/vendor/commerceguys/intl/resources/currency/ky.json b/vendor/commerceguys/intl/resources/currency/ky.json
index 361705843..88416789e 100644
--- a/vendor/commerceguys/intl/resources/currency/ky.json
+++ b/vendor/commerceguys/intl/resources/currency/ky.json
@@ -44,9 +44,6 @@
"BYN": {
"name": "беларуÑÑŒ рублу"
},
- "BYR": {
- "name": "беларуÑÑŒ рублу (2000–2016)"
- },
"BZD": {
"name": "белиз доллары"
},
@@ -332,7 +329,7 @@
"name": "парагвай гуараниÑи"
},
"PEN": {
- "name": "перу нуÑво Ñолу"
+ "name": "перу Ñолу"
},
"PLN": {
"name": "польша злотыйы"
diff --git a/vendor/commerceguys/intl/resources/currency/lag.json b/vendor/commerceguys/intl/resources/currency/lag.json
index 6f461e106..357a51a70 100644
--- a/vendor/commerceguys/intl/resources/currency/lag.json
+++ b/vendor/commerceguys/intl/resources/currency/lag.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Daláasi ya Gámbia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/lb.json b/vendor/commerceguys/intl/resources/currency/lb.json
index 1f6e8b59f..dfefd5390 100644
--- a/vendor/commerceguys/intl/resources/currency/lb.json
+++ b/vendor/commerceguys/intl/resources/currency/lb.json
@@ -343,7 +343,7 @@
"name": "Paraguayeschen Guaraní"
},
"PEN": {
- "name": "Peruaneschen Neie Sol"
+ "name": "Peruaneschen Sol"
},
"PHP": {
"name": "Philippinnesche Peso"
@@ -490,8 +490,5 @@
},
"BYN": {
"name": "Wäissrussesche Rubel"
- },
- "BYR": {
- "name": "Wäissrussesche Rubel (2000–2016)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/lg.json b/vendor/commerceguys/intl/resources/currency/lg.json
index d307432d3..5613520ae 100644
--- a/vendor/commerceguys/intl/resources/currency/lg.json
+++ b/vendor/commerceguys/intl/resources/currency/lg.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ey’eGambya"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ln.json b/vendor/commerceguys/intl/resources/currency/ln.json
index 409740f02..0f8fbc708 100644
--- a/vendor/commerceguys/intl/resources/currency/ln.json
+++ b/vendor/commerceguys/intl/resources/currency/ln.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambi"
@@ -361,7 +358,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/lo.json b/vendor/commerceguys/intl/resources/currency/lo.json
index d7a8a445e..9a163f516 100644
--- a/vendor/commerceguys/intl/resources/currency/lo.json
+++ b/vendor/commerceguys/intl/resources/currency/lo.json
@@ -280,9 +280,6 @@
"BYN": {
"name": "ເບ​ລາ​ຣຸ​ສ​ຊຽນ ຣູ​ເບິນ"
},
- "BYR": {
- "name": "ເບ​ລາ​ຣຸ​ສ​ຊຽນ ຣູ​ເບິນ (2000–2016)"
- },
"BOB": {
"name": "ໂບ​ລິ​ວຽນ ໂບ​ລິ​ເວàºâ€‹à»‚ນ"
},
@@ -297,7 +294,7 @@
"name": "ປາ​ປົວ ນິວ àºàº´â€‹àº™àº½àº™ àºàº´â€‹àº™àº²"
},
"PEN": {
- "name": "ເປ​ຣູ​ວຽນ ນູ​ໂວ ໂຊ​ລ໌"
+ "name": "ເປ​ຣູ​ວຽນ ໂຊ​ລ໌"
},
"PLN": {
"name": "ໂປ​ລິ​ຊ ຊະ​ລà»â€‹àº•àºµ"
diff --git a/vendor/commerceguys/intl/resources/currency/lt.json b/vendor/commerceguys/intl/resources/currency/lt.json
index 6ab34834a..1da106896 100644
--- a/vendor/commerceguys/intl/resources/currency/lt.json
+++ b/vendor/commerceguys/intl/resources/currency/lt.json
@@ -35,9 +35,6 @@
"BYN": {
"name": "Baltarusijos rublis"
},
- "BYR": {
- "name": "Baltarusijos rublis (2000–2016)"
- },
"BDT": {
"name": "Bangladešo taka"
},
@@ -334,7 +331,7 @@
"name": "Paragvajaus guaranis"
},
"PEN": {
- "name": "Peru naujasis solis"
+ "name": "Peru solis"
},
"ZAR": {
"name": "Pietų Afrikos Respublikos randas"
diff --git a/vendor/commerceguys/intl/resources/currency/lu.json b/vendor/commerceguys/intl/resources/currency/lu.json
index a61f71c8e..093ece7db 100644
--- a/vendor/commerceguys/intl/resources/currency/lu.json
+++ b/vendor/commerceguys/intl/resources/currency/lu.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -373,7 +370,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/luo.json b/vendor/commerceguys/intl/resources/currency/luo.json
index 5b33e91e0..ae5b8aa3e 100644
--- a/vendor/commerceguys/intl/resources/currency/luo.json
+++ b/vendor/commerceguys/intl/resources/currency/luo.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/luy.json b/vendor/commerceguys/intl/resources/currency/luy.json
index fc6e4de4f..718245c7b 100644
--- a/vendor/commerceguys/intl/resources/currency/luy.json
+++ b/vendor/commerceguys/intl/resources/currency/luy.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/lv.json b/vendor/commerceguys/intl/resources/currency/lv.json
index 2d9918141..5271c3965 100644
--- a/vendor/commerceguys/intl/resources/currency/lv.json
+++ b/vendor/commerceguys/intl/resources/currency/lv.json
@@ -47,9 +47,6 @@
"BYN": {
"name": "Baltkrievijas rubelis"
},
- "BYR": {
- "name": "Baltkrievijas rubelis (2000–2016)"
- },
"BDT": {
"name": "Bangladešas taka"
},
@@ -190,7 +187,7 @@
"name": "IrÄnas riÄls"
},
"ISK": {
- "name": "Īslandes krona"
+ "name": "Islandes krona"
},
"ILS": {
"name": "Izraēlas šekelis",
@@ -362,7 +359,7 @@
"name": "Paragvajas guarani"
},
"PEN": {
- "name": "Peru jaunais sols"
+ "name": "Peru sols"
},
"PLN": {
"name": "Polijas zlots"
diff --git a/vendor/commerceguys/intl/resources/currency/mas.json b/vendor/commerceguys/intl/resources/currency/mas.json
index 668979ed7..c03e88ddb 100644
--- a/vendor/commerceguys/intl/resources/currency/mas.json
+++ b/vendor/commerceguys/intl/resources/currency/mas.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -403,7 +400,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/mer.json b/vendor/commerceguys/intl/resources/currency/mer.json
index db111d0ed..020439fb6 100644
--- a/vendor/commerceguys/intl/resources/currency/mer.json
+++ b/vendor/commerceguys/intl/resources/currency/mer.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/mfe.json b/vendor/commerceguys/intl/resources/currency/mfe.json
index 6350eeb27..60adf6954 100644
--- a/vendor/commerceguys/intl/resources/currency/mfe.json
+++ b/vendor/commerceguys/intl/resources/currency/mfe.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "dalasi gambien"
@@ -363,7 +360,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/mg.json b/vendor/commerceguys/intl/resources/currency/mg.json
index 78cd0eb9b..84a9b6db1 100644
--- a/vendor/commerceguys/intl/resources/currency/mg.json
+++ b/vendor/commerceguys/intl/resources/currency/mg.json
@@ -33,9 +33,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -93,7 +90,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi gambianina"
@@ -361,7 +358,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"BWP": {
"name": "Pola botsoaney"
diff --git a/vendor/commerceguys/intl/resources/currency/mk.json b/vendor/commerceguys/intl/resources/currency/mk.json
index 8fd6569d1..04307a466 100644
--- a/vendor/commerceguys/intl/resources/currency/mk.json
+++ b/vendor/commerceguys/intl/resources/currency/mk.json
@@ -37,7 +37,7 @@
"name": "БахамÑки долар"
},
"BHD": {
- "name": "БахреинÑки Динар"
+ "name": "БахреинÑки динар"
},
"BZD": {
"name": "БелизиÑки Долар"
@@ -45,9 +45,6 @@
"BYN": {
"name": "БелоруÑка рубља"
},
- "BYR": {
- "name": "БелоруÑка рубља (2000–2016)"
- },
"BMD": {
"name": "БермудÑки долар"
},
@@ -58,7 +55,7 @@
"name": "БоÑанÑко-ХерцеговÑка конвертибилна марка"
},
"BWP": {
- "name": "БоцванÑка Пула"
+ "name": "БоцванÑка пула"
},
"BRL": {
"name": "БразилÑки реал",
@@ -112,8 +109,11 @@
"DKK": {
"name": "ДанÑка круна"
},
+ "AED": {
+ "name": "Дирхам на Обединети ÐрапÑки Емирати"
+ },
"STD": {
- "name": "Добра на Сао Томе и ПринÑипе"
+ "name": "Добра на Саун Томе и ПринÑип"
},
"KYD": {
"name": "Долар на кајманÑки оÑтрови"
@@ -135,7 +135,7 @@
"name": "ЕритрејÑка накфа"
},
"AMD": {
- "name": "ЕрмениÑки Драм"
+ "name": "ЕрменÑки драм"
},
"ETB": {
"name": "ЕтиопиÑки бир"
@@ -313,9 +313,6 @@
"NOK": {
"name": "Ðорвешка круна"
},
- "AED": {
- "name": "Обединети ÐрапÑки Емирати Дирхам"
- },
"OMR": {
"name": "ОманÑки риал"
},
@@ -332,7 +329,7 @@
"name": "ПарагвајÑка гуарана"
},
"PEN": {
- "name": "ПеруанÑки нов Ñол"
+ "name": "ПеруанÑки Ñол"
},
"PLN": {
"name": "ПолÑка злота"
@@ -469,7 +466,7 @@
"name": "ЧилеанÑки пезоÑ"
},
"DJF": {
- "name": "Ðибути франк"
+ "name": "ÐибутÑки франк"
},
"CHF": {
"name": "ШвајцарÑки Франк"
diff --git a/vendor/commerceguys/intl/resources/currency/ml.json b/vendor/commerceguys/intl/resources/currency/ml.json
index 0cb7b89b2..e50845e1d 100644
--- a/vendor/commerceguys/intl/resources/currency/ml.json
+++ b/vendor/commerceguys/intl/resources/currency/ml.json
@@ -258,7 +258,7 @@
"name": "പാപàµà´ªàµà´µ à´¨àµà´¯àµ‚ ഗിനിയൻ à´•à´¿à´¨"
},
"PEN": {
- "name": "പെറàµà´µà´¿à´¯àµ» à´¨àµà´¯àµ‚വോ സോൾ"
+ "name": "പെറàµà´µà´¿à´¯àµ» സോൾ"
},
"PLN": {
"name": "പോളിഷൠസàµà´²àµ‹à´Ÿàµà´Ÿà´¿"
@@ -288,7 +288,7 @@
"name": "ബറàµà´£àµà´Ÿà´¿à´¯àµ» à´«àµà´°à´¾à´™àµà´•àµ"
},
"BBD": {
- "name": "ബാർബഡോസൠഡോളർ"
+ "name": "ബാർബേഡിയൻ ഡോളർ"
},
"BMD": {
"name": "ബെർമàµà´¡àµ» ഡോളർ"
@@ -296,9 +296,6 @@
"BYN": {
"name": "ബെലാറàµà´·àµà´¯àµ» റൂബിൾ"
},
- "BYR": {
- "name": "ബെലാറàµà´·àµà´¯àµ» റൂബിൾ (2000–2016)"
- },
"BZD": {
"name": "ബെലീസൠഡോളർ"
},
diff --git a/vendor/commerceguys/intl/resources/currency/mn.json b/vendor/commerceguys/intl/resources/currency/mn.json
index fce83e09a..14aa7b3a6 100644
--- a/vendor/commerceguys/intl/resources/currency/mn.json
+++ b/vendor/commerceguys/intl/resources/currency/mn.json
@@ -56,9 +56,6 @@
"BYN": {
"name": "беларуÑÑŒ рубль"
},
- "BYR": {
- "name": "беларуÑÑŒ рубль (2000–2016)"
- },
"BZD": {
"name": "белиз доллар"
},
@@ -318,7 +315,7 @@
"name": "парагвайн гуарани"
},
"PEN": {
- "name": "перугийн невоÑоль"
+ "name": "перугийн Ñоль"
},
"PLN": {
"name": "польшийн злот"
diff --git a/vendor/commerceguys/intl/resources/currency/mr.json b/vendor/commerceguys/intl/resources/currency/mr.json
index d8e46039d..884a032a5 100644
--- a/vendor/commerceguys/intl/resources/currency/mr.json
+++ b/vendor/commerceguys/intl/resources/currency/mr.json
@@ -252,7 +252,7 @@
"symbol": "EC$"
},
"PEN": {
- "name": "पेरà¥à¤µà¤¿à¤¯à¤¨ नà¥à¤‡à¤µà¥à¤¹à¥‹ सोल"
+ "name": "पेरà¥à¤µà¤¿à¤¯à¤¨ सोल"
},
"PLN": {
"name": "पोलिश à¤à¥à¤²à¥‰à¤Ÿà¥€"
@@ -290,9 +290,6 @@
"BYN": {
"name": "बेलारà¥à¤¶à¤¿à¤¯à¤¨ रà¥à¤¬à¤²"
},
- "BYR": {
- "name": "बेलारà¥à¤¶à¤¿à¤¯à¤¨ रà¥à¤¬à¤² (2000–2016)"
- },
"BZD": {
"name": "बेलीठडॉलर"
},
diff --git a/vendor/commerceguys/intl/resources/currency/ms.json b/vendor/commerceguys/intl/resources/currency/ms.json
index 7ecf19afe..f4e536ac6 100644
--- a/vendor/commerceguys/intl/resources/currency/ms.json
+++ b/vendor/commerceguys/intl/resources/currency/ms.json
@@ -163,7 +163,7 @@
"name": "Forint Hungary"
},
"BIF": {
- "name": "Franc Burundia"
+ "name": "Franc Burundi"
},
"XOF": {
"name": "Franc CFA BCEAO",
@@ -202,7 +202,7 @@
"name": "Guarani Paraguay"
},
"ANG": {
- "name": "Guilder Antillean Netherland"
+ "name": "Guilder Antillen Belanda"
},
"UAH": {
"name": "Hryvnia Ukraine"
@@ -291,12 +291,12 @@
"BTN": {
"name": "Ngultrum Bhutan"
},
- "PEN": {
- "name": "Nuevo Sol Peru"
- },
"MRO": {
"name": "Ouguiya Mauritania"
},
+ "TOP": {
+ "name": "Pa’anga Tonga"
+ },
"MOP": {
"name": "Pataca Macau"
},
@@ -352,6 +352,9 @@
"MXN": {
"name": "Peso Mexico"
},
+ "UYU": {
+ "name": "Peso Uruguay"
+ },
"BWP": {
"name": "Pula Botswana"
},
@@ -388,10 +391,7 @@
"name": "Riyal Saudi"
},
"BYN": {
- "name": "Rubel Belarus"
- },
- "BYR": {
- "name": "Rubel Belarus (2000–2016)"
+ "name": "Rubel Belarus baharu"
},
"RUB": {
"name": "Rubel Rusia"
@@ -404,7 +404,7 @@
"symbol": "₹"
},
"MUR": {
- "name": "Rupee Mauritia"
+ "name": "Rupee Mauritius"
},
"NPR": {
"name": "Rupee Nepal"
@@ -424,9 +424,8 @@
"SVC": {
"name": "Salvadoran Colón"
},
- "ILS": {
- "name": "Sheqel Baru Israel",
- "symbol": "₪"
+ "PEN": {
+ "name": "Sol Peru"
},
"KGS": {
"name": "Som Kyrgystani"
@@ -437,6 +436,10 @@
"TJS": {
"name": "Somoni Tajikistan"
},
+ "ILS": {
+ "name": "Syekel Baharu Israel",
+ "symbol": "₪"
+ },
"KES": {
"name": "Syiling Kenya"
},
@@ -458,15 +461,9 @@
"KZT": {
"name": "Tenge Kazakhstan"
},
- "TOP": {
- "name": "Tongan Paʻanga"
- },
"MNT": {
"name": "Tugrik Mongolia"
},
- "UYU": {
- "name": "Uruguayan Peso"
- },
"VUV": {
"name": "Vatu Vanuatu"
},
diff --git a/vendor/commerceguys/intl/resources/currency/mua.json b/vendor/commerceguys/intl/resources/currency/mua.json
index b04df3f12..ef8c9474a 100644
--- a/vendor/commerceguys/intl/resources/currency/mua.json
+++ b/vendor/commerceguys/intl/resources/currency/mua.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -242,7 +239,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/my.json b/vendor/commerceguys/intl/resources/currency/my.json
index a28c0e89a..e2463c2d3 100644
--- a/vendor/commerceguys/intl/resources/currency/my.json
+++ b/vendor/commerceguys/intl/resources/currency/my.json
@@ -10,10 +10,10 @@
"name": "ကာဇက်စá€á€”် ထိန်ဂျီ"
},
"QAR": {
- "name": "ကာá€á€¬á€›á€®á€¡á€±á€¬á€ºá€œá€º"
+ "name": "ကာá€á€¬á€›á€® ရီရယ်"
},
"KWD": {
- "name": "ကူá€á€­á€á€ºá€’ီနာ"
+ "name": "ကူá€á€­á€á€º ဒီနာ"
},
"KYD": {
"name": "ကေမန် ကျွန်းစု ဒေါ်လာ"
@@ -28,10 +28,10 @@
"name": "ကို့စá€á€¬á€›á€®á€€á€¬ ကိုလွန်"
},
"KES": {
- "name": "ကင်ညာသျှီလင်"
+ "name": "ကင်ညာ သျှီလင်"
},
"XAF": {
- "name": "ကင်မရွန်းဖရန့်",
+ "name": "ကင်မရွန်း ဖရန့်",
"symbol": "FCFA"
},
"CVE": {
@@ -47,19 +47,19 @@
"name": "ကွန်ဂို ဖရန့်"
},
"HRK": {
- "name": "á€á€›á€­á€¯á€¡á€±á€¸á€›á€¾á€¬á€¸á€á€°á€¸á€”ာ"
+ "name": "á€á€›á€­á€¯á€¡á€±á€¸á€›á€¾á€¬á€¸ á€á€°á€¸á€”ာ"
},
"CLP": {
"name": "á€á€»á€®á€œá€® ပီဆို"
},
"CZK": {
- "name": "á€á€»á€€á€ºá€á€­á€¯á€›á€­á€¯á€”ာ"
+ "name": "á€á€»á€€á€º á€á€­á€¯á€›á€­á€¯á€”ာ"
},
"GHS": {
"name": "ဂါနာ ဆဲဒီ"
},
"GNF": {
- "name": "ဂီးနီ ဖရန့်"
+ "name": "ဂီနီရာ ဖရန့်"
},
"GYD": {
"name": "ဂိုင်ယာနာ ဒေါ်လာ"
@@ -68,7 +68,7 @@
"name": "ဂမ်ဘီယာ ဒါလာစီ"
},
"JPY": {
- "name": "ဂျပန်ယန်း",
+ "name": "ဂျပန် ယန်း",
"symbol": "JPÂ¥"
},
"JMD": {
@@ -81,10 +81,10 @@
"name": "ဂျီဘူá€á€® ဖရန့်"
},
"GEL": {
- "name": "ဂျော်ဂျီယာလားရီ"
+ "name": "ဂျော်ဂျီယာ လားရီ"
},
"JOD": {
- "name": "ဂျော်ဒန်ဒီနား"
+ "name": "ဂျော်ဒန် ဒီနာ"
},
"GTQ": {
"name": "ဂွါá€á€®á€™á€¬á€œá€¬ á€á€€á€ºá€‡á€±á€¬á€ºá€œá€º"
@@ -99,7 +99,7 @@
"name": "ဆမိုအား ထားလာ"
},
"RSD": {
- "name": "ဆားဘီးယားဒယ်နား"
+ "name": "ဆားဘီးယား ဒယ်နား"
},
"SLL": {
"name": "ဆီယာရာလီယွန်း လီအိုနီ"
@@ -117,13 +117,13 @@
"name": "ဆေးရှဲ ရူပီး"
},
"SAR": {
- "name": "ဆော်ဒီအာရေးဗီးယားရီယော်လ်"
+ "name": "ဆော်ဒီအာရေးဗီးယား ရီယော်လ်"
},
"SBD": {
"name": "ဆော်လမွန်ကျွန်းစု ဒေါ်လာ"
},
"SOS": {
- "name": "ဆိုမာလီသျှီလင်"
+ "name": "ဆိုမာလီ သျှီလင်"
},
"STD": {
"name": "ဆောင်á€á€°á€™á€±á€¸á€”ှင့် ပရင်စီပီ ဒိုဘရာ"
@@ -138,7 +138,7 @@
"name": "ဆွစ် ဖရန့်"
},
"ZMW": {
- "name": "ဇင်ဘာဘွေá€á€½á€«á€¸á€á€»á€¬"
+ "name": "ဇင်ဘာဘွေ á€á€½á€«á€¸á€á€»á€¬"
},
"CNY": {
"name": "á€á€›á€¯á€á€º ယွမ်",
@@ -151,7 +151,7 @@
"name": "á€á€¬á€·á€á€ºá€™á€„်နစ္စá€á€”် မာနá€á€º"
},
"TND": {
- "name": "á€á€°á€”ီးရှား ဒီနာ"
+ "name": "á€á€°á€”ီးရှား ဒိုင်နာ"
},
"TRY": {
"name": "á€á€°á€›á€€á€® လိုင်ရာ"
@@ -161,16 +161,16 @@
"symbol": "â‚©"
},
"SSP": {
- "name": "á€á€±á€¬á€„်ဆူဒန်ပေါင်"
+ "name": "á€á€±á€¬á€„်ဆူဒန် ပေါင်"
},
"ZAR": {
- "name": "á€á€±á€¬á€„်အဖရိက ရန်း"
+ "name": "á€á€±á€¬á€„်အာဖရိက ရန်း"
},
"TZS": {
- "name": "á€á€”်ဇန်းနီးယားသျှီလင်"
+ "name": "á€á€”်ဇန်းနီးယား သျှီလင်"
},
"TOP": {
- "name": "á€á€½á€”်ဂါဗန်ဂါ"
+ "name": "á€á€½á€”်ဂါ ဗန်ဂါ"
},
"TTD": {
"name": "ထရီနီဒá€á€ºá€”ှင့် á€á€­á€¯á€˜á€€á€ºá€‚ို ဒေါ်လာ",
@@ -181,7 +181,7 @@
"symbol": "NT$"
},
"THB": {
- "name": "ထိုင်းဘá€á€º",
+ "name": "ထိုင်း ဘá€á€º",
"symbol": "฿"
},
"DOP": {
@@ -207,7 +207,7 @@
"name": "နော်á€á€± á€á€›á€­á€¯á€á€¬"
},
"NGN": {
- "name": "နိုင်ဂျီးရီးယားနိုင်းရာ"
+ "name": "နိုင်ဂျီးရီးယား နိုင်းရာ"
},
"CUC": {
"name": "နိုင်ငံá€á€¼á€¬á€¸á€„ွေလဲလှယ်နိုင်သော ကျူးဘားပီဆို"
@@ -227,17 +227,13 @@
"name": "ပါပူအာ နယူးဂီနီ á€á€®á€¸á€”ာ"
},
"PYG": {
- "name": "ပါရာဂွေးဂွါးအ်နီး"
+ "name": "ပါရာဂွေး ဂွါးအ်နီး"
},
"PEN": {
- "name": "ပီရူး နူအီဗိုဆိုးလ်"
+ "name": "ပီရူး ဆိုးလ်"
},
"PLN": {
- "name": "ပိုလန်ဇလော့á€á€®"
- },
- "XOF": {
- "name": "ဖရန့်",
- "symbol": "CFA"
+ "name": "ပိုလန် ဇလော့á€á€®"
},
"PHP": {
"name": "ဖိလစ်ပိုင် ပီဆို"
@@ -282,16 +278,13 @@
"name": "ဘာမြူဒါ ဒေါ်လာ"
},
"BHD": {
- "name": "ဘာရိန်းဒီနား"
+ "name": "ဘာရိန်း ဒီနား"
},
"BYN": {
- "name": "ဘီလာရုဇ် ရူဘယ်"
- },
- "BYR": {
- "name": "ဘီလာရုဇ် ရူဘယ် (á‚á€á€á€â€“á‚á€áá†)"
+ "name": "ဘီလာရုစ် ရူဘယ်"
},
"BTN": {
- "name": "ဘူá€á€”်အံဂါလ်ထရန်"
+ "name": "ဘူá€á€”် အံဂါလ်ထရန်"
},
"BIF": {
"name": "ဘူရွန်ဒီ ဖရန့်"
@@ -300,7 +293,7 @@
"name": "ဘူလ်ဂေးရီးယား လက်ဖ်"
},
"BAM": {
- "name": "ဘော့စနီးယားနှင့် ဟာဇီဂိုဘီးနားမá€á€ºá€€á€º"
+ "name": "ဘော့စနီးယားနှင့် ဟာဇီဂိုဘီးနား ငွေလဲနိုင်သော မá€á€ºá€€á€º"
},
"BWP": {
"name": "ဘော့ဆွာနာ ပုလ"
@@ -312,7 +305,7 @@
"name": "ဘင်္ဂလားဒေ့ရှ် á€á€¬á€€á€¬"
},
"MOP": {
- "name": "မကာအိုပါá€á€¬á€¸á€€á€¬á€¸"
+ "name": "မကာအို ပါá€á€¬á€¸á€€á€¬á€¸"
},
"MYR": {
"name": "မလေးရှား ရင်းဂစ်"
@@ -321,7 +314,7 @@
"name": "မာလာဂါစီ အရီရရီ"
},
"MWK": {
- "name": "မာလာá€á€®á€á€½á€«á€¸á€á€»á€¬"
+ "name": "မာလာá€á€® á€á€½á€«á€¸á€á€»á€¬"
},
"MUR": {
"name": "မောရစ်ရှ ရူပီး"
@@ -330,7 +323,7 @@
"name": "မော်ရီá€á€±á€¸á€”ီးယား အူဂီးယာ"
},
"MVR": {
- "name": "မော်လ်ဒိုက်ရူးဖီရာ"
+ "name": "မော်လ်ဒိုက် ရူးဖီရာ"
},
"MZN": {
"name": "မိုဇမ်ဘစ် မက်á€á€®á€á€šá€ºá€œá€º"
@@ -343,29 +336,29 @@
"symbol": "MX$"
},
"MKD": {
- "name": "မက်စီဒိုးနီးယား ဒီနာ"
+ "name": "မက်ဆီဒိုးနီးယား ဒီနာ"
},
"MDL": {
- "name": "မောလ်ဒိုဗာလယ်အို"
+ "name": "မောလ်ဒိုဗာ လယ်အို"
},
"KPW": {
"name": "မြောက်ကိုရီးယား á€á€™á€º"
},
"MMK": {
- "name": "မြန်မာကျပ်",
+ "name": "မြန်မာ ကျပ်",
"symbol": "K"
},
"MNT": {
- "name": "မွန်ဂိုးလီးယားထူးဂရá€á€º"
+ "name": "မွန်ဂိုးလီးယား ထူးဂရá€á€º"
},
"YER": {
- "name": "ယီမင်ရီအော်လ်"
+ "name": "ယီမင်နီ ရီရယ်"
},
"UAH": {
"name": "ယူကရိန်း ဟီရီဗင်းညား"
},
"UGX": {
- "name": "ယူဂန်းဒါး သျှီလင်"
+ "name": "ယူဂန္ဒာ သျှီလင်"
},
"EUR": {
"name": "ယူရို",
@@ -378,13 +371,10 @@
"name": "ရုရှ ရူဘယ်"
},
"RON": {
- "name": "ရိုမေးနီးယားလယ်အို"
+ "name": "ရိုမေးနီးယား လယ်အို"
},
"LAK": {
- "name": "လာအိုá€á€­á€•á€º"
- },
- "LYD": {
- "name": "လီဗျာ ဒီနာ"
+ "name": "လာအို ကစ်"
},
"LBP": {
"name": "လက်ဘနွန် ပေါင်"
@@ -392,6 +382,9 @@
"LRD": {
"name": "လိုက်ဘေးရီးယား ဒေါ်လာ"
},
+ "LYD": {
+ "name": "လစ်ဗျား ဒိုင်နာ"
+ },
"LKR": {
"name": "သီရိလင်္ကာ ရူပီး"
},
@@ -404,13 +397,17 @@
"symbol": "HK$"
},
"HUF": {
- "name": "ဟန်ဂေရီယံဖော်ရင့်á€á€º"
+ "name": "ဟန်ဂေရီယံ ဖော်ရင့်á€á€º"
},
"HNL": {
"name": "ဟွန်ဒူးရပ်စ် လမ်းပီရာ"
},
"AZN": {
- "name": "အဇာဘိုင်ဂျန်မာနá€á€º"
+ "name": "အဇာဘိုင်ဂျန် မာနá€á€º"
+ },
+ "XOF": {
+ "name": "အနောက် အာဖရိက CFA ဖရန့်",
+ "symbol": "CFA"
},
"USD": {
"name": "အမေရိကန် ဒေါ်လာ",
@@ -421,20 +418,20 @@
"symbol": "Afl"
},
"XCD": {
- "name": "အရှေ့ကာရစ်ဘီယံဒေါ်လာ",
+ "name": "အရှေ့ကာရစ်ဘီယံ ဒေါ်လာ",
"symbol": "EC$"
},
"ARS": {
"name": "အာဂျင်á€á€®á€¸á€”ား ပီဆို"
},
"AFN": {
- "name": "အာဖဂန်အာဖဂါနီ"
+ "name": "အာဖဂန် အာဖဂါနီ"
},
"AMD": {
- "name": "အာမေးနီးယားဒရမ်း"
+ "name": "အာမေးနီးယား ဒရမ်"
},
"AED": {
- "name": "အာရပ်ဒူဟမ်း"
+ "name": "အာရပ်စော်ဘွားများ ပြည်ထောင်စု ဒါဟမ်း"
},
"EGP": {
"name": "အီဂျစ် ပေါင်"
@@ -443,26 +440,26 @@
"name": "အီရီထရီးယား နာ့á€á€ºá€–ာ"
},
"IQD": {
- "name": "အီရá€á€º ဒီနား"
+ "name": "အီရá€á€º ဒီနာ"
},
"IRR": {
- "name": "အီရန်ရီအော်လ်"
+ "name": "အီရန် ရီအော်လ်"
},
"ETB": {
- "name": "အီသီယိုးပီးယားဘီးယာ"
+ "name": "အီသီယိုးပီးယား ဘီးယာ"
},
"UZS": {
"name": "ဥဇဘက်ကစ္စá€á€”် ဆော်မ်"
},
"UYU": {
- "name": "ဥရုဂွေးပီဆို"
+ "name": "ဥရုဂွေး ပီဆို"
},
"AUD": {
"name": "ဩစá€á€¼á€±á€¸á€œá€» ဒေါ်လာ",
"symbol": "A$"
},
"OMR": {
- "name": "အိုမန်ရီအော်လ်"
+ "name": "အိုမန်နီ ရီရယ်"
},
"ISK": {
"name": "အိုက်စလန် á€á€›á€­á€¯á€á€¬"
@@ -474,7 +471,7 @@
"name": "အင်ဒိုနီးရှား ရူပီးယား"
},
"ILS": {
- "name": "အစ္စရေးရှဲကလ်အသစ်",
+ "name": "အစ္စရေး ရှဲကလ်အသစ်",
"symbol": "₪"
},
"INR": {
diff --git a/vendor/commerceguys/intl/resources/currency/mzn.json b/vendor/commerceguys/intl/resources/currency/mzn.json
index f9235c777..2f9ac8124 100644
--- a/vendor/commerceguys/intl/resources/currency/mzn.json
+++ b/vendor/commerceguys/intl/resources/currency/mzn.json
@@ -126,9 +126,6 @@
"BYN": {
"name": "بلاروس Ùروبل"
},
- "BYR": {
- "name": "بلاروس Ùروبل (۲۰۰۰–۲۰۱۶)"
- },
"BGN": {
"name": "بلغارستون Ùلیوا"
},
@@ -163,7 +160,7 @@
"name": "پانامای Ùبالبوا"
},
"PEN": {
- "name": "پروی Ùنوئوو سول"
+ "name": "پروی Ùسول"
},
"TJS": {
"name": "تاجیکستون Ùسامانی"
diff --git a/vendor/commerceguys/intl/resources/currency/naq.json b/vendor/commerceguys/intl/resources/currency/naq.json
index ef672cc21..0b31409d2 100644
--- a/vendor/commerceguys/intl/resources/currency/naq.json
+++ b/vendor/commerceguys/intl/resources/currency/naq.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -131,7 +128,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -357,7 +354,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/nb.json b/vendor/commerceguys/intl/resources/currency/nb.json
index e80cf0139..a555459b6 100644
--- a/vendor/commerceguys/intl/resources/currency/nb.json
+++ b/vendor/commerceguys/intl/resources/currency/nb.json
@@ -154,12 +154,6 @@
"HKD": {
"name": "Hongkong-dollar"
},
- "BYN": {
- "name": "hviterussiske rubler"
- },
- "BYR": {
- "name": "hviterussiske rubler (2000–2016)"
- },
"INR": {
"name": "indiske rupier"
},
@@ -308,6 +302,9 @@
"name": "norske kroner",
"symbol": "kr"
},
+ "BYN": {
+ "name": "nye hviterussiske rubler"
+ },
"ILS": {
"name": "nye israelske shekler"
},
@@ -330,7 +327,7 @@
"name": "paraguayanske guarani"
},
"PEN": {
- "name": "peruanske nuevo sol"
+ "name": "peruanske sol"
},
"PLN": {
"name": "polske zloty"
@@ -360,7 +357,7 @@
"name": "sankthelenske pund"
},
"STD": {
- "name": "São Tomé og Príncipe-dobra"
+ "name": "saotomesiske dobra"
},
"SAR": {
"name": "saudiarabiske riyaler"
diff --git a/vendor/commerceguys/intl/resources/currency/nd.json b/vendor/commerceguys/intl/resources/currency/nd.json
index e084e538c..cbdeddd60 100644
--- a/vendor/commerceguys/intl/resources/currency/nd.json
+++ b/vendor/commerceguys/intl/resources/currency/nd.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi yase Gambia"
@@ -356,7 +353,7 @@
"name": "Phawundindi laseSt Helena"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"BWP": {
"name": "Phula yase Botswana"
diff --git a/vendor/commerceguys/intl/resources/currency/ne.json b/vendor/commerceguys/intl/resources/currency/ne.json
index 045a85fb8..c9c0f7566 100644
--- a/vendor/commerceguys/intl/resources/currency/ne.json
+++ b/vendor/commerceguys/intl/resources/currency/ne.json
@@ -249,7 +249,7 @@
"symbol": "EC$"
},
"PEN": {
- "name": "पेरूभियाली नà¥à¤¯à¥‚भो सोल"
+ "name": "पेरूभियाली सोल"
},
"PLN": {
"name": "पोलिश जà¥à¤²à¥‹à¤Ÿà¤¾à¤ˆ"
@@ -291,9 +291,6 @@
"BYN": {
"name": "बेलारूसी रूबल"
},
- "BYR": {
- "name": "बेलारूसी रूबल (2000–2016)"
- },
"BWP": {
"name": "बोटà¥à¤¸à¤µà¤¾à¤¨à¤¾à¤¨ पà¥à¤²à¤¾"
},
@@ -365,7 +362,7 @@
"name": "मोरोकà¥à¤•à¤¾à¤²à¥€ डिरà¥â€Œà¤¹à¤¾à¤®"
},
"MMK": {
- "name": "मà¥à¤¯à¤¾à¤¨à¥à¤®à¤¾ कà¥à¤¯à¤¾à¤Ÿ"
+ "name": "मà¥à¤¯à¤¾à¤¨à¥à¤®à¤¾à¤° कà¥à¤¯à¤¾à¤Ÿ"
},
"MKD": {
"name": "मà¥à¤¯à¤¾à¤¸à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€ डेनार"
diff --git a/vendor/commerceguys/intl/resources/currency/nl.json b/vendor/commerceguys/intl/resources/currency/nl.json
index 7c2e70dcc..5e05a6f4c 100644
--- a/vendor/commerceguys/intl/resources/currency/nl.json
+++ b/vendor/commerceguys/intl/resources/currency/nl.json
@@ -100,7 +100,7 @@
"name": "Chileense peso"
},
"CNY": {
- "name": "Chinese renminbi",
+ "name": "Chinese Yuan",
"symbol": "CNÂ¥"
},
"COP": {
@@ -357,7 +357,7 @@
"name": "Paraguayaanse guarani"
},
"PEN": {
- "name": "Peruaanse nieuwe sol"
+ "name": "Peruaanse sol"
},
"PLN": {
"name": "Poolse zloty"
@@ -470,9 +470,6 @@
"BYN": {
"name": "Wit-Russische roebel"
},
- "BYR": {
- "name": "Wit-Russische roebel (2000–2016)"
- },
"ZMW": {
"name": "Zambiaanse kwacha"
},
diff --git a/vendor/commerceguys/intl/resources/currency/nmg.json b/vendor/commerceguys/intl/resources/currency/nmg.json
index 5a8ba885d..9e61cae9a 100644
--- a/vendor/commerceguys/intl/resources/currency/nmg.json
+++ b/vendor/commerceguys/intl/resources/currency/nmg.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -402,7 +399,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/nn.json b/vendor/commerceguys/intl/resources/currency/nn.json
index ae1d1906b..1653ae21b 100644
--- a/vendor/commerceguys/intl/resources/currency/nn.json
+++ b/vendor/commerceguys/intl/resources/currency/nn.json
@@ -1,495 +1,474 @@
{
"AFN": {
- "name": "afghani"
+ "name": "afghanske afghani"
},
"ALL": {
- "name": "albansk lek"
+ "name": "albanske lek"
},
"DZD": {
- "name": "algerisk dinar"
+ "name": "algeriske dinarar"
},
"USD": {
- "name": "amerikansk dollar",
- "symbol": "US$"
+ "name": "amerikanske dollar"
},
"AOA": {
- "name": "angolsk kwanza"
+ "name": "angolanske kwanza"
},
"ARS": {
- "name": "argentinsk peso"
+ "name": "argentinske pesos"
},
"AMD": {
- "name": "armensk dram"
+ "name": "armenske dram"
},
"AWG": {
- "name": "arubisk gylden"
+ "name": "arubiske floriner"
},
"AZN": {
- "name": "aserbajdsjansk manat"
+ "name": "aserbajdsjanske manat"
},
"XCD": {
- "name": "austkaribisk dollar",
- "symbol": "EC$"
+ "name": "austkaribiske dollar"
},
"AUD": {
- "name": "australsk dollar",
- "symbol": "A$"
+ "name": "australske dollar"
},
"BSD": {
- "name": "bahamisk dollar"
+ "name": "bahamanske dollar"
},
"BHD": {
- "name": "bahrainsk dinar"
+ "name": "bahrainske dinarar"
},
"BDT": {
- "name": "bangladeshisk taka"
+ "name": "bangladeshiske taka"
},
"BBD": {
- "name": "barbadisk dollar"
+ "name": "barbadiske dollar"
},
"BZD": {
- "name": "belizisk dollar"
+ "name": "beliziske dollar"
},
"BMD": {
- "name": "bermudisk dollar"
+ "name": "bermudiske dollar"
},
"BTN": {
- "name": "bhutansk ngultrum"
+ "name": "bhutanske ngultrum"
},
"BOB": {
- "name": "boliviano"
+ "name": "bolivianske boliviano"
},
"BAM": {
- "name": "bosnisk-hercegovinsk mark (konvertibel)"
+ "name": "bosnisk-hercegovinske konvertible mark"
},
"BWP": {
- "name": "botswansk pula"
+ "name": "botswanske pula"
},
"BRL": {
- "name": "brasiliansk real",
- "symbol": "R$"
+ "name": "brasilianske real"
},
"GBP": {
- "name": "britisk pund",
- "symbol": "£"
+ "name": "britiske pund"
},
"BND": {
- "name": "bruneisk dollar"
+ "name": "bruneiske dollar"
},
"BGN": {
- "name": "bulgarsk ny lev"
+ "name": "bulgarske lev"
},
"BIF": {
- "name": "burundisk franc"
+ "name": "burundiske franc"
},
"KYD": {
- "name": "caymansk dollar"
- },
- "XOF": {
- "name": "CFA franc BCEAO",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "CFA franc BEAC",
- "symbol": "FCFA"
+ "name": "caymanske dollar"
},
"XPF": {
- "name": "CFP franc",
- "symbol": "CFPF"
+ "name": "CFP-franc"
},
"CLP": {
- "name": "chilensk peso"
- },
- "COP": {
- "name": "colombiansk peso"
- },
- "CRC": {
- "name": "costaricansk colon"
- },
- "CUC": {
- "name": "Cuban Convertible Peso"
+ "name": "chilenske pesos"
},
"DKK": {
- "name": "dansk krone"
+ "name": "danske kroner"
},
"DJF": {
- "name": "djiboutisk franc"
+ "name": "djiboutiske franc"
},
"DOP": {
- "name": "dominikansk peso"
+ "name": "dominikanske pesos"
},
"EGP": {
- "name": "egyptisk pund"
+ "name": "egyptiske pund"
+ },
+ "AED": {
+ "name": "emiratarabiske dirham"
},
"ERN": {
- "name": "eritreisk nakfa"
+ "name": "eritreiske nakfa"
},
"ETB": {
- "name": "etiopisk birr"
+ "name": "etiopiske birr"
},
"EUR": {
"name": "euro",
"symbol": "€"
},
"FKP": {
- "name": "Falkland-pund"
+ "name": "falklandspund"
},
"FJD": {
- "name": "fijiansk dollar"
+ "name": "fijianske dollar"
},
"PHP": {
- "name": "filippinsk peso"
+ "name": "filippinske pesos"
},
"GMD": {
- "name": "gambisk dalasi"
+ "name": "gambiske dalasi"
},
"GEL": {
- "name": "georgisk lari"
+ "name": "georgiske lari"
},
"GHS": {
- "name": "ghanesisk cedi"
+ "name": "ghanesiske cedi"
},
"GIP": {
- "name": "gibraltarsk pund"
+ "name": "gibraltarske pund"
},
"GTQ": {
- "name": "guatemalansk quetzal"
+ "name": "guatemalanske quetzal"
},
"GNF": {
- "name": "guineansk franc"
+ "name": "guineanske franc"
},
"GYD": {
- "name": "guyansk dollar"
+ "name": "guyanske dollar"
},
"HTG": {
- "name": "haitisk gourde"
+ "name": "haitiske gourde"
},
"HNL": {
- "name": "honduransk lempira"
+ "name": "honduranske lempira"
},
"HKD": {
- "name": "Hongkong-dollar",
- "symbol": "HK$"
+ "name": "Hongkong-dollar"
},
"INR": {
- "name": "indisk rupi",
- "symbol": "₹"
+ "name": "indiske rupiar"
},
"IDR": {
- "name": "indonesisk rupi"
+ "name": "indonesiske rupiar"
},
"IQD": {
- "name": "iraksk dinar"
+ "name": "irakiske dinarar"
},
"IRR": {
- "name": "iransk rial"
+ "name": "iranske rial"
},
"ISK": {
- "name": "islandsk krone"
+ "name": "islandske kroner"
},
"ILS": {
- "name": "israelsk ny shekel",
- "symbol": "₪"
+ "name": "israelske nye sheklar"
},
"JMD": {
- "name": "jamaikansk dollar"
+ "name": "jamaikanske dollar"
},
"JPY": {
- "name": "japansk yen",
- "symbol": "JPÂ¥"
+ "name": "japanske yen"
},
"YER": {
- "name": "jemenittisk rial"
+ "name": "jemenittiske rial"
},
"JOD": {
- "name": "jordansk dinar"
+ "name": "jordanske dinarar"
},
"KHR": {
- "name": "kambodsjansk riel"
+ "name": "kambodsjanske riel"
},
"CAD": {
- "name": "kanadisk dollar",
- "symbol": "CA$"
+ "name": "kanadiske dollar"
},
"CVE": {
- "name": "kappverdisk escudo"
+ "name": "kappverdiske escudo"
},
"KZT": {
- "name": "kasakhstansk tenge"
+ "name": "kasakhstanske tenge"
},
"KES": {
- "name": "kenyansk shilling"
+ "name": "kenyanske shilling"
},
"CNY": {
- "name": "kinesisk yuan renminbi",
- "symbol": "CNÂ¥"
+ "name": "kinesiske yuan"
},
"KGS": {
- "name": "kirgisisk som"
+ "name": "kirgisiske som"
+ },
+ "COP": {
+ "name": "kolombianske pesos"
},
"KMF": {
- "name": "komorisk franc"
+ "name": "komoriske franc"
},
"CDF": {
- "name": "kongolesisk franc"
+ "name": "kongolesiske franc"
+ },
+ "CRC": {
+ "name": "kostarikanske colón"
},
"HRK": {
- "name": "kroatisk kuna"
+ "name": "kroatiske kuna"
+ },
+ "CUC": {
+ "name": "kubanske konvertible pesos"
},
"CUP": {
- "name": "kubansk peso"
+ "name": "kubanske pesos"
},
"KWD": {
- "name": "kuwaitisk dinar"
+ "name": "kuwaitiske dinarar"
},
"BYN": {
- "name": "kviterussisk rubel"
- },
- "BYR": {
- "name": "kviterussisk rubel (2000–2016)"
+ "name": "kviterussiske rublar"
},
"LAK": {
- "name": "laotisk kip"
+ "name": "laotiske kip"
},
"LSL": {
- "name": "lesothisk loti"
+ "name": "lesothiske loti"
},
"LBP": {
- "name": "libanesisk pund"
+ "name": "libanesiske pund"
},
"LRD": {
- "name": "liberisk dollar"
+ "name": "liberiske dollar"
},
"LYD": {
- "name": "libysk dinar"
+ "name": "libyske dinarar"
},
"MGA": {
- "name": "madagassisk ariary"
+ "name": "madagassiske ariary"
},
"MOP": {
- "name": "makaosk pataca"
+ "name": "makaoiske pataca"
},
"MKD": {
- "name": "makedonsk denar"
+ "name": "makedonske denarar"
},
"MWK": {
- "name": "malawisk kwacha"
+ "name": "malawiske kwacha"
},
"MYR": {
- "name": "malaysisk ringgit"
+ "name": "malaysiske ringgit"
},
"MVR": {
- "name": "maldivisk rufiyaa"
+ "name": "maldiviske rufiyaa"
},
"MAD": {
- "name": "marokkansk dirham"
+ "name": "marokkanske dirham"
},
"MRO": {
- "name": "mauritansk ouguiya"
+ "name": "mauritanske ouguiya"
},
"MUR": {
- "name": "mauritansk rupi"
+ "name": "mauritanske rupiar"
},
"MXN": {
- "name": "meksikansk peso",
- "symbol": "MX$"
+ "name": "meksikanske pesos"
},
"MDL": {
- "name": "moldovsk leu"
+ "name": "moldovske leuar"
},
"MNT": {
- "name": "mongolsk tugrik"
+ "name": "mongolske tugrik"
},
"MZN": {
- "name": "mosambikisk metical"
+ "name": "mosambikiske metical"
},
"MMK": {
- "name": "myanmarsk kyat"
+ "name": "myanmarske kyat"
},
"NAD": {
- "name": "namibisk dollar"
+ "name": "namibiske dollar"
},
"ANG": {
- "name": "nederlansk antillegylden"
+ "name": "nederlandske antillegylden"
},
"NPR": {
- "name": "nepalsk rupi"
- },
- "NZD": {
- "name": "new zealandsk dollar",
- "symbol": "NZ$"
+ "name": "nepalske rupiar"
},
"NIO": {
- "name": "nicaraguansk cordoba oro"
+ "name": "nicaraguanske córdoba"
},
"NGN": {
- "name": "nigeriansk naira"
+ "name": "nigerianske naira"
},
"KPW": {
- "name": "nordkoreansk won"
+ "name": "nordkoreanske won"
},
"NOK": {
- "name": "norsk krone",
+ "name": "norske kroner",
"symbol": "kr"
},
+ "TWD": {
+ "name": "nye taiwanske dollar"
+ },
+ "NZD": {
+ "name": "nyzealandske dollar"
+ },
"OMR": {
- "name": "omansk rial"
+ "name": "omanske rial"
},
"PKR": {
- "name": "pakistansk rupi"
+ "name": "pakistanske rupiar"
},
"PAB": {
- "name": "panamansk balboa"
+ "name": "panamanske balboa"
},
"PGK": {
- "name": "papuansk kina"
+ "name": "papuanske kina"
},
"PYG": {
- "name": "paraguayansk guarani"
+ "name": "paraguayanske guaraní"
},
"PEN": {
- "name": "peruansk nuevo sol"
+ "name": "peruanske sol"
},
"PLN": {
- "name": "polsk zloty"
+ "name": "polske zloty"
},
"QAR": {
- "name": "qatarsk rial"
+ "name": "qatarske rial"
},
"RON": {
- "name": "rumensk leu"
+ "name": "rumenske leuar"
},
"RUB": {
- "name": "russisk rubel"
+ "name": "russiske rublar"
},
"RWF": {
- "name": "rwandisk franc"
+ "name": "rwandiske franc"
},
"SBD": {
- "name": "salomonsk dollar"
+ "name": "salomonske dollar"
},
"SVC": {
- "name": "salvadoransk colon"
+ "name": "salvadoranske colon"
+ },
+ "WST": {
+ "name": "samoanske tala"
},
"SHP": {
- "name": "sankthelensk pund"
+ "name": "sankthelenske pund"
},
"STD": {
- "name": "Sao Tome og Principe-dobra"
+ "name": "saotomesiske dobra"
},
"SAR": {
- "name": "saudiarabisk rial"
+ "name": "saudiarabiske rial"
+ },
+ "XAF": {
+ "name": "sentralafrikanske CFA-franc"
},
"RSD": {
- "name": "serbisk dinar"
+ "name": "serbiske dinarar"
},
"SCR": {
- "name": "seychellisk rupi"
+ "name": "seychelliske rupiar"
},
"SLL": {
- "name": "sierraleonsk leone"
+ "name": "sierraleonske leone"
},
"SGD": {
- "name": "singaporsk dollar"
+ "name": "singaporske dollar"
},
"SOS": {
- "name": "somalisk shilling"
- },
- "SSP": {
- "name": "South Sudanese Pound"
+ "name": "somaliske shilling"
},
"LKR": {
- "name": "srilankisk rupi"
+ "name": "srilankiske rupiar"
},
"SDG": {
- "name": "sudansk pund"
+ "name": "sudanske pund"
},
"SRD": {
- "name": "surinamsk dollar"
+ "name": "surinamske dollar"
},
"CHF": {
- "name": "sveitsisk franc"
+ "name": "sveitsiske franc"
},
"SEK": {
- "name": "svensk krone"
+ "name": "svenske kroner"
},
"SZL": {
- "name": "swazilandsk lilangeni"
+ "name": "swazilandske lilangeni"
},
"SYP": {
- "name": "syrisk pund"
+ "name": "syriske pund"
},
"ZAR": {
- "name": "sørafrikansk rand"
+ "name": "sørafrikanske rand"
},
"KRW": {
- "name": "sørkoreansk won",
- "symbol": "â‚©"
+ "name": "sørkoreanske won"
},
- "TJS": {
- "name": "tadsjikisk somoni"
+ "SSP": {
+ "name": "sørsudanske pund"
},
- "TWD": {
- "name": "taiwansk ny dollar",
- "symbol": "NT$"
+ "TJS": {
+ "name": "tadsjikiske somoni"
},
"TZS": {
- "name": "tanzaniansk shilling"
+ "name": "tanzanianske shilling"
},
"THB": {
- "name": "thailandsk baht"
+ "name": "thailandske baht"
},
"TOP": {
- "name": "tongansk paʻanga"
+ "name": "tonganske paʻanga"
},
"TTD": {
- "name": "trinidadisk dollar"
+ "name": "trinidadiske dollar"
},
"CZK": {
- "name": "tsjekkisk koruna"
+ "name": "tsjekkiske koruna"
},
"TND": {
- "name": "tunisisk dinar"
+ "name": "tunisiske dinarar"
},
"TMT": {
- "name": "Turkmenistani Manat"
+ "name": "turkmenske manat"
},
"TRY": {
- "name": "tyrkisk lire"
- },
- "AED": {
- "name": "UAE dirham"
+ "name": "tyrkiske lire"
},
"UGX": {
- "name": "ugandisk shilling"
+ "name": "ugandiske shilling"
},
"UAH": {
- "name": "ukrainsk hryvnia"
+ "name": "ukrainske hryvnia"
},
"HUF": {
- "name": "ungarsk forint"
+ "name": "ungarske forintar"
},
"UYU": {
- "name": "uruguayansk peso"
+ "name": "uruguayanske pesos"
},
"UZS": {
- "name": "usbekisk sum"
+ "name": "usbekiske sum"
},
"VUV": {
- "name": "vanuatuisk vatu"
+ "name": "vanuatuiske vatu"
},
"VEF": {
- "name": "venezuelansk bolivar"
+ "name": "venezuelanske bolivar"
},
- "WST": {
- "name": "vestsamoisk tala"
+ "XOF": {
+ "name": "vestafrikanske CFA-franc",
+ "symbol": "CFA"
},
"VND": {
- "name": "vietnamesisk dong",
- "symbol": "â‚«"
+ "name": "vietnamesiske dong"
},
"ZMW": {
- "name": "zambisk kwacha"
+ "name": "zambiske kwacha"
},
"ZWL": {
"name": "Zimbabwean Dollar (2009)"
diff --git a/vendor/commerceguys/intl/resources/currency/nyn.json b/vendor/commerceguys/intl/resources/currency/nyn.json
index f084eb1cf..880f56d50 100644
--- a/vendor/commerceguys/intl/resources/currency/nyn.json
+++ b/vendor/commerceguys/intl/resources/currency/nyn.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -369,7 +366,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/or.json b/vendor/commerceguys/intl/resources/currency/or.json
new file mode 100644
index 000000000..640567dd6
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/or.json
@@ -0,0 +1,493 @@
+{
+ "AOA": {
+ "name": "ଅଙà­à¬—ୋଲିୟ କୱାନଜା"
+ },
+ "AMD": {
+ "name": "ଅରà­à¬®à­‡à¬¨à¬¿à­Ÿ ଡà­à¬°à¬¾à¬®à­"
+ },
+ "AUD": {
+ "name": "ଅଷà­à¬Ÿà­à¬°à­‡à¬²à¬¿à­Ÿ ଡଲାରà­",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "ଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡à¬¿à­Ÿ କà­à¬°à­‹à¬¨à¬¾"
+ },
+ "AZN": {
+ "name": "ଆଜେରବାଇଜାନି ମନତà­"
+ },
+ "AFN": {
+ "name": "ଆଫଘାନୀୟ ଆଫଘାନି"
+ },
+ "AWG": {
+ "name": "ଆରà­à¬¬à¬¿à­Ÿ ଫà­à¬²à­‹à¬°à¬¿à­Ÿ"
+ },
+ "ARS": {
+ "name": "ଆରà­à¬œà­‡à¬£à­à¬Ÿà¬¿à¬¨à¬¿à­Ÿ ପେସୋ"
+ },
+ "DZD": {
+ "name": "ଆଲଗେରିୟ ଦିନାରà­"
+ },
+ "ALL": {
+ "name": "ଆଲବାନିୟ ଲେକà­"
+ },
+ "EGP": {
+ "name": "ଇଜିପà­à¬Ÿà¬¿à­Ÿ ପାଉଣà­à¬¡à­"
+ },
+ "IDR": {
+ "name": "ଇଣà­à¬¡à­‹à¬¨à­‡à¬¸à¬¿à­Ÿ ରà­à¬ªà¬¿à¬†à¬¹"
+ },
+ "IQD": {
+ "name": "ଇରାକି ଦିନାରà­"
+ },
+ "IRR": {
+ "name": "ଇରିୟ ରିଆଲà­"
+ },
+ "ILS": {
+ "name": "ଇସà­à¬°à¬¾à¬‡à¬²à¬¿ ନà­à­Ÿà­ ସେକେଲà­",
+ "symbol": "₪"
+ },
+ "UZS": {
+ "name": "ଉଜବେକିସà­à¬¤à¬¾à¬¨à¬¿à­Ÿ ସୋମà­"
+ },
+ "RUB": {
+ "name": "ଋଷିୟ ରà­à¬¬à¬²à­‡"
+ },
+ "ETB": {
+ "name": "à¬à¬¥à¬¿à¬“ପିୟୋ ବିରà­"
+ },
+ "ERN": {
+ "name": "à¬à¬°à¬¿à¬Ÿà­à¬°à­‡à­Ÿ ନାକଫା"
+ },
+ "OMR": {
+ "name": "ଓମାନି ରିଆଲà­"
+ },
+ "COP": {
+ "name": "କଲୋମà­à¬µà¬¿à­Ÿ ପେସୋ"
+ },
+ "KZT": {
+ "name": "କାଜାଖସà­à¬¤à¬¾à¬¨à¬¿à­Ÿ ତେନଗେ"
+ },
+ "CAD": {
+ "name": "କାନେଡିୟ ଡଲାରà­",
+ "symbol": "CA$"
+ },
+ "KHR": {
+ "name": "କାମà­à¬µà­‹à¬¡à¬¿à­Ÿ ରିà¬à¬²à­"
+ },
+ "KYD": {
+ "name": "କାୟମାନୠଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ ଡଲାରà­"
+ },
+ "CUC": {
+ "name": "କà­à¬¬à¬¾à¬¨à­ କୋନଭେରà­à¬Ÿà¬¿à¬¬à­à¬²à­‡ ପେସୋ"
+ },
+ "CUP": {
+ "name": "କà­à¬¬à¬¾à¬¨à­ ପେସୋ"
+ },
+ "KWD": {
+ "name": "କà­à­±à­‡à¬¤à¬¿ ଦିନାର"
+ },
+ "KES": {
+ "name": "କେନୟାନୠସିଲିଂ"
+ },
+ "XAF": {
+ "name": "କେନà­à¬¦à­à¬°à­€à­Ÿ ଆଫà­à¬°à¬¿à¬•à¬¿à­Ÿ CFA ଫà­à¬°à¬¾à¬™à­à¬•à­",
+ "symbol": "FCFA"
+ },
+ "CVE": {
+ "name": "କେପୠଭେରà­à¬¦à­‡à­Ÿ à¬à¬¸à¬•à­à¬¡à­‹"
+ },
+ "CDF": {
+ "name": "କୋନଗୋଲେସେ ଫà­à¬°à¬¾à¬™à­à¬•à­"
+ },
+ "KMF": {
+ "name": "କୋମୋରିୟ ଫà­à¬°à¬¾à¬™à­à¬•à­"
+ },
+ "CRC": {
+ "name": "କୋଷà­à¬Ÿà¬¾ ରିକିୟ କୋଲୋନà­"
+ },
+ "KGS": {
+ "name": "କà­à­Ÿà¬¾à¬°à¬—à­à­Ÿà¬¸à­à¬¤à¬¾à¬¨à¬¿à­Ÿ ସୋମà­"
+ },
+ "HRK": {
+ "name": "କà­à¬°à­‹à¬†à¬Ÿà¬¿à­Ÿ କà­à¬¨à¬¾"
+ },
+ "QAR": {
+ "name": "କà­à¬µà¬¾à¬¤à¬¾à¬°à¬¿ ରିଆଲà­"
+ },
+ "GMD": {
+ "name": "ଗାମବିୟ ଡାଲାସି"
+ },
+ "GIP": {
+ "name": "ଗିବà­à¬°à¬¾à¬²à¬Ÿà¬¾à¬°à­ ପାଉଣà­à¬¡à­"
+ },
+ "GNF": {
+ "name": "ଗà­à¬‡à¬¨à­‡à­Ÿ ଫà­à¬°à¬¾à¬™à­à¬•à­"
+ },
+ "GTQ": {
+ "name": "ଗà­à¬à¬¤à­‡à¬®à¬¾à¬²à¬¿à­Ÿ କà­à¬µà­‡à¬¤à¬œà¬¾à¬²à­"
+ },
+ "GYD": {
+ "name": "ଗà­à­Ÿà¬¾à¬¨à¬¾à¬à¬¸à­‡ ଡଲାରà­"
+ },
+ "GHS": {
+ "name": "ଘାନିୟ ସେଡି"
+ },
+ "CNY": {
+ "name": "ଚିନୀୟ à­Ÿà­à¬†à¬¨à­",
+ "symbol": "CNÂ¥"
+ },
+ "CLP": {
+ "name": "ଚିଲିୟ ପେସୋ"
+ },
+ "CZK": {
+ "name": "ଚେକୠକୋରà­à¬¨à¬¾"
+ },
+ "ZMW": {
+ "name": "ଜମà­à¬µà¬¿à­Ÿ କୱାଚା"
+ },
+ "GEL": {
+ "name": "ଜରà­à¬œà¬¿à­Ÿ ଲାରି"
+ },
+ "JOD": {
+ "name": "ଜରà­à¬¡à¬¿à­Ÿà¬¾à¬¨à­ ଦିନାରà­"
+ },
+ "JPY": {
+ "name": "ଜାପାନୀୟ ୟେନà­",
+ "symbol": "Â¥"
+ },
+ "JMD": {
+ "name": "ଜାମାଇକିୟ ଡଲାରà­"
+ },
+ "INR": {
+ "name": "ଟଙà­à¬•à¬¾",
+ "symbol": "₹"
+ },
+ "TTD": {
+ "name": "ଟà­à¬°à¬¿à¬¨à¬¿à¬¡à¬¾à¬¡à­ à¬à¬¬à¬‚ ଟୋବାଗୋ ଡଲାରà­"
+ },
+ "DJF": {
+ "name": "ଡଜିବୌଟିୟ ଫà­à¬°à¬¾à¬™à­à¬•à­"
+ },
+ "DOP": {
+ "name": "ଡୋମିନିକିୟ ପେସୋ"
+ },
+ "TJS": {
+ "name": "ତାଜିକିସà­à¬¤à¬¾à¬¨à¬¿à­Ÿ ସୋମୋନି"
+ },
+ "TZS": {
+ "name": "ତାନଜାନିୟ ସିଲିଂ"
+ },
+ "TND": {
+ "name": "ତà­à¬¨à¬¿à¬¸à¬¿à­Ÿ ଦିନାରà­"
+ },
+ "TMT": {
+ "name": "ତà­à¬°à­à¬•à¬®à­‡à¬¨à¬¿à¬¸à­à¬¤à¬¾à¬¨à¬¿à­Ÿ ମନତ"
+ },
+ "TRY": {
+ "name": "ତà­à¬°à­à¬•à¬¿à­Ÿ ଲିରା"
+ },
+ "TOP": {
+ "name": "ତୋନଗିୟ ପାଙà­à¬—à­"
+ },
+ "THB": {
+ "name": "ଥାଇ ବାହତà­"
+ },
+ "ZAR": {
+ "name": "ଦକà­à¬·à¬¿à¬£ ଆଫà­à¬°à¬¿à¬•à¬¿à­Ÿ ରାଣà­à¬¡à­"
+ },
+ "KRW": {
+ "name": "ଦକà­à¬·à¬¿à¬£ କୋରିୟ ୱୋନà­",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "ଦକà­à¬·à¬¿à¬£ ସà­à¬¦à¬¾à¬¨à­‡à¬¸à­‡ ପାଉଣà­à¬¡à­"
+ },
+ "DKK": {
+ "name": "ଦାନିସୠକà­à¬°à­‹à¬¨à­‡"
+ },
+ "NOK": {
+ "name": "ନରୱେଜିୟ କà­à¬°à­‹à¬¨à­‡"
+ },
+ "NGN": {
+ "name": "ନାଇଜେରିୟ ନାଇରା"
+ },
+ "NAD": {
+ "name": "ନାମିବିୟ ଡଲାରà­"
+ },
+ "NIO": {
+ "name": "ନିକାରାଗà­à¬†à¬¨à­ କୋରà­à¬¡à­‹à¬¬à¬¾"
+ },
+ "ANG": {
+ "name": "ନେଦରଲà­à­Ÿà¬¾à¬£à­à¬¡à­ ଆଣà­à¬Ÿà¬¿à¬²à¬¿à­Ÿ ଗà­à¬‡à¬²à¬¡à­‡à¬°à­"
+ },
+ "NPR": {
+ "name": "ନେପାଳିୟ ରà­à¬ªà¬¿"
+ },
+ "TWD": {
+ "name": "ନà­à­Ÿà­ ତାଇୱାନୠଡଲାରà­",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ନà­à­Ÿà­à¬œà¬²à­à­Ÿà¬¾à¬£à­à¬¡à­ ଡଲାରà­",
+ "symbol": "NZ$"
+ },
+ "PGK": {
+ "name": "ପପà­à¬† ନà­à­Ÿà­ ଗà­à¬‡à¬¨à¬¿à­Ÿ କିନା"
+ },
+ "XOF": {
+ "name": "ପଶà­à¬šà¬¿à¬® ଆଫà­à¬°à¬¿à¬•à¬¿à­Ÿ CFA ଫà­à¬°à¬¾à¬™à­à¬•à­",
+ "symbol": "CFA"
+ },
+ "KPW": {
+ "name": "ପଶà­à¬šà¬¿à¬® କୋରିୟ ୱୋନà­"
+ },
+ "PKR": {
+ "name": "ପାକିସà­à¬¤à¬¾à¬¨à¬¿ ରà­à¬ªà¬¿"
+ },
+ "PAB": {
+ "name": "ପାନାମାନିୟ ବାଲବୋଆ"
+ },
+ "PYG": {
+ "name": "ପାରାଗà­à¬†à­Ÿà¬¾à¬¨à­ ଗà­à¬†à¬°à¬¾à¬¨à¬¿"
+ },
+ "XCD": {
+ "name": "ପୂରà­à¬¬ କାରିବିୟ ଡଲାରà­",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "ପେରà­à¬­à¬¿à­Ÿ ସୋଲà­"
+ },
+ "PLN": {
+ "name": "ପୋଲିସୠଜଲୋଟି"
+ },
+ "FKP": {
+ "name": "ଫାଲà­à¬•à¬²à­à­Ÿà¬¾à¬£à­à¬¡à­ ଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ ପାଉଣà­à¬¡à­"
+ },
+ "FJD": {
+ "name": "ଫିଜିୟ ଡଲାରà­"
+ },
+ "PHP": {
+ "name": "ଫିଲିପିନି ପେସୋ"
+ },
+ "BDT": {
+ "name": "ବଙà­à¬—ଳାଦେଶୀ ଟାକା"
+ },
+ "BGN": {
+ "name": "ବଲଗେରୀୟ ଲେଭà­"
+ },
+ "BBD": {
+ "name": "ବାରà­à¬¬à¬¡à¬¿à­Ÿ ଡଲାରà­"
+ },
+ "BHD": {
+ "name": "ବାହରାଇନି ଦିନାର"
+ },
+ "BSD": {
+ "name": "ବାହାମିୟ ଡଲାରà­"
+ },
+ "BIF": {
+ "name": "ବà­à¬°à­à¬¨à¬¡à¬¿à­Ÿ ଫà­à¬°à¬¾à¬™à­à¬•à­"
+ },
+ "BMD": {
+ "name": "ବେରମà­à¬£à­à¬¡à¬¿à­Ÿ ଡଲାରà­"
+ },
+ "BYN": {
+ "name": "ବେଲାରà­à¬¸à¬¿à­Ÿ ରà­à¬¬à¬²à­‡"
+ },
+ "BZD": {
+ "name": "ବେଲିଜେ ଡଲାରà­"
+ },
+ "BWP": {
+ "name": "ବୋଟସୱାନିୟ ପà­à¬²à¬¾"
+ },
+ "BOB": {
+ "name": "ବୋଲିଭିୟ ବୋଲିଭିଆନୋ"
+ },
+ "BAM": {
+ "name": "ବୋସନିଆ-ହେରଜେବୋଭିନା କନଭେରିଟେବଲୠମାରà­à¬•"
+ },
+ "BRL": {
+ "name": "ବà­à¬°à¬¾à¬œà¬¿à¬²à¬¿à­Ÿ ପà­à¬°à¬•à­ƒà¬¤",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¸à­ ପାଉଣà­à¬¡à­",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ବà­à¬°à­à¬¨à­‡à¬‡ ଡଲାରà­"
+ },
+ "VUV": {
+ "name": "ଭାନà­à¬†à¬Ÿà­ ଭାଟà­"
+ },
+ "VND": {
+ "name": "ଭୀà¬à¬¤à¬¨à¬¾à¬®à­€à­Ÿ ଡଂ",
+ "symbol": "â‚«"
+ },
+ "BTN": {
+ "name": "ଭà­à¬Ÿà¬¾à¬¨à­€à­Ÿ ନଗà­à¬²à¬Ÿà­à¬°à­à¬®à­"
+ },
+ "VEF": {
+ "name": "ଭେନେଜà­à¬à¬²à¬¾à¬¨à­ ବୋଲିଭାରà­"
+ },
+ "MNT": {
+ "name": "ମଙà­à¬—ୋଳିୟ ତà­à¬—à­à¬°à¬¿à¬•à­"
+ },
+ "MWK": {
+ "name": "ମଲୱିୟ କୱାଚା"
+ },
+ "MRO": {
+ "name": "ମାଉରିଟାନିୟ ଓୟà­à¬—à­à¬‡à­Ÿà¬¾"
+ },
+ "MOP": {
+ "name": "ମାକାନେସିୟ ପାଟାକା"
+ },
+ "MVR": {
+ "name": "ମାଲଡିଭିୟ ରà­à¬«à¬¿à­Ÿà¬¾"
+ },
+ "MGA": {
+ "name": "ମାଲାଗାସେ ଆରିଆରେ"
+ },
+ "MYR": {
+ "name": "ମାଲେସିୟ ରିଂଇଟà­"
+ },
+ "MKD": {
+ "name": "ମାସେଡୋନିୟ ଡିନାରà­"
+ },
+ "MXN": {
+ "name": "ମେକà­à¬¸à¬¿à¬•à¬¿à­Ÿ ପେସୋ",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "ମୋଜାମବିକାନୠମେଟିକାଲà­"
+ },
+ "MAD": {
+ "name": "ମୋରୋକିୟ ଡିରହାମà­"
+ },
+ "MDL": {
+ "name": "ମୋଲଡୋଭାନୠଲେୟà­"
+ },
+ "MUR": {
+ "name": "ମୌରିସିୟ ରà­à¬ªà¬¿"
+ },
+ "MMK": {
+ "name": "ମà­à­Ÿà¬¾à¬¨à¬®à¬¾à¬°à­ କà­à­Ÿà¬¾à¬Ÿà­"
+ },
+ "AED": {
+ "name": "ଯà­à¬•à­à¬¤ ଆରବ à¬à¬®à¬¿à¬°à­‡à¬Ÿà¬¸à­ ଦିରହାମà­"
+ },
+ "USD": {
+ "name": "ଯà­à¬•à­à¬¤à¬°à¬¾à¬·à­à¬Ÿà­à¬° ଡଲାରà­",
+ "symbol": "$"
+ },
+ "UAH": {
+ "name": "à­Ÿà­à¬•à­à¬°à­‡à¬¨à¬¿à­Ÿ ହରୟଭନିଆ"
+ },
+ "UGX": {
+ "name": "à­Ÿà­à¬—ାନଡିୟ ସିଲିଂ"
+ },
+ "UYU": {
+ "name": "à­Ÿà­à¬°à­à¬—à­à¬†à­Ÿà¬¾à¬¨à­ ପେସୋ"
+ },
+ "EUR": {
+ "name": "à­Ÿà­à¬°à­‹",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "ୟେମେନି ରିଆଲà­"
+ },
+ "RWF": {
+ "name": "ରୱାନାଦାନୠଫà­à¬°à¬¾à¬™à­à¬•à­"
+ },
+ "RON": {
+ "name": "ରୋମାନିୟ ଲେଉ"
+ },
+ "LAK": {
+ "name": "ଲାଓଟିୟ କିପà­"
+ },
+ "LRD": {
+ "name": "ଲିବେରିୟ ଡଲାରà­"
+ },
+ "LYD": {
+ "name": "ଲିବà­à­Ÿ ଦିନାରà­"
+ },
+ "LBP": {
+ "name": "ଲେବାନେସେ ପାଉଣà­à¬¡à­"
+ },
+ "LKR": {
+ "name": "ଶà­à¬°à­€à¬²à¬™à­à¬•à¬¿à­Ÿ ରà­à¬ªà¬¿"
+ },
+ "WST": {
+ "name": "ସମୋୟ ତାଲା"
+ },
+ "RSD": {
+ "name": "ସରà­à¬¬à¬¿à­Ÿ ଦିନାରà­"
+ },
+ "STD": {
+ "name": "ସାଓ ଟୋମେ à¬à¬¬à¬‚ ପà­à¬°à¬¿à¬¸à¬¿à¬ªà­‡ ଡୋବà­à¬°à¬¾"
+ },
+ "SLL": {
+ "name": "ସିà¬à¬°à¬¾ ଲେଓନେଆନୠଲେଓନି"
+ },
+ "SGD": {
+ "name": "ସିଂଗାପà­à¬°à­ ଡଲାରà­"
+ },
+ "SYP": {
+ "name": "ସିରିୟ ପାଉଣà­à¬¡à­"
+ },
+ "CHF": {
+ "name": "ସà­à¬‡à¬¸à­ ଫà­à¬°à¬¾à¬™à­à¬•à­"
+ },
+ "SDG": {
+ "name": "ସà­à¬¦à¬¾à¬¨à­€à­Ÿ ପାଉଣà­à¬¡à­"
+ },
+ "SRD": {
+ "name": "ସà­à¬°à¬¿à¬¨à¬¾à¬®à­‡à¬¸à­‡ ଡଲାରà­"
+ },
+ "SHP": {
+ "name": "ସେଣà­à¬Ÿà­. ହେଲେନା ପାଉଣà­à¬¡à­"
+ },
+ "SCR": {
+ "name": "ସେୟଚେଲୋଇସୠରà­à¬ªà¬¿"
+ },
+ "SOS": {
+ "name": "ସୋମାଲି ସିଲିଂ"
+ },
+ "SBD": {
+ "name": "ସୋଲୋମୋନ ଦà­à¬µà­€à¬ªà¬ªà­à¬žà­à¬œ ଡଲାରà­"
+ },
+ "SAR": {
+ "name": "ସୌଦି ରିୟାଲà­"
+ },
+ "SZL": {
+ "name": "ସà­à¬µà¬¾à¬œà¬¿ ଲିଲାନଜେନି"
+ },
+ "SEK": {
+ "name": "ସà­à­±à­‡à¬¡à¬¿à­Ÿ କà­à¬°à­‹à¬¨à¬¾"
+ },
+ "HKD": {
+ "name": "ହଂ କଂ ଡଲାରà­",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "ହଙà­à¬—େରିୟ ଫୋରିଣà­à¬Ÿ"
+ },
+ "HTG": {
+ "name": "ହାଇତିୟ ଗୌରଡେ"
+ },
+ "HNL": {
+ "name": "ହୋଣà­à¬¡à­à¬°à¬¿à­Ÿ ଲେମପିରା"
+ },
+ "XPF": {
+ "name": "CFP ଫà­à¬°à¬¾à¬™à­à¬•à­",
+ "symbol": "CFPF"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pa.json b/vendor/commerceguys/intl/resources/currency/pa.json
index ad53223ee..e8e31d44c 100644
--- a/vendor/commerceguys/intl/resources/currency/pa.json
+++ b/vendor/commerceguys/intl/resources/currency/pa.json
@@ -313,7 +313,7 @@
"symbol": "EC$"
},
"PEN": {
- "name": "ਪੇਰੂਵੀਅਨ ਨਿਊਵੋ ਸੋਲ"
+ "name": "ਪੇਰੂਵੀਅਨ ਸੋਲ"
},
"PYG": {
"name": "ਪੈਰਾਗà©à¨µà¨¾à¨‡à¨¨ ਗà©à¨†à¨°à¨¾à¨¨à©€"
@@ -369,9 +369,6 @@
"BYN": {
"name": "ਬੇਲਾਰੂਸੀ ਰੂਬਲ"
},
- "BYR": {
- "name": "ਬੇਲਾਰੂਸੀ ਰੂਬਲ (2000–2016)"
- },
"BZD": {
"name": "ਬੇਲੀਜ਼ ਡਾਲਰ"
},
diff --git a/vendor/commerceguys/intl/resources/currency/pl.json b/vendor/commerceguys/intl/resources/currency/pl.json
index c9991b1f3..acfb0fdbc 100644
--- a/vendor/commerceguys/intl/resources/currency/pl.json
+++ b/vendor/commerceguys/intl/resources/currency/pl.json
@@ -325,9 +325,6 @@
"TWD": {
"name": "nowy dolar tajwański"
},
- "PEN": {
- "name": "nowy sol peruwiański"
- },
"ILS": {
"name": "nowy szekel izraelski"
},
@@ -404,9 +401,6 @@
"BYN": {
"name": "rubel białoruski"
},
- "BYR": {
- "name": "rubel białoruski (2000–2016)"
- },
"RUB": {
"name": "rubel rosyjski"
},
@@ -434,6 +428,9 @@
"SCR": {
"name": "rupia seszelska"
},
+ "PEN": {
+ "name": "sol peruwiański"
+ },
"KGS": {
"name": "som kirgiski"
},
diff --git a/vendor/commerceguys/intl/resources/currency/pt-AO.json b/vendor/commerceguys/intl/resources/currency/pt-AO.json
index 7c949e7aa..987ab162e 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-AO.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-AO.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -254,37 +254,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -294,7 +294,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -315,7 +315,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -333,9 +333,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -346,19 +343,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -367,23 +364,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -408,13 +405,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -445,6 +439,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -489,10 +486,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-CH.json b/vendor/commerceguys/intl/resources/currency/pt-CH.json
index e554f1fe6..12d872afa 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-CH.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-CH.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -345,19 +342,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -366,23 +363,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -407,13 +404,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -444,6 +438,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -488,10 +485,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-CV.json b/vendor/commerceguys/intl/resources/currency/pt-CV.json
index 0eea46f61..d71dae713 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-CV.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-CV.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,27 +167,27 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano",
+ "name": "escudo cabo-verdiano",
"symbol": "​"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -214,16 +214,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -236,7 +236,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -254,37 +254,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -294,7 +294,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -315,7 +315,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -333,9 +333,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -346,19 +343,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -367,23 +364,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -408,13 +405,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -445,6 +439,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -489,10 +486,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-GQ.json b/vendor/commerceguys/intl/resources/currency/pt-GQ.json
index e554f1fe6..12d872afa 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-GQ.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-GQ.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -345,19 +342,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -366,23 +363,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -407,13 +404,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -444,6 +438,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -488,10 +485,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-GW.json b/vendor/commerceguys/intl/resources/currency/pt-GW.json
index e554f1fe6..12d872afa 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-GW.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-GW.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -345,19 +342,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -366,23 +363,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -407,13 +404,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -444,6 +438,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -488,10 +485,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-LU.json b/vendor/commerceguys/intl/resources/currency/pt-LU.json
index e554f1fe6..12d872afa 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-LU.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-LU.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -345,19 +342,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -366,23 +363,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -407,13 +404,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -444,6 +438,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -488,10 +485,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-MO.json b/vendor/commerceguys/intl/resources/currency/pt-MO.json
index f625f9ae0..634adb2e3 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-MO.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-MO.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -346,19 +343,19 @@
"symbol": "MOP$"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -367,23 +364,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -408,13 +405,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -445,6 +439,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -489,10 +486,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-MZ.json b/vendor/commerceguys/intl/resources/currency/pt-MZ.json
index df00f7b90..7d32a696c 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-MZ.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-MZ.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique",
@@ -333,9 +333,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -346,19 +343,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -367,23 +364,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -408,13 +405,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -445,6 +439,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -489,10 +486,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-PT.json b/vendor/commerceguys/intl/resources/currency/pt-PT.json
index e554f1fe6..12d872afa 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-PT.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-PT.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -345,19 +342,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -366,23 +363,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -407,13 +404,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -444,6 +438,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -488,10 +485,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-ST.json b/vendor/commerceguys/intl/resources/currency/pt-ST.json
index 9e1aadb6c..8165ccfc0 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-ST.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-ST.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe",
@@ -93,29 +93,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -141,13 +141,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -168,26 +168,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -214,16 +214,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -236,7 +236,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -254,37 +254,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -294,7 +294,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -315,7 +315,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -333,9 +333,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -346,19 +343,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -367,23 +364,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -408,13 +405,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -445,6 +439,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -489,10 +486,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt-TL.json b/vendor/commerceguys/intl/resources/currency/pt-TL.json
index e554f1fe6..12d872afa 100644
--- a/vendor/commerceguys/intl/resources/currency/pt-TL.json
+++ b/vendor/commerceguys/intl/resources/currency/pt-TL.json
@@ -10,16 +10,16 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa do Panamá"
+ "name": "balboa do Panamá"
},
"ETB": {
"name": "Birr etíope"
},
"VEF": {
- "name": "Bolívar venezuelano"
+ "name": "bolívar"
},
"BOB": {
- "name": "Boliviano"
+ "name": "boliviano"
},
"GHS": {
"name": "Cedi de Gana"
@@ -28,31 +28,31 @@
"name": "Colom salvadorenho"
},
"CRC": {
- "name": "Colon costa-riquenho"
+ "name": "colon costa-riquenho"
},
"NIO": {
- "name": "Córdoba nicaraguano"
+ "name": "córdoba nicaraguano"
},
"CZK": {
- "name": "Coroa checa"
+ "name": "coroa checa"
},
"DKK": {
- "name": "Coroa dinamarquesa"
+ "name": "coroa dinamarquesa"
},
"ISK": {
- "name": "Coroa islandesa"
+ "name": "coroa islandesa"
},
"NOK": {
- "name": "Coroa norueguesa"
+ "name": "coroa norueguesa"
},
"SEK": {
- "name": "Coroa sueca"
+ "name": "coroa sueca"
},
"GMD": {
"name": "Dalasi da Gâmbia"
},
"DZD": {
- "name": "Dinar argelino"
+ "name": "dinar argelino"
},
"BHD": {
"name": "Dinar baremita"
@@ -67,22 +67,22 @@
"name": "Dinar kuwaitiano"
},
"LYD": {
- "name": "Dinar líbio"
+ "name": "dinar líbio"
},
"MKD": {
- "name": "Dinar macedónio"
+ "name": "dinar macedónio"
},
"RSD": {
- "name": "Dinar sérvio"
+ "name": "dinar sérvio"
},
"TND": {
- "name": "Dinar tunisino"
+ "name": "dinar tunisino"
},
"AED": {
"name": "Dirham dos Emirados Ãrabes Unidos"
},
"MAD": {
- "name": "Dirham marroquino"
+ "name": "dirham marroquino"
},
"STD": {
"name": "Dobra de São Tomé e Príncipe"
@@ -92,29 +92,29 @@
"symbol": "AU$"
},
"BBD": {
- "name": "Dólar barbadense"
+ "name": "dólar barbadense"
},
"BZD": {
- "name": "Dólar belizense"
+ "name": "dólar belizense"
},
"BMD": {
- "name": "Dólar bermudense"
+ "name": "dólar bermudense"
},
"BND": {
"name": "Dólar bruneíno"
},
"CAD": {
- "name": "Dólar canadiano",
+ "name": "dólar canadiano",
"symbol": "CA$"
},
"GYD": {
- "name": "Dólar da Guiana"
+ "name": "dólar da Guiana"
},
"NAD": {
"name": "Dólar da Namíbia"
},
"BSD": {
- "name": "Dólar das Bahamas"
+ "name": "dólar das Bahamas"
},
"XCD": {
"name": "Dólar das Caraíbas Orientais",
@@ -140,13 +140,13 @@
"name": "Dólar de Trindade e Tobago"
},
"SRD": {
- "name": "Dólar do Suriname"
+ "name": "dólar do Suriname"
},
"ZWL": {
"name": "Dólar do Zimbábue (2009)"
},
"USD": {
- "name": "Dólar dos Estados Unidos",
+ "name": "dólar dos Estados Unidos",
"symbol": "US$"
},
"JMD": {
@@ -167,26 +167,26 @@
"name": "Dram arménio"
},
"CVE": {
- "name": "Escudo cabo-verdiano"
+ "name": "escudo cabo-verdiano"
},
"EUR": {
- "name": "Euro",
+ "name": "euro",
"symbol": "€"
},
"ANG": {
"name": "Florim das Antilhas Holandesas"
},
"AWG": {
- "name": "Florim de Aruba"
+ "name": "florim de Aruba"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "forint húngaro"
},
"BIF": {
"name": "Franco burundiano"
},
"XOF": {
- "name": "Franco CFA (BCEAO)",
+ "name": "franco CFA (BCEAO)",
"symbol": "CFA"
},
"XAF": {
@@ -213,16 +213,16 @@
"name": "Franco ruandês"
},
"CHF": {
- "name": "Franco suíço"
+ "name": "franco suíço"
},
"HTG": {
"name": "Gourde haitiano"
},
"PYG": {
- "name": "Guarani paraguaio"
+ "name": "guarani paraguaio"
},
"UAH": {
- "name": "Hryvnia da Ucrânia"
+ "name": "hryvnia ucraniano"
},
"JPY": {
"name": "Iene japonês",
@@ -235,7 +235,7 @@
"name": "Kip de Laos"
},
"HRK": {
- "name": "Kuna croata"
+ "name": "kuna croata"
},
"MWK": {
"name": "Kwacha do Malawi"
@@ -253,37 +253,37 @@
"name": "Lari georgiano"
},
"ALL": {
- "name": "Lek albanês"
+ "name": "lek albanês"
},
"HNL": {
- "name": "Lempira das Honduras"
+ "name": "lempira das Honduras"
},
"SLL": {
"name": "Leone de Serra Leoa"
},
"MDL": {
- "name": "Leu moldavo"
+ "name": "leu moldavo"
},
"RON": {
- "name": "Leu romeno"
+ "name": "leu romeno"
},
"BGN": {
- "name": "Lev búlgaro"
+ "name": "lev búlgaro"
},
"FKP": {
- "name": "Libra das Ilhas Falkland"
+ "name": "libra das Ilhas Falkland"
},
"GIP": {
- "name": "Libra de Gibraltar"
+ "name": "libra de Gibraltar"
},
"SHP": {
"name": "Libra de Santa Helena"
},
"EGP": {
- "name": "Libra egípcia"
+ "name": "libra egípcia"
},
"GBP": {
- "name": "Libra esterlina britânica",
+ "name": "libra esterlina britânica",
"symbol": "£"
},
"LBP": {
@@ -293,7 +293,7 @@
"name": "Libra síria"
},
"SDG": {
- "name": "Libra sudanesa"
+ "name": "libra sudanesa"
},
"SSP": {
"name": "Libra sul-sudanesa"
@@ -314,7 +314,7 @@
"name": "Manat do Turquemenistão"
},
"BAM": {
- "name": "Marco bósnio-herzegóvino conversível"
+ "name": "marco bósnio-herzegóvino conversível"
},
"MZN": {
"name": "Metical de Moçambique"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya da Mauritânia"
},
@@ -345,19 +342,19 @@
"name": "Pataca de Macau"
},
"ARS": {
- "name": "Peso argentino"
+ "name": "peso argentino"
},
"CLP": {
- "name": "Peso chileno"
+ "name": "peso chileno"
},
"COP": {
- "name": "Peso colombiano"
+ "name": "peso colombiano"
},
"CUP": {
- "name": "Peso cubano"
+ "name": "peso cubano"
},
"CUC": {
- "name": "Peso cubano conversível"
+ "name": "peso cubano conversível"
},
"DOP": {
"name": "Peso dominicano"
@@ -366,23 +363,23 @@
"name": "Peso filipino"
},
"MXN": {
- "name": "Peso mexicano",
+ "name": "peso mexicano",
"symbol": "MX$"
},
"UYU": {
- "name": "Peso uruguaio"
+ "name": "peso uruguaio"
},
"BWP": {
"name": "Pula de Botswana"
},
"GTQ": {
- "name": "Quetzal da Guatemala"
+ "name": "quetzal da Guatemala"
},
"ZAR": {
"name": "Rand sul-africano"
},
"BRL": {
- "name": "Real brasileiro",
+ "name": "real brasileiro",
"symbol": "R$"
},
"OMR": {
@@ -407,13 +404,10 @@
"name": "Ringgit malaio"
},
"BYN": {
- "name": "Rublo bielorrusso"
- },
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
+ "name": "rublo bielorrusso"
},
"RUB": {
- "name": "Rublo russo"
+ "name": "rublo russo"
},
"MVR": {
"name": "Rupia das Ilhas Maldivas"
@@ -444,6 +438,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruano"
+ },
"KGS": {
"name": "Som do Quirguistão"
},
@@ -488,10 +485,10 @@
"name": "Xelim ugandense"
},
"CNY": {
- "name": "Yuan chinês",
+ "name": "yuan",
"symbol": "CNÂ¥"
},
"PLN": {
- "name": "Zloti polaco"
+ "name": "zloti polaco"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/pt.json b/vendor/commerceguys/intl/resources/currency/pt.json
index 66d141e0a..f377de905 100644
--- a/vendor/commerceguys/intl/resources/currency/pt.json
+++ b/vendor/commerceguys/intl/resources/currency/pt.json
@@ -10,7 +10,7 @@
"symbol": "฿"
},
"PAB": {
- "name": "Balboa panamenha"
+ "name": "Balboa panamenho"
},
"ETB": {
"name": "Birr etíope"
@@ -78,12 +78,12 @@
"TND": {
"name": "Dinar tunisiano"
},
+ "MAD": {
+ "name": "Dirham marroquino"
+ },
"AED": {
"name": "Dirrã dos Emirados Ãrabes Unidos"
},
- "MAD": {
- "name": "Dirrã marroquino"
- },
"STD": {
"name": "Dobra de São Tomé e Príncipe"
},
@@ -115,7 +115,7 @@
"symbol": "CA$"
},
"KYD": {
- "name": "Dólar das Ilhas Caiman"
+ "name": "Dólar das Ilhas Cayman"
},
"SBD": {
"name": "Dólar das Ilhas Salomão"
@@ -180,7 +180,7 @@
"name": "Florim das Antilhas Holandesas"
},
"HUF": {
- "name": "Forint húngaro"
+ "name": "Florim húngaro"
},
"BIF": {
"name": "Franco burundiano"
@@ -198,13 +198,13 @@
"symbol": "CFPF"
},
"KMF": {
- "name": "Franco comorense"
+ "name": "Franco comoriano"
},
"CDF": {
"name": "Franco congolês"
},
"DJF": {
- "name": "Franco djibutiense"
+ "name": "Franco djiboutiano"
},
"GNF": {
"name": "Franco guineano"
@@ -238,7 +238,7 @@
"name": "Kuna croata"
},
"MWK": {
- "name": "Kwacha malawiana"
+ "name": "Kwacha malauiana"
},
"ZMW": {
"name": "Kwacha zambiano"
@@ -270,10 +270,6 @@
"BGN": {
"name": "Lev búlgaro"
},
- "GBP": {
- "name": "Libra britânica",
- "symbol": "£"
- },
"GIP": {
"name": "Libra de Gibraltar"
},
@@ -283,6 +279,10 @@
"EGP": {
"name": "Libra egípcia"
},
+ "GBP": {
+ "name": "Libra esterlina",
+ "symbol": "£"
+ },
"LBP": {
"name": "Libra libanesa"
},
@@ -314,7 +314,7 @@
"name": "Manat turcomeno"
},
"BAM": {
- "name": "Marco bósnio-herzegovino conversível"
+ "name": "Marco conversível da Bósnia e Herzegovina"
},
"MZN": {
"name": "Metical moçambicano"
@@ -332,9 +332,6 @@
"name": "Novo dólar taiwanês",
"symbol": "NT$"
},
- "PEN": {
- "name": "Novo sol peruano"
- },
"MRO": {
"name": "Ouguiya mauritana"
},
@@ -376,7 +373,7 @@
"name": "Pula botsuanesa"
},
"GTQ": {
- "name": "Quetzal guatemalense"
+ "name": "Quetzal guatemalteco"
},
"ZAR": {
"name": "Rand sul-africano"
@@ -409,9 +406,6 @@
"BYN": {
"name": "Rublo bielorrusso"
},
- "BYR": {
- "name": "Rublo bielorrusso (2000–2016)"
- },
"RUB": {
"name": "Rublo russo"
},
@@ -444,6 +438,9 @@
"name": "Sheqel novo israelita",
"symbol": "₪"
},
+ "PEN": {
+ "name": "Sol peruano"
+ },
"KGS": {
"name": "Som quirguiz"
},
diff --git a/vendor/commerceguys/intl/resources/currency/rm.json b/vendor/commerceguys/intl/resources/currency/rm.json
index 1722e52ab..a6841d2c5 100644
--- a/vendor/commerceguys/intl/resources/currency/rm.json
+++ b/vendor/commerceguys/intl/resources/currency/rm.json
@@ -318,9 +318,6 @@
"BGN": {
"name": "nov lev bulgar"
},
- "PEN": {
- "name": "nov sol peruan"
- },
"TRY": {
"name": "nova lira tirca"
},
@@ -395,9 +392,6 @@
"BYN": {
"name": "rubel bieloruss"
},
- "BYR": {
- "name": "rubel bieloruss (2000–2016)"
- },
"RUB": {
"name": "rubel russ (nov)"
},
@@ -442,6 +436,9 @@
"name": "sheqel",
"symbol": "₪"
},
+ "PEN": {
+ "name": "sol peruan"
+ },
"KGS": {
"name": "som kirghis"
},
diff --git a/vendor/commerceguys/intl/resources/currency/rn.json b/vendor/commerceguys/intl/resources/currency/rn.json
index 5f10865c5..9ccbcc9f7 100644
--- a/vendor/commerceguys/intl/resources/currency/rn.json
+++ b/vendor/commerceguys/intl/resources/currency/rn.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -90,7 +87,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -396,7 +393,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ro.json b/vendor/commerceguys/intl/resources/currency/ro.json
index 2e315443d..a23842570 100644
--- a/vendor/commerceguys/intl/resources/currency/ro.json
+++ b/vendor/commerceguys/intl/resources/currency/ro.json
@@ -389,9 +389,6 @@
"BYN": {
"name": "rublă belarusă"
},
- "BYR": {
- "name": "rublă belarusă (2000–2016)"
- },
"RUB": {
"name": "rublă rusească"
},
@@ -420,7 +417,7 @@
"name": "rupie srilankeză"
},
"PEN": {
- "name": "sol nou peruvian"
+ "name": "sol peruvian"
},
"KGS": {
"name": "som kârgâz"
diff --git a/vendor/commerceguys/intl/resources/currency/rof.json b/vendor/commerceguys/intl/resources/currency/rof.json
index a464a9b25..ef662550f 100644
--- a/vendor/commerceguys/intl/resources/currency/rof.json
+++ b/vendor/commerceguys/intl/resources/currency/rof.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -399,7 +396,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ru.json b/vendor/commerceguys/intl/resources/currency/ru.json
index 0a244498b..2e9e7cc41 100644
--- a/vendor/commerceguys/intl/resources/currency/ru.json
+++ b/vendor/commerceguys/intl/resources/currency/ru.json
@@ -1,500 +1,497 @@
{
"AUD": {
- "name": "ÐвÑтралийÑкий доллар",
+ "name": "авÑтралийÑкий доллар",
"symbol": "A$"
},
"AZN": {
- "name": "ÐзербайджанÑкий манат"
+ "name": "азербайджанÑкий манат"
},
"ALL": {
- "name": "ÐлбанÑкий лек"
+ "name": "албанÑкий лек"
},
"DZD": {
- "name": "ÐлжирÑкий динар"
+ "name": "алжирÑкий динар"
},
"AOA": {
- "name": "ÐнгольÑÐºÐ°Ñ ÐºÐ²Ð°Ð½Ð·Ð°"
+ "name": "ангольÑÐºÐ°Ñ ÐºÐ²Ð°Ð½Ð·Ð°"
},
"ARS": {
- "name": "ÐргентинÑкое пеÑо"
+ "name": "аргентинÑкое пеÑо"
},
"AMD": {
- "name": "ÐрмÑнÑкий драм"
+ "name": "армÑнÑкий драм"
},
"AWG": {
- "name": "ÐрубанÑкий флорин"
+ "name": "арубанÑкий флорин"
},
"AFN": {
- "name": "Ðфгани"
+ "name": "афгани"
},
"BSD": {
- "name": "БагамÑкий доллар"
+ "name": "багамÑкий доллар"
},
"BDT": {
- "name": "БангладешÑÐºÐ°Ñ Ñ‚Ð°ÐºÐ°"
+ "name": "бангладешÑÐºÐ°Ñ Ñ‚Ð°ÐºÐ°"
},
"BBD": {
- "name": "БарбадоÑÑкий доллар"
+ "name": "барбадоÑÑкий доллар"
},
"BHD": {
- "name": "БахрейнÑкий динар"
+ "name": "бахрейнÑкий динар"
},
"BZD": {
- "name": "БелизÑкий доллар"
+ "name": "белизÑкий доллар"
},
"BYN": {
- "name": "БелоруÑÑкий рубль"
- },
- "BYR": {
- "name": "БелоруÑÑкий рубль (2000–2016)"
+ "name": "белоруÑÑкий рубль"
},
"BMD": {
- "name": "БермудÑкий доллар"
+ "name": "бермудÑкий доллар"
},
"BGN": {
- "name": "БолгарÑкий лев"
+ "name": "болгарÑкий лев"
},
"BOB": {
- "name": "БоливийÑкий боливиано"
+ "name": "боливийÑкий боливиано"
},
"BWP": {
- "name": "БотÑванÑÐºÐ°Ñ Ð¿ÑƒÐ»Ð°"
+ "name": "ботÑванÑÐºÐ°Ñ Ð¿ÑƒÐ»Ð°"
},
"BRL": {
- "name": "БразильÑкий реал",
+ "name": "бразильÑкий реал",
"symbol": "R$"
},
"GBP": {
- "name": "БританÑкий фунт Ñтерлингов",
+ "name": "британÑкий фунт Ñтерлингов",
"symbol": "£"
},
"BND": {
- "name": "БрунейÑкий доллар"
+ "name": "брунейÑкий доллар"
},
"BIF": {
- "name": "БурундийÑкий франк"
+ "name": "бурундийÑкий франк"
},
"BTN": {
- "name": "БутанÑкий нгултрум"
+ "name": "бутанÑкий нгултрум"
},
"VUV": {
- "name": "Вату Вануату"
+ "name": "вату Вануату"
},
"HUF": {
- "name": "ВенгерÑкий форинт"
+ "name": "венгерÑкий форинт"
},
"VEF": {
- "name": "ВенеÑуÑльÑкий боливар"
+ "name": "венеÑуÑльÑкий боливар"
},
"XCD": {
- "name": "ВоÑточно-карибÑкий доллар",
+ "name": "воÑточно-карибÑкий доллар",
"symbol": "EC$"
},
"VND": {
- "name": "ВьетнамÑкий донг",
+ "name": "вьетнамÑкий донг",
"symbol": "â‚«"
},
"HTG": {
- "name": "ГаитÑнÑкий гурд"
+ "name": "гаитÑнÑкий гурд"
},
"GYD": {
- "name": "ГайанÑкий доллар"
+ "name": "гайанÑкий доллар"
},
"GMD": {
- "name": "ГамбийÑкий далаÑи"
+ "name": "гамбийÑкий далаÑи"
},
"GHS": {
- "name": "ГанÑкий Ñеди"
+ "name": "ганÑкий Ñеди"
},
"GTQ": {
- "name": "ГватемальÑкий кетÑаль"
+ "name": "гватемальÑкий кетÑаль"
},
"GNF": {
- "name": "ГвинейÑкий франк"
+ "name": "гвинейÑкий франк"
},
"GIP": {
- "name": "ГибралтарÑкий фунт"
+ "name": "гибралтарÑкий фунт"
},
"HNL": {
- "name": "ГондураÑÑÐºÐ°Ñ Ð»ÐµÐ¼Ð¿Ð¸Ñ€Ð°"
+ "name": "гондураÑÑÐºÐ°Ñ Ð»ÐµÐ¼Ð¿Ð¸Ñ€Ð°"
},
"HKD": {
- "name": "ГонконгÑкий доллар",
+ "name": "гонконгÑкий доллар",
"symbol": "HK$"
},
"GEL": {
- "name": "ГрузинÑкий лари"
+ "name": "грузинÑкий лари"
},
"DKK": {
- "name": "ДатÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
+ "name": "датÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
},
"AED": {
- "name": "Дирхам ОÐЭ"
+ "name": "дирхам ОÐЭ"
},
"STD": {
- "name": "Добра Сан-Томе и ПринÑипи"
+ "name": "добра Сан-Томе и ПринÑипи"
},
"ZWL": {
"name": "Доллар Зимбабве (2009)"
},
"KYD": {
- "name": "Доллар Каймановых оÑтровов"
+ "name": "доллар Каймановых оÑтровов"
},
"NAD": {
- "name": "Доллар Ðамибии"
+ "name": "доллар Ðамибии"
},
"SBD": {
- "name": "Доллар Соломоновых ОÑтровов"
+ "name": "доллар Соломоновых оÑтровов"
},
"USD": {
- "name": "Доллар СШÐ",
+ "name": "доллар СШÐ",
"symbol": "$"
},
"TTD": {
- "name": "Доллар Тринидада и Тобаго"
+ "name": "доллар Тринидада и Тобаго"
},
"FJD": {
- "name": "Доллар Фиджи"
+ "name": "доллар Фиджи"
},
"DOP": {
- "name": "ДоминиканÑкое пеÑо"
+ "name": "доминиканÑкое пеÑо"
},
"EUR": {
- "name": "Евро",
+ "name": "евро",
"symbol": "€"
},
"EGP": {
- "name": "ЕгипетÑкий фунт"
+ "name": "египетÑкий фунт"
},
"ZMW": {
- "name": "ЗамбийÑÐºÐ°Ñ ÐºÐ²Ð°Ñ‡Ð°"
+ "name": "замбийÑÐºÐ°Ñ ÐºÐ²Ð°Ñ‡Ð°"
},
"INR": {
- "name": "ИндийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "name": "индийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
"symbol": "₹"
},
"IDR": {
- "name": "ИндонезийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
+ "name": "индонезийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
},
"JOD": {
- "name": "ИорданÑкий динар"
+ "name": "иорданÑкий динар"
},
"IQD": {
- "name": "ИракÑкий динар"
+ "name": "иракÑкий динар"
},
"IRR": {
- "name": "ИранÑкий риал"
+ "name": "иранÑкий риал"
},
"ISK": {
- "name": "ИÑландÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
+ "name": "иÑландÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
},
"YER": {
- "name": "ЙеменÑкий риал"
+ "name": "йеменÑкий риал"
},
"KZT": {
- "name": "КазахÑкий тенге"
+ "name": "казахÑкий тенге"
},
"KHR": {
- "name": "КамбоджийÑкий риель"
+ "name": "камбоджийÑкий риель"
},
"CAD": {
- "name": "КанадÑкий доллар",
+ "name": "канадÑкий доллар",
"symbol": "CA$"
},
"QAR": {
- "name": "КатарÑкий риал"
+ "name": "катарÑкий риал"
},
"KES": {
- "name": "КенийÑкий шиллинг"
+ "name": "кенийÑкий шиллинг"
},
"PGK": {
- "name": "Кина Папуа – Ðовой Гвинеи"
+ "name": "кина Папуа – Ðовой Гвинеи"
},
"KGS": {
- "name": "КиргизÑкий Ñом"
+ "name": "киргизÑкий Ñом"
},
"CNY": {
- "name": "КитайÑкий юань",
+ "name": "китайÑкий юань",
"symbol": "CNÂ¥"
},
"COP": {
- "name": "КолумбийÑкое пеÑо"
+ "name": "колумбийÑкое пеÑо"
},
"BAM": {
- "name": "ÐšÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð°Ñ Ð¼Ð°Ñ€ÐºÐ° БоÑнии и Герцеговины"
+ "name": "ÐºÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð°Ñ Ð¼Ð°Ñ€ÐºÐ° БоÑнии и Герцеговины"
},
"CDF": {
- "name": "КонголезÑкий франк"
+ "name": "конголезÑкий франк"
},
"CRC": {
- "name": "КоÑтариканÑкий колон"
+ "name": "коÑтариканÑкий колон"
},
"CUC": {
- "name": "КубинÑкое конвертируемое пеÑо"
+ "name": "кубинÑкое конвертируемое пеÑо"
},
"CUP": {
- "name": "КубинÑкое пеÑо"
+ "name": "кубинÑкое пеÑо"
},
"KWD": {
- "name": "КувейтÑкий динар"
+ "name": "кувейтÑкий динар"
},
"LAK": {
- "name": "ЛаоÑÑкий кип"
+ "name": "лаоÑÑкий кип"
},
"SLL": {
- "name": "Леоне"
+ "name": "леоне"
},
"LRD": {
- "name": "ЛиберийÑкий доллар"
+ "name": "либерийÑкий доллар"
},
"LBP": {
- "name": "ЛиванÑкий фунт"
+ "name": "ливанÑкий фунт"
},
"LYD": {
- "name": "ЛивийÑкий динар"
+ "name": "ливийÑкий динар"
},
"LSL": {
"name": "Лоти"
},
"MUR": {
- "name": "МаврикийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
+ "name": "маврикийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
},
"MRO": {
- "name": "МавританÑÐºÐ°Ñ ÑƒÐ³Ð¸Ñ"
+ "name": "мавританÑÐºÐ°Ñ ÑƒÐ³Ð¸Ñ"
},
"MKD": {
- "name": "МакедонÑкий денар"
+ "name": "македонÑкий денар"
},
"MWK": {
- "name": "МалавийÑÐºÐ°Ñ ÐºÐ²Ð°Ñ‡Ð°"
+ "name": "малавийÑÐºÐ°Ñ ÐºÐ²Ð°Ñ‡Ð°"
},
"MGA": {
- "name": "МалагаÑийÑкий ариари"
+ "name": "малагаÑийÑкий ариари"
},
"MYR": {
- "name": "МалайзийÑкий ринггит"
+ "name": "малайзийÑкий ринггит"
},
"MVR": {
- "name": "МальдивÑÐºÐ°Ñ Ñ€ÑƒÑ„Ð¸Ñ"
+ "name": "мальдивÑÐºÐ°Ñ Ñ€ÑƒÑ„Ð¸Ñ"
},
"MAD": {
- "name": "МарокканÑкий дирхам"
+ "name": "марокканÑкий дирхам"
},
"MXN": {
- "name": "МекÑиканÑкое пеÑо",
+ "name": "мекÑиканÑкое пеÑо",
"symbol": "MX$"
},
"MZN": {
- "name": "МозамбикÑкий метикал"
+ "name": "мозамбикÑкий метикал"
},
"MDL": {
- "name": "МолдавÑкий лей"
+ "name": "молдавÑкий лей"
},
"MNT": {
- "name": "МонгольÑкий тугрик"
+ "name": "монгольÑкий тугрик"
},
"MMK": {
- "name": "МьÑнманÑкий кьÑÑ‚"
- },
- "ERN": {
- "name": "Ðакфа"
+ "name": "мьÑнманÑкий кьÑÑ‚"
},
"NPR": {
- "name": "ÐепальÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
+ "name": "непальÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
},
"NGN": {
- "name": "ÐигерийÑÐºÐ°Ñ Ð½Ð°Ð¹Ñ€Ð°"
+ "name": "нигерийÑÐºÐ°Ñ Ð½Ð°Ð¹Ñ€Ð°"
},
"ANG": {
- "name": "ÐидерландÑкий антильÑкий гульден"
+ "name": "нидерландÑкий антильÑкий гульден"
},
"NIO": {
- "name": "ÐикарагуанÑÐºÐ°Ñ ÐºÐ¾Ñ€Ð´Ð¾Ð±Ð°"
+ "name": "никарагуанÑÐºÐ°Ñ ÐºÐ¾Ñ€Ð´Ð¾Ð±Ð°"
},
"NZD": {
- "name": "ÐовозеландÑкий доллар",
+ "name": "новозеландÑкий доллар",
"symbol": "NZ$"
},
"ILS": {
- "name": "Ðовый израильÑкий шекель",
+ "name": "новый израильÑкий шекель",
"symbol": "₪"
},
"TWD": {
- "name": "Ðовый тайваньÑкий доллар",
+ "name": "новый тайваньÑкий доллар",
"symbol": "NT$"
},
"TMT": {
- "name": "Ðовый туркменÑкий манат",
+ "name": "новый туркменÑкий манат",
"symbol": "ТМТ"
},
"NOK": {
- "name": "ÐорвежÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
+ "name": "норвежÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
},
"OMR": {
- "name": "ОманÑкий риал"
+ "name": "оманÑкий риал"
},
"PKR": {
- "name": "ПакиÑтанÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
+ "name": "пакиÑтанÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
},
"PAB": {
- "name": "ПанамÑкое бальбоа"
+ "name": "панамÑкий бальбоа"
},
"PYG": {
- "name": "ПарагвайÑкий гуарани"
+ "name": "парагвайÑкий гуарани"
},
"MOP": {
- "name": "Патака Макао"
+ "name": "патака Макао"
},
"PEN": {
- "name": "ПеруанÑкий новый Ñоль"
+ "name": "перуанÑкий Ñоль"
},
"PLN": {
- "name": "ПольÑкий злотый"
+ "name": "польÑкий злотый"
},
"RUB": {
- "name": "РоÑÑийÑкий рубль",
+ "name": "роÑÑийÑкий рубль",
"symbol": "₽"
},
"RON": {
- "name": "РумынÑкий лей"
+ "name": "румынÑкий лей"
},
"SVC": {
"name": "СальвадорÑкий колон"
},
"WST": {
- "name": "СамоанÑÐºÐ°Ñ Ñ‚Ð°Ð»Ð°"
+ "name": "ÑамоанÑÐºÐ°Ñ Ñ‚Ð°Ð»Ð°"
},
"SAR": {
- "name": "СаудовÑкий риÑл"
+ "name": "ÑаудовÑкий риÑл"
},
"SZL": {
- "name": "СвазилендÑкий лилангени"
+ "name": "ÑвазилендÑкий лилангени"
},
"KPW": {
- "name": "СеверокорейÑÐºÐ°Ñ Ð²Ð¾Ð½Ð°"
+ "name": "ÑеверокорейÑÐºÐ°Ñ Ð²Ð¾Ð½Ð°"
},
"SCR": {
- "name": "СейшельÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
+ "name": "ÑейшельÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
},
"RSD": {
- "name": "СербÑкий динар"
+ "name": "ÑербÑкий динар"
},
"SGD": {
- "name": "СингапурÑкий доллар"
+ "name": "ÑингапурÑкий доллар"
},
"SYP": {
- "name": "СирийÑкий фунт"
+ "name": "ÑирийÑкий фунт"
},
"SOS": {
- "name": "СомалийÑкий шиллинг"
+ "name": "ÑомалийÑкий шиллинг"
},
"SDG": {
- "name": "СуданÑкий фунт"
+ "name": "ÑуданÑкий фунт"
},
"SRD": {
- "name": "СуринамÑкий доллар"
+ "name": "ÑуринамÑкий доллар"
},
"TJS": {
- "name": "ТаджикÑкий Ñомони"
+ "name": "таджикÑкий Ñомони"
},
"THB": {
- "name": "ТаиландÑкий бат",
+ "name": "таиландÑкий бат",
"symbol": "฿"
},
"TZS": {
- "name": "ТанзанийÑкий шиллинг"
+ "name": "танзанийÑкий шиллинг"
},
"TOP": {
- "name": "ТонганÑÐºÐ°Ñ Ð¿Ð°Ð°Ð½Ð³Ð°"
+ "name": "тонганÑÐºÐ°Ñ Ð¿Ð°Ð°Ð½Ð³Ð°"
},
"TND": {
- "name": "ТуниÑÑкий динар"
+ "name": "туниÑÑкий динар"
},
"TRY": {
- "name": "Ð¢ÑƒÑ€ÐµÑ†ÐºÐ°Ñ Ð»Ð¸Ñ€Ð°"
+ "name": "Ñ‚ÑƒÑ€ÐµÑ†ÐºÐ°Ñ Ð»Ð¸Ñ€Ð°"
},
"UGX": {
- "name": "УгандийÑкий шиллинг"
+ "name": "угандийÑкий шиллинг"
},
"UZS": {
- "name": "УзбекÑкий Ñум"
+ "name": "узбекÑкий Ñум"
},
"UAH": {
- "name": "УкраинÑÐºÐ°Ñ Ð³Ñ€Ð¸Ð²Ð½Ð°",
+ "name": "украинÑÐºÐ°Ñ Ð³Ñ€Ð¸Ð²Ð½Ð°",
"symbol": "â‚´"
},
"UYU": {
- "name": "УругвайÑкое пеÑо"
+ "name": "уругвайÑкое пеÑо"
},
"PHP": {
- "name": "ФилиппинÑкое пеÑо"
+ "name": "филиппинÑкое пеÑо"
},
"DJF": {
- "name": "Франк Джибути"
+ "name": "франк Джибути"
},
"KMF": {
- "name": "Франк КоморÑких ОÑтровов"
- },
- "XAF": {
- "name": "Франк КФРВЕÐС",
- "symbol": "FCFA"
+ "name": "франк КоморÑких оÑтровов"
},
"XOF": {
- "name": "Франк КФРВСЕÐО",
+ "name": "франк КФРВСЕÐО",
"symbol": "CFA"
},
+ "XAF": {
+ "name": "франк КФРBEAC",
+ "symbol": "FCFA"
+ },
"RWF": {
- "name": "Франк Руанды"
+ "name": "франк Руанды"
},
"XPF": {
- "name": "ФранцузÑкий тихоокеанÑкий франк",
+ "name": "французÑкий тихоокеанÑкий франк",
"symbol": "CFPF"
},
"SHP": {
- "name": "Фунт оÑтрова СвÑтой Елены"
+ "name": "фунт оÑтрова СвÑтой Елены"
},
"FKP": {
- "name": "Фунт ФолклендÑких оÑтровов"
+ "name": "фунт ФолклендÑких оÑтровов"
},
"HRK": {
- "name": "ХорватÑÐºÐ°Ñ ÐºÑƒÐ½Ð°"
+ "name": "хорватÑÐºÐ°Ñ ÐºÑƒÐ½Ð°"
},
"CZK": {
- "name": "ЧешÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
+ "name": "чешÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
},
"CLP": {
- "name": "ЧилийÑкое пеÑо"
+ "name": "чилийÑкое пеÑо"
},
"SEK": {
- "name": "ШведÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
+ "name": "шведÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°"
},
"CHF": {
- "name": "ШвейцарÑкий франк"
+ "name": "швейцарÑкий франк"
},
"LKR": {
- "name": "Шри-ланкийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
+ "name": "шри-ланкийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ"
+ },
+ "ERN": {
+ "name": "ÑритрейÑÐºÐ°Ñ Ð½Ð°ÐºÑ„Ð°"
},
"CVE": {
- "name": "ЭÑкудо Кабо-Верде"
+ "name": "ÑÑкудо Кабо-Верде"
},
"ETB": {
- "name": "ЭфиопÑкий быр"
+ "name": "ÑфиопÑкий быр"
},
"ZAR": {
- "name": "ЮжноафриканÑкий Ñ€Ñнд"
+ "name": "южноафриканÑкий Ñ€Ñнд"
},
"KRW": {
- "name": "ЮжнокорейÑÐºÐ°Ñ Ð²Ð¾Ð½Ð°",
+ "name": "южнокорейÑÐºÐ°Ñ Ð²Ð¾Ð½Ð°",
"symbol": "â‚©"
},
"SSP": {
- "name": "ЮжноÑуданÑкий фунт"
+ "name": "южноÑуданÑкий фунт"
},
"JMD": {
- "name": "ЯмайÑкий доллар"
+ "name": "ÑмайÑкий доллар"
},
"JPY": {
- "name": "ЯпонÑÐºÐ°Ñ Ð¸ÐµÐ½Ð°",
+ "name": "ÑпонÑÐºÐ°Ñ Ð¸ÐµÐ½Ð°",
"symbol": "Â¥"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/rwk.json b/vendor/commerceguys/intl/resources/currency/rwk.json
index 61220f73e..f5fec488b 100644
--- a/vendor/commerceguys/intl/resources/currency/rwk.json
+++ b/vendor/commerceguys/intl/resources/currency/rwk.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/saq.json b/vendor/commerceguys/intl/resources/currency/saq.json
index 0cf830b9f..ccf37f8de 100644
--- a/vendor/commerceguys/intl/resources/currency/saq.json
+++ b/vendor/commerceguys/intl/resources/currency/saq.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -399,7 +396,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/sbp.json b/vendor/commerceguys/intl/resources/currency/sbp.json
index b5e75288e..116fc4d76 100644
--- a/vendor/commerceguys/intl/resources/currency/sbp.json
+++ b/vendor/commerceguys/intl/resources/currency/sbp.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -403,7 +400,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/sd.json b/vendor/commerceguys/intl/resources/currency/sd.json
new file mode 100644
index 000000000..7495a2eff
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/currency/sd.json
@@ -0,0 +1,494 @@
+{
+ "XPF": {
+ "name": "CFP Ùرينڪ",
+ "symbol": "CFPF"
+ },
+ "LSL": {
+ "name": "Lesotho Loti"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)"
+ },
+ "ISK": {
+ "name": "آئيس لينڊي ڪرونا"
+ },
+ "AZN": {
+ "name": "آذربائيجاني منت"
+ },
+ "AUD": {
+ "name": "آسٽريلوي ڊالر",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "آمريڪي ڊالر",
+ "symbol": "US$"
+ },
+ "KPW": {
+ "name": "اتر ڪوريائي ون"
+ },
+ "ARS": {
+ "name": "ارجنٽائن پيسو"
+ },
+ "JOD": {
+ "name": "اردني دينار"
+ },
+ "AMD": {
+ "name": "ارماني ڊرم"
+ },
+ "AWG": {
+ "name": "اروبن Ùلورن"
+ },
+ "UZS": {
+ "name": "ازبڪستاني سوم"
+ },
+ "ILS": {
+ "name": "اسرائيلي نيو شيڪل",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "اÙغاني اÙغاني"
+ },
+ "ALL": {
+ "name": "الباني ليڪ"
+ },
+ "DZD": {
+ "name": "الجيريائي دينار"
+ },
+ "IDR": {
+ "name": "انڊونيشيائي رپيه"
+ },
+ "INR": {
+ "name": "انڊين رپي",
+ "symbol": "₹"
+ },
+ "AOA": {
+ "name": "انگوليائي ڪوانزا"
+ },
+ "XCD": {
+ "name": "اوڀر ڪيريبين ڊالر",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "اولهه Ø¢Ùريڪا Ùرينڪ",
+ "symbol": "CFA"
+ },
+ "ETB": {
+ "name": "ايٿوپيائي بر"
+ },
+ "IRR": {
+ "name": "ايراني ريال"
+ },
+ "ERN": {
+ "name": "ايريٽيريائي ناڪÙا"
+ },
+ "BBD": {
+ "name": "باربيڊين ڊالر"
+ },
+ "BHD": {
+ "name": "بحريني دينار"
+ },
+ "BRL": {
+ "name": "برازيلي ريل",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "برطانوي پائونڊ",
+ "symbol": "£"
+ },
+ "BMD": {
+ "name": "برمودي ڊالر"
+ },
+ "BND": {
+ "name": "برونائي ڊالر"
+ },
+ "BIF": {
+ "name": "برونڊي Ùرينڪ"
+ },
+ "BGN": {
+ "name": "بلغارین لیو"
+ },
+ "BDT": {
+ "name": "بنگلاديشي ٽڪا"
+ },
+ "BSD": {
+ "name": "بهاماني ڊادلر"
+ },
+ "BWP": {
+ "name": "بوستواني پولا"
+ },
+ "BAM": {
+ "name": "بوسنيا هرزگوينا ڪنورٽبل مارڪ"
+ },
+ "BOB": {
+ "name": "بولیوین بولیویانو"
+ },
+ "BZD": {
+ "name": "بيليز ڊالر"
+ },
+ "BYN": {
+ "name": "بیلاروسی ربل"
+ },
+ "PGK": {
+ "name": "پاپوا نيو گني ڪنا"
+ },
+ "PKR": {
+ "name": "پاڪستاني رپي",
+ "symbol": "Rs"
+ },
+ "PAB": {
+ "name": "پاناما پالبوا"
+ },
+ "PLN": {
+ "name": "پولش زلاٽي"
+ },
+ "PYG": {
+ "name": "پيراگوئي گاراني"
+ },
+ "PEN": {
+ "name": "پيرو سول"
+ },
+ "BTN": {
+ "name": "ڀوٽاني گلٽرم"
+ },
+ "TJS": {
+ "name": "تاجڪستاني سوموني"
+ },
+ "TMT": {
+ "name": "ترڪمانستان منت"
+ },
+ "TRY": {
+ "name": "ترڪي لرا"
+ },
+ "TZS": {
+ "name": "تنزانيائي شلنگ"
+ },
+ "TOP": {
+ "name": "تونگن پانگا"
+ },
+ "TND": {
+ "name": "تیونس دینار"
+ },
+ "TTD": {
+ "name": "ٽرينڊيڊ ۽ ٽوباگو ڊالر"
+ },
+ "THB": {
+ "name": "ٿائي باهت"
+ },
+ "JPY": {
+ "name": "جاپاني يين",
+ "symbol": "JPÂ¥"
+ },
+ "GEL": {
+ "name": "جارجيائي لاري"
+ },
+ "GIP": {
+ "name": "جبرالٽر پائونڊ"
+ },
+ "DJF": {
+ "name": "جبوتي Ùرينڪ"
+ },
+ "JMD": {
+ "name": "جميڪائي ڊالر"
+ },
+ "CLP": {
+ "name": "چلي پيسو"
+ },
+ "CZK": {
+ "name": "چيڪ ڪرونا"
+ },
+ "CNY": {
+ "name": "چيني يوآن",
+ "symbol": "CNÂ¥"
+ },
+ "DKK": {
+ "name": "دانش ڪرون"
+ },
+ "DOP": {
+ "name": "ڊومينيڪن پيسو"
+ },
+ "ZAR": {
+ "name": "ÚÚ©Ú» Ø¢Ùريقي رانڊ"
+ },
+ "SSP": {
+ "name": "ÚÚ©Ú» سوڊاني پائونڊ"
+ },
+ "KRW": {
+ "name": "ÚÚ©Ú» ڪوريائي ون",
+ "symbol": "â‚©"
+ },
+ "RWF": {
+ "name": "روانڊا Ùرينڪ"
+ },
+ "RUB": {
+ "name": "روسي ربل"
+ },
+ "RON": {
+ "name": "رومانیائي لیو"
+ },
+ "ZMW": {
+ "name": "زمبائي ڪواچا"
+ },
+ "STD": {
+ "name": "سائو ٽوم ۽ پرنسپي دوبرا"
+ },
+ "WST": {
+ "name": "ساموآن ٽالا"
+ },
+ "RSD": {
+ "name": "سربيا دينار"
+ },
+ "LKR": {
+ "name": "سري لنڪن رپي"
+ },
+ "SRD": {
+ "name": "سرينامي ڊالر"
+ },
+ "SCR": {
+ "name": "سشلي رپي"
+ },
+ "SAR": {
+ "name": "سعودي ريال"
+ },
+ "SGD": {
+ "name": "سنگاپوري ڊالر"
+ },
+ "CHF": {
+ "name": "سوئس Ùرينڪ"
+ },
+ "SZL": {
+ "name": "سوازي للانگيني"
+ },
+ "SDG": {
+ "name": "سوڊاني پائونڊ"
+ },
+ "SBD": {
+ "name": "سولومان ٻيٽ ڊالر"
+ },
+ "SOS": {
+ "name": "سومالي شلنگ"
+ },
+ "SEK": {
+ "name": "سويڊني ڪرونا"
+ },
+ "SYP": {
+ "name": "سيريائي پائونڊ"
+ },
+ "SHP": {
+ "name": "سينٽ هيلنا پائونڊ"
+ },
+ "SLL": {
+ "name": "سیرا لیونيائي لیون"
+ },
+ "IQD": {
+ "name": "عراقي دينار"
+ },
+ "OMR": {
+ "name": "عماني ريال"
+ },
+ "FKP": {
+ "name": "Ùاڪلينڊ ٻيٽ پائونڊ"
+ },
+ "FJD": {
+ "name": "Ùجي ڊالر"
+ },
+ "PHP": {
+ "name": "Ùلپائني پيسو"
+ },
+ "KZT": {
+ "name": "قازقستان ٽينگا"
+ },
+ "QAR": {
+ "name": "قطري ريال"
+ },
+ "CAD": {
+ "name": "ڪئينڊيائي ڊالر",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "ڪانگو Ùرينڪ"
+ },
+ "KGS": {
+ "name": "ڪرغزستاني سوم"
+ },
+ "HRK": {
+ "name": "ڪروشيائي ڪونا"
+ },
+ "KHR": {
+ "name": "ڪمبوڊيائي ريال"
+ },
+ "CRC": {
+ "name": "ڪوسٽا ريڪا ڪولن"
+ },
+ "COP": {
+ "name": "ڪولمبيائي پيسو"
+ },
+ "KMF": {
+ "name": "ڪوموريائي Ùرينڪ"
+ },
+ "KWD": {
+ "name": "ڪويتي دينار"
+ },
+ "CVE": {
+ "name": "ڪيپ وردي ايسڪوڊو"
+ },
+ "KYD": {
+ "name": "ڪيمين ٻيٽ ڊالر"
+ },
+ "KES": {
+ "name": "ڪينيائي سلنگ"
+ },
+ "CUP": {
+ "name": "ڪيوبن پيسو"
+ },
+ "CUC": {
+ "name": "ڪيوبن ڪنورٽيبل پيسو"
+ },
+ "AED": {
+ "name": "Ú¯Úيل عرب امارات درهم"
+ },
+ "GNF": {
+ "name": "گني Ùرينڪ"
+ },
+ "GHS": {
+ "name": "گهانين سيدي"
+ },
+ "GTQ": {
+ "name": "گوئٽي مالا ڪٽزل"
+ },
+ "GYD": {
+ "name": "گيانا ڊالر"
+ },
+ "GMD": {
+ "name": "گيمبيا دلاسائي"
+ },
+ "LRD": {
+ "name": "لائبیریائی ڊالر"
+ },
+ "LAK": {
+ "name": "لائوشيائي ڪپ"
+ },
+ "LBP": {
+ "name": "لبناني پائونڊ"
+ },
+ "LYD": {
+ "name": "لبيائي دينار"
+ },
+ "MUR": {
+ "name": "ماريشيائي رپي"
+ },
+ "MVR": {
+ "name": "مالديپ روÙيا"
+ },
+ "MDL": {
+ "name": "مالديپ ليو"
+ },
+ "EGP": {
+ "name": "مصري پائونڊ"
+ },
+ "MYR": {
+ "name": "ملائيشيائي رنگٽ"
+ },
+ "MGA": {
+ "name": "ملاگاسي اریاری"
+ },
+ "MWK": {
+ "name": "ملاوي ڪواچا"
+ },
+ "MNT": {
+ "name": "منگولي تجرڪ"
+ },
+ "MAD": {
+ "name": "موروڪيائي درهم"
+ },
+ "MRO": {
+ "name": "موريشيائي اوگوئیا"
+ },
+ "MZN": {
+ "name": "موزمبيق ميٽيڪل"
+ },
+ "MMK": {
+ "name": "ميانمار ڪياٽ"
+ },
+ "MKD": {
+ "name": "ميسي ڊوني دينار"
+ },
+ "MOP": {
+ "name": "ميڪانيز پٽاڪا"
+ },
+ "MXN": {
+ "name": "ميڪسيڪو پيسو",
+ "symbol": "MX$"
+ },
+ "NGN": {
+ "name": "نائجريائي نائرا"
+ },
+ "NOK": {
+ "name": "نارويائي ڪرون"
+ },
+ "NIO": {
+ "name": "نڪارا گوا ڪارڊوبا"
+ },
+ "NAD": {
+ "name": "نميبائي ڊالر"
+ },
+ "NPR": {
+ "name": "نيپالي رپي"
+ },
+ "ANG": {
+ "name": "نيڌرلينڊ انٽليئن گلڊر"
+ },
+ "TWD": {
+ "name": "نيو تائيوان ڊالر",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "نيوزي لينڊي ڊالر",
+ "symbol": "NZ$"
+ },
+ "HKD": {
+ "name": "هانگ ڪانگ ڊالر",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "هنگيرين Ùورنٽ"
+ },
+ "HNL": {
+ "name": "هونڊوراس ليمپرا"
+ },
+ "HTG": {
+ "name": "هيٽي گورڊي"
+ },
+ "VUV": {
+ "name": "وانواتو واتو"
+ },
+ "XAF": {
+ "name": "ÙˆÚ† Ø¢Ùريڪا Ùرينڪ",
+ "symbol": "FCFA"
+ },
+ "VND": {
+ "name": "ويٽنامي ڊونگ",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "وینزویلا بولیور"
+ },
+ "UGX": {
+ "name": "يگانڊا شلنگ"
+ },
+ "YER": {
+ "name": "يمني ريال"
+ },
+ "EUR": {
+ "name": "يورو",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "يوروگوئي پيسو"
+ },
+ "UAH": {
+ "name": "یوڪرائن هریونیا"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/seh.json b/vendor/commerceguys/intl/resources/currency/seh.json
index 2f68b62c2..b7ae8882e 100644
--- a/vendor/commerceguys/intl/resources/currency/seh.json
+++ b/vendor/commerceguys/intl/resources/currency/seh.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -98,7 +95,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi de Gâmbia"
@@ -368,7 +365,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ses.json b/vendor/commerceguys/intl/resources/currency/ses.json
index fddc77db1..bc323e79e 100644
--- a/vendor/commerceguys/intl/resources/currency/ses.json
+++ b/vendor/commerceguys/intl/resources/currency/ses.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -117,7 +114,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -362,7 +359,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/sg.json b/vendor/commerceguys/intl/resources/currency/sg.json
index 268829582..1ee13e081 100644
--- a/vendor/commerceguys/intl/resources/currency/sg.json
+++ b/vendor/commerceguys/intl/resources/currency/sg.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -92,7 +89,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "dalasi tî gambïi"
@@ -343,7 +340,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/shi-Latn.json b/vendor/commerceguys/intl/resources/currency/shi-Latn.json
index 10638b572..91315e45b 100644
--- a/vendor/commerceguys/intl/resources/currency/shi-Latn.json
+++ b/vendor/commerceguys/intl/resources/currency/shi-Latn.json
@@ -129,9 +129,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -189,7 +186,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "dalasi n gambya"
@@ -395,7 +392,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/shi.json b/vendor/commerceguys/intl/resources/currency/shi.json
index 317c61300..2c2b02fa2 100644
--- a/vendor/commerceguys/intl/resources/currency/shi.json
+++ b/vendor/commerceguys/intl/resources/currency/shi.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -242,7 +239,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/si.json b/vendor/commerceguys/intl/resources/currency/si.json
index c5e45dbad..41b90d3b7 100644
--- a/vendor/commerceguys/intl/resources/currency/si.json
+++ b/vendor/commerceguys/intl/resources/currency/si.json
@@ -255,7 +255,7 @@
"name": "පිලිපීන පෙසà·"
},
"PEN": {
- "name": "පේරු නියුව෠සොල්"
+ "name": "පේරු සොල්"
},
"PLN": {
"name": "පොලිෂ් ස්ලොටි"
@@ -294,9 +294,6 @@
"BYN": {
"name": "බෙලරූස් රූබල්"
},
- "BYR": {
- "name": "බෙලරූස් රූබල් (2000–2016)"
- },
"BZD": {
"name": "බෙලීස් ඩොලර්"
},
diff --git a/vendor/commerceguys/intl/resources/currency/sk.json b/vendor/commerceguys/intl/resources/currency/sk.json
index 64a03dd89..53fbb2e6a 100644
--- a/vendor/commerceguys/intl/resources/currency/sk.json
+++ b/vendor/commerceguys/intl/resources/currency/sk.json
@@ -56,12 +56,12 @@
"BYN": {
"name": "bieloruský rubeľ"
},
- "BYR": {
- "name": "bieloruský rubeľ (2000–2016)"
- },
"BOB": {
"name": "bolívijské boliviano"
},
+ "BAM": {
+ "name": "bosniansko-hercegovinská konvertibilná marka"
+ },
"BWP": {
"name": "botswanská pula"
},
@@ -227,9 +227,6 @@
"KMF": {
"name": "komorský frank"
},
- "BAM": {
- "name": "konvertibilná marka"
- },
"CDF": {
"name": "konžský frank"
},
@@ -249,7 +246,7 @@
"name": "laoský kip"
},
"LSL": {
- "name": "Lesothský loti"
+ "name": "lesothský loti"
},
"LBP": {
"name": "libanonská libra"
@@ -343,7 +340,7 @@
"name": "paraguajské guaraní"
},
"PEN": {
- "name": "peruánsky nový sol"
+ "name": "peruánsky sol"
},
"PLN": {
"name": "poľský zlotý"
@@ -361,7 +358,7 @@
"name": "SAE dirham"
},
"SVC": {
- "name": "Salvádorský colón"
+ "name": "salvádorský colón"
},
"WST": {
"name": "samojská tala"
@@ -478,6 +475,6 @@
"symbol": "CFA"
},
"ZWL": {
- "name": "Zimbabwiansky dolár (2009)"
+ "name": "zimbabwiansky dolár (2009)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sl.json b/vendor/commerceguys/intl/resources/currency/sl.json
index 32db310c5..7f2373fff 100644
--- a/vendor/commerceguys/intl/resources/currency/sl.json
+++ b/vendor/commerceguys/intl/resources/currency/sl.json
@@ -25,8 +25,7 @@
"name": "arubski florin"
},
"AUD": {
- "name": "avstralski dolar",
- "symbol": "A$"
+ "name": "avstralski dolar"
},
"AZN": {
"name": "azerbajdžanski manat"
@@ -49,9 +48,6 @@
"BYN": {
"name": "beloruski rubelj"
},
- "BYR": {
- "name": "beloruski rubelj (2000–2016)"
- },
"BMD": {
"name": "bermudski dolar"
},
@@ -68,12 +64,10 @@
"name": "bosansko-hercegovska konvertibilna marka"
},
"BRL": {
- "name": "brazilski real",
- "symbol": "R$"
+ "name": "brazilski real"
},
"GBP": {
- "name": "britanski funt",
- "symbol": "£"
+ "name": "britanski funt"
},
"BND": {
"name": "brunejski dolar"
@@ -310,8 +304,7 @@
"name": "mavricijska rupija"
},
"MXN": {
- "name": "mehiški peso",
- "symbol": "MX$"
+ "name": "mehiški peso"
},
"MMK": {
"name": "mjanmarski kjat"
@@ -347,12 +340,10 @@
"name": "nova turška lira"
},
"TWD": {
- "name": "novi tajvanski dolar",
- "symbol": "NT$"
+ "name": "novi tajvanski dolar"
},
"NZD": {
- "name": "novozelandski dolar",
- "symbol": "NZ$"
+ "name": "novozelandski dolar"
},
"OMR": {
"name": "omanski rial"
@@ -367,7 +358,7 @@
"name": "paragvajski gvarani"
},
"PEN": {
- "name": "perujski novi sol"
+ "name": "perujski sol"
},
"PLN": {
"name": "poljski novi zlot"
@@ -439,8 +430,7 @@
"name": "tadžikistanski somoni"
},
"THB": {
- "name": "tajski baht",
- "symbol": "฿"
+ "name": "tajski baht"
},
"TZS": {
"name": "tanzanijski Å¡iling"
@@ -477,8 +467,7 @@
"symbol": "â‚«"
},
"XCD": {
- "name": "vzhodnokaribski dolar",
- "symbol": "EC$"
+ "name": "vzhodnokaribski dolar"
},
"XOF": {
"name": "zahodnoafriški frank CFA",
diff --git a/vendor/commerceguys/intl/resources/currency/sn.json b/vendor/commerceguys/intl/resources/currency/sn.json
index 3d09c37da..41b970571 100644
--- a/vendor/commerceguys/intl/resources/currency/sn.json
+++ b/vendor/commerceguys/intl/resources/currency/sn.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ye Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/sq.json b/vendor/commerceguys/intl/resources/currency/sq.json
index 13186b2e5..70ed073a6 100644
--- a/vendor/commerceguys/intl/resources/currency/sq.json
+++ b/vendor/commerceguys/intl/resources/currency/sq.json
@@ -87,7 +87,7 @@
"name": "Dollari i Fixhit"
},
"HKD": {
- "name": "Dollari i Hong Kongut",
+ "name": "Dollari i Hong-Kongut",
"symbol": "HK$"
},
"BZD": {
@@ -207,7 +207,7 @@
"name": "Kiata e Mianmarit"
},
"PGK": {
- "name": "Kina e Papua-Guineas së Re"
+ "name": "Kina e Guinesë së Re-Papua"
},
"LAK": {
"name": "Kipa e Laosit"
@@ -265,10 +265,10 @@
"name": "Lesotho Loti"
},
"MDL": {
- "name": "Leu moldav"
+ "name": "Leuja moldave"
},
"RON": {
- "name": "Leu rumun"
+ "name": "Leuja rumune"
},
"BGN": {
"name": "Leva bullgare"
@@ -371,9 +371,6 @@
"BYN": {
"name": "Rubla bjelloruse"
},
- "BYR": {
- "name": "Rubla bjelloruse (2000–2016)"
- },
"RUB": {
"name": "Rubla ruse"
},
@@ -409,7 +406,7 @@
"name": "Sejda ganeze"
},
"PEN": {
- "name": "Sola nuevo-peruane"
+ "name": "Sola peruane"
},
"KGS": {
"name": "Soma kirgize"
diff --git a/vendor/commerceguys/intl/resources/currency/sr-Latn.json b/vendor/commerceguys/intl/resources/currency/sr-Latn.json
index 639734a2e..0efefda54 100644
--- a/vendor/commerceguys/intl/resources/currency/sr-Latn.json
+++ b/vendor/commerceguys/intl/resources/currency/sr-Latn.json
@@ -45,9 +45,6 @@
"BYN": {
"name": "Beloruska rublja"
},
- "BYR": {
- "name": "Beloruska rublja (2000–2016)"
- },
"BMD": {
"name": "Bermudski dolar"
},
@@ -362,7 +359,7 @@
"name": "Paragvajski gvarani"
},
"PEN": {
- "name": "Peruanski novi sol"
+ "name": "Peruanski sol"
},
"PLN": {
"name": "Poljski zlot"
diff --git a/vendor/commerceguys/intl/resources/currency/sr.json b/vendor/commerceguys/intl/resources/currency/sr.json
index 724a3f9c5..0ddb8ce21 100644
--- a/vendor/commerceguys/intl/resources/currency/sr.json
+++ b/vendor/commerceguys/intl/resources/currency/sr.json
@@ -45,9 +45,6 @@
"BYN": {
"name": "БелоруÑка рубља"
},
- "BYR": {
- "name": "БелоруÑка рубља (2000–2016)"
- },
"BMD": {
"name": "БермудÑки долар"
},
@@ -328,7 +325,7 @@
"name": "ПарагвајÑки гварани"
},
"PEN": {
- "name": "ПеруанÑки нови Ñол"
+ "name": "ПеруанÑки Ñол"
},
"PLN": {
"name": "ПољÑки злот"
diff --git a/vendor/commerceguys/intl/resources/currency/sv.json b/vendor/commerceguys/intl/resources/currency/sv.json
index 1e007b4af..3d1175d46 100644
--- a/vendor/commerceguys/intl/resources/currency/sv.json
+++ b/vendor/commerceguys/intl/resources/currency/sv.json
@@ -335,7 +335,7 @@
"name": "paraguayansk guarani"
},
"PEN": {
- "name": "peruansk nuevo sol"
+ "name": "peruansk sol"
},
"PLN": {
"name": "polsk zloty"
@@ -474,9 +474,6 @@
"BYN": {
"name": "vitrysk rubel"
},
- "BYR": {
- "name": "vitrysk rubel (2000–2016)"
- },
"XOF": {
"name": "västafrikansk franc",
"symbol": "CFA"
diff --git a/vendor/commerceguys/intl/resources/currency/sw-CD.json b/vendor/commerceguys/intl/resources/currency/sw-CD.json
index fb72d626f..474ddbcc1 100644
--- a/vendor/commerceguys/intl/resources/currency/sw-CD.json
+++ b/vendor/commerceguys/intl/resources/currency/sw-CD.json
@@ -25,35 +25,41 @@
"name": "Cedi ya Ghana"
},
"CRC": {
- "name": "Colon ya Kostarika"
+ "name": "Colon ya Costa Rica"
+ },
+ "BAM": {
+ "name": "Convertible Mark ya Bosnia na Hezegovina"
},
"NIO": {
- "name": "Cordoba ya Nikaragua"
+ "name": "Cordoba ya Nicaragua"
+ },
+ "CZK": {
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
},
"MKD": {
- "name": "Denar ya Masedonia"
+ "name": "Denar ya Macedonia"
+ },
+ "DZD": {
+ "name": "Dinar ya Algeria"
},
"BHD": {
- "name": "Dinar ya Bahareni"
+ "name": "Dinar ya Bahrain"
},
"IQD": {
- "name": "Dinar ya Iraki"
+ "name": "Dinar ya Iraq"
+ },
+ "JOD": {
+ "name": "Dinar ya Jordan"
},
"KWD": {
- "name": "Dinar ya Kuwaiti"
+ "name": "Dinar ya Kuwait"
},
"RSD": {
"name": "Dinar ya Serbia"
},
- "JOD": {
- "name": "Dinar ya Yordani"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
"LYD": {
"name": "Dinari ya Libya"
},
@@ -64,7 +70,7 @@
"name": "Dirham ya Falme za Kiarabu"
},
"MAD": {
- "name": "Dirham ya Moroko"
+ "name": "Dirham ya Morocco"
},
"STD": {
"name": "Dobra ya Sao Tome na Principe"
@@ -88,6 +94,14 @@
"BND": {
"name": "Dola ya Brunei"
},
+ "CAD": {
+ "name": "Dola ya Canada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dola ya Caribbean Mashariki",
+ "symbol": "EC$"
+ },
"FJD": {
"name": "Dola ya Fiji"
},
@@ -101,14 +115,6 @@
"JMD": {
"name": "Dola ya Jamaica"
},
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "XCD": {
- "name": "Dola ya Karibea ya Mashariki",
- "symbol": "EC$"
- },
"LRD": {
"name": "Dola ya Liberia"
},
@@ -120,7 +126,7 @@
"name": "Dola ya Namibia"
},
"NZD": {
- "name": "Dola ya Nyuzilandi",
+ "name": "Dola ya New Zealand",
"symbol": "NZ$"
},
"SGD": {
@@ -167,14 +173,14 @@
"name": "Faranga ya CFP",
"symbol": "CFPF"
},
- "GNF": {
- "name": "Faranga ya Guinea"
+ "KMF": {
+ "name": "Faranga ya Comoros"
},
"DJF": {
- "name": "Faranga ya Jibuti"
+ "name": "Faranga ya Djibouti"
},
- "KMF": {
- "name": "Faranga ya Komoro"
+ "GNF": {
+ "name": "Faranga ya Guinea"
},
"CDF": {
"name": "Faranga ya Kongo",
@@ -196,13 +202,13 @@
"name": "Gourde ya Haiti"
},
"PYG": {
- "name": "Guarani ya Paragwai"
+ "name": "Guarani ya Paraguay"
},
"ANG": {
"name": "Guilder ya Antili za Kiholanzi"
},
"UAH": {
- "name": "Hryvnia ya Ukrania"
+ "name": "Hryvnia ya Ukraine"
},
"PGK": {
"name": "Kina ya Papua New Guinea"
@@ -210,9 +216,6 @@
"LAK": {
"name": "Kip ya Laosi"
},
- "CZK": {
- "name": "Koruna ya Jamhuri ya Cheki"
- },
"ISK": {
"name": "Krona ya Aisilandi"
},
@@ -220,13 +223,13 @@
"name": "Krona ya Uswidi"
},
"DKK": {
- "name": "Krone ya Denmaki"
+ "name": "Krone ya Denmark"
},
"NOK": {
- "name": "Krone ya Norwe"
+ "name": "Krone ya Norway"
},
"HRK": {
- "name": "Kuna ya Kroeshia"
+ "name": "Kuna ya Croatia"
},
"MWK": {
"name": "Kwacha ya Malawi"
@@ -238,7 +241,7 @@
"name": "Kwanza ya Angola"
},
"MMK": {
- "name": "Kyat ya Myama"
+ "name": "Kyat ya Myanmar"
},
"GEL": {
"name": "Lari ya Georgia"
@@ -271,19 +274,16 @@
"name": "Loti ya Lesoto"
},
"AZN": {
- "name": "Manat ya Azebaijani"
+ "name": "Manat ya Azerbaijan"
},
"TMT": {
- "name": "Manat ya Turukimenistani"
- },
- "BAM": {
- "name": "Mark Inayoweza Kubadilishwa ya Bosnia na Hezegovina"
+ "name": "Manat ya Turkmenistan"
},
"MZN": {
"name": "Metikali ya Msumbiji"
},
"NGN": {
- "name": "Naira ya Nijeria"
+ "name": "Naira ya Nigeria"
},
"ERN": {
"name": "Nakfa ya Eritrea"
@@ -291,9 +291,6 @@
"BTN": {
"name": "Ngultrum ya Bhutan"
},
- "PEN": {
- "name": "Nuevo Sol ya Peru"
- },
"TOP": {
"name": "Paʻanga ya Tonga"
},
@@ -310,13 +307,13 @@
"name": "Pauni ya Misri"
},
"SHP": {
- "name": "Pauni ya Santahelena"
+ "name": "Pauni ya St. Helena"
},
"SDG": {
- "name": "Pauni ya Sudani"
+ "name": "Pauni ya Sudan"
},
"SSP": {
- "name": "Pauni ya Sudani Kusini"
+ "name": "Pauni ya Sudan Kusini"
},
"SYP": {
"name": "Pauni ya Syria"
@@ -329,11 +326,14 @@
"name": "Pauni ya Visiwa vya Falkland"
},
"ARS": {
- "name": "Peso ya Ajentina"
+ "name": "Peso ya Argentina"
},
"CLP": {
"name": "Peso ya Chile"
},
+ "COP": {
+ "name": "Peso ya Colombia"
+ },
"CUP": {
"name": "Peso ya Cuba"
},
@@ -341,20 +341,17 @@
"name": "Peso ya Cuba Inayoweza Kubadilishwa"
},
"DOP": {
- "name": "Peso ya Dominika"
- },
- "COP": {
- "name": "Peso ya Kolombia"
+ "name": "Peso ya Dominica"
},
"MXN": {
- "name": "Peso ya Meksiko",
+ "name": "Peso ya Mexico",
"symbol": "MX$"
},
"PHP": {
"name": "Peso ya Ufilipino"
},
"UYU": {
- "name": "Peso ya Urugwai"
+ "name": "Peso ya Uruguay"
},
"BWP": {
"name": "Pula ya Botswana"
@@ -376,13 +373,13 @@
"name": "Rial ya Omani"
},
"QAR": {
- "name": "Rial ya Qatari"
+ "name": "Rial ya Qatar"
},
"YER": {
- "name": "Rial ya Yemeni"
+ "name": "Rial ya Yemen"
},
"KHR": {
- "name": "Riel ya Kambodia"
+ "name": "Riel ya Cambodia"
},
"MYR": {
"name": "Ringgit ya Malaysia"
@@ -391,29 +388,26 @@
"name": "Riyal ya Saudia"
},
"BYN": {
- "name": "Ruble ya Belarusi"
- },
- "BYR": {
- "name": "Ruble ya Belarusi (2000–2016)"
+ "name": "Ruble ya Belarus"
},
"RUB": {
"name": "Ruble ya Urusi"
},
"MVR": {
- "name": "Rufiyaa ya Maldivi"
+ "name": "Rufiyaa ya Maldives"
},
"INR": {
"name": "Rupia ya India",
"symbol": "₹"
},
"MUR": {
- "name": "Rupia ya Morisi"
+ "name": "Rupia ya Mauritius"
},
"NPR": {
- "name": "Rupia ya Nepali"
+ "name": "Rupia ya Nepal"
},
"PKR": {
- "name": "Rupia ya Pakistani"
+ "name": "Rupia ya Pakistan"
},
"SCR": {
"name": "Rupia ya Shelisheli"
@@ -449,23 +443,26 @@
"UGX": {
"name": "Shilingi ya Uganda"
},
+ "PEN": {
+ "name": "Sol ya Peru"
+ },
"KGS": {
- "name": "Som ya Kyrgystani"
+ "name": "Som ya Kyrgystan"
},
"UZS": {
- "name": "Som ya Uzibekistani"
+ "name": "Som ya Uzbekistan"
},
"TJS": {
- "name": "Somoni ya Tajikistani"
+ "name": "Somoni ya Tajikistan"
},
"BDT": {
- "name": "Taka ya Bangladeshi"
+ "name": "Taka ya Bangladesh"
},
"WST": {
"name": "Tala ya Samoa"
},
"KZT": {
- "name": "Tenge ya Kazakistani"
+ "name": "Tenge ya Kazakhstan"
},
"MNT": {
"name": "Tugrik ya Mongolia"
@@ -495,6 +492,6 @@
"name": "Zimbabwean Dollar (2009)"
},
"PLN": {
- "name": "Zloty ya Polandi"
+ "name": "Zloty ya Poland"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/sw.json b/vendor/commerceguys/intl/resources/currency/sw.json
index 8ca8e556a..de35351f7 100644
--- a/vendor/commerceguys/intl/resources/currency/sw.json
+++ b/vendor/commerceguys/intl/resources/currency/sw.json
@@ -3,7 +3,7 @@
"name": "Afghani ya Afghanistan"
},
"MGA": {
- "name": "Ariari ya Madagaska"
+ "name": "Ariari ya Madagascar"
},
"THB": {
"name": "Baht ya Tailandi",
@@ -25,35 +25,41 @@
"name": "Cedi ya Ghana"
},
"CRC": {
- "name": "Colon ya Kostarika"
+ "name": "Colon ya Costa Rica"
+ },
+ "BAM": {
+ "name": "Convertible Mark ya Bosnia na Hezegovina"
},
"NIO": {
- "name": "Cordoba ya Nikaragua"
+ "name": "Cordoba ya Nicaragua"
+ },
+ "CZK": {
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
},
"MKD": {
- "name": "Denar ya Masedonia"
+ "name": "Denar ya Macedonia"
+ },
+ "DZD": {
+ "name": "Dinar ya Algeria"
},
"BHD": {
- "name": "Dinar ya Bahareni"
+ "name": "Dinar ya Bahrain"
},
"IQD": {
- "name": "Dinar ya Iraki"
+ "name": "Dinar ya Iraq"
+ },
+ "JOD": {
+ "name": "Dinar ya Jordan"
},
"KWD": {
- "name": "Dinar ya Kuwaiti"
+ "name": "Dinar ya Kuwait"
},
"RSD": {
"name": "Dinar ya Serbia"
},
- "JOD": {
- "name": "Dinar ya Yordani"
- },
- "DZD": {
- "name": "Dinari ya Aljeria"
- },
"LYD": {
"name": "Dinari ya Libya"
},
@@ -64,7 +70,7 @@
"name": "Dirham ya Falme za Kiarabu"
},
"MAD": {
- "name": "Dirham ya Moroko"
+ "name": "Dirham ya Morocco"
},
"STD": {
"name": "Dobra ya Sao Tome na Principe"
@@ -88,6 +94,14 @@
"BND": {
"name": "Dola ya Brunei"
},
+ "CAD": {
+ "name": "Dola ya Canada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dola ya Caribbean Mashariki",
+ "symbol": "EC$"
+ },
"FJD": {
"name": "Dola ya Fiji"
},
@@ -101,14 +115,6 @@
"JMD": {
"name": "Dola ya Jamaica"
},
- "CAD": {
- "name": "Dola ya Kanada",
- "symbol": "CA$"
- },
- "XCD": {
- "name": "Dola ya Karibea ya Mashariki",
- "symbol": "EC$"
- },
"LRD": {
"name": "Dola ya Liberia"
},
@@ -120,7 +126,7 @@
"name": "Dola ya Namibia"
},
"NZD": {
- "name": "Dola ya Nyuzilandi",
+ "name": "Dola ya New Zealand",
"symbol": "NZ$"
},
"SGD": {
@@ -167,14 +173,14 @@
"name": "Faranga ya CFP",
"symbol": "CFPF"
},
- "GNF": {
- "name": "Faranga ya Guinea"
+ "KMF": {
+ "name": "Faranga ya Comoros"
},
"DJF": {
- "name": "Faranga ya Jibuti"
+ "name": "Faranga ya Djibouti"
},
- "KMF": {
- "name": "Faranga ya Komoro"
+ "GNF": {
+ "name": "Faranga ya Guinea"
},
"CDF": {
"name": "Faranga ya Kongo"
@@ -195,13 +201,13 @@
"name": "Gourde ya Haiti"
},
"PYG": {
- "name": "Guarani ya Paragwai"
+ "name": "Guarani ya Paraguay"
},
"ANG": {
"name": "Guilder ya Antili za Kiholanzi"
},
"UAH": {
- "name": "Hryvnia ya Ukrania"
+ "name": "Hryvnia ya Ukraine"
},
"PGK": {
"name": "Kina ya Papua New Guinea"
@@ -209,9 +215,6 @@
"LAK": {
"name": "Kip ya Laosi"
},
- "CZK": {
- "name": "Koruna ya Jamhuri ya Cheki"
- },
"ISK": {
"name": "Krona ya Aisilandi"
},
@@ -219,13 +222,13 @@
"name": "Krona ya Uswidi"
},
"DKK": {
- "name": "Krone ya Denmaki"
+ "name": "Krone ya Denmark"
},
"NOK": {
- "name": "Krone ya Norwe"
+ "name": "Krone ya Norway"
},
"HRK": {
- "name": "Kuna ya Kroeshia"
+ "name": "Kuna ya Croatia"
},
"MWK": {
"name": "Kwacha ya Malawi"
@@ -237,7 +240,7 @@
"name": "Kwanza ya Angola"
},
"MMK": {
- "name": "Kyat ya Myama"
+ "name": "Kyat ya Myanmar"
},
"GEL": {
"name": "Lari ya Georgia"
@@ -270,19 +273,16 @@
"name": "Loti ya Lesoto"
},
"AZN": {
- "name": "Manat ya Azebaijani"
+ "name": "Manat ya Azerbaijan"
},
"TMT": {
- "name": "Manat ya Turukimenistani"
- },
- "BAM": {
- "name": "Mark Inayoweza Kubadilishwa ya Bosnia na Hezegovina"
+ "name": "Manat ya Turkmenistan"
},
"MZN": {
"name": "Metikali ya Msumbiji"
},
"NGN": {
- "name": "Naira ya Nijeria"
+ "name": "Naira ya Nigeria"
},
"ERN": {
"name": "Nakfa ya Eritrea"
@@ -290,11 +290,8 @@
"BTN": {
"name": "Ngultrum ya Bhutan"
},
- "PEN": {
- "name": "Nuevo Sol ya Peru"
- },
"MRO": {
- "name": "Ouguiya ya Moritania"
+ "name": "Ouguiya ya Mauritania"
},
"TOP": {
"name": "Paʻanga ya Tonga"
@@ -312,13 +309,13 @@
"name": "Pauni ya Misri"
},
"SHP": {
- "name": "Pauni ya Santahelena"
+ "name": "Pauni ya St. Helena"
},
"SDG": {
- "name": "Pauni ya Sudani"
+ "name": "Pauni ya Sudan"
},
"SSP": {
- "name": "Pauni ya Sudani Kusini"
+ "name": "Pauni ya Sudan Kusini"
},
"SYP": {
"name": "Pauni ya Syria"
@@ -331,11 +328,14 @@
"name": "Pauni ya Visiwa vya Falkland"
},
"ARS": {
- "name": "Peso ya Ajentina"
+ "name": "Peso ya Argentina"
},
"CLP": {
"name": "Peso ya Chile"
},
+ "COP": {
+ "name": "Peso ya Colombia"
+ },
"CUP": {
"name": "Peso ya Cuba"
},
@@ -343,20 +343,17 @@
"name": "Peso ya Cuba Inayoweza Kubadilishwa"
},
"DOP": {
- "name": "Peso ya Dominika"
- },
- "COP": {
- "name": "Peso ya Kolombia"
+ "name": "Peso ya Dominica"
},
"MXN": {
- "name": "Peso ya Meksiko",
+ "name": "Peso ya Mexico",
"symbol": "MX$"
},
"PHP": {
"name": "Peso ya Ufilipino"
},
"UYU": {
- "name": "Peso ya Urugwai"
+ "name": "Peso ya Uruguay"
},
"BWP": {
"name": "Pula ya Botswana"
@@ -378,13 +375,13 @@
"name": "Rial ya Omani"
},
"QAR": {
- "name": "Rial ya Qatari"
+ "name": "Rial ya Qatar"
},
"YER": {
- "name": "Rial ya Yemeni"
+ "name": "Rial ya Yemen"
},
"KHR": {
- "name": "Riel ya Kambodia"
+ "name": "Riel ya Cambodia"
},
"MYR": {
"name": "Ringgit ya Malaysia"
@@ -393,29 +390,26 @@
"name": "Riyal ya Saudia"
},
"BYN": {
- "name": "Ruble ya Belarusi"
- },
- "BYR": {
- "name": "Ruble ya Belarusi (2000–2016)"
+ "name": "Ruble ya Belarus"
},
"RUB": {
"name": "Ruble ya Urusi"
},
"MVR": {
- "name": "Rufiyaa ya Maldivi"
+ "name": "Rufiyaa ya Maldives"
},
"INR": {
"name": "Rupia ya India",
"symbol": "₹"
},
"MUR": {
- "name": "Rupia ya Morisi"
+ "name": "Rupia ya Mauritius"
},
"NPR": {
- "name": "Rupia ya Nepali"
+ "name": "Rupia ya Nepal"
},
"PKR": {
- "name": "Rupia ya Pakistani"
+ "name": "Rupia ya Pakistan"
},
"LKR": {
"name": "Rupia ya Sri Lanka"
@@ -447,23 +441,26 @@
"UGX": {
"name": "Shilingi ya Uganda"
},
+ "PEN": {
+ "name": "Sol ya Peru"
+ },
"KGS": {
- "name": "Som ya Kyrgystani"
+ "name": "Som ya Kyrgystan"
},
"UZS": {
- "name": "Som ya Uzibekistani"
+ "name": "Som ya Uzbekistan"
},
"TJS": {
- "name": "Somoni ya Tajikistani"
+ "name": "Somoni ya Tajikistan"
},
"BDT": {
- "name": "Taka ya Bangladeshi"
+ "name": "Taka ya Bangladesh"
},
"WST": {
"name": "Tala ya Samoa"
},
"KZT": {
- "name": "Tenge ya Kazakistani"
+ "name": "Tenge ya Kazakhstan"
},
"MNT": {
"name": "Tugrik ya Mongolia"
@@ -479,7 +476,7 @@
"symbol": "â‚©"
},
"JPY": {
- "name": "Yen ya Japani",
+ "name": "Yen ya Ujapani",
"symbol": "JPÂ¥"
},
"CNY": {
@@ -494,6 +491,6 @@
"name": "Zimbabwean Dollar (2009)"
},
"PLN": {
- "name": "Zloty ya Polandi"
+ "name": "Zloty ya Poland"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/ta.json b/vendor/commerceguys/intl/resources/currency/ta.json
index 4309b5a4b..d674839e2 100644
--- a/vendor/commerceguys/intl/resources/currency/ta.json
+++ b/vendor/commerceguys/intl/resources/currency/ta.json
@@ -340,9 +340,6 @@
"BYN": {
"name": "பெலரà¯à®šà®¿à®¯à®©à¯ ரூபிளà¯"
},
- "BYR": {
- "name": "பெலரà¯à®šà®¿à®¯à®©à¯ ரூபிள௠(2000–2016)"
- },
"BZD": {
"name": "பெலீஸ௠டாலரà¯"
},
diff --git a/vendor/commerceguys/intl/resources/currency/te.json b/vendor/commerceguys/intl/resources/currency/te.json
index 06e18955a..7274fb858 100644
--- a/vendor/commerceguys/intl/resources/currency/te.json
+++ b/vendor/commerceguys/intl/resources/currency/te.json
@@ -261,7 +261,7 @@
"name": "పాకిసà±à°¥à°¾à°¨à± రూపాయి"
},
"PEN": {
- "name": "పెరà±à°µà°¿à°¯à°¨à± à°¨à±à°¯à±‚వో సోలà±"
+ "name": "పెరà±à°µà°¿à°¯à°¨à± సోలà±"
},
"PLN": {
"name": "పోలిషౠజà±à°²à±‹à°Ÿà±€"
@@ -299,9 +299,6 @@
"BYN": {
"name": "బెలరూసియనౠరూబలà±"
},
- "BYR": {
- "name": "బెలరూసియనౠరూబలౠ(2000–2016)"
- },
"BZD": {
"name": "బెలీజౠడాలరà±"
},
@@ -476,7 +473,7 @@
"name": "à°¸à±à°µà±€à°¡à°¿à°·à± à°•à±à°°à±‹à°¨à°¾"
},
"HUF": {
- "name": "హంగేరియనౠఫోరినà±à°Ÿà±"
+ "name": "హంగేరియనౠఫోరింటà±"
},
"HKD": {
"name": "హాంకాంగౠడాలరà±",
diff --git a/vendor/commerceguys/intl/resources/currency/teo.json b/vendor/commerceguys/intl/resources/currency/teo.json
index d90addc6e..693ad5df5 100644
--- a/vendor/commerceguys/intl/resources/currency/teo.json
+++ b/vendor/commerceguys/intl/resources/currency/teo.json
@@ -156,9 +156,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -213,7 +210,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -399,7 +396,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/th.json b/vendor/commerceguys/intl/resources/currency/th.json
index 140f653b4..6a9d7b036 100644
--- a/vendor/commerceguys/intl/resources/currency/th.json
+++ b/vendor/commerceguys/intl/resources/currency/th.json
@@ -77,6 +77,9 @@
"UZS": {
"name": "ซอมอุซเบà¸à¸´à¸ªà¸–าน"
},
+ "PEN": {
+ "name": "ซอลเปรู"
+ },
"GHS": {
"name": "เซดีà¸à¸²à¸™à¸²"
},
@@ -221,9 +224,6 @@
"name": "นิวเชเà¸à¸¥à¸­à¸´à¸ªà¸£à¸²à¹€à¸­à¸¥",
"symbol": "₪"
},
- "PEN": {
- "name": "นูโวซอลเปรู"
- },
"ERN": {
"name": "à¹à¸™à¸à¸Ÿà¸²à¹€à¸­à¸£à¸´à¹€à¸—รีย"
},
@@ -234,7 +234,7 @@
"name": "บัลบัวปานามา"
},
"THB": {
- "name": "บาทไทย"
+ "name": "บาท"
},
"ETB": {
"name": "เบอรร์เอธิโอเปีย"
@@ -378,9 +378,6 @@
"BYN": {
"name": "รูเบิลเบลารุส"
},
- "BYR": {
- "name": "รูเบิลเบลารุส (2000–2016)"
- },
"RUB": {
"name": "รูเบิลรัสเซีย"
},
diff --git a/vendor/commerceguys/intl/resources/currency/tk.json b/vendor/commerceguys/intl/resources/currency/tk.json
index 94cf5c9bf..0f000326c 100644
--- a/vendor/commerceguys/intl/resources/currency/tk.json
+++ b/vendor/commerceguys/intl/resources/currency/tk.json
@@ -7,7 +7,7 @@
"name": "Alban leki"
},
"DZD": {
- "name": "Aljir dinary"
+ "name": "Alžir dinary"
},
"AOA": {
"name": "Angol kwanzasy"
@@ -23,7 +23,7 @@
"symbol": "A$"
},
"AZN": {
- "name": "Azerbaýjan manaty"
+ "name": "Azerbaýjan manady"
},
"AED": {
"name": "BAE dirhemi"
@@ -40,20 +40,17 @@
"BBD": {
"name": "Barbados dollary"
},
- "BZD": {
- "name": "Beliz dollary"
- },
"BYN": {
- "name": "Belorus rubly"
+ "name": "Belarus rubly"
},
- "BYR": {
- "name": "Belorus rubly (2000–2016)"
+ "BZD": {
+ "name": "Beliz dollary"
},
"BMD": {
"name": "Bermuda dollary"
},
"BGN": {
- "name": "Bolgar lewy"
+ "name": "Bolgar lewi"
},
"BOB": {
"name": "Boliwiýa boliwianosy"
@@ -65,11 +62,14 @@
"name": "Brazil realy",
"symbol": "R$"
},
+ "GBP": {
+ "name": "Britan funt sterlingi"
+ },
"BND": {
"name": "Bruneý dollary"
},
"BIF": {
- "name": "Burundiý franky"
+ "name": "Burundi franky"
},
"BTN": {
"name": "Butan ngultrumy"
@@ -84,7 +84,7 @@
"name": "Daniýa kronasy"
},
"KPW": {
- "name": "Demirgazyk Koreýa wony"
+ "name": "Demirgazyk Koreý wony"
},
"DOP": {
"name": "Dominikan pesosy"
@@ -115,16 +115,16 @@
"symbol": "CFPF"
},
"HTG": {
- "name": "Gaitýan gurdy"
+ "name": "Gaiti gurdy"
},
"GMD": {
- "name": "Gambiýa dalasy"
+ "name": "Gambiýa dalasisi"
},
"GHS": {
"name": "Gano sedisi"
},
"GYD": {
- "name": "Gaýan dollary"
+ "name": "Gaýana dollary"
},
"KZT": {
"name": "Gazak teňňesi"
@@ -140,7 +140,7 @@
"symbol": "HK$"
},
"GEL": {
- "name": "Gruzin lari"
+ "name": "Gruzin larisi"
},
"XCD": {
"name": "Gündogar karib dollary",
@@ -150,11 +150,11 @@
"name": "Günorta Afrika rendi"
},
"KRW": {
- "name": "Günorta Koreýa wony",
+ "name": "Günorta Koreý wony",
"symbol": "â‚©"
},
"SSP": {
- "name": "Günorta sudan funty"
+ "name": "Günorta Sudan funty"
},
"GTQ": {
"name": "Gwatemala ketsaly"
@@ -179,11 +179,8 @@
"IDR": {
"name": "Indoneziýa rupiýasy"
},
- "GBP": {
- "name": "Iňlis funt sterlingi"
- },
"JOD": {
- "name": "Iordaniýa dinary"
+ "name": "Iordan dinary"
},
"ISK": {
"name": "Islandiýa kronasy"
@@ -225,13 +222,13 @@
"name": "Kolumbiýa pesosy"
},
"KMF": {
- "name": "Komor adalar franky"
+ "name": "Komor adalarynyň franky"
},
"CDF": {
- "name": "Kongolez franky"
+ "name": "Kongo franky"
},
"BAM": {
- "name": "Konwertirlenýän bosniýa we gersogowina markasy"
+ "name": "Konwertirlenýän Bosniýa we Gersogowina markasy"
},
"CUC": {
"name": "Konwertirlenýän kuba pesosy"
@@ -248,9 +245,6 @@
"LAK": {
"name": "Laos kipi"
},
- "SLL": {
- "name": "Leon"
- },
"LSL": {
"name": "Lesotho Loti"
},
@@ -282,7 +276,7 @@
"name": "Maldiw rufiýasy"
},
"MAD": {
- "name": "Marokka dirhamy"
+ "name": "Marokko dirhamy"
},
"MUR": {
"name": "Mawrikiý rupiýasy"
@@ -301,7 +295,7 @@
"name": "Mongol tugrigi"
},
"MZN": {
- "name": "Mozambik metikal"
+ "name": "Mozambik metikaly"
},
"EGP": {
"name": "Müsür funty"
@@ -343,13 +337,19 @@
"name": "Panama balboasy"
},
"PGK": {
- "name": "Papua — Täze Gwineýa kinasy"
+ "name": "Papua - Täze Gwineýa kinasy"
},
"PYG": {
- "name": "Paragwaý guarani"
+ "name": "Paragwaý guaranisi"
+ },
+ "PEN": {
+ "name": "Peru soly"
},
"PLN": {
- "name": "Polýak zloty"
+ "name": "Polýak zlotysy"
+ },
+ "RWF": {
+ "name": "Ruanda franky"
},
"RON": {
"name": "Rumyn leýi"
@@ -357,9 +357,6 @@
"RUB": {
"name": "Rus rubly"
},
- "RWF": {
- "name": "Rwanda franky"
- },
"SVC": {
"name": "Salvadoran Colón"
},
@@ -388,7 +385,7 @@
"name": "Solomon adalarynyň dollary"
},
"SOS": {
- "name": "Somali ÅŸilingi"
+ "name": "Somali ÅŸillingi"
},
"LKR": {
"name": "Şri-Lanka rupiýasy"
@@ -408,18 +405,18 @@
"CHF": {
"name": "Şweýsar franky"
},
+ "SLL": {
+ "name": "Sýerra-Leone leony"
+ },
"TJS": {
"name": "Täjik somonisy"
},
"TZS": {
- "name": "Tanzaniýa şilingi"
+ "name": "Tanzaniýa şillingi"
},
"THB": {
"name": "Taýland baty"
},
- "PEN": {
- "name": "Täze peru soly"
- },
"TWD": {
"name": "Täze Taýwan dollary",
"symbol": "NT$"
@@ -445,10 +442,10 @@
"name": "Türk lirasy"
},
"TMT": {
- "name": "Türkmen manaty"
+ "name": "Türkmen manady"
},
"UGX": {
- "name": "Uganda ÅŸilingi"
+ "name": "Uganda ÅŸillingi"
},
"UAH": {
"name": "Ukrain griwnasy"
@@ -460,10 +457,10 @@
"name": "Wanuatu watusy"
},
"VEF": {
- "name": "Wenezuela boliwary"
+ "name": "Wenesuela boliwary"
},
"HUF": {
- "name": "Wenger forinty"
+ "name": "Wenger forinti"
},
"VND": {
"name": "Wýetnam dongy",
diff --git a/vendor/commerceguys/intl/resources/currency/tr.json b/vendor/commerceguys/intl/resources/currency/tr.json
index 5a0557814..e63c5c8b5 100644
--- a/vendor/commerceguys/intl/resources/currency/tr.json
+++ b/vendor/commerceguys/intl/resources/currency/tr.json
@@ -37,18 +37,15 @@
"BBD": {
"name": "Barbados Doları"
},
+ "BYN": {
+ "name": "Belarus Rublesi"
+ },
"BZD": {
"name": "Belize Doları"
},
"BMD": {
"name": "Bermuda Doları"
},
- "BYN": {
- "name": "Beyaz Rusya Rublesi"
- },
- "BYR": {
- "name": "Beyaz Rusya Rublesi (2000–2016)"
- },
"BTN": {
"name": "Bhutan Ngultrumu"
},
@@ -361,7 +358,7 @@
"name": "Paraguay Guaranisi"
},
"PEN": {
- "name": "Peru Nuevo Solü"
+ "name": "Peru Solü"
},
"PLN": {
"name": "Polonya Zlotisi"
diff --git a/vendor/commerceguys/intl/resources/currency/twq.json b/vendor/commerceguys/intl/resources/currency/twq.json
index fddc77db1..bc323e79e 100644
--- a/vendor/commerceguys/intl/resources/currency/twq.json
+++ b/vendor/commerceguys/intl/resources/currency/twq.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -117,7 +114,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -362,7 +359,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/tzm.json b/vendor/commerceguys/intl/resources/currency/tzm.json
index 3015bb7c7..cf9a981e1 100644
--- a/vendor/commerceguys/intl/resources/currency/tzm.json
+++ b/vendor/commerceguys/intl/resources/currency/tzm.json
@@ -32,9 +32,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -104,7 +101,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi Agambi"
@@ -368,7 +365,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/ug.json b/vendor/commerceguys/intl/resources/currency/ug.json
index 4d5bb7d97..b9b4387e1 100644
--- a/vendor/commerceguys/intl/resources/currency/ug.json
+++ b/vendor/commerceguys/intl/resources/currency/ug.json
@@ -122,9 +122,6 @@
"BYN": {
"name": "بÛلارۇسىيە رۇبلىسى"
},
- "BYR": {
- "name": "بÛلارۇسىيە رۇبلىسى (۲۰۰۰–۲۰۱۶)"
- },
"BZD": {
"name": "بÛلىز دوللىرى"
},
@@ -151,7 +148,7 @@
"name": "پولشا زىلوتى"
},
"PEN": {
- "name": "Ù¾Ûرۇ ÙŠÛÚ­Ù‰ سولى"
+ "name": "Ù¾Ûرۇ سولى"
},
"TJS": {
"name": "تاجىكىستان سومونىسى"
diff --git a/vendor/commerceguys/intl/resources/currency/uk.json b/vendor/commerceguys/intl/resources/currency/uk.json
index 9695c269d..4c9e092cc 100644
--- a/vendor/commerceguys/intl/resources/currency/uk.json
+++ b/vendor/commerceguys/intl/resources/currency/uk.json
@@ -47,9 +47,6 @@
"BYN": {
"name": "білоруÑький рубль"
},
- "BYR": {
- "name": "білоруÑький рубль (2000–2016)"
- },
"BGN": {
"name": "болгарÑький лев"
},
@@ -123,7 +120,7 @@
"name": "дирхам ОÐЕ"
},
"STD": {
- "name": "добра Сан-Томе Ñ– ПринÑіпі"
+ "name": "добра Сан-Томе Ñ– ПрінÑіпі"
},
"KYD": {
"name": "долар Кайманових оÑтровів"
@@ -135,7 +132,7 @@
"name": "долар СШÐ"
},
"TTD": {
- "name": "долар Тринідаду і Тобаго"
+ "name": "долар Трінідаду і Тобаґо"
},
"DOP": {
"name": "домініканÑький пеÑо"
@@ -211,7 +208,7 @@
"name": "китайÑький юань"
},
"PGK": {
- "name": "кіна Папуа Ðової Гвінеї"
+ "name": "кіна Папуа-Ðової Òвінеї"
},
"COP": {
"name": "колумбійÑький пеÑо"
@@ -325,7 +322,7 @@
"name": "пакиÑтанÑька рупіÑ"
},
"PAB": {
- "name": "панамÑька бальбоа"
+ "name": "панамÑьке бальбоа"
},
"PYG": {
"name": "парагвайÑький гуарані"
@@ -406,7 +403,7 @@
"name": "танзанійÑький шилінг"
},
"TOP": {
- "name": "тонганÑька паанга"
+ "name": "тонґанÑька паанга"
},
"TND": {
"name": "туніÑький динар"
diff --git a/vendor/commerceguys/intl/resources/currency/ur-IN.json b/vendor/commerceguys/intl/resources/currency/ur-IN.json
index bf269bfd7..a0ac2cc76 100644
--- a/vendor/commerceguys/intl/resources/currency/ur-IN.json
+++ b/vendor/commerceguys/intl/resources/currency/ur-IN.json
@@ -100,9 +100,6 @@
"BYN": {
"name": "بیلاروسی روبل"
},
- "BYR": {
- "name": "بیلاروسی روبل (۲۰۰۰–۲۰۱۶)"
- },
"BZD": {
"name": "بیلائز ڈالر"
},
@@ -129,7 +126,7 @@
"name": "پیراگوئے کا گوآرنی"
},
"PEN": {
- "name": "پیروین نیووسول"
+ "name": "پیرو نیووسول"
},
"TJS": {
"name": "تاجکستانی سومونی"
diff --git a/vendor/commerceguys/intl/resources/currency/ur.json b/vendor/commerceguys/intl/resources/currency/ur.json
index c20208883..d413a63e3 100644
--- a/vendor/commerceguys/intl/resources/currency/ur.json
+++ b/vendor/commerceguys/intl/resources/currency/ur.json
@@ -100,9 +100,6 @@
"BYN": {
"name": "بیلاروسی روبل"
},
- "BYR": {
- "name": "بیلاروسی روبل (۲۰۰۰–۲۰۱۶)"
- },
"BZD": {
"name": "بیلائز ڈالر"
},
@@ -130,7 +127,7 @@
"name": "پیراگوئے کا گوآرنی"
},
"PEN": {
- "name": "پیروین نیووسول"
+ "name": "پیرو نیووسول"
},
"TJS": {
"name": "تاجکستانی سومونی"
diff --git a/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json b/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
index b51674b7a..0db4b4720 100644
--- a/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/currency/uz-Cyrl.json
@@ -27,9 +27,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BTN": {
"name": "Bhutanese Ngultrum"
},
@@ -72,7 +69,7 @@
"name": "Croatian Kuna"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -223,7 +220,7 @@
"name": "Papua New Guinean Kina"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
@@ -452,7 +449,7 @@
"name": "Парагвай гуарани"
},
"PEN": {
- "name": "Перу нуево Ñол"
+ "name": "Перу Ñол"
},
"RUB": {
"name": "Ð ÑƒÑ Ñ€ÑƒÐ±Ð»Ð¸"
diff --git a/vendor/commerceguys/intl/resources/currency/uz.json b/vendor/commerceguys/intl/resources/currency/uz.json
index b137357dc..c193e0f0f 100644
--- a/vendor/commerceguys/intl/resources/currency/uz.json
+++ b/vendor/commerceguys/intl/resources/currency/uz.json
@@ -44,9 +44,6 @@
"BYN": {
"name": "Belarus rubli"
},
- "BYR": {
- "name": "Belarus rubli (2000–2016)"
- },
"BZD": {
"name": "Beliz dollari"
},
@@ -81,12 +78,6 @@
"BTN": {
"name": "Butan ngultrumi"
},
- "CZK": {
- "name": "Chexiya kronasi"
- },
- "CLP": {
- "name": "Chili pesosi"
- },
"DKK": {
"name": "Daniya kronasi"
},
@@ -115,10 +106,6 @@
"name": "Fransuz Polineziyasi franki",
"symbol": "CFPF"
},
- "XOF": {
- "name": "G‘arbiy Afrika CFA franki",
- "symbol": "CFA"
- },
"HTG": {
"name": "Gaiti gurdi"
},
@@ -309,10 +296,6 @@
"NOK": {
"name": "Norvegiya kronasi"
},
- "UZS": {
- "name": "O‘zbekiston so‘mi",
- "symbol": "soʻm"
- },
"AZN": {
"name": "Ozarbayjon manati"
},
@@ -326,7 +309,7 @@
"name": "Paragvay guaranisi"
},
"PEN": {
- "name": "Peru yangi soli"
+ "name": "Peru soli"
},
"PKR": {
"name": "Pokiston rupiyasi"
@@ -370,22 +353,6 @@
"SCR": {
"name": "Seyshel rupiyasi"
},
- "XCD": {
- "name": "Sharqiy Karib dollari",
- "symbol": "EC$"
- },
- "KPW": {
- "name": "Shimoliy Koreya voni"
- },
- "LKR": {
- "name": "Shri-Lanka rupiyasi"
- },
- "SEK": {
- "name": "Shvetsiya kronasi"
- },
- "CHF": {
- "name": "Shveytsariya franki"
- },
"SGD": {
"name": "Singapur dollari"
},
@@ -493,5 +460,35 @@
},
"ZWL": {
"name": "Zimbabwean Dollar (2009)"
+ },
+ "UZS": {
+ "name": "O‘zbekiston so‘mi",
+ "symbol": "soʻm"
+ },
+ "XOF": {
+ "name": "G‘arbiy Afrika CFA franki",
+ "symbol": "CFA"
+ },
+ "XCD": {
+ "name": "Sharqiy Karib dollari",
+ "symbol": "EC$"
+ },
+ "KPW": {
+ "name": "Shimoliy Koreya voni"
+ },
+ "LKR": {
+ "name": "Shri-Lanka rupiyasi"
+ },
+ "SEK": {
+ "name": "Shvetsiya kronasi"
+ },
+ "CHF": {
+ "name": "Shveytsariya franki"
+ },
+ "CZK": {
+ "name": "Chexiya kronasi"
+ },
+ "CLP": {
+ "name": "Chili pesosi"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/vai-Latn.json b/vendor/commerceguys/intl/resources/currency/vai-Latn.json
index fb596ab61..2fcd6a4cd 100644
--- a/vendor/commerceguys/intl/resources/currency/vai-Latn.json
+++ b/vendor/commerceguys/intl/resources/currency/vai-Latn.json
@@ -46,9 +46,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -116,7 +113,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -359,7 +356,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/vai.json b/vendor/commerceguys/intl/resources/currency/vai.json
index b2708f81f..fcd6e7726 100644
--- a/vendor/commerceguys/intl/resources/currency/vai.json
+++ b/vendor/commerceguys/intl/resources/currency/vai.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -90,7 +87,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -246,7 +243,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/vi.json b/vendor/commerceguys/intl/resources/currency/vi.json
index cea476214..e36efcc3f 100644
--- a/vendor/commerceguys/intl/resources/currency/vi.json
+++ b/vendor/commerceguys/intl/resources/currency/vi.json
@@ -236,7 +236,7 @@
"name": "Guarani Paraguay"
},
"ANG": {
- "name": "Guilder Tây Ấn Hà Lan"
+ "name": "Guilder Antille Hà Lan"
},
"UAH": {
"name": "Hryvnia Ucraina"
@@ -332,9 +332,6 @@
"name": "Nhân dân tệ",
"symbol": "CNÂ¥"
},
- "PEN": {
- "name": "Nuevo Sol Peru"
- },
"MRO": {
"name": "Ouguiya Mauritania"
},
@@ -412,9 +409,6 @@
"BYN": {
"name": "Rúp Belarus"
},
- "BYR": {
- "name": "Rúp Belarus (2000–2016)"
- },
"RUB": {
"name": "Rúp Nga"
},
@@ -456,6 +450,9 @@
"UGX": {
"name": "Shilling Uganda"
},
+ "PEN": {
+ "name": "Sol Peru"
+ },
"KGS": {
"name": "Som Kyrgyzstan"
},
diff --git a/vendor/commerceguys/intl/resources/currency/vun.json b/vendor/commerceguys/intl/resources/currency/vun.json
index 61220f73e..f5fec488b 100644
--- a/vendor/commerceguys/intl/resources/currency/vun.json
+++ b/vendor/commerceguys/intl/resources/currency/vun.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambia"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/xog.json b/vendor/commerceguys/intl/resources/currency/xog.json
index ee12de9b3..e4a530578 100644
--- a/vendor/commerceguys/intl/resources/currency/xog.json
+++ b/vendor/commerceguys/intl/resources/currency/xog.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ya Gambya"
@@ -356,7 +353,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/yo-BJ.json b/vendor/commerceguys/intl/resources/currency/yo-BJ.json
index 6d65a0b80..888ebe828 100644
--- a/vendor/commerceguys/intl/resources/currency/yo-BJ.json
+++ b/vendor/commerceguys/intl/resources/currency/yo-BJ.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ti OrílÉ›Ìède Gamibia"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/yo.json b/vendor/commerceguys/intl/resources/currency/yo.json
index de76fd4f4..ff1ecc7a0 100644
--- a/vendor/commerceguys/intl/resources/currency/yo.json
+++ b/vendor/commerceguys/intl/resources/currency/yo.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -89,7 +86,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"GMD": {
"name": "Dalasi ti OrílẹÌède Gamibia"
@@ -347,7 +344,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/yue.json b/vendor/commerceguys/intl/resources/currency/yue.json
deleted file mode 100644
index 60ee55f85..000000000
--- a/vendor/commerceguys/intl/resources/currency/yue.json
+++ /dev/null
@@ -1,496 +0,0 @@
-{
- "BTN": {
- "name": "ä¸ä¸¹é‚£ç‰¹å€«"
- },
- "DKK": {
- "name": "丹麥克朗"
- },
- "AZN": {
- "name": "亞塞拜然馬ç´ç‰¹"
- },
- "AMD": {
- "name": "亞美尼亞德拉姆"
- },
- "CNY": {
- "name": "人民幣",
- "symbol": "CNÂ¥"
- },
- "ILS": {
- "name": "以色列新è¬å…‹çˆ¾",
- "symbol": "₪"
- },
- "IQD": {
- "name": "伊拉克第ç´çˆ¾"
- },
- "IRR": {
- "name": "伊朗里亞爾"
- },
- "RUB": {
- "name": "俄羅斯盧布"
- },
- "BGN": {
- "name": "ä¿åŠ åˆ©äºžæ–°åˆ—å¼—"
- },
- "HRK": {
- "name": "克羅埃西亞庫ç´"
- },
- "ISK": {
- "name": "冰島克朗"
- },
- "LYD": {
- "name": "利比亞第ç´çˆ¾"
- },
- "CDF": {
- "name": "剛果法郎"
- },
- "CAD": {
- "name": "加幣",
- "symbol": "CA$"
- },
- "HUF": {
- "name": "匈牙利ç¦æž—"
- },
- "KPW": {
- "name": "北韓圓"
- },
- "TTD": {
- "name": "åƒé‡Œé”åŠæ‰˜å·´å“¥å…ƒ"
- },
- "SSP": {
- "name": "å—蘇丹鎊"
- },
- "ZAR": {
- "name": "å—éžè˜­ç‰¹"
- },
- "KZT": {
- "name": "å¡æ‰Žå…‹æ–¯å¦å¦å‰"
- },
- "QAR": {
- "name": "å¡é”里亞爾"
- },
- "IDR": {
- "name": "å°å°¼ç›¾"
- },
- "INR": {
- "name": "å°åº¦ç›§æ¯”",
- "symbol": "₹"
- },
- "ERN": {
- "name": "厄立特里亞ç´å…‹æ³•"
- },
- "CUC": {
- "name": "å¤å·´å¯è½‰æ›æŠ«ç´¢"
- },
- "CUP": {
- "name": "å¤å·´æŠ«ç´¢"
- },
- "SZL": {
- "name": "å²ç“¦æ¿Ÿè˜­é‡Œæœ—å‰å°¼"
- },
- "DJF": {
- "name": "å‰å¸ƒåœ°æ³•éƒŽ"
- },
- "KGS": {
- "name": "å‰çˆ¾å‰æ–¯ç´¢å§†"
- },
- "COP": {
- "name": "哥倫比亞披索"
- },
- "CRC": {
- "name": "哥斯大黎加科朗"
- },
- "GEL": {
- "name": "喬治亞拉里"
- },
- "TMT": {
- "name": "土庫曼馬ç´ç‰¹"
- },
- "GYD": {
- "name": "圭亞那元"
- },
- "TZS": {
- "name": "å¦å°šå°¼äºžå…ˆä»¤"
- },
- "EGP": {
- "name": "埃åŠéŽŠ"
- },
- "TJS": {
- "name": "å¡”å‰å…‹ç´¢èŽ«å°¼"
- },
- "SCR": {
- "name": "塞席爾盧比"
- },
- "RSD": {
- "name": "塞爾維亞戴ç´"
- },
- "DOP": {
- "name": "多明尼加披索"
- },
- "NGN": {
- "name": "奈åŠåˆ©äºžå¥ˆæ‹‰"
- },
- "VEF": {
- "name": "委內瑞拉玻利瓦"
- },
- "BDT": {
- "name": "孟加拉塔å¡"
- },
- "AOA": {
- "name": "安哥拉寬扎"
- },
- "LAK": {
- "name": "寮國基普"
- },
- "ZMW": {
- "name": "尚比亞克瓦查"
- },
- "NIO": {
- "name": "尼加拉瓜金科多巴"
- },
- "NPR": {
- "name": "尼泊爾盧比"
- },
- "BSD": {
- "name": "巴哈馬元"
- },
- "PKR": {
- "name": "巴基斯å¦ç›§æ¯”"
- },
- "PGK": {
- "name": "巴布亞ç´å¹¾å…§äºžåŸºé‚£"
- },
- "PYG": {
- "name": "巴拉圭瓜拉尼"
- },
- "PAB": {
- "name": "巴拿馬巴波亞"
- },
- "BHD": {
- "name": "巴林第ç´çˆ¾"
- },
- "BRL": {
- "name": "巴西里拉",
- "symbol": "R$"
- },
- "BBD": {
- "name": "å·´è²å¤šå…ƒ"
- },
- "GNF": {
- "name": "幾內亞法郎"
- },
- "NOK": {
- "name": "挪å¨å…‹æœ—"
- },
- "CZK": {
- "name": "æ·å…‹å…‹æœ—"
- },
- "MDL": {
- "name": "æ‘©æœé›²åˆ—伊"
- },
- "MAD": {
- "name": "摩洛哥迪拉姆"
- },
- "SYP": {
- "name": "敘利亞鎊"
- },
- "FJD": {
- "name": "æ–æ¿Ÿå…ƒ"
- },
- "LKR": {
- "name": "斯里蘭å¡ç›§æ¯”"
- },
- "SGD": {
- "name": "新加å¡å¹£"
- },
- "TWD": {
- "name": "æ–°å°å¹£",
- "symbol": "NT$"
- },
- "TRY": {
- "name": "新土耳其里拉"
- },
- "JPY": {
- "name": "日圓",
- "symbol": "Â¥"
- },
- "CLP": {
- "name": "智利披索"
- },
- "TOP": {
- "name": "æ±åŠ æ½˜åŠ "
- },
- "KHR": {
- "name": "柬埔寨瑞爾"
- },
- "XCD": {
- "name": "格瑞那é”å…ƒ",
- "symbol": "EC$"
- },
- "MUR": {
- "name": "模里西斯盧比"
- },
- "EUR": {
- "name": "æ­å…ƒ",
- "symbol": "€"
- },
- "BND": {
- "name": "汶èŠå…ƒ"
- },
- "SAR": {
- "name": "æ²™çƒåœ°é‡Œäºžçˆ¾"
- },
- "XOF": {
- "name": "法郎 (CFA–BCEAO)",
- "symbol": "CFA"
- },
- "XAF": {
- "name": "法郎 (CFA–BEAC)",
- "symbol": "FCFA"
- },
- "XPF": {
- "name": "法郎 (CFP)",
- "symbol": "CFPF"
- },
- "BAM": {
- "name": "波士尼亞-赫塞哥維ç´å¯è½‰æ›é¦¬å…‹"
- },
- "BWP": {
- "name": "波札那普拉"
- },
- "PLN": {
- "name": "波蘭茲羅æ"
- },
- "THB": {
- "name": "泰銖"
- },
- "HNL": {
- "name": "洪都拉斯倫皮拉"
- },
- "HTG": {
- "name": "海地å¤å¾·"
- },
- "HKD": {
- "name": "港幣",
- "symbol": "HK$"
- },
- "AUD": {
- "name": "澳幣",
- "symbol": "AU$"
- },
- "MOP": {
- "name": "澳門元"
- },
- "UAH": {
- "name": "çƒå…‹è˜­æ ¼é‡Œå¤«ç´"
- },
- "UGX": {
- "name": "çƒå¹²é”先令"
- },
- "UYU": {
- "name": "çƒæ‹‰åœ­æŠ«ç´¢"
- },
- "UZS": {
- "name": "çƒèŒ²åˆ¥å…‹ç´¢å§†"
- },
- "JMD": {
- "name": "牙買加元"
- },
- "SLL": {
- "name": "ç…å­å±±åˆ©æ˜‚"
- },
- "BOB": {
- "name": "玻利維亞諾"
- },
- "SEK": {
- "name": "瑞典克朗"
- },
- "CHF": {
- "name": "瑞士法郎"
- },
- "GTQ": {
- "name": "瓜地馬拉格查爾"
- },
- "GMD": {
- "name": "甘比亞é”拉西"
- },
- "BYN": {
- "name": "白俄羅斯盧布"
- },
- "BYR": {
- "name": "白俄羅斯盧布 (2000–2016)"
- },
- "BMD": {
- "name": "百慕é”å¹£"
- },
- "RWF": {
- "name": "盧安é”法郎"
- },
- "GIP": {
- "name": "直布羅陀鎊"
- },
- "FKP": {
- "name": "ç¦å…‹è˜­ç¾¤å³¶éŽŠ"
- },
- "VUV": {
- "name": "è¬é‚£æœç“¦åœ–"
- },
- "KWD": {
- "name": "科å¨ç‰¹ç¬¬ç´çˆ¾"
- },
- "KMF": {
- "name": "科摩羅法郎"
- },
- "PEN": {
- "name": "秘魯新太陽幣"
- },
- "TND": {
- "name": "çªå°¼è¥¿äºžç¬¬ç´çˆ¾"
- },
- "JOD": {
- "name": "約旦第ç´çˆ¾"
- },
- "NAD": {
- "name": "ç´ç±³æ¯”亞元"
- },
- "NZD": {
- "name": "ç´è¥¿è˜­å¹£",
- "symbol": "NZ$"
- },
- "SBD": {
- "name": "索羅門群島元"
- },
- "SOS": {
- "name": "索馬利亞先令"
- },
- "CVE": {
- "name": "維德角埃斯庫多"
- },
- "MMK": {
- "name": "緬甸元"
- },
- "RON": {
- "name": "羅馬尼亞列伊"
- },
- "USD": {
- "name": "美元",
- "symbol": "US$"
- },
- "STD": {
- "name": "è–多美島和普林西比島多布拉"
- },
- "SHP": {
- "name": "è–赫勒拿鎊"
- },
- "KES": {
- "name": "肯尼亞先令"
- },
- "GBP": {
- "name": "英鎊",
- "symbol": "£"
- },
- "MRO": {
- "name": "茅利塔尼亞çƒå‰äºž"
- },
- "ANG": {
- "name": "è·å±¬å®‰åœ°åˆ—斯盾"
- },
- "MZN": {
- "name": "莫三比克梅蒂å¡çˆ¾"
- },
- "PHP": {
- "name": "è²å¾‹è³“披索"
- },
- "YER": {
- "name": "葉門里亞爾"
- },
- "MNT": {
- "name": "è’™å¤åœ–格里克"
- },
- "BIF": {
- "name": "蒲隆地法郎"
- },
- "SVC": {
- "name": "薩爾瓦多科郎"
- },
- "SDG": {
- "name": "蘇丹鎊"
- },
- "SRD": {
- "name": "蘇利å—å…ƒ"
- },
- "ETB": {
- "name": "衣索比亞比爾"
- },
- "WST": {
- "name": "西薩摩亞塔拉"
- },
- "BZD": {
- "name": "è²é‡Œæ–¯å…ƒ"
- },
- "LRD": {
- "name": "賴比瑞亞元"
- },
- "LSL": {
- "name": "賴索托洛蒂"
- },
- "VND": {
- "name": "越å—盾",
- "symbol": "â‚«"
- },
- "ZWL": {
- "name": "辛巴å¨å…ƒ (2009)"
- },
- "GHS": {
- "name": "迦ç´å¡žåœ°"
- },
- "KYD": {
- "name": "開曼群島元"
- },
- "AFN": {
- "name": "阿富汗尼"
- },
- "AED": {
- "name": "阿拉伯è¯åˆå¤§å…¬åœ‹è¿ªçˆ¾æ±—"
- },
- "OMR": {
- "name": "阿曼里亞爾"
- },
- "ARS": {
- "name": "阿根廷披索"
- },
- "DZD": {
- "name": "阿爾åŠåˆ©äºžç¬¬ç´çˆ¾"
- },
- "ALL": {
- "name": "阿爾巴尼亞列克"
- },
- "AWG": {
- "name": "阿路巴盾"
- },
- "KRW": {
- "name": "韓圓",
- "symbol": "₩"
- },
- "MYR": {
- "name": "馬來西亞令å‰"
- },
- "MKD": {
- "name": "馬其頓第ç´çˆ¾"
- },
- "MWK": {
- "name": "馬拉維克瓦查"
- },
- "MVR": {
- "name": "馬爾地夫盧éžäºž"
- },
- "MGA": {
- "name": "馬é”加斯加阿里亞里"
- },
- "LBP": {
- "name": "黎巴嫩鎊"
- },
- "MXN": {
- "name": "墨西哥披索",
- "symbol": "MX$"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/currency/zgh.json b/vendor/commerceguys/intl/resources/currency/zgh.json
index dccd83038..cc4d7347e 100644
--- a/vendor/commerceguys/intl/resources/currency/zgh.json
+++ b/vendor/commerceguys/intl/resources/currency/zgh.json
@@ -29,9 +29,6 @@
"BYN": {
"name": "Belarusian Ruble"
},
- "BYR": {
- "name": "Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "Belize Dollar"
},
@@ -86,7 +83,7 @@
"name": "Cuban Peso"
},
"CZK": {
- "name": "Czech Republic Koruna"
+ "name": "Czech Koruna"
},
"DKK": {
"name": "Danish Krone"
@@ -236,7 +233,7 @@
"name": "Peruvian Sol"
},
"PHP": {
- "name": "Philippine Peso"
+ "name": "Philippine Piso"
},
"PLN": {
"name": "Polish Zloty"
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json b/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
index b3e6889e1..9d179e767 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hans-HK.json
@@ -67,9 +67,6 @@
"BYN": {
"name": "白俄罗斯å¢å¸ƒ"
},
- "BYR": {
- "name": "白俄罗斯å¢å¸ƒ (2000–2016)"
- },
"BMD": {
"name": "百慕大元"
},
@@ -271,7 +268,7 @@
"name": "孟加拉塔å¡"
},
"PEN": {
- "name": "秘é²æ–°ç´¢å°”"
+ "name": "秘é²ç´¢å°”"
},
"MMK": {
"name": "缅甸元"
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
index 2e7f33b46..75ee33849 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant-HK.json
@@ -108,9 +108,6 @@
"BYN": {
"name": "白俄羅斯盧布"
},
- "BYR": {
- "name": "白俄羅斯盧布 (2000–2016)"
- },
"IQD": {
"name": "伊拉克第ç´çˆ¾"
},
@@ -153,7 +150,7 @@
"name": "安哥拉寬扎"
},
"BMD": {
- "name": "百慕é”å¹£"
+ "name": "百慕é”å…ƒ"
},
"LAK": {
"name": "è€æ’¾åŸºæ™®"
@@ -327,7 +324,7 @@
"name": "çƒèŒ²åˆ¥å…‹ç´¢å§†"
},
"PEN": {
- "name": "秘魯新太陽幣"
+ "name": "秘魯太陽幣"
},
"NAD": {
"name": "ç´ç±³æ¯”亞元"
@@ -475,7 +472,7 @@
"name": "賴索托洛蒂"
},
"KRW": {
- "name": "韓圓",
+ "name": "韓元",
"symbol": "â‚©"
},
"SVC": {
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json b/vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json
index 249daa54e..44cef2c3b 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant-MO.json
@@ -108,9 +108,6 @@
"BYN": {
"name": "白俄羅斯盧布"
},
- "BYR": {
- "name": "白俄羅斯盧布 (2000–2016)"
- },
"IQD": {
"name": "伊拉克第ç´çˆ¾"
},
@@ -153,7 +150,7 @@
"name": "安哥拉寬扎"
},
"BMD": {
- "name": "百慕é”å¹£"
+ "name": "百慕é”å…ƒ"
},
"LAK": {
"name": "è€æ’¾åŸºæ™®"
@@ -327,7 +324,7 @@
"name": "çƒèŒ²åˆ¥å…‹ç´¢å§†"
},
"PEN": {
- "name": "秘魯新太陽幣"
+ "name": "秘魯太陽幣"
},
"NAD": {
"name": "ç´ç±³æ¯”亞元"
@@ -476,7 +473,7 @@
"name": "賴索托洛蒂"
},
"KRW": {
- "name": "韓圓",
+ "name": "韓元",
"symbol": "â‚©"
},
"SVC": {
diff --git a/vendor/commerceguys/intl/resources/currency/zh-Hant.json b/vendor/commerceguys/intl/resources/currency/zh-Hant.json
index 11396cd52..7587abe43 100644
--- a/vendor/commerceguys/intl/resources/currency/zh-Hant.json
+++ b/vendor/commerceguys/intl/resources/currency/zh-Hant.json
@@ -59,10 +59,7 @@
"symbol": "CA$"
},
"KPW": {
- "name": "北韓圓"
- },
- "KZT": {
- "name": "å¡æ‰Žå…‹æ–¯å¦å¦å‰"
+ "name": "北韓元"
},
"QAR": {
"name": "å¡é”里亞爾"
@@ -91,9 +88,6 @@
"BYN": {
"name": "白俄羅斯盧布"
},
- "BYR": {
- "name": "白俄羅斯盧布 (2000–2016)"
- },
"IQD": {
"name": "伊拉克第ç´çˆ¾"
},
@@ -239,6 +233,9 @@
"SSP": {
"name": "å—蘇丹鎊"
},
+ "KZT": {
+ "name": "哈薩克堅戈"
+ },
"KHR": {
"name": "柬埔寨瑞爾"
},
@@ -312,7 +309,7 @@
"name": "çƒèŒ²åˆ¥å…‹ç´¢å§†"
},
"PEN": {
- "name": "秘魯新太陽幣"
+ "name": "秘魯太陽幣"
},
"NAD": {
"name": "ç´ç±³æ¯”亞元"
@@ -478,7 +475,7 @@
"name": "賴索托洛蒂"
},
"KRW": {
- "name": "韓圓",
+ "name": "韓元",
"symbol": "₩"
},
"SVC": {
diff --git a/vendor/commerceguys/intl/resources/currency/zh.json b/vendor/commerceguys/intl/resources/currency/zh.json
index 351bf07ac..c7202d22f 100644
--- a/vendor/commerceguys/intl/resources/currency/zh.json
+++ b/vendor/commerceguys/intl/resources/currency/zh.json
@@ -67,9 +67,6 @@
"BYN": {
"name": "白俄罗斯å¢å¸ƒ"
},
- "BYR": {
- "name": "白俄罗斯å¢å¸ƒ (2000–2016)"
- },
"BMD": {
"name": "百慕大元"
},
@@ -271,7 +268,7 @@
"name": "孟加拉塔å¡"
},
"PEN": {
- "name": "秘é²æ–°ç´¢å°”"
+ "name": "秘é²ç´¢å°”"
},
"MMK": {
"name": "缅甸元"
diff --git a/vendor/commerceguys/intl/resources/currency/zu.json b/vendor/commerceguys/intl/resources/currency/zu.json
index 591d6d7f5..4f0fd2392 100644
--- a/vendor/commerceguys/intl/resources/currency/zu.json
+++ b/vendor/commerceguys/intl/resources/currency/zu.json
@@ -42,9 +42,6 @@
"BYN": {
"name": "i-Belarusian Ruble"
},
- "BYR": {
- "name": "i-Belarusian Ruble (2000–2016)"
- },
"BZD": {
"name": "i-Belize Dollar"
},
diff --git a/vendor/commerceguys/intl/resources/language/af.json b/vendor/commerceguys/intl/resources/language/af.json
index 8f6af95f0..39da31909 100644
--- a/vendor/commerceguys/intl/resources/language/af.json
+++ b/vendor/commerceguys/intl/resources/language/af.json
@@ -45,7 +45,7 @@
"name": "Baskies"
},
"be": {
- "name": "Belo-Russies"
+ "name": "Belarussies"
},
"bem": {
"name": "Bemba"
@@ -102,7 +102,7 @@
"name": "Engels (Kanada)"
},
"en-GB": {
- "name": "Engels (Verenigde Koninkryk)"
+ "name": "Engels (VK)"
},
"eo": {
"name": "Esperanto"
@@ -117,7 +117,7 @@
"name": "Ewondo"
},
"fo": {
- "name": "Faroees"
+ "name": "Faroëes"
},
"fil": {
"name": "Filippyns"
@@ -134,6 +134,9 @@
"fr-CH": {
"name": "Frans (Switserland)"
},
+ "fy": {
+ "name": "Fries"
+ },
"fur": {
"name": "Friuliaans"
},
@@ -173,9 +176,6 @@
"hu": {
"name": "Hongaars"
},
- "hsb": {
- "name": "Hoog-Sorbies"
- },
"ga": {
"name": "Iers"
},
@@ -221,9 +221,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonees"
- },
"ks": {
"name": "Kasjmirs"
},
@@ -242,6 +239,9 @@
"km": {
"name": "Khmer"
},
+ "cgg": {
+ "name": "Kiga"
+ },
"ki": {
"name": "Kikuyu"
},
@@ -407,6 +407,9 @@
"uz": {
"name": "Oezbeeks"
},
+ "hsb": {
+ "name": "Oppersorbies"
+ },
"or": {
"name": "Oriya"
},
@@ -477,7 +480,7 @@
"name": "Sena"
},
"tzm": {
- "name": "Sentraal Atlas Tamazight"
+ "name": "Sentraal-Atlas-Tamazight"
},
"sr": {
"name": "Serwies"
@@ -491,12 +494,12 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
- "cgg": {
- "name": "Sjiga"
- },
"zh": {
"name": "Sjinees"
},
@@ -522,7 +525,7 @@
"name": "Somalies"
},
"ckb": {
- "name": "Sorani Koerdies"
+ "name": "Sorani"
},
"es": {
"name": "Spaans"
@@ -551,6 +554,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "Tadzjieks"
+ },
"dav": {
"name": "Taita"
},
@@ -560,6 +566,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tataars"
+ },
"te": {
"name": "Teloegoe"
},
@@ -582,7 +591,7 @@
"name": "Tsjeggies"
},
"ce": {
- "name": "Tsjetsjen"
+ "name": "Tsjetsjeens"
},
"tk": {
"name": "Turkmeens"
@@ -614,8 +623,8 @@
"wae": {
"name": "Walser"
},
- "fy": {
- "name": "Wes-Fries"
+ "wo": {
+ "name": "Wolof"
},
"yav": {
"name": "Yangben"
diff --git a/vendor/commerceguys/intl/resources/language/agq.json b/vendor/commerceguys/intl/resources/language/agq.json
index 43b0f932b..7da659af1 100644
--- a/vendor/commerceguys/intl/resources/language/agq.json
+++ b/vendor/commerceguys/intl/resources/language/agq.json
@@ -71,9 +71,6 @@
"my": {
"name": "Bùumɛsɛ̀"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -506,6 +503,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamì"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ak.json b/vendor/commerceguys/intl/resources/language/ak.json
index 6a48dc1df..a723be59f 100644
--- a/vendor/commerceguys/intl/resources/language/ak.json
+++ b/vendor/commerceguys/intl/resources/language/ak.json
@@ -83,9 +83,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -506,6 +503,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil kasa"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/am.json b/vendor/commerceguys/intl/resources/language/am.json
index 7d7da2689..de9998d25 100644
--- a/vendor/commerceguys/intl/resources/language/am.json
+++ b/vendor/commerceguys/intl/resources/language/am.json
@@ -18,7 +18,7 @@
"name": "ሉኦ"
},
"lb": {
- "name": "ሉክዘáˆá‰ áˆ­áŒˆáˆ­áŠ›"
+ "name": "ሉክዘáˆá‰ áˆ­áŠ›"
},
"luy": {
"name": "ሉዪያ"
@@ -33,7 +33,7 @@
"name": "ላንጊ"
},
"lo": {
- "name": "ላኦስኛ"
+ "name": "ላኦኛ"
},
"lkt": {
"name": "ላኮታ"
@@ -92,6 +92,9 @@
"mgo": {
"name": "ሜታ"
},
+ "fy": {
+ "name": "áˆá‹•áˆ«á‰£á‹Š áሪሲኛ"
+ },
"ro-MD": {
"name": "ሞáˆá‹³á‰ªá‹«áŠ•áŠ›"
},
@@ -140,6 +143,9 @@
"si": {
"name": "ሲንሃáˆáŠ›"
},
+ "sd": {
+ "name": "ሲንድሂኛ"
+ },
"saq": {
"name": "ሳáˆá‰¡áˆ©"
},
@@ -254,6 +260,9 @@
"twq": {
"name": "ታሳዋቅ"
},
+ "tt": {
+ "name": "ታታርኛ"
+ },
"shi": {
"name": "ታቼáˆáˆ‚ት"
},
@@ -263,6 +272,9 @@
"th": {
"name": "ታይኛ"
},
+ "tg": {
+ "name": "ታጂኪኛ"
+ },
"teo": {
"name": "ቴሶ"
},
@@ -422,9 +434,6 @@
"kn": {
"name": "ካናዳኛ"
},
- "yue": {
- "name": "ካንቶኒá‹"
- },
"kkj": {
"name": "ካኮ"
},
@@ -470,11 +479,14 @@
"wae": {
"name": "á‹‹áˆáˆ°áˆ­"
},
+ "wo": {
+ "name": "ዎሎáኛ"
+ },
"ar": {
"name": "ዓረብኛ"
},
"he": {
- "name": "ዕብራስጥ"
+ "name": "ዕብራይስጥ"
},
"zu": {
"name": "ዙሉኛ"
@@ -488,9 +500,6 @@
"es-MX": {
"name": "የሜክሲኮ ስá“ንሽኛ"
},
- "fy": {
- "name": "የáˆá‹•áˆ«á‰¥ áሪስኛ"
- },
"gd": {
"name": "የስኮቲሽ ጌáˆáŠ­áŠ›"
},
diff --git a/vendor/commerceguys/intl/resources/language/ar-EG.json b/vendor/commerceguys/intl/resources/language/ar-EG.json
index 0d125a761..71392e8ac 100644
--- a/vendor/commerceguys/intl/resources/language/ar-EG.json
+++ b/vendor/commerceguys/intl/resources/language/ar-EG.json
@@ -6,7 +6,7 @@
"name": "الأذربيجانية"
},
"hy": {
- "name": "الأرمينية"
+ "name": "الأرمنية"
},
"as": {
"name": "الأسامية"
@@ -80,6 +80,9 @@
"om": {
"name": "الأورومية"
},
+ "or": {
+ "name": "الأورية"
+ },
"uz": {
"name": "الأوزبكية"
},
@@ -116,6 +119,9 @@
"bas": {
"name": "الباسا"
},
+ "eu": {
+ "name": "الباسكية"
+ },
"bm": {
"name": "البامبارا"
},
@@ -132,7 +138,7 @@
"name": "البريتونية"
},
"ps": {
- "name": "البشتونية"
+ "name": "البشتو"
},
"bg": {
"name": "البلغارية"
@@ -170,6 +176,9 @@
"bo": {
"name": "التبتية"
},
+ "tt": {
+ "name": "التترية"
+ },
"tk": {
"name": "التركمانية"
},
@@ -189,14 +198,11 @@
"name": "التونغية"
},
"te": {
- "name": "التيلوجو"
+ "name": "التيلوغوية"
},
"gl": {
"name": "الجاليكية"
},
- "lg": {
- "name": "الجاندا"
- },
"ka": {
"name": "الجورجية"
},
@@ -239,9 +245,6 @@
"sah": {
"name": "الساخية"
},
- "se": {
- "name": "السامي الشمالية"
- },
"sg": {
"name": "السانجو"
},
@@ -254,6 +257,9 @@
"sl": {
"name": "السلوÙانية"
},
+ "sd": {
+ "name": "السندية"
+ },
"si": {
"name": "السنهالية"
},
@@ -299,12 +305,18 @@
"zh-Hans": {
"name": "الصينية المبسطة"
},
+ "tg": {
+ "name": "الطاجيكية"
+ },
"he": {
"name": "العبرية"
},
"ar": {
"name": "العربية"
},
+ "lg": {
+ "name": "الغاندا"
+ },
"gu": {
"name": "الغوجاراتية"
},
@@ -383,9 +395,6 @@
"ks": {
"name": "الكشميرية"
},
- "yue": {
- "name": "الكَنْتÙونية"
- },
"kw": {
"name": "الكورنية"
},
@@ -413,21 +422,18 @@
"lo": {
"name": "اللاوية"
},
- "lu": {
- "name": "اللبا-كاتانجا"
- },
"lrc": {
"name": "اللرية الشمالية"
},
- "or": {
- "name": "اللغة الأورية"
- },
"lb": {
"name": "اللكسمبورغية"
},
"luo": {
"name": "اللو"
},
+ "lu": {
+ "name": "اللوبا كاتانغا"
+ },
"lt": {
"name": "الليتوانية"
},
@@ -447,7 +453,7 @@
"name": "الماساي"
},
"mg": {
- "name": "المالاجاشية"
+ "name": "المالاغاشية"
},
"ml": {
"name": "المالايالامية"
@@ -479,9 +485,6 @@
"nd": {
"name": "النديبيل الشمالية"
},
- "nb": {
- "name": "النرويجية بوكمال"
- },
"nn": {
"name": "النرويجية نينورسك"
},
@@ -509,6 +512,9 @@
"wae": {
"name": "الوالسر"
},
+ "wo": {
+ "name": "الولوÙية"
+ },
"cy": {
"name": "الويلزية"
},
@@ -519,7 +525,7 @@
"name": "اليديشية"
},
"yo": {
- "name": "اليوروبية"
+ "name": "اليوروبا"
},
"el": {
"name": "اليونانية"
@@ -527,6 +533,9 @@
"ebu": {
"name": "إمبو"
},
+ "nb": {
+ "name": "بوكمول النرويجية"
+ },
"bez": {
"name": "بينا"
},
@@ -551,6 +560,9 @@
"saq": {
"name": "سامبورو"
},
+ "se": {
+ "name": "سامي الشمالية"
+ },
"sbp": {
"name": "سانغو"
},
@@ -587,9 +599,6 @@
"lag": {
"name": "لانجي"
},
- "eu": {
- "name": "لغة الباسك"
- },
"ksf": {
"name": "لغة الباÙيا"
},
diff --git a/vendor/commerceguys/intl/resources/language/ar-LY.json b/vendor/commerceguys/intl/resources/language/ar-LY.json
index e56980543..bbc562df6 100644
--- a/vendor/commerceguys/intl/resources/language/ar-LY.json
+++ b/vendor/commerceguys/intl/resources/language/ar-LY.json
@@ -6,7 +6,7 @@
"name": "الأذربيجانية"
},
"hy": {
- "name": "الأرمينية"
+ "name": "الأرمنية"
},
"as": {
"name": "الأسامية"
@@ -80,6 +80,9 @@
"om": {
"name": "الأورومية"
},
+ "or": {
+ "name": "الأورية"
+ },
"uz": {
"name": "الأوزبكية"
},
@@ -116,6 +119,9 @@
"bas": {
"name": "الباسا"
},
+ "eu": {
+ "name": "الباسكية"
+ },
"bm": {
"name": "البامبارا"
},
@@ -132,7 +138,7 @@
"name": "البريتونية"
},
"ps": {
- "name": "البشتونية"
+ "name": "البشتو"
},
"bg": {
"name": "البلغارية"
@@ -170,6 +176,9 @@
"bo": {
"name": "التبتية"
},
+ "tt": {
+ "name": "التترية"
+ },
"tk": {
"name": "التركمانية"
},
@@ -189,14 +198,11 @@
"name": "التيغرينية"
},
"te": {
- "name": "التيلوجو"
+ "name": "التيلوغوية"
},
"gl": {
"name": "الجاليكية"
},
- "lg": {
- "name": "الجاندا"
- },
"ka": {
"name": "الجورجية"
},
@@ -204,7 +210,7 @@
"name": "الخميرية"
},
"da": {
- "name": "الدانماركية"
+ "name": "الدانمركية"
},
"dua": {
"name": "الديولا"
@@ -239,9 +245,6 @@
"sah": {
"name": "الساخية"
},
- "se": {
- "name": "السامي الشمالية"
- },
"sg": {
"name": "السانجو"
},
@@ -254,6 +257,9 @@
"sl": {
"name": "السلوÙانية"
},
+ "sd": {
+ "name": "السندية"
+ },
"si": {
"name": "السنهالية"
},
@@ -299,12 +305,18 @@
"zh-Hans": {
"name": "الصينية المبسطة"
},
+ "tg": {
+ "name": "الطاجيكية"
+ },
"he": {
"name": "العبرية"
},
"ar": {
"name": "العربية"
},
+ "lg": {
+ "name": "الغاندا"
+ },
"gu": {
"name": "الغوجاراتية"
},
@@ -383,9 +395,6 @@
"ks": {
"name": "الكشميرية"
},
- "yue": {
- "name": "الكَنْتÙونية"
- },
"kw": {
"name": "الكورنية"
},
@@ -410,21 +419,18 @@
"lo": {
"name": "اللاوو"
},
- "lu": {
- "name": "اللبا-كاتانجا"
- },
"lrc": {
"name": "اللرية الشمالية"
},
- "or": {
- "name": "اللغة الأورية"
- },
"lb": {
"name": "اللكسمبورغية"
},
"luo": {
"name": "اللو"
},
+ "lu": {
+ "name": "اللوبا كاتانغا"
+ },
"lt": {
"name": "الليتوانية"
},
@@ -444,7 +450,7 @@
"name": "الماساي"
},
"mg": {
- "name": "المالاجاشية"
+ "name": "المالاغاشية"
},
"ml": {
"name": "المالايالامية"
@@ -476,9 +482,6 @@
"nd": {
"name": "النديبيل الشمالية"
},
- "nb": {
- "name": "النرويجية بوكمال"
- },
"nn": {
"name": "النرويجية نينورسك"
},
@@ -506,6 +509,9 @@
"wae": {
"name": "الوالسر"
},
+ "wo": {
+ "name": "الولوÙية"
+ },
"cy": {
"name": "الويلزية"
},
@@ -516,7 +522,7 @@
"name": "اليديشية"
},
"yo": {
- "name": "اليوروبية"
+ "name": "اليوروبا"
},
"el": {
"name": "اليونانية"
@@ -524,6 +530,9 @@
"ebu": {
"name": "إمبو"
},
+ "nb": {
+ "name": "بوكمول النرويجية"
+ },
"bez": {
"name": "بينا"
},
@@ -548,6 +557,9 @@
"saq": {
"name": "سامبورو"
},
+ "se": {
+ "name": "سامي الشمالية"
+ },
"sbp": {
"name": "سانغو"
},
@@ -587,9 +599,6 @@
"lag": {
"name": "لانجي"
},
- "eu": {
- "name": "لغة الباسك"
- },
"ksf": {
"name": "لغة الباÙيا"
},
diff --git a/vendor/commerceguys/intl/resources/language/ar-SA.json b/vendor/commerceguys/intl/resources/language/ar-SA.json
index 895d1498e..87956fb12 100644
--- a/vendor/commerceguys/intl/resources/language/ar-SA.json
+++ b/vendor/commerceguys/intl/resources/language/ar-SA.json
@@ -6,7 +6,7 @@
"name": "الأذربيجانية"
},
"hy": {
- "name": "الأرمينية"
+ "name": "الأرمنية"
},
"as": {
"name": "الأسامية"
@@ -119,6 +119,9 @@
"bas": {
"name": "الباسا"
},
+ "eu": {
+ "name": "الباسكية"
+ },
"bm": {
"name": "البامبارا"
},
@@ -135,7 +138,7 @@
"name": "البريتونية"
},
"ps": {
- "name": "البشتونية"
+ "name": "البشتو"
},
"bg": {
"name": "البلغارية"
@@ -173,6 +176,9 @@
"bo": {
"name": "التبتية"
},
+ "tt": {
+ "name": "التترية"
+ },
"tk": {
"name": "التركمانية"
},
@@ -197,9 +203,6 @@
"gl": {
"name": "الجاليكية"
},
- "lg": {
- "name": "الجاندا"
- },
"ka": {
"name": "الجورجية"
},
@@ -207,7 +210,7 @@
"name": "الخميرية"
},
"da": {
- "name": "الدانماركية"
+ "name": "الدانمركية"
},
"dua": {
"name": "الديولا"
@@ -242,9 +245,6 @@
"sah": {
"name": "الساخية"
},
- "se": {
- "name": "السامي الشمالية"
- },
"sg": {
"name": "السانجو"
},
@@ -257,6 +257,9 @@
"sl": {
"name": "السلوÙانية"
},
+ "sd": {
+ "name": "السندية"
+ },
"si": {
"name": "السنهالية"
},
@@ -302,12 +305,18 @@
"zh-Hans": {
"name": "الصينية المبسطة"
},
+ "tg": {
+ "name": "الطاجيكية"
+ },
"he": {
"name": "العبرية"
},
"ar": {
"name": "العربية"
},
+ "lg": {
+ "name": "الغاندا"
+ },
"gu": {
"name": "الغوجاراتية"
},
@@ -386,9 +395,6 @@
"ks": {
"name": "الكشميرية"
},
- "yue": {
- "name": "الكَنْتÙونية"
- },
"kw": {
"name": "الكورنية"
},
@@ -413,9 +419,6 @@
"lo": {
"name": "اللاوو"
},
- "lu": {
- "name": "اللبا-كاتانجا"
- },
"lrc": {
"name": "اللرية الشمالية"
},
@@ -425,6 +428,9 @@
"luo": {
"name": "اللو"
},
+ "lu": {
+ "name": "اللوبا كاتانغا"
+ },
"lt": {
"name": "الليتوانية"
},
@@ -444,7 +450,7 @@
"name": "الماساي"
},
"mg": {
- "name": "المالاجاشية"
+ "name": "المالاغاشية"
},
"ml": {
"name": "المالايالامية"
@@ -476,9 +482,6 @@
"nd": {
"name": "النديبيل الشمالية"
},
- "nb": {
- "name": "النرويجية بوكمال"
- },
"nn": {
"name": "النرويجية نينورسك"
},
@@ -506,6 +509,9 @@
"wae": {
"name": "الوالسر"
},
+ "wo": {
+ "name": "الولوÙية"
+ },
"cy": {
"name": "الويلزية"
},
@@ -516,7 +522,7 @@
"name": "اليديشية"
},
"yo": {
- "name": "اليوروبية"
+ "name": "اليوروبا"
},
"el": {
"name": "اليونانية"
@@ -524,6 +530,9 @@
"ebu": {
"name": "إمبو"
},
+ "nb": {
+ "name": "بوكمول النرويجية"
+ },
"bez": {
"name": "بينا"
},
@@ -548,6 +557,9 @@
"saq": {
"name": "سامبورو"
},
+ "se": {
+ "name": "سامي الشمالية"
+ },
"sbp": {
"name": "سانغو"
},
@@ -587,9 +599,6 @@
"lag": {
"name": "لانجي"
},
- "eu": {
- "name": "لغة الباسك"
- },
"ksf": {
"name": "لغة الباÙيا"
},
diff --git a/vendor/commerceguys/intl/resources/language/ar.json b/vendor/commerceguys/intl/resources/language/ar.json
index 0f72c8dfb..4b8512a12 100644
--- a/vendor/commerceguys/intl/resources/language/ar.json
+++ b/vendor/commerceguys/intl/resources/language/ar.json
@@ -6,7 +6,7 @@
"name": "الأذربيجانية"
},
"hy": {
- "name": "الأرمينية"
+ "name": "الأرمنية"
},
"as": {
"name": "الأسامية"
@@ -80,6 +80,9 @@
"om": {
"name": "الأورومية"
},
+ "or": {
+ "name": "الأورية"
+ },
"uz": {
"name": "الأوزبكية"
},
@@ -116,6 +119,9 @@
"bas": {
"name": "الباسا"
},
+ "eu": {
+ "name": "الباسكية"
+ },
"bm": {
"name": "البامبارا"
},
@@ -132,7 +138,7 @@
"name": "البريتونية"
},
"ps": {
- "name": "البشتونية"
+ "name": "البشتو"
},
"bg": {
"name": "البلغارية"
@@ -170,6 +176,9 @@
"bo": {
"name": "التبتية"
},
+ "tt": {
+ "name": "التترية"
+ },
"tk": {
"name": "التركمانية"
},
@@ -189,14 +198,11 @@
"name": "التونغية"
},
"te": {
- "name": "التيلوجو"
+ "name": "التيلوغوية"
},
"gl": {
"name": "الجاليكية"
},
- "lg": {
- "name": "الجاندا"
- },
"ka": {
"name": "الجورجية"
},
@@ -204,7 +210,7 @@
"name": "الخميرية"
},
"da": {
- "name": "الدانماركية"
+ "name": "الدانمركية"
},
"dua": {
"name": "الديولا"
@@ -239,9 +245,6 @@
"sah": {
"name": "الساخية"
},
- "se": {
- "name": "السامي الشمالية"
- },
"sg": {
"name": "السانجو"
},
@@ -254,6 +257,9 @@
"sl": {
"name": "السلوÙانية"
},
+ "sd": {
+ "name": "السندية"
+ },
"si": {
"name": "السنهالية"
},
@@ -299,12 +305,18 @@
"zh-Hans": {
"name": "الصينية المبسطة"
},
+ "tg": {
+ "name": "الطاجيكية"
+ },
"he": {
"name": "العبرية"
},
"ar": {
"name": "العربية"
},
+ "lg": {
+ "name": "الغاندا"
+ },
"gu": {
"name": "الغوجاراتية"
},
@@ -383,9 +395,6 @@
"ks": {
"name": "الكشميرية"
},
- "yue": {
- "name": "الكَنْتÙونية"
- },
"kw": {
"name": "الكورنية"
},
@@ -413,21 +422,18 @@
"lo": {
"name": "اللاوية"
},
- "lu": {
- "name": "اللبا-كاتانجا"
- },
"lrc": {
"name": "اللرية الشمالية"
},
- "or": {
- "name": "اللغة الأورية"
- },
"lb": {
"name": "اللكسمبورغية"
},
"luo": {
"name": "اللو"
},
+ "lu": {
+ "name": "اللوبا كاتانغا"
+ },
"lt": {
"name": "الليتوانية"
},
@@ -447,7 +453,7 @@
"name": "الماساي"
},
"mg": {
- "name": "المالاجاشية"
+ "name": "المالاغاشية"
},
"ml": {
"name": "المالايالامية"
@@ -479,9 +485,6 @@
"nd": {
"name": "النديبيل الشمالية"
},
- "nb": {
- "name": "النرويجية بوكمال"
- },
"nn": {
"name": "النرويجية نينورسك"
},
@@ -509,6 +512,9 @@
"wae": {
"name": "الوالسر"
},
+ "wo": {
+ "name": "الولوÙية"
+ },
"cy": {
"name": "الويلزية"
},
@@ -519,7 +525,7 @@
"name": "اليديشية"
},
"yo": {
- "name": "اليوروبية"
+ "name": "اليوروبا"
},
"el": {
"name": "اليونانية"
@@ -527,6 +533,9 @@
"ebu": {
"name": "إمبو"
},
+ "nb": {
+ "name": "بوكمول النرويجية"
+ },
"bez": {
"name": "بينا"
},
@@ -551,6 +560,9 @@
"saq": {
"name": "سامبورو"
},
+ "se": {
+ "name": "سامي الشمالية"
+ },
"sbp": {
"name": "سانغو"
},
@@ -587,9 +599,6 @@
"lag": {
"name": "لانجي"
},
- "eu": {
- "name": "لغة الباسك"
- },
"ksf": {
"name": "لغة الباÙيا"
},
diff --git a/vendor/commerceguys/intl/resources/language/asa.json b/vendor/commerceguys/intl/resources/language/asa.json
index 6fac3305d..85d0ffe7b 100644
--- a/vendor/commerceguys/intl/resources/language/asa.json
+++ b/vendor/commerceguys/intl/resources/language/asa.json
@@ -47,9 +47,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ast.json b/vendor/commerceguys/intl/resources/language/ast.json
index e0b558888..eb22a4ba8 100644
--- a/vendor/commerceguys/intl/resources/language/ast.json
+++ b/vendor/commerceguys/intl/resources/language/ast.json
@@ -101,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -521,6 +518,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
@@ -554,9 +554,15 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaru"
+ },
"twq": {
"name": "tasawaq"
},
+ "tg": {
+ "name": "taxiquistanín"
+ },
"te": {
"name": "telugu"
},
@@ -608,6 +614,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"ja": {
"name": "xaponés"
},
diff --git a/vendor/commerceguys/intl/resources/language/az-Cyrl.json b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
index f33455916..8a40b1bcd 100644
--- a/vendor/commerceguys/intl/resources/language/az-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/az-Cyrl.json
@@ -107,6 +107,9 @@
"vo": {
"name": "волапүк"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунјо"
},
@@ -251,9 +254,6 @@
"kn": {
"name": "каннада"
},
- "yue": {
- "name": "кантон"
- },
"ca": {
"name": "каталан"
},
@@ -482,6 +482,9 @@
"sr": {
"name": "Ñерб"
},
+ "sd": {
+ "name": "Ñиндһи"
+ },
"si": {
"name": "Ñинһала"
},
@@ -521,9 +524,15 @@
"twq": {
"name": "таÑаваг"
},
+ "tt": {
+ "name": "татар"
+ },
"shi": {
"name": "тачелит"
},
+ "tg": {
+ "name": "таҹик"
+ },
"te": {
"name": "телугу"
},
diff --git a/vendor/commerceguys/intl/resources/language/az.json b/vendor/commerceguys/intl/resources/language/az.json
index 0d821b91a..e53a23e57 100644
--- a/vendor/commerceguys/intl/resources/language/az.json
+++ b/vendor/commerceguys/intl/resources/language/az.json
@@ -81,7 +81,7 @@
"name": "bolqar"
},
"bs": {
- "name": "bosniak"
+ "name": "bosniya"
},
"br": {
"name": "breton"
@@ -114,7 +114,7 @@
"name": "duala"
},
"dz": {
- "name": "dzonqa"
+ "name": "dzonqxa"
},
"ebu": {
"name": "embu"
@@ -251,9 +251,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kanton"
- },
"ca": {
"name": "katalan"
},
@@ -456,7 +453,7 @@
"name": "Portuqaliya portuqalcası"
},
"prg": {
- "name": "Prussian"
+ "name": "pruss"
},
"ps": {
"name": "puÅŸtu"
@@ -503,6 +500,9 @@
"ii": {
"name": "siçuan yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "sinhala"
},
@@ -545,6 +545,9 @@
"gd": {
"name": "Şotlandiya keltcəsi"
},
+ "tg": {
+ "name": "tacik"
+ },
"shi": {
"name": "taçelit"
},
@@ -560,6 +563,9 @@
"twq": {
"name": "tasavaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"th": {
"name": "tay"
},
@@ -605,6 +611,9 @@
"vo": {
"name": "volapük"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vunyo"
},
diff --git a/vendor/commerceguys/intl/resources/language/bas.json b/vendor/commerceguys/intl/resources/language/bas.json
index 54e3118d3..b20326d5e 100644
--- a/vendor/commerceguys/intl/resources/language/bas.json
+++ b/vendor/commerceguys/intl/resources/language/bas.json
@@ -50,9 +50,6 @@
"bas": {
"name": "Æàsàa"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/be.json b/vendor/commerceguys/intl/resources/language/be.json
index 5ce46f185..c5400b033 100644
--- a/vendor/commerceguys/intl/resources/language/be.json
+++ b/vendor/commerceguys/intl/resources/language/be.json
@@ -17,6 +17,15 @@
"en": {
"name": "англійÑкаÑ"
},
+ "en-AU": {
+ "name": "англійÑÐºÐ°Ñ (ÐÑžÑтраліÑ)"
+ },
+ "en-GB": {
+ "name": "англійÑÐºÐ°Ñ (Ð’ÑлікабрытаніÑ)"
+ },
+ "en-CA": {
+ "name": "англійÑÐºÐ°Ñ (Канада)"
+ },
"ar": {
"name": "арабÑкаÑ"
},
@@ -38,12 +47,6 @@
"asa": {
"name": "аÑу"
},
- "en-AU": {
- "name": "аўÑтралійÑÐºÐ°Ñ Ð°Ð½Ð³Ð»Ñ–Ð¹ÑкаÑ"
- },
- "de-AT": {
- "name": "аўÑтрыйÑÐºÐ°Ñ Ð½ÑмецкаÑ"
- },
"af": {
"name": "афрыкаанÑ"
},
@@ -83,9 +86,6 @@
"brx": {
"name": "бода"
},
- "en-GB": {
- "name": "брытанÑÐºÐ°Ñ Ð°Ð½Ð³Ð»Ñ–Ð¹ÑкаÑ"
- },
"br": {
"name": "брÑтонÑкаÑ"
},
@@ -101,6 +101,9 @@
"cy": {
"name": "валійÑкаÑ"
},
+ "wo": {
+ "name": "валоф"
+ },
"wae": {
"name": "вальшÑкаÑ"
},
@@ -215,9 +218,6 @@
"kn": {
"name": "канада"
},
- "en-CA": {
- "name": "канадÑÐºÐ°Ñ Ð°Ð½Ð³Ð»Ñ–Ð¹ÑкаÑ"
- },
"fr-CA": {
"name": "канадÑÐºÐ°Ñ Ñ„Ñ€Ð°Ð½Ñ†ÑƒÐ·ÑкаÑ"
},
@@ -227,9 +227,6 @@
"kok": {
"name": "канкані"
},
- "yue": {
- "name": "кантонÑкі дыÑлект кітайÑкай"
- },
"ko": {
"name": "карÑйÑкаÑ"
},
@@ -254,6 +251,12 @@
"zh": {
"name": "кітайÑкаÑ"
},
+ "zh-Hans": {
+ "name": "кітайÑÐºÐ°Ñ (Ñпрошчанае кітайÑкае)"
+ },
+ "zh-Hant": {
+ "name": "кітайÑÐºÐ°Ñ (традыцыйнае кітайÑкае)"
+ },
"khq": {
"name": "койра чыіні"
},
@@ -374,6 +377,9 @@
"nl": {
"name": "нідÑрландÑкаÑ"
},
+ "nl-BE": {
+ "name": "нідÑрландÑÐºÐ°Ñ (БельгіÑ)"
+ },
"nds": {
"name": "ніжненÑмецкаÑ"
},
@@ -392,6 +398,12 @@
"de": {
"name": "нÑмецкаÑ"
},
+ "de-AT": {
+ "name": "нÑÐ¼ÐµÑ†ÐºÐ°Ñ (ÐÑžÑтрыÑ)"
+ },
+ "de-CH": {
+ "name": "нÑÐ¼ÐµÑ†ÐºÐ°Ñ (ШвейцарыÑ)"
+ },
"or": {
"name": "орыÑ"
},
@@ -461,6 +473,9 @@
"si": {
"name": "ÑінгальÑкаÑ"
},
+ "sd": {
+ "name": "Ñіндхі"
+ },
"sk": {
"name": "ÑлавацкаÑ"
},
@@ -470,9 +485,6 @@
"xog": {
"name": "Ñога"
},
- "zh-Hans": {
- "name": "ÑÐ¿Ñ€Ð¾ÑˆÑ‡Ð°Ð½Ð°Ñ ÐºÑ–Ñ‚Ð°Ð¹ÑкаÑ"
- },
"zgh": {
"name": "ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¼Ð°Ñ€Ð°ÐºÐ°Ð½ÑÐºÐ°Ñ Ñ‚Ð°Ð¼Ð°Ð·Ñ–Ñ…Ñ‚"
},
@@ -482,6 +494,9 @@
"ii": {
"name": "ÑычуаньÑÐºÐ°Ñ Ð¹Ñ–"
},
+ "tg": {
+ "name": "таджыкÑкаÑ"
+ },
"dav": {
"name": "таіта"
},
@@ -497,12 +512,12 @@
"twq": {
"name": "таÑаўак"
},
+ "tt": {
+ "name": "татарÑкаÑ"
+ },
"shi": {
"name": "ташÑльхіт"
},
- "zh-Hant": {
- "name": "Ñ‚Ñ€Ð°Ð´Ñ‹Ñ†Ñ‹Ð¹Ð½Ð°Ñ ÐºÑ–Ñ‚Ð°Ð¹ÑкаÑ"
- },
"tk": {
"name": "туркменÑкаÑ"
},
@@ -545,9 +560,6 @@
"fi": {
"name": "фінÑкаÑ"
},
- "nl-BE": {
- "name": "фламандÑкаÑ"
- },
"fr": {
"name": "французÑкаÑ"
},
@@ -599,9 +611,6 @@
"gsw": {
"name": "швейцарÑÐºÐ°Ñ Ð½ÑмецкаÑ"
},
- "de-CH": {
- "name": "швейцарÑÐºÐ°Ñ ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð½ÑмецкаÑ"
- },
"fr-CH": {
"name": "швейцарÑÐºÐ°Ñ Ñ„Ñ€Ð°Ð½Ñ†ÑƒÐ·ÑкаÑ"
},
diff --git a/vendor/commerceguys/intl/resources/language/bem.json b/vendor/commerceguys/intl/resources/language/bem.json
index 04969a77d..b376f07a1 100644
--- a/vendor/commerceguys/intl/resources/language/bem.json
+++ b/vendor/commerceguys/intl/resources/language/bem.json
@@ -47,9 +47,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/bez.json b/vendor/commerceguys/intl/resources/language/bez.json
index d8b9c09dd..214fbb2e5 100644
--- a/vendor/commerceguys/intl/resources/language/bez.json
+++ b/vendor/commerceguys/intl/resources/language/bez.json
@@ -47,9 +47,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/bg.json b/vendor/commerceguys/intl/resources/language/bg.json
index 16c264b39..777b8bba8 100644
--- a/vendor/commerceguys/intl/resources/language/bg.json
+++ b/vendor/commerceguys/intl/resources/language/bg.json
@@ -42,7 +42,7 @@
"name": "аÑу"
},
"af": {
- "name": "африкаанÑ"
+ "name": "африканÑ"
},
"bm": {
"name": "бамбара"
@@ -95,6 +95,9 @@
"vo": {
"name": "волапюк"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунджо"
},
@@ -126,10 +129,13 @@
"name": "датÑки"
},
"dz": {
- "name": "дзонха"
+ "name": "дзонгкха"
},
"dyo": {
- "name": "диола"
+ "name": "диола-фони"
+ },
+ "dsb": {
+ "name": "долнолужишки"
},
"nds": {
"name": "долнонемÑки"
@@ -137,9 +143,6 @@
"nds-NL": {
"name": "долноÑакÑонÑки"
},
- "dsb": {
- "name": "долноÑръбÑки"
- },
"dua": {
"name": "дуала"
},
@@ -158,6 +161,9 @@
"et": {
"name": "еÑтонÑки"
},
+ "fy": {
+ "name": "западнофризийÑки"
+ },
"dje": {
"name": "зарма"
},
@@ -218,9 +224,6 @@
"kn": {
"name": "каннада"
},
- "yue": {
- "name": "кантонÑки"
- },
"ca": {
"name": "каталонÑки"
},
@@ -297,13 +300,13 @@
"name": "литовÑки"
},
"lu": {
- "name": "луба катанга"
+ "name": "луба-катанга"
},
"luo": {
"name": "луо"
},
"luy": {
- "name": "луÑ"
+ "name": "лухÑ"
},
"lb": {
"name": "люкÑембургÑки"
@@ -383,9 +386,6 @@
"ne": {
"name": "непалÑки"
},
- "nyn": {
- "name": "нианколе"
- },
"nl": {
"name": "нидерландÑки"
},
@@ -398,6 +398,9 @@
"nus": {
"name": "нуер"
},
+ "nyn": {
+ "name": "нÑнколе"
+ },
"or": {
"name": "ориÑ"
},
@@ -467,6 +470,9 @@
"seh": {
"name": "Ñена"
},
+ "sd": {
+ "name": "Ñиндхи"
+ },
"si": {
"name": "ÑинхалÑки"
},
@@ -494,6 +500,9 @@
"ii": {
"name": "ÑъчуанÑки и"
},
+ "tg": {
+ "name": "таджикÑки"
+ },
"dav": {
"name": "таита"
},
@@ -506,6 +515,9 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарÑки"
+ },
"shi": {
"name": "ташелхит"
},
@@ -522,7 +534,7 @@
"name": "тигринÑ"
},
"to": {
- "name": "тонга"
+ "name": "тонганÑки"
},
"tk": {
"name": "туркменÑки"
@@ -569,9 +581,6 @@
"fr-CH": {
"name": "френÑки (ШвейцариÑ)"
},
- "fy": {
- "name": "фризийÑки"
- },
"fur": {
"name": "фриулианÑки"
},
@@ -582,7 +591,7 @@
"name": "хавайÑки"
},
"ha": {
- "name": "хауза"
+ "name": "хауÑа"
},
"hi": {
"name": "хинди"
@@ -597,7 +606,7 @@
"name": "църковноÑлавÑнÑки"
},
"chr": {
- "name": "чероки"
+ "name": "черокÑки"
},
"ce": {
"name": "чеченÑки"
diff --git a/vendor/commerceguys/intl/resources/language/bm.json b/vendor/commerceguys/intl/resources/language/bm.json
index 287911345..507f8ac07 100644
--- a/vendor/commerceguys/intl/resources/language/bm.json
+++ b/vendor/commerceguys/intl/resources/language/bm.json
@@ -92,9 +92,6 @@
"bg": {
"name": "buligarikan"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -491,6 +488,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -536,12 +536,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "tamulikan"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"th": {
"name": "tayikan"
},
@@ -611,6 +617,9 @@
"vi": {
"name": "wiyɛtinamukan"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/bn-IN.json b/vendor/commerceguys/intl/resources/language/bn-IN.json
index f6a6a4cd4..fc4dd3653 100644
--- a/vendor/commerceguys/intl/resources/language/bn-IN.json
+++ b/vendor/commerceguys/intl/resources/language/bn-IN.json
@@ -77,9 +77,18 @@
"id": {
"name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à§€à¦¯à¦¼"
},
+ "yav": {
+ "name": "ইয়াঙà§à¦—বেন"
+ },
+ "yi": {
+ "name": "ইয়েদà§à¦¦à¦¿à¦¶"
+ },
"ug": {
"name": "উইঘà§à¦°"
},
+ "wo": {
+ "name": "উওলোফ"
+ },
"hsb": {
"name": "উচà§à¦š সোরà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨"
},
@@ -194,9 +203,6 @@
"ksh": {
"name": "কোলোনিয়ান"
},
- "yue": {
- "name": "কà§à¦¯à¦¾à¦¨à¦Ÿà§‹à¦¨à§€à¦œ"
- },
"kl": {
"name": "কà§à¦¯à¦¾à¦²à¦¾à¦²à§à¦²à¦¿à¦¸à§à¦Ÿ"
},
@@ -245,9 +251,6 @@
"ka": {
"name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾à¦¨"
},
- "dyo": {
- "name": "জলা-ফনী"
- },
"ja": {
"name": "জাপানি"
},
@@ -263,6 +266,9 @@
"dz": {
"name": "জোঙà§à¦—া"
},
+ "dyo": {
+ "name": "জোলা-ফনী"
+ },
"to": {
"name": "টোঙà§à¦—ান"
},
@@ -278,6 +284,12 @@
"shi": {
"name": "তাচেলহিত"
},
+ "tg": {
+ "name": "তাজিক"
+ },
+ "tt": {
+ "name": "তাতার"
+ },
"ta": {
"name": "তামিল"
},
@@ -345,7 +357,7 @@
"name": "পাঞà§à¦œà¦¾à¦¬à§€"
},
"ps": {
- "name": "পাশà§à¦¤à§"
+ "name": "পà§à¦¶à¦¤à§"
},
"pl": {
"name": "পোলিশ"
@@ -491,12 +503,6 @@
"mk": {
"name": "মà§à¦¯à¦¾à¦¸à¦¿à¦¡à§‹à¦¨à§€à¦¯à¦¼"
},
- "yav": {
- "name": "য়াঙà§à¦—বেন"
- },
- "yi": {
- "name": "য়িদà§à¦¦à¦¿à¦¶"
- },
"rof": {
"name": "রমà§à¦¬à§‹"
},
@@ -578,6 +584,9 @@
"ii": {
"name": "সিচà§à¦¯à¦¼à¦¾à¦¨ য়ি"
},
+ "sd": {
+ "name": "সিনà§à¦§à¦¿"
+ },
"sv": {
"name": "সà§à¦‡à¦¡à¦¿à¦¶"
},
diff --git a/vendor/commerceguys/intl/resources/language/bn.json b/vendor/commerceguys/intl/resources/language/bn.json
index 09e64c6a0..d74919930 100644
--- a/vendor/commerceguys/intl/resources/language/bn.json
+++ b/vendor/commerceguys/intl/resources/language/bn.json
@@ -77,9 +77,18 @@
"id": {
"name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à§€à¦¯à¦¼"
},
+ "yav": {
+ "name": "ইয়াঙà§à¦—বেন"
+ },
+ "yi": {
+ "name": "ইয়েদà§à¦¦à¦¿à¦¶"
+ },
"ug": {
"name": "উইঘà§à¦°"
},
+ "wo": {
+ "name": "উওলোফ"
+ },
"hsb": {
"name": "উচà§à¦š সোরà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨"
},
@@ -194,9 +203,6 @@
"ko": {
"name": "কোরিয়ান"
},
- "yue": {
- "name": "কà§à¦¯à¦¾à¦¨à¦Ÿà§‹à¦¨à§€à¦œ"
- },
"kl": {
"name": "কà§à¦¯à¦¾à¦²à¦¾à¦²à§à¦²à¦¿à¦¸à§à¦Ÿ"
},
@@ -245,9 +251,6 @@
"ka": {
"name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾à¦¨"
},
- "dyo": {
- "name": "জলা-ফনী"
- },
"ja": {
"name": "জাপানি"
},
@@ -263,6 +266,9 @@
"dz": {
"name": "জোঙà§à¦—া"
},
+ "dyo": {
+ "name": "জোলা-ফনী"
+ },
"to": {
"name": "টোঙà§à¦—ান"
},
@@ -278,6 +284,12 @@
"shi": {
"name": "তাচেলহিত"
},
+ "tg": {
+ "name": "তাজিক"
+ },
+ "tt": {
+ "name": "তাতার"
+ },
"ta": {
"name": "তামিল"
},
@@ -345,7 +357,7 @@
"name": "পাঞà§à¦œà¦¾à¦¬à§€"
},
"ps": {
- "name": "পাশà§à¦¤à§"
+ "name": "পà§à¦¶à¦¤à§"
},
"pl": {
"name": "পোলিশ"
@@ -491,12 +503,6 @@
"mk": {
"name": "মà§à¦¯à¦¾à¦¸à¦¿à¦¡à§‹à¦¨à§€à¦¯à¦¼"
},
- "yav": {
- "name": "য়াঙà§à¦—বেন"
- },
- "yi": {
- "name": "য়িদà§à¦¦à¦¿à¦¶"
- },
"rof": {
"name": "রমà§à¦¬à§‹"
},
@@ -578,6 +584,9 @@
"ii": {
"name": "সিচà§à¦¯à¦¼à¦¾à¦¨ য়ি"
},
+ "sd": {
+ "name": "সিনà§à¦§à¦¿"
+ },
"sv": {
"name": "সà§à¦‡à¦¡à¦¿à¦¶"
},
diff --git a/vendor/commerceguys/intl/resources/language/br.json b/vendor/commerceguys/intl/resources/language/br.json
index fec8dbe50..bace69f2d 100644
--- a/vendor/commerceguys/intl/resources/language/br.json
+++ b/vendor/commerceguys/intl/resources/language/br.json
@@ -227,9 +227,6 @@
"kn": {
"name": "kanareg"
},
- "yue": {
- "name": "kantoneg"
- },
"ks": {
"name": "kashmiri"
},
@@ -506,6 +503,9 @@
"zh-Hant": {
"name": "sinaeg hengounel"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singhaleg"
},
@@ -545,6 +545,9 @@
"shi": {
"name": "tacheliteg"
},
+ "tg": {
+ "name": "tadjik"
+ },
"dav": {
"name": "Taita"
},
@@ -560,6 +563,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"cs": {
"name": "tchekeg"
},
@@ -611,6 +617,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"sah": {
"name": "yakouteg"
},
diff --git a/vendor/commerceguys/intl/resources/language/brx.json b/vendor/commerceguys/intl/resources/language/brx.json
index f08cb751b..5ec1f2e6c 100644
--- a/vendor/commerceguys/intl/resources/language/brx.json
+++ b/vendor/commerceguys/intl/resources/language/brx.json
@@ -14,9 +14,6 @@
"bez": {
"name": "Bena"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -350,6 +347,9 @@
"ka": {
"name": "जॉरà¥à¤œà¤¿à¤¯à¤¨à¥"
},
+ "tt": {
+ "name": "टाटरà¥"
+ },
"to": {
"name": "टॉंगा"
},
@@ -365,6 +365,9 @@
"ta": {
"name": "तमिळ"
},
+ "tg": {
+ "name": "ताजिकà¥"
+ },
"ti": {
"name": "तिगà¥à¤°à¥€à¤¨à¥à¤¯à¤¾"
},
@@ -569,6 +572,9 @@
"vo": {
"name": "वोलापोक"
},
+ "wo": {
+ "name": "वोलोफ"
+ },
"sn": {
"name": "शोना"
},
@@ -578,6 +584,9 @@
"sg": {
"name": "सांगà¥à¤°à¥‹"
},
+ "sd": {
+ "name": "सिंधी"
+ },
"ii": {
"name": "सीचà¥à¤†à¤¨à¥ यी"
},
diff --git a/vendor/commerceguys/intl/resources/language/bs-Cyrl.json b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
index 12d2388cf..aaf2392ec 100644
--- a/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/bs-Cyrl.json
@@ -20,12 +20,6 @@
"ast": {
"name": "аÑтуријÑки"
},
- "en-AU": {
- "name": "ÐуÑтралијÑки енглеÑки"
- },
- "de-AT": {
- "name": "ÐуÑтријÑки немачки"
- },
"af": {
"name": "африканерÑки"
},
@@ -38,24 +32,21 @@
"eu": {
"name": "баÑкијÑки"
},
- "be": {
- "name": "белоруÑки"
- },
"bem": {
"name": "бемба"
},
"bn": {
"name": "бенглаÑки"
},
+ "be": {
+ "name": "бјелоруÑки"
+ },
"bs": {
"name": "боÑанÑки"
},
"br": {
"name": "бретонÑки"
},
- "en-GB": {
- "name": "БританÑки енглеÑки"
- },
"bg": {
"name": "бугарÑки"
},
@@ -74,6 +65,9 @@
"vo": {
"name": "волапук"
},
+ "wo": {
+ "name": "волоф"
+ },
"gl": {
"name": "галÑки"
},
@@ -104,9 +98,24 @@
"ewo": {
"name": "евондо"
},
+ "ebu": {
+ "name": "ембу"
+ },
"en": {
"name": "енглеÑки"
},
+ "en-AU": {
+ "name": "енглеÑки (ÐуÑтралија)"
+ },
+ "en-CA": {
+ "name": "енглеÑки (Канада)"
+ },
+ "en-GB": {
+ "name": "енглеÑки (Уједињено КраљевÑтво)"
+ },
+ "hy": {
+ "name": "ерменÑки"
+ },
"eo": {
"name": "еÑперанто"
},
@@ -116,9 +125,6 @@
"zu": {
"name": "зулу"
},
- "pt-PT": {
- "name": "ИберијÑки португалÑки"
- },
"ig": {
"name": "игбо"
},
@@ -143,9 +149,6 @@
"ja": {
"name": "јапанÑки"
},
- "hy": {
- "name": "јерменÑки"
- },
"yi": {
"name": "јидиш"
},
@@ -164,15 +167,6 @@
"kn": {
"name": "канада"
},
- "en-CA": {
- "name": "КанадÑки енглеÑки"
- },
- "fr-CA": {
- "name": "КанадÑки француÑки"
- },
- "yue": {
- "name": "кантонÑки"
- },
"ca": {
"name": "каталонÑки"
},
@@ -219,7 +213,7 @@
"name": "лаоÑки"
},
"lv": {
- "name": "летонÑки"
+ "name": "латвијÑки"
},
"ln": {
"name": "лингала"
@@ -269,9 +263,6 @@
"mn": {
"name": "монголÑки"
},
- "de": {
- "name": "немачки"
- },
"ne": {
"name": "непалÑки"
},
@@ -293,6 +284,15 @@
"nyn": {
"name": "њанколе"
},
+ "de": {
+ "name": "њемачки"
+ },
+ "de-AT": {
+ "name": "њемачки (ÐуÑтрија)"
+ },
+ "gsw": {
+ "name": "њемачки (ШвицарÑка)"
+ },
"or": {
"name": "оријÑки"
},
@@ -317,6 +317,9 @@
"pt": {
"name": "португалÑки"
},
+ "pt-PT": {
+ "name": "португалÑки (Португал)"
+ },
"rm": {
"name": "рето-романÑки"
},
@@ -336,25 +339,28 @@
"name": "Ñвахили"
},
"sw-CD": {
- "name": "Ñвахили (Конго - КиншаÑа)"
- },
- "nd": {
- "name": "Ñеверни ндебеле"
- },
- "se": {
- "name": "Ñеверни Ñами"
+ "name": "Ñвахили (ДемократÑка Република Конго)"
},
"si": {
"name": "ÑингалеÑки"
},
+ "sd": {
+ "name": "Ñинди"
+ },
"ii": {
"name": "Ñичуан ји"
},
+ "nd": {
+ "name": "Ñјеверни ндебеле"
+ },
+ "se": {
+ "name": "Ñјеверни Ñами"
+ },
"sk": {
"name": "Ñловачки"
},
"sl": {
- "name": "Ñловеначки"
+ "name": "ÑловенÑки"
},
"so": {
"name": "ÑомалÑки"
@@ -362,11 +368,14 @@
"sr": {
"name": "ÑрпÑки"
},
+ "zgh": {
+ "name": "Ñтандардни мароканÑки тамазигт"
+ },
"cu": {
- "name": "ÑтароÑловенÑки"
+ "name": "ÑтароÑлавенÑки"
},
- "fil": {
- "name": "тагалог"
+ "tg": {
+ "name": "тађик"
},
"th": {
"name": "тајландÑки"
@@ -374,6 +383,9 @@
"ta": {
"name": "тамилÑки"
},
+ "tt": {
+ "name": "татарÑки"
+ },
"te": {
"name": "телугу"
},
@@ -407,6 +419,9 @@
"fo": {
"name": "фарÑки"
},
+ "fil": {
+ "name": "филипинÑки"
+ },
"fi": {
"name": "финÑки"
},
@@ -416,6 +431,12 @@
"fr": {
"name": "француÑки"
},
+ "fr-CA": {
+ "name": "француÑки (Канада)"
+ },
+ "fr-CH": {
+ "name": "француÑки (ШвицарÑка)"
+ },
"fy": {
"name": "фризијÑки"
},
@@ -455,15 +476,12 @@
"dz": {
"name": "џонга"
},
+ "ksb": {
+ "name": "шамбала"
+ },
"de-CH": {
"name": "ШвајцарÑки виÑоки немачки"
},
- "gsw": {
- "name": "швајцарÑки немачки"
- },
- "fr-CH": {
- "name": "ШвајцарÑки француÑки"
- },
"sv": {
"name": "шведÑки"
},
@@ -506,9 +524,6 @@
"ksh": {
"name": "Colognian"
},
- "ebu": {
- "name": "Embu"
- },
"guz": {
"name": "Gusii"
},
@@ -599,15 +614,9 @@
"seh": {
"name": "Sena"
},
- "ksb": {
- "name": "Shambala"
- },
"xog": {
"name": "Soga"
},
- "zgh": {
- "name": "Standard Moroccan Tamazight"
- },
"shi": {
"name": "Tachelhit"
},
diff --git a/vendor/commerceguys/intl/resources/language/bs.json b/vendor/commerceguys/intl/resources/language/bs.json
index bc64a7e6a..07c43bd4e 100644
--- a/vendor/commerceguys/intl/resources/language/bs.json
+++ b/vendor/commerceguys/intl/resources/language/bs.json
@@ -195,7 +195,7 @@
"name": "hebrejski"
},
"hi": {
- "name": "hindu"
+ "name": "hindi"
},
"nl": {
"name": "holandski"
@@ -254,9 +254,6 @@
"kn": {
"name": "kanada"
},
- "yue": {
- "name": "kantonski"
- },
"ks": {
"name": "kašmirski"
},
@@ -264,7 +261,7 @@
"name": "katalonski"
},
"kk": {
- "name": "kazaÄki"
+ "name": "kazaški"
},
"qu": {
"name": "keÄua"
@@ -285,7 +282,7 @@
"name": "kineski (tradicionalni)"
},
"rw": {
- "name": "kinjarvanda"
+ "name": "kinjaruanda"
},
"ky": {
"name": "kirgiški"
@@ -318,7 +315,7 @@
"name": "langi"
},
"lo": {
- "name": "laoški"
+ "name": "laoski"
},
"lv": {
"name": "latvijski"
@@ -356,15 +353,15 @@
"mgh": {
"name": "makuva-meto"
},
- "mg": {
- "name": "malagaški"
- },
"ml": {
"name": "malajalam"
},
"ms": {
"name": "malajski"
},
+ "mg": {
+ "name": "malgaški"
+ },
"mt": {
"name": "malteški"
},
@@ -462,7 +459,7 @@
"name": "pruski"
},
"rm": {
- "name": "reto-romanski"
+ "name": "retoromanski"
},
"rof": {
"name": "rombo"
@@ -494,6 +491,9 @@
"ii": {
"name": "siÄuan ji"
},
+ "sd": {
+ "name": "sindi"
+ },
"si": {
"name": "sinhaleški"
},
@@ -551,6 +551,9 @@
"sv": {
"name": "Å¡vedski"
},
+ "tg": {
+ "name": "tadžiÄki"
+ },
"shi": {
"name": "tahelhit"
},
@@ -569,6 +572,9 @@
"twq": {
"name": "tasavak"
},
+ "tt": {
+ "name": "tatarski"
+ },
"te": {
"name": "telugu"
},
@@ -617,6 +623,9 @@
"vo": {
"name": "volapuk"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vunjo"
},
diff --git a/vendor/commerceguys/intl/resources/language/ca.json b/vendor/commerceguys/intl/resources/language/ca.json
index 1e14fb5b4..ad42a90ad 100644
--- a/vendor/commerceguys/intl/resources/language/ca.json
+++ b/vendor/commerceguys/intl/resources/language/ca.json
@@ -60,7 +60,7 @@
"name": "asturià"
},
"az": {
- "name": "azerbaidjanès"
+ "name": "àzeri"
},
"ksf": {
"name": "bafia"
@@ -119,9 +119,6 @@
"ks": {
"name": "caixmiri"
},
- "yue": {
- "name": "cantonès"
- },
"ca": {
"name": "català"
},
@@ -131,9 +128,6 @@
"cgg": {
"name": "chiga"
},
- "ksh": {
- "name": "colognian"
- },
"kok": {
"name": "concani"
},
@@ -314,11 +308,14 @@
"ky": {
"name": "kirguís"
},
+ "ksh": {
+ "name": "kölsch"
+ },
"khq": {
"name": "koyra chiini"
},
"ckb": {
- "name": "kurd sorani"
+ "name": "kurd central"
},
"lkt": {
"name": "lakota"
@@ -369,7 +366,7 @@
"name": "malai"
},
"ml": {
- "name": "malaiàlam"
+ "name": "malaialam"
},
"mg": {
"name": "malgaix"
@@ -521,6 +518,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindi"
+ },
"si": {
"name": "singalès"
},
@@ -542,8 +542,11 @@
"sv": {
"name": "suec"
},
+ "tg": {
+ "name": "tadjik"
+ },
"th": {
- "name": "tailandès"
+ "name": "tai"
},
"dav": {
"name": "taita"
@@ -557,6 +560,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tàtar"
+ },
"te": {
"name": "telugu"
},
@@ -611,6 +617,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wòlof"
+ },
"zh": {
"name": "xinès"
},
diff --git a/vendor/commerceguys/intl/resources/language/ce.json b/vendor/commerceguys/intl/resources/language/ce.json
index f1ba3a76b..e8ec9c692 100644
--- a/vendor/commerceguys/intl/resources/language/ce.json
+++ b/vendor/commerceguys/intl/resources/language/ce.json
@@ -1,58 +1,4 @@
{
- "ast": {
- "name": "Asturian"
- },
- "bas": {
- "name": "Basaa"
- },
- "yue": {
- "name": "Cantonese"
- },
- "cu": {
- "name": "Church Slavic"
- },
- "ksh": {
- "name": "Colognian"
- },
- "ewo": {
- "name": "Ewondo"
- },
- "fur": {
- "name": "Friulian"
- },
- "ff": {
- "name": "Fulah"
- },
- "kkj": {
- "name": "Kako"
- },
- "nnh": {
- "name": "Ngiemboon"
- },
- "os": {
- "name": "Ossetic"
- },
- "prg": {
- "name": "Prussian"
- },
- "sah": {
- "name": "Sakha"
- },
- "gd": {
- "name": "Scottish Gaelic"
- },
- "vo": {
- "name": "Volapük"
- },
- "wae": {
- "name": "Walser"
- },
- "yav": {
- "name": "Yangben"
- },
- "yi": {
- "name": "Yiddish"
- },
"en-AU": {
"name": "ÐвÑтралин ингалÑан"
},
@@ -77,11 +23,14 @@
"as": {
"name": "аÑÑамийн"
},
+ "ast": {
+ "name": "аÑтурийн"
+ },
"asa": {
"name": "аÑу"
},
"zh-Hans": {
- "name": "атта китайн"
+ "name": "атта цийн"
},
"af": {
"name": "африкаанÑ"
@@ -89,6 +38,9 @@
"bm": {
"name": "бамбара"
},
+ "bas": {
+ "name": "баÑа"
+ },
"eu": {
"name": "баÑкийн"
},
@@ -131,9 +83,18 @@
"cy": {
"name": "валлийн"
},
+ "wae": {
+ "name": "валлиÑийн"
+ },
"hu": {
"name": "венгрийн"
},
+ "vo": {
+ "name": "волапюк"
+ },
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунджо"
},
@@ -167,9 +128,15 @@
"ka": {
"name": "гуьржийн"
},
+ "gd": {
+ "name": "гÑлийн"
+ },
"fa": {
"name": "гӀажарийн"
},
+ "tt": {
+ "name": "гӀезалойн"
+ },
"ky": {
"name": "гӀиргӀизойн"
},
@@ -200,6 +167,9 @@
"ig": {
"name": "игбо"
},
+ "yi": {
+ "name": "идиш"
+ },
"smn": {
"name": "инари-Ñаамийн"
},
@@ -230,8 +200,8 @@
"kea": {
"name": "кабувердьÑну"
},
- "kk": {
- "name": "казахийн"
+ "kkj": {
+ "name": "како"
},
"kln": {
"name": "календжин"
@@ -263,12 +233,12 @@
"ki": {
"name": "кикуйю"
},
+ "cu": {
+ "name": "килÑÑлавÑнийн"
+ },
"rw": {
"name": "киньÑруанда"
},
- "zh": {
- "name": "китайн"
- },
"khq": {
"name": "койра чиини"
},
@@ -284,6 +254,12 @@
"kw": {
"name": "корнуоллийн"
},
+ "ksh": {
+ "name": "коьлнийн"
+ },
+ "kk": {
+ "name": "кхазакхийн"
+ },
"km": {
"name": "кхмерийн"
},
@@ -303,7 +279,7 @@
"name": "лакхара Ñербийн"
},
"zh-Hant": {
- "name": "ламаÑтан китайн"
+ "name": "ламаÑтан цийн"
},
"lag": {
"name": "ланги"
@@ -404,6 +380,9 @@
"naq": {
"name": "нама"
},
+ "nnh": {
+ "name": "нгиембунд"
+ },
"jgo": {
"name": "нгомба"
},
@@ -446,6 +425,9 @@
"pt": {
"name": "португалихойн"
},
+ "prg": {
+ "name": "пруÑÑийн"
+ },
"ps": {
"name": "пушту"
},
@@ -482,6 +464,9 @@
"si": {
"name": "Ñингалхойн"
},
+ "sd": {
+ "name": "Ñиндхи"
+ },
"sk": {
"name": "Ñловакийн"
},
@@ -506,6 +491,9 @@
"ii": {
"name": "Ñычуань"
},
+ "tg": {
+ "name": "таджикийн"
+ },
"dav": {
"name": "таита"
},
@@ -572,15 +560,27 @@
"fr": {
"name": "французийн"
},
+ "fur": {
+ "name": "фриулийн"
+ },
+ "ff": {
+ "name": "фулах"
+ },
"ha": {
"name": "хауÑа"
},
- "hi": {
- "name": "хинди"
- },
"hr": {
"name": "хорватийн"
},
+ "hi": {
+ "name": "хӀинди"
+ },
+ "os": {
+ "name": "хӀирийн"
+ },
+ "zh": {
+ "name": "цийн"
+ },
"chr": {
"name": "чероки"
},
@@ -597,7 +597,7 @@
"name": "шведийн"
},
"de-CH": {
- "name": "швейцарин лакхара немцойн"
+ "name": "швейцарин литературин немцойн"
},
"gsw": {
"name": "швейцарин немцойн"
@@ -611,6 +611,9 @@
"ee": {
"name": "Ñве"
},
+ "ewo": {
+ "name": "Ñвондо"
+ },
"ebu": {
"name": "Ñмбу"
},
@@ -626,6 +629,12 @@
"ckb": {
"name": "юккъерчу курдийн"
},
+ "sah": {
+ "name": "Ñкутийн"
+ },
+ "yav": {
+ "name": "Ñнгбен"
+ },
"ja": {
"name": "Ñпонийн"
},
diff --git a/vendor/commerceguys/intl/resources/language/cgg.json b/vendor/commerceguys/intl/resources/language/cgg.json
index 11445d25f..fb171fded 100644
--- a/vendor/commerceguys/intl/resources/language/cgg.json
+++ b/vendor/commerceguys/intl/resources/language/cgg.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/chr.json b/vendor/commerceguys/intl/resources/language/chr.json
index ac16b75dd..273707522 100644
--- a/vendor/commerceguys/intl/resources/language/chr.json
+++ b/vendor/commerceguys/intl/resources/language/chr.json
@@ -14,6 +14,9 @@
"zh-Hans": {
"name": "ᎠᎯá—Ꭸ á“Ꮆá‚Ꭸ"
},
+ "hy": {
+ "name": "ᎠᎳᎻᎠá‚"
+ },
"sq": {
"name": "ᎠᎵá‡á‚"
},
@@ -117,7 +120,7 @@
"name": "ᎦᎵáᎠá‚"
},
"hsb": {
- "name": "ᎦᎸᎳá—Ꭸ áᎵáˆáŽ á‚"
+ "name": "ᎦᎸᎳá—Ꭸ ááˆáŽ á‚"
},
"fr": {
"name": "ᎦᎸá¥"
@@ -170,9 +173,6 @@
"en-CA": {
"name": "ᎨᎾᓠᎩᎵá"
},
- "yue": {
- "name": "ᎨᎾá™á‚á"
- },
"ca": {
"name": "Ꭸá”Ꮃá‚"
},
@@ -306,7 +306,7 @@
"name": "ᎹáŒá±"
},
"mk": {
- "name": "ᎹáŽá™á‚Ꭰ"
+ "name": "ᎹáŽá™á‚Ꭰá‚"
},
"jmc": {
"name": "Ꮉá£áŽº"
@@ -402,7 +402,7 @@
"name": "á‰á™"
},
"pt-PT": {
- "name": "á‰á¥áŽ¦áŽ³ á‰á§áŽ¦áŽµ"
+ "name": "á‰á¥áŽ¦áŽ³ á‰á§áŽ©á"
},
"pt": {
"name": "á‰á§áŽ©á"
@@ -470,12 +470,12 @@
"seh": {
"name": "áŽáŽ¾"
},
- "sr": {
- "name": "áŽáˆáŽ á‚"
- },
"si": {
"name": "áᎾᎭᎳ"
},
+ "sd": {
+ "name": "áá‚á—"
+ },
"ii": {
"name": "áá§á©á‚ á±"
},
@@ -488,6 +488,9 @@
"zu": {
"name": "á‘Ꮇ"
},
+ "sr": {
+ "name": "á’áˆáŽ á‚"
+ },
"zh": {
"name": "á“Ꮆá‚Ꭸ"
},
@@ -503,9 +506,15 @@
"twq": {
"name": "á”áŒá©áŽ©"
},
+ "tt": {
+ "name": "á”á”"
+ },
"shi": {
"name": "á”á¤áŽµáŽ¯á˜"
},
+ "tg": {
+ "name": "á”á¥áŽ©"
+ },
"th": {
"name": "á”á±"
},
@@ -605,6 +614,9 @@
"vo": {
"name": "á¬áŽ³áŠáŽ©"
},
+ "wo": {
+ "name": "á¬áŽ¶á«"
+ },
"vun": {
"name": "á­áŽ¾á¦"
},
@@ -625,8 +637,5 @@
},
"uk": {
"name": "á³áŽ§áŽ´á‚Ꭰá‚"
- },
- "hy": {
- "name": "Armenian"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ckb.json b/vendor/commerceguys/intl/resources/language/ckb.json
index 82d3af6c6..41946274b 100644
--- a/vendor/commerceguys/intl/resources/language/ckb.json
+++ b/vendor/commerceguys/intl/resources/language/ckb.json
@@ -35,9 +35,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -323,6 +320,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"teo": {
"name": "Teso"
},
@@ -347,6 +347,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
@@ -365,9 +368,6 @@
"as": {
"name": "ئاسامی"
},
- "sq": {
- "name": "ئاڵبانی"
- },
"de": {
"name": "ئاڵمانی"
},
@@ -380,6 +380,9 @@
"hy": {
"name": "ئەرمەنی"
},
+ "sq": {
+ "name": "ئەڵبانی"
+ },
"am": {
"name": "ئەمهەرینجی"
},
@@ -450,7 +453,7 @@
"name": "بۆلگاری"
},
"be": {
- "name": "بێلاڕووسی"
+ "name": "بیلاڕووسی"
},
"ps": {
"name": "پەشتوو"
@@ -462,11 +465,14 @@
"name": "پورتوگالی"
},
"pt-PT": {
- "name": "پورتوگاڵی (پورتوگاڵ)"
+ "name": "پورتوگالی (پورتوگال)"
},
"pl": {
"name": "پۆڵۆنیایی (لەهستانی)"
},
+ "tg": {
+ "name": "تاجیکی"
+ },
"ta": {
"name": "تامیلی"
},
@@ -530,6 +536,9 @@
"so": {
"name": "سۆمالی"
},
+ "sd": {
+ "name": "سيندی"
+ },
"si": {
"name": "سینهەلی"
},
diff --git a/vendor/commerceguys/intl/resources/language/cs.json b/vendor/commerceguys/intl/resources/language/cs.json
index 065f61c2f..af3da2b6b 100644
--- a/vendor/commerceguys/intl/resources/language/cs.json
+++ b/vendor/commerceguys/intl/resources/language/cs.json
@@ -248,9 +248,6 @@
"kn": {
"name": "kannadština"
},
- "yue": {
- "name": "kantonština"
- },
"kea": {
"name": "kapverdština"
},
@@ -506,6 +503,9 @@
"seh": {
"name": "sena"
},
+ "sd": {
+ "name": "sindhština"
+ },
"si": {
"name": "sinhálština"
},
@@ -551,6 +551,9 @@
"sv": {
"name": "švédština"
},
+ "tg": {
+ "name": "tádžiÄtina"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"shi": {
"name": "tašelhit"
},
+ "tt": {
+ "name": "tatarština"
+ },
"te": {
"name": "telugština"
},
@@ -626,6 +632,9 @@
"vun": {
"name": "vunjo"
},
+ "wo": {
+ "name": "wolofština"
+ },
"dje": {
"name": "zarmština"
},
diff --git a/vendor/commerceguys/intl/resources/language/cy.json b/vendor/commerceguys/intl/resources/language/cy.json
index 65d813923..c2bf5048b 100644
--- a/vendor/commerceguys/intl/resources/language/cy.json
+++ b/vendor/commerceguys/intl/resources/language/cy.json
@@ -92,9 +92,6 @@
"kam": {
"name": "Camba"
},
- "yue": {
- "name": "Cantoneeg"
- },
"kk": {
"name": "Casacheg"
},
@@ -417,7 +414,7 @@
"name": "Nwosw"
},
"or": {
- "name": "Oriya"
+ "name": "Odia"
},
"om": {
"name": "Oromo"
@@ -500,6 +497,9 @@
"smn": {
"name": "Sami Inari"
},
+ "dje": {
+ "name": "Sarmaeg"
+ },
"es": {
"name": "Sbaeneg"
},
@@ -518,6 +518,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhaleg"
},
@@ -557,6 +560,9 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajiceg"
+ },
"tzm": {
"name": "Tamaseit Canolbarth Moroco"
},
@@ -569,6 +575,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatareg"
+ },
"te": {
"name": "Telugu"
},
@@ -623,13 +632,13 @@
"uk": {
"name": "Wcreineg"
},
+ "wo": {
+ "name": "Woloff"
+ },
"ur": {
"name": "Wrdw"
},
"uz": {
"name": "Wsbeceg"
- },
- "dje": {
- "name": "Zarmaeg"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/da.json b/vendor/commerceguys/intl/resources/language/da.json
index 4fdb13996..e189231cb 100644
--- a/vendor/commerceguys/intl/resources/language/da.json
+++ b/vendor/commerceguys/intl/resources/language/da.json
@@ -233,9 +233,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantonesisk"
- },
"kea": {
"name": "kapverdisk"
},
@@ -497,6 +494,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalesisk"
},
@@ -513,7 +513,7 @@
"name": "soga"
},
"so": {
- "name": "somalisk"
+ "name": "somali"
},
"ckb": {
"name": "sorani"
@@ -530,6 +530,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadsjikisk"
+ },
"dav": {
"name": "taita"
},
@@ -537,11 +540,14 @@
"name": "tamazight"
},
"ta": {
- "name": "tamilsk"
+ "name": "tamil"
},
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatarisk"
+ },
"te": {
"name": "telugu"
},
@@ -611,6 +617,9 @@
"wae": {
"name": "walsertysk"
},
+ "wo": {
+ "name": "wolof"
+ },
"sah": {
"name": "yakut"
},
diff --git a/vendor/commerceguys/intl/resources/language/dav.json b/vendor/commerceguys/intl/resources/language/dav.json
index 46ca313e1..d0213a985 100644
--- a/vendor/commerceguys/intl/resources/language/dav.json
+++ b/vendor/commerceguys/intl/resources/language/dav.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -545,6 +542,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/de-AT.json b/vendor/commerceguys/intl/resources/language/de-AT.json
index 89c42b5eb..e78887ca0 100644
--- a/vendor/commerceguys/intl/resources/language/de-AT.json
+++ b/vendor/commerceguys/intl/resources/language/de-AT.json
@@ -230,9 +230,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonesisch"
- },
"kk": {
"name": "Kasachisch"
},
@@ -506,6 +503,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singhalesisch"
},
@@ -527,6 +527,9 @@
"sw": {
"name": "Suaheli"
},
+ "tg": {
+ "name": "Tadschikisch"
+ },
"dav": {
"name": "Taita"
},
@@ -542,6 +545,9 @@
"shi": {
"name": "Taschelhit"
},
+ "tt": {
+ "name": "Tatarisch"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"fy": {
"name": "Westfriesisch"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/de-CH.json b/vendor/commerceguys/intl/resources/language/de-CH.json
index 798934829..99d12a15e 100644
--- a/vendor/commerceguys/intl/resources/language/de-CH.json
+++ b/vendor/commerceguys/intl/resources/language/de-CH.json
@@ -230,9 +230,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonesisch"
- },
"kk": {
"name": "Kasachisch"
},
@@ -506,6 +503,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singhalesisch"
},
@@ -527,6 +527,9 @@
"sw": {
"name": "Suaheli"
},
+ "tg": {
+ "name": "Tadschikisch"
+ },
"dav": {
"name": "Taita"
},
@@ -542,6 +545,9 @@
"shi": {
"name": "Taschelhit"
},
+ "tt": {
+ "name": "Tatarisch"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"fy": {
"name": "Westfriesisch"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/de-LU.json b/vendor/commerceguys/intl/resources/language/de-LU.json
index 17a5575e6..f70014908 100644
--- a/vendor/commerceguys/intl/resources/language/de-LU.json
+++ b/vendor/commerceguys/intl/resources/language/de-LU.json
@@ -233,9 +233,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonesisch"
- },
"kk": {
"name": "Kasachisch"
},
@@ -509,6 +506,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singhalesisch"
},
@@ -530,6 +530,9 @@
"sw": {
"name": "Suaheli"
},
+ "tg": {
+ "name": "Tadschikisch"
+ },
"dav": {
"name": "Taita"
},
@@ -545,6 +548,9 @@
"shi": {
"name": "Taschelhit"
},
+ "tt": {
+ "name": "Tatarisch"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"fy": {
"name": "Westfriesisch"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/de.json b/vendor/commerceguys/intl/resources/language/de.json
index 8c9333d2d..6bb2a1124 100644
--- a/vendor/commerceguys/intl/resources/language/de.json
+++ b/vendor/commerceguys/intl/resources/language/de.json
@@ -230,9 +230,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonesisch"
- },
"kk": {
"name": "Kasachisch"
},
@@ -506,6 +503,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singhalesisch"
},
@@ -527,6 +527,9 @@
"sw": {
"name": "Suaheli"
},
+ "tg": {
+ "name": "Tadschikisch"
+ },
"dav": {
"name": "Taita"
},
@@ -542,6 +545,9 @@
"shi": {
"name": "Taschelhit"
},
+ "tt": {
+ "name": "Tatarisch"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"fy": {
"name": "Westfriesisch"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/dje.json b/vendor/commerceguys/intl/resources/language/dje.json
index e322adf49..4f63df4a5 100644
--- a/vendor/commerceguys/intl/resources/language/dje.json
+++ b/vendor/commerceguys/intl/resources/language/dje.json
@@ -77,9 +77,6 @@
"my": {
"name": "Burme senni"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil senni"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/dsb.json b/vendor/commerceguys/intl/resources/language/dsb.json
index 36165e336..3a08549e4 100644
--- a/vendor/commerceguys/intl/resources/language/dsb.json
+++ b/vendor/commerceguys/intl/resources/language/dsb.json
@@ -77,9 +77,6 @@
"my": {
"name": "burmašćina"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "centralnoatlaski tamazight"
},
@@ -509,6 +506,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindšćina"
+ },
"si": {
"name": "singalšćina"
},
@@ -557,6 +557,9 @@
"de-CH": {
"name": "šwicarska wusokonimšćina"
},
+ "tg": {
+ "name": "tadžikišćina"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"shi": {
"name": "tašelhit"
},
+ "tt": {
+ "name": "tataršćina"
+ },
"te": {
"name": "telugšćina"
},
@@ -623,6 +629,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/dyo.json b/vendor/commerceguys/intl/resources/language/dyo.json
index f2b79a02d..cc661e153 100644
--- a/vendor/commerceguys/intl/resources/language/dyo.json
+++ b/vendor/commerceguys/intl/resources/language/dyo.json
@@ -92,9 +92,6 @@
"bg": {
"name": "bulgaari"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"th": {
"name": "tay"
},
@@ -617,6 +623,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/dz.json b/vendor/commerceguys/intl/resources/language/dz.json
index de5dc9f71..7374a2375 100644
--- a/vendor/commerceguys/intl/resources/language/dz.json
+++ b/vendor/commerceguys/intl/resources/language/dz.json
@@ -32,9 +32,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -347,6 +344,9 @@
"ka": {
"name": "ཇཽ་ཇི་ཡཱན་à½"
},
+ "tt": {
+ "name": "ཊ་ཊར་à½"
+ },
"tr": {
"name": "ཊཱར་ཀིཤ་à½"
},
@@ -362,6 +362,9 @@
"da": {
"name": "ཌེ་ནིཤ་à½"
},
+ "tg": {
+ "name": "à½à¼‹à½‡à½²à½€à¼‹à½"
+ },
"ta": {
"name": "à½à¼‹à½˜à½²à½£à¼‹à½"
},
@@ -467,6 +470,9 @@
"cy": {
"name": "à½à½ºà½£à½¤à¼‹à½"
},
+ "wo": {
+ "name": "à½à½¼à¼‹à½£à½¼à½•à¼‹à½"
+ },
"zu": {
"name": "ཟུ་ལུ་à½"
},
@@ -521,6 +527,9 @@
"si": {
"name": "སིང་ཧ་ལ་à½"
},
+ "sd": {
+ "name": "སིན་དཱི་à½"
+ },
"de-CH": {
"name": "སུ་ཡིས་གི་མà½à½¼à¼‹à½¦à½ à½²à¼‹à½‡à½±à½¢à¼‹à½˜à½±à½“་à½"
},
diff --git a/vendor/commerceguys/intl/resources/language/ebu.json b/vendor/commerceguys/intl/resources/language/ebu.json
index 9d8b5edc9..792be17e7 100644
--- a/vendor/commerceguys/intl/resources/language/ebu.json
+++ b/vendor/commerceguys/intl/resources/language/ebu.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ee.json b/vendor/commerceguys/intl/resources/language/ee.json
index 8f0108603..81bfeeaa2 100644
--- a/vendor/commerceguys/intl/resources/language/ee.json
+++ b/vendor/commerceguys/intl/resources/language/ee.json
@@ -74,9 +74,6 @@
"my": {
"name": "burmagbe"
},
- "yue": {
- "name": "cantongbe"
- },
"kea": {
"name": "cape verdegbe"
},
@@ -488,6 +485,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "sindhgbe"
+ },
"si": {
"name": "sinhalgbe"
},
@@ -527,6 +527,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "tadzikistangbe"
+ },
"dav": {
"name": "Taita"
},
@@ -536,6 +539,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "telegugbe"
},
@@ -602,6 +608,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "wolofgbe"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/el.json b/vendor/commerceguys/intl/resources/language/el.json
index 4d2a6164c..9caf33c3f 100644
--- a/vendor/commerceguys/intl/resources/language/el.json
+++ b/vendor/commerceguys/intl/resources/language/el.json
@@ -6,7 +6,7 @@
"name": "Αγγλικά ΑυστÏαλίας"
},
"en-GB": {
- "name": "Αγγλικά Ηνωμένου Βασιλείου"
+ "name": "Αγγλικά Î’Ïετανίας"
},
"en-CA": {
"name": "Αγγλικά Καναδά"
@@ -24,10 +24,10 @@
"name": "Αλβανικά"
},
"am": {
- "name": "ΑμαÏικά"
+ "name": "ΑμχαÏικά"
},
- "de-CH": {
- "name": "Άνω ΓεÏμανικά Ελβετίας"
+ "hsb": {
+ "name": "Άνω ΣοÏβικά"
},
"zh-Hans": {
"name": "Απλοποιημένα Κινεζικά"
@@ -39,7 +39,7 @@
"name": "ΑÏμενικά"
},
"as": {
- "name": "Ασαμεζικά"
+ "name": "Ασαμικά"
},
"asa": {
"name": "Άσου"
@@ -59,6 +59,9 @@
"eu": {
"name": "Βασκικά"
},
+ "bn": {
+ "name": "Βεγγαλικά"
+ },
"vi": {
"name": "Βιετναμικά"
},
@@ -66,7 +69,7 @@
"name": "ΒιÏμανικά"
},
"vo": {
- "name": "Βόλαπικ"
+ "name": "ΒολαπιοÏκ"
},
"lrc": {
"name": "Î’ÏŒÏεια ΛοÏÏι"
@@ -113,12 +116,6 @@
"ka": {
"name": "ΓεωÏγιανά"
},
- "ee": {
- "name": "Γι"
- },
- "sah": {
- "name": "ΓιακοÏÏ„"
- },
"yav": {
"name": "Γιανγκμπέν"
},
@@ -137,20 +134,17 @@
"guz": {
"name": "ΓκοÏσι"
},
- "hsb": {
- "name": "Γλώσσα Άνω Λουσατίας"
- },
- "dsb": {
- "name": "Γλώσσα Κάτω Λουσατίας"
- },
"kea": {
"name": "Γλώσσα του ΠÏάσινου ΑκÏωτηÏίου"
},
+ "wo": {
+ "name": "Γουόλοφ"
+ },
"da": {
"name": "Δανικά"
},
"fy": {
- "name": "Δυτικά ΦÏιζιανά"
+ "name": "Δυτικά ΦÏιζικά"
},
"he": {
"name": "ΕβÏαϊκά"
@@ -167,6 +161,9 @@
"ebu": {
"name": "Έμπου"
},
+ "ee": {
+ "name": "Έουε"
+ },
"et": {
"name": "Εσθονικά"
},
@@ -227,17 +224,11 @@
"kab": {
"name": "Καμπίλε"
},
- "km": {
- "name": "Καμποτζιανά"
- },
"kn": {
"name": "Κανάντα"
},
- "yue": {
- "name": "Καντονέζικα"
- },
"ks": {
- "name": "ΚασμίÏι"
+ "name": "ΚασμιÏικά"
},
"ca": {
"name": "Καταλανικά"
@@ -248,11 +239,14 @@
"nds-NL": {
"name": "Κάτω ΓεÏμανικά Ολλανδίας"
},
+ "dsb": {
+ "name": "Κάτω ΣοÏβικά"
+ },
"nmg": {
"name": "Κβάσιο"
},
"qu": {
- "name": "ΚετσοÏα"
+ "name": "Κέτσουα"
},
"ki": {
"name": "ΚικοÏγιου"
@@ -261,7 +255,10 @@
"name": "Κινεζικά"
},
"rw": {
- "name": "ΚινιαÏβάντα"
+ "name": "ΚινιαÏουάντα"
+ },
+ "ky": {
+ "name": "ΚιÏγιζικά"
},
"khq": {
"name": "ΚόιÏα Τσίνι"
@@ -276,13 +273,13 @@
"name": "Κονγκό Σουαχίλι"
},
"kok": {
- "name": "Κονκάνι"
+ "name": "Κονκανικά"
},
"ko": {
"name": "ΚοÏεατικά"
},
"kw": {
- "name": "ΚόÏνις"
+ "name": "ΚοÏνουαλικά"
},
"ckb": {
"name": "ΚουÏδικά ΣοÏάνι"
@@ -290,9 +287,6 @@
"hr": {
"name": "ΚÏοατικά"
},
- "ky": {
- "name": "ΚυÏγιζικά"
- },
"lkt": {
"name": "Λακότα"
},
@@ -300,7 +294,7 @@
"name": "Λάνγκι"
},
"lo": {
- "name": "Λαοθιανά"
+ "name": "Λαοτινά"
},
"lv": {
"name": "Λετονικά"
@@ -335,14 +329,14 @@
"mgh": {
"name": "ΜακοÏβα-Μέτο"
},
- "mg": {
- "name": "Μαλαγάσι"
- },
"ml": {
- "name": "Μαλαγιαλάμ"
+ "name": "Μαλαγιαλαμικά"
},
"ms": {
- "name": "Μαλάι"
+ "name": "Μαλαισιανά"
+ },
+ "mg": {
+ "name": "Μαλγασικά"
},
"mt": {
"name": "Μαλτεζικά"
@@ -351,19 +345,19 @@
"name": "Μανξ"
},
"mr": {
- "name": "ΜαÏάθι"
+ "name": "ΜαÏαθικά"
},
"mas": {
"name": "Μασάι"
},
"jmc": {
- "name": "Μάχαμε"
+ "name": "Ματσάμε"
},
"mer": {
- "name": "ΜεÏοÏ"
+ "name": "ΜέÏου"
},
"mgo": {
- "name": "Μετά"
+ "name": "Μέτα"
},
"mn": {
"name": "Μογγολικά"
@@ -372,7 +366,7 @@
"name": "Μολδαβικά"
},
"mfe": {
- "name": "ΜοÏίσιεν"
+ "name": "ΜοÏισιέν"
},
"mua": {
"name": "Μουντάνγκ"
@@ -392,9 +386,6 @@
"bez": {
"name": "Μπένα"
},
- "bn": {
- "name": "Μπενγκάλι"
- },
"brx": {
"name": "Μπόντο"
},
@@ -408,7 +399,7 @@
"name": "Îγκόμπα"
},
"ne": {
- "name": "Îεπάλι"
+ "name": "Îεπαλικά"
},
"nyn": {
"name": "Îιανκόλε"
@@ -420,7 +411,7 @@
"name": "ÎοÏβηγικά ÎινόÏσκ"
},
"nus": {
- "name": "ÎουέÏ"
+ "name": "ÎοÏεÏ"
},
"dz": {
"name": "Îτζόνγκχα"
@@ -432,7 +423,7 @@
"name": "Ολλανδικά"
},
"or": {
- "name": "ΟÏίγια"
+ "name": "Όντια"
},
"om": {
"name": "ΟÏόμο"
@@ -450,7 +441,7 @@
"name": "Ουζμπεκικά"
},
"ug": {
- "name": "ΟυιγουÏικά"
+ "name": "ΟυιγκουÏικά"
},
"uk": {
"name": "ΟυκÏανικά"
@@ -501,7 +492,7 @@
"name": "Ρωσικά"
},
"ksb": {
- "name": "Σάμπαλα"
+ "name": "Σαμπάλα"
},
"saq": {
"name": "ΣαμποÏÏου"
@@ -512,18 +503,24 @@
"sbp": {
"name": "Σάνγκου"
},
+ "sah": {
+ "name": "Σαχά"
+ },
"seh": {
"name": "Σένα"
},
"sr": {
"name": "ΣεÏβικά"
},
- "ii": {
- "name": "Σικουάν Γι"
+ "sd": {
+ "name": "Σίντι"
},
"si": {
"name": "Σινχαλεζικά"
},
+ "ii": {
+ "name": "Σίτσουαν Γι"
+ },
"gd": {
"name": "Σκωτικά Κελτικά"
},
@@ -540,7 +537,10 @@
"name": "Σόγκα"
},
"so": {
- "name": "Σομάλι"
+ "name": "Σομαλικά"
+ },
+ "sn": {
+ "name": "Σόνα"
},
"sw": {
"name": "Σουαχίλι"
@@ -548,9 +548,6 @@
"sv": {
"name": "Σουηδικά"
},
- "sn": {
- "name": "Σχόνα"
- },
"th": {
"name": "Ταϊλανδικά"
},
@@ -561,7 +558,7 @@
"name": "Ταμαζίτ ΚεντÏÎ¹ÎºÎ¿Ï ÎœÎ±Ïόκο"
},
"ta": {
- "name": "Ταμίλ"
+ "name": "Ταμιλικά"
},
"twq": {
"name": "Τασαβάκ"
@@ -569,6 +566,12 @@
"shi": {
"name": "Τασελχίτ"
},
+ "tt": {
+ "name": "ΤαταÏικά"
+ },
+ "tg": {
+ "name": "Τατζικικά"
+ },
"te": {
"name": "ΤελοÏγκου"
},
@@ -603,13 +606,16 @@
"name": "Τσίγκα"
},
"zgh": {
- "name": "Τυπικά Ταμαζίγκτ ΜαÏόκου"
+ "name": "Τυπικά Ταμαζίτ ΜαÏόκου"
+ },
+ "de-CH": {
+ "name": "Υψηλά ΓεÏμανικά Ελβετίας"
},
"fo": {
- "name": "ΦαÏόε"
+ "name": "ΦεÏοϊκά"
},
"fil": {
- "name": "Φιλιππινεζικά"
+ "name": "Φιλιππινικά"
},
"fi": {
"name": "Φινλανδικά"
@@ -618,18 +624,21 @@
"name": "Φλαμανδικά"
},
"ff": {
- "name": "Φουλάχ"
+ "name": "Φουλά"
},
"fur": {
- "name": "ΦÏιοÏλιαν"
+ "name": "ΦÏιουλανικά"
},
"haw": {
- "name": "Χαβανεζικά"
+ "name": "Χαβαϊκά"
},
"ha": {
"name": "Χάουσα"
},
"hi": {
"name": "Χίντι"
+ },
+ "km": {
+ "name": "ΧμεÏ"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/en-AU.json b/vendor/commerceguys/intl/resources/language/en-AU.json
index 520da38e2..a2f94fe56 100644
--- a/vendor/commerceguys/intl/resources/language/en-AU.json
+++ b/vendor/commerceguys/intl/resources/language/en-AU.json
@@ -44,9 +44,6 @@
"bm": {
"name": "Bambara"
},
- "bn": {
- "name": "Bangla"
- },
"bas": {
"name": "Basaa"
},
@@ -62,6 +59,9 @@
"bez": {
"name": "Bena"
},
+ "bn": {
+ "name": "Bengali"
+ },
"brx": {
"name": "Bodo"
},
@@ -86,9 +86,6 @@
"fr-CA": {
"name": "Canadian French"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -98,6 +95,9 @@
"ckb": {
"name": "Central Kurdish"
},
+ "ccp": {
+ "name": "Chakma"
+ },
"ce": {
"name": "Chechen"
},
@@ -509,6 +509,9 @@
"zh-Hans": {
"name": "Simplified Chinese"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +554,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +629,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/en-CA.json b/vendor/commerceguys/intl/resources/language/en-CA.json
new file mode 100644
index 000000000..9beab94ff
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/en-CA.json
@@ -0,0 +1,650 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "ar": {
+ "name": "Arabic"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australian English"
+ },
+ "de-AT": {
+ "name": "Austrian German"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusian"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bn": {
+ "name": "Bengali"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "en-GB": {
+ "name": "British English"
+ },
+ "bg": {
+ "name": "Bulgarian"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "en-CA": {
+ "name": "Canadian English"
+ },
+ "fr-CA": {
+ "name": "Canadian French"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ccp": {
+ "name": "Chakma"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "fa-AF": {
+ "name": "Dari"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "English"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "name": "European Portuguese"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "name": "Flemish"
+ },
+ "fr": {
+ "name": "French"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "de": {
+ "name": "German"
+ },
+ "el": {
+ "name": "Greek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungarian"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italian"
+ },
+ "ja": {
+ "name": "Japanese"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "nds": {
+ "name": "Low German"
+ },
+ "nds-NL": {
+ "name": "Low Saxon"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mfe": {
+ "name": "Mauritian"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "es-MX": {
+ "name": "Mexican Spanish"
+ },
+ "ro-MD": {
+ "name": "Moldovan"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persian"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "pt": {
+ "name": "Portuguese"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russian"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zh-Hans": {
+ "name": "Simplified Chinese"
+ },
+ "sd": {
+ "name": "Sindhi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanish"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "name": "Swiss High German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tg": {
+ "name": "Tajik"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "tt": {
+ "name": "Tatar"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "name": "Traditional Chinese"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "wo": {
+ "name": "Wolof"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/en-GB.json b/vendor/commerceguys/intl/resources/language/en-GB.json
new file mode 100644
index 000000000..136be2172
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/en-GB.json
@@ -0,0 +1,650 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albanian"
+ },
+ "am": {
+ "name": "Amharic"
+ },
+ "ar": {
+ "name": "Arabic"
+ },
+ "hy": {
+ "name": "Armenian"
+ },
+ "as": {
+ "name": "Assamese"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en-AU": {
+ "name": "Australian English"
+ },
+ "de-AT": {
+ "name": "Austrian German"
+ },
+ "az": {
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Bangla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Basque"
+ },
+ "be": {
+ "name": "Belarusian"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosnian"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "en-GB": {
+ "name": "British English"
+ },
+ "bg": {
+ "name": "Bulgarian"
+ },
+ "my": {
+ "name": "Burmese"
+ },
+ "en-CA": {
+ "name": "Canadian English"
+ },
+ "fr-CA": {
+ "name": "Canadian French"
+ },
+ "ca": {
+ "name": "Catalan"
+ },
+ "tzm": {
+ "name": "Central Atlas Tamazight"
+ },
+ "ckb": {
+ "name": "Central Kurdish"
+ },
+ "ccp": {
+ "name": "Chakma"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "chr": {
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "zh": {
+ "name": "Chinese"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "sw-CD": {
+ "name": "Congo Swahili"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "hr": {
+ "name": "Croatian"
+ },
+ "cs": {
+ "name": "Czech"
+ },
+ "da": {
+ "name": "Danish"
+ },
+ "fa-AF": {
+ "name": "Dari"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "nl": {
+ "name": "Dutch"
+ },
+ "dz": {
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "en": {
+ "name": "English"
+ },
+ "eo": {
+ "name": "Esperanto"
+ },
+ "et": {
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "name": "European Portuguese"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fo": {
+ "name": "Faroese"
+ },
+ "fil": {
+ "name": "Filipino"
+ },
+ "fi": {
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "name": "Flemish"
+ },
+ "fr": {
+ "name": "French"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "ff": {
+ "name": "Fulah"
+ },
+ "gl": {
+ "name": "Galician"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "ka": {
+ "name": "Georgian"
+ },
+ "de": {
+ "name": "German"
+ },
+ "el": {
+ "name": "Greek"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "ha": {
+ "name": "Hausa"
+ },
+ "haw": {
+ "name": "Hawaiian"
+ },
+ "he": {
+ "name": "Hebrew"
+ },
+ "hi": {
+ "name": "Hindi"
+ },
+ "hu": {
+ "name": "Hungarian"
+ },
+ "is": {
+ "name": "Icelandic"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "id": {
+ "name": "Indonesian"
+ },
+ "ga": {
+ "name": "Irish"
+ },
+ "it": {
+ "name": "Italian"
+ },
+ "ja": {
+ "name": "Japanese"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannada"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "name": "Kazakh"
+ },
+ "km": {
+ "name": "Khmer"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwanda"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Korean"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "ky": {
+ "name": "Kyrgyz"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lo": {
+ "name": "Lao"
+ },
+ "lv": {
+ "name": "Latvian"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lithuanian"
+ },
+ "nds": {
+ "name": "Low German"
+ },
+ "dsb": {
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "mk": {
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasy"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Maltese"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marathi"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "es-MX": {
+ "name": "Mexican Spanish"
+ },
+ "ro-MD": {
+ "name": "Moldavian"
+ },
+ "mn": {
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "ne": {
+ "name": "Nepali"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "se": {
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Odia"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pashto"
+ },
+ "fa": {
+ "name": "Persian"
+ },
+ "pl": {
+ "name": "Polish"
+ },
+ "pt": {
+ "name": "Portuguese"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "qu": {
+ "name": "Quechua"
+ },
+ "ro": {
+ "name": "Romanian"
+ },
+ "rm": {
+ "name": "Romansh"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Russian"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "sah": {
+ "name": "Sakha"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "gd": {
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serbian"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "zh-Hans": {
+ "name": "Simplified Chinese"
+ },
+ "sd": {
+ "name": "Sindhi"
+ },
+ "si": {
+ "name": "Sinhala"
+ },
+ "sk": {
+ "name": "Slovak"
+ },
+ "sl": {
+ "name": "Slovenian"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali"
+ },
+ "es": {
+ "name": "Spanish"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "sv": {
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "name": "Swiss High German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tg": {
+ "name": "Tajik"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "tt": {
+ "name": "Tatar"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "th": {
+ "name": "Thai"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigrinya"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "name": "Traditional Chinese"
+ },
+ "tr": {
+ "name": "Turkish"
+ },
+ "tk": {
+ "name": "Turkmen"
+ },
+ "uk": {
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uyghur"
+ },
+ "uz": {
+ "name": "Uzbek"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vi": {
+ "name": "Vietnamese"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Welsh"
+ },
+ "nds-NL": {
+ "name": "West Low German"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "wo": {
+ "name": "Wolof"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yiddish"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/en-IN.json b/vendor/commerceguys/intl/resources/language/en-IN.json
index 166b40219..ce23c82c3 100644
--- a/vendor/commerceguys/intl/resources/language/en-IN.json
+++ b/vendor/commerceguys/intl/resources/language/en-IN.json
@@ -86,9 +86,6 @@
"fr-CA": {
"name": "Canadian French"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -98,6 +95,9 @@
"ckb": {
"name": "Central Kurdish"
},
+ "ccp": {
+ "name": "Chakma"
+ },
"ce": {
"name": "Chechen"
},
@@ -509,6 +509,9 @@
"zh-Hans": {
"name": "Simplified Chinese"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +554,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +629,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/en.json b/vendor/commerceguys/intl/resources/language/en.json
index dcbffbd7e..999971b32 100644
--- a/vendor/commerceguys/intl/resources/language/en.json
+++ b/vendor/commerceguys/intl/resources/language/en.json
@@ -86,9 +86,6 @@
"fr-CA": {
"name": "Canadian French"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -98,6 +95,9 @@
"ckb": {
"name": "Central Kurdish"
},
+ "ccp": {
+ "name": "Chakma"
+ },
"ce": {
"name": "Chechen"
},
@@ -509,6 +509,9 @@
"zh-Hans": {
"name": "Simplified Chinese"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +554,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +629,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/eo.json b/vendor/commerceguys/intl/resources/language/eo.json
index acb96e7f3..fcb3f2a02 100644
--- a/vendor/commerceguys/intl/resources/language/eo.json
+++ b/vendor/commerceguys/intl/resources/language/eo.json
@@ -83,9 +83,6 @@
"rn": {
"name": "burunda"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -521,6 +518,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "sinda"
+ },
"si": {
"name": "sinhala"
},
@@ -557,6 +557,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "taÄika"
+ },
"dav": {
"name": "Taita"
},
@@ -569,6 +572,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "tatara"
+ },
"te": {
"name": "telugua"
},
@@ -614,6 +620,9 @@
"vo": {
"name": "volapuko"
},
+ "wo": {
+ "name": "volofa"
+ },
"vun": {
"name": "Vunjo"
},
diff --git a/vendor/commerceguys/intl/resources/language/es-AR.json b/vendor/commerceguys/intl/resources/language/es-AR.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-AR.json
+++ b/vendor/commerceguys/intl/resources/language/es-AR.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-BO.json b/vendor/commerceguys/intl/resources/language/es-BO.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-BO.json
+++ b/vendor/commerceguys/intl/resources/language/es-BO.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-BR.json b/vendor/commerceguys/intl/resources/language/es-BR.json
index a1842dc81..051487935 100644
--- a/vendor/commerceguys/intl/resources/language/es-BR.json
+++ b/vendor/commerceguys/intl/resources/language/es-BR.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -524,15 +524,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sv": {
"name": "sueco"
},
@@ -557,12 +557,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wólof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-BZ.json b/vendor/commerceguys/intl/resources/language/es-BZ.json
new file mode 100644
index 000000000..051487935
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/es-BZ.json
@@ -0,0 +1,644 @@
+{
+ "af": {
+ "name": "afrikáans"
+ },
+ "agq": {
+ "name": "aghem"
+ },
+ "ak": {
+ "name": "akan"
+ },
+ "sq": {
+ "name": "albanés"
+ },
+ "de": {
+ "name": "alemán"
+ },
+ "de-AT": {
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "name": "alto alemán suizo"
+ },
+ "hsb": {
+ "name": "alto sorbio"
+ },
+ "am": {
+ "name": "amárico"
+ },
+ "ar": {
+ "name": "árabe"
+ },
+ "hy": {
+ "name": "armenio"
+ },
+ "as": {
+ "name": "asamés"
+ },
+ "ast": {
+ "name": "asturiano"
+ },
+ "asa": {
+ "name": "asu"
+ },
+ "az": {
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "name": "bafia"
+ },
+ "nds": {
+ "name": "bajo alemán"
+ },
+ "nds-NL": {
+ "name": "bajo sajón"
+ },
+ "dsb": {
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "name": "bambara"
+ },
+ "bas": {
+ "name": "basaa"
+ },
+ "bem": {
+ "name": "bemba"
+ },
+ "bez": {
+ "name": "bena"
+ },
+ "bn": {
+ "name": "bengalí"
+ },
+ "be": {
+ "name": "bielorruso"
+ },
+ "my": {
+ "name": "birmano"
+ },
+ "brx": {
+ "name": "bodo"
+ },
+ "bs": {
+ "name": "bosnio"
+ },
+ "br": {
+ "name": "bretón"
+ },
+ "bg": {
+ "name": "búlgaro"
+ },
+ "kab": {
+ "name": "cabila"
+ },
+ "ks": {
+ "name": "cachemiro"
+ },
+ "kn": {
+ "name": "canarés"
+ },
+ "ca": {
+ "name": "catalán"
+ },
+ "ce": {
+ "name": "checheno"
+ },
+ "cs": {
+ "name": "checo"
+ },
+ "chr": {
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "name": "chiga"
+ },
+ "zh": {
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "name": "chino tradicional"
+ },
+ "si": {
+ "name": "cingalés"
+ },
+ "ko": {
+ "name": "coreano"
+ },
+ "kw": {
+ "name": "córnico"
+ },
+ "kea": {
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "name": "croata"
+ },
+ "da": {
+ "name": "danés"
+ },
+ "dua": {
+ "name": "duala"
+ },
+ "dz": {
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "name": "embu"
+ },
+ "cu": {
+ "name": "eslavo eclesiástico"
+ },
+ "sk": {
+ "name": "eslovaco"
+ },
+ "sl": {
+ "name": "esloveno"
+ },
+ "es": {
+ "name": "español"
+ },
+ "es-MX": {
+ "name": "español de México"
+ },
+ "eo": {
+ "name": "esperanto"
+ },
+ "et": {
+ "name": "estonio"
+ },
+ "ee": {
+ "name": "ewé"
+ },
+ "ewo": {
+ "name": "ewondo"
+ },
+ "fo": {
+ "name": "feroés"
+ },
+ "fil": {
+ "name": "filipino"
+ },
+ "fi": {
+ "name": "finés"
+ },
+ "nl-BE": {
+ "name": "flamenco"
+ },
+ "fr": {
+ "name": "francés"
+ },
+ "fr-CA": {
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "name": "francés suizo"
+ },
+ "fy": {
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "name": "friulano"
+ },
+ "ff": {
+ "name": "fula"
+ },
+ "gd": {
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "name": "galés"
+ },
+ "gl": {
+ "name": "gallego"
+ },
+ "lg": {
+ "name": "ganda"
+ },
+ "ka": {
+ "name": "georgiano"
+ },
+ "el": {
+ "name": "griego"
+ },
+ "kl": {
+ "name": "groenlandés"
+ },
+ "gu": {
+ "name": "gujarati"
+ },
+ "guz": {
+ "name": "gusii"
+ },
+ "ha": {
+ "name": "hausa"
+ },
+ "haw": {
+ "name": "hawaiano"
+ },
+ "he": {
+ "name": "hebreo"
+ },
+ "hi": {
+ "name": "hindi"
+ },
+ "hu": {
+ "name": "húngaro"
+ },
+ "ig": {
+ "name": "igbo"
+ },
+ "id": {
+ "name": "indonesio"
+ },
+ "en": {
+ "name": "inglés"
+ },
+ "en-AU": {
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "name": "inglés canadiense"
+ },
+ "ga": {
+ "name": "irlandés"
+ },
+ "is": {
+ "name": "islandés"
+ },
+ "it": {
+ "name": "italiano"
+ },
+ "ja": {
+ "name": "japonés"
+ },
+ "km": {
+ "name": "jemer"
+ },
+ "dyo": {
+ "name": "jola-fonyi"
+ },
+ "kkj": {
+ "name": "kako"
+ },
+ "kln": {
+ "name": "kalenjin"
+ },
+ "kam": {
+ "name": "kamba"
+ },
+ "kk": {
+ "name": "kazajo"
+ },
+ "ki": {
+ "name": "kikuyu"
+ },
+ "rw": {
+ "name": "kinyarwanda"
+ },
+ "ky": {
+ "name": "kirguís"
+ },
+ "rn": {
+ "name": "kirundi"
+ },
+ "ksh": {
+ "name": "kölsch"
+ },
+ "kok": {
+ "name": "konkaní"
+ },
+ "khq": {
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "name": "koyraboro senni"
+ },
+ "ckb": {
+ "name": "kurdo sorani"
+ },
+ "nmg": {
+ "name": "kwasio"
+ },
+ "lkt": {
+ "name": "lakota"
+ },
+ "lag": {
+ "name": "langi"
+ },
+ "lo": {
+ "name": "laosiano"
+ },
+ "lv": {
+ "name": "letón"
+ },
+ "ln": {
+ "name": "lingala"
+ },
+ "lt": {
+ "name": "lituano"
+ },
+ "lrc": {
+ "name": "lorí septentrional"
+ },
+ "lu": {
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "lb": {
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "name": "luyia"
+ },
+ "mk": {
+ "name": "macedonio"
+ },
+ "jmc": {
+ "name": "machame"
+ },
+ "mgh": {
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "name": "makonde"
+ },
+ "ml": {
+ "name": "malayalam"
+ },
+ "ms": {
+ "name": "malayo"
+ },
+ "mg": {
+ "name": "malgache"
+ },
+ "mt": {
+ "name": "maltés"
+ },
+ "gv": {
+ "name": "manés"
+ },
+ "mr": {
+ "name": "maratí"
+ },
+ "mas": {
+ "name": "masái"
+ },
+ "mzn": {
+ "name": "mazandaraní"
+ },
+ "mer": {
+ "name": "meru"
+ },
+ "mgo": {
+ "name": "meta’"
+ },
+ "ro-MD": {
+ "name": "moldavo"
+ },
+ "mn": {
+ "name": "mongol"
+ },
+ "mua": {
+ "name": "mundang"
+ },
+ "naq": {
+ "name": "nama"
+ },
+ "nd": {
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
+ },
+ "ne": {
+ "name": "nepalí"
+ },
+ "nnh": {
+ "name": "ngiemboon"
+ },
+ "jgo": {
+ "name": "ngomba"
+ },
+ "nb": {
+ "name": "noruego bokmal"
+ },
+ "nn": {
+ "name": "noruego nynorsk"
+ },
+ "nus": {
+ "name": "nuer"
+ },
+ "nyn": {
+ "name": "nyankole"
+ },
+ "or": {
+ "name": "oriya"
+ },
+ "om": {
+ "name": "oromo"
+ },
+ "os": {
+ "name": "osético"
+ },
+ "pa": {
+ "name": "panyabí"
+ },
+ "ps": {
+ "name": "pastún"
+ },
+ "fa": {
+ "name": "persa"
+ },
+ "pl": {
+ "name": "polaco"
+ },
+ "pt": {
+ "name": "portugués"
+ },
+ "pt-PT": {
+ "name": "portugués de Portugal"
+ },
+ "prg": {
+ "name": "prusiano antiguo"
+ },
+ "qu": {
+ "name": "quechua"
+ },
+ "rm": {
+ "name": "retorrománico"
+ },
+ "rof": {
+ "name": "rombo"
+ },
+ "ro": {
+ "name": "rumano"
+ },
+ "ru": {
+ "name": "ruso"
+ },
+ "rwk": {
+ "name": "rwa"
+ },
+ "sah": {
+ "name": "sakha"
+ },
+ "saq": {
+ "name": "samburu"
+ },
+ "smn": {
+ "name": "sami inari"
+ },
+ "se": {
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "name": "sango"
+ },
+ "sbp": {
+ "name": "sangu"
+ },
+ "seh": {
+ "name": "sena"
+ },
+ "sr": {
+ "name": "serbio"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "sd": {
+ "name": "sindhi"
+ },
+ "xog": {
+ "name": "soga"
+ },
+ "so": {
+ "name": "somalí"
+ },
+ "sv": {
+ "name": "sueco"
+ },
+ "sw": {
+ "name": "swahili"
+ },
+ "sw-CD": {
+ "name": "swahili (Congo)"
+ },
+ "th": {
+ "name": "tailandés"
+ },
+ "dav": {
+ "name": "taita"
+ },
+ "tzm": {
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "name": "tamil"
+ },
+ "tt": {
+ "name": "tártaro"
+ },
+ "twq": {
+ "name": "tasawaq"
+ },
+ "shi": {
+ "name": "tashelhit"
+ },
+ "tg": {
+ "name": "tayiko"
+ },
+ "te": {
+ "name": "telugu"
+ },
+ "teo": {
+ "name": "teso"
+ },
+ "bo": {
+ "name": "tibetano"
+ },
+ "ti": {
+ "name": "tigriña"
+ },
+ "to": {
+ "name": "tongano"
+ },
+ "tr": {
+ "name": "turco"
+ },
+ "tk": {
+ "name": "turcomano"
+ },
+ "uk": {
+ "name": "ucraniano"
+ },
+ "ug": {
+ "name": "uigur"
+ },
+ "ur": {
+ "name": "urdu"
+ },
+ "uz": {
+ "name": "uzbeko"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "eu": {
+ "name": "vasco"
+ },
+ "vi": {
+ "name": "vietnamita"
+ },
+ "vo": {
+ "name": "volapük"
+ },
+ "vun": {
+ "name": "vunjo"
+ },
+ "wae": {
+ "name": "walser"
+ },
+ "wo": {
+ "name": "wólof"
+ },
+ "yav": {
+ "name": "yangben"
+ },
+ "ii": {
+ "name": "yi de Sichuán"
+ },
+ "yi": {
+ "name": "yidis"
+ },
+ "yo": {
+ "name": "yoruba"
+ },
+ "dje": {
+ "name": "zarma"
+ },
+ "zu": {
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/es-CL.json b/vendor/commerceguys/intl/resources/language/es-CL.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-CL.json
+++ b/vendor/commerceguys/intl/resources/language/es-CL.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-CO.json b/vendor/commerceguys/intl/resources/language/es-CO.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-CO.json
+++ b/vendor/commerceguys/intl/resources/language/es-CO.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-CR.json b/vendor/commerceguys/intl/resources/language/es-CR.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-CR.json
+++ b/vendor/commerceguys/intl/resources/language/es-CR.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-CU.json b/vendor/commerceguys/intl/resources/language/es-CU.json
index a1842dc81..051487935 100644
--- a/vendor/commerceguys/intl/resources/language/es-CU.json
+++ b/vendor/commerceguys/intl/resources/language/es-CU.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -524,15 +524,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sv": {
"name": "sueco"
},
@@ -557,12 +557,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wólof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-DO.json b/vendor/commerceguys/intl/resources/language/es-DO.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-DO.json
+++ b/vendor/commerceguys/intl/resources/language/es-DO.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-EC.json b/vendor/commerceguys/intl/resources/language/es-EC.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-EC.json
+++ b/vendor/commerceguys/intl/resources/language/es-EC.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-GT.json b/vendor/commerceguys/intl/resources/language/es-GT.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-GT.json
+++ b/vendor/commerceguys/intl/resources/language/es-GT.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-HN.json b/vendor/commerceguys/intl/resources/language/es-HN.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-HN.json
+++ b/vendor/commerceguys/intl/resources/language/es-HN.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-MX.json b/vendor/commerceguys/intl/resources/language/es-MX.json
index 80b7bbd2c..2df5b6cd8 100644
--- a/vendor/commerceguys/intl/resources/language/es-MX.json
+++ b/vendor/commerceguys/intl/resources/language/es-MX.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-NI.json b/vendor/commerceguys/intl/resources/language/es-NI.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-NI.json
+++ b/vendor/commerceguys/intl/resources/language/es-NI.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-PA.json b/vendor/commerceguys/intl/resources/language/es-PA.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-PA.json
+++ b/vendor/commerceguys/intl/resources/language/es-PA.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-PE.json b/vendor/commerceguys/intl/resources/language/es-PE.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-PE.json
+++ b/vendor/commerceguys/intl/resources/language/es-PE.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-PR.json b/vendor/commerceguys/intl/resources/language/es-PR.json
index a1842dc81..fd3d7323f 100644
--- a/vendor/commerceguys/intl/resources/language/es-PR.json
+++ b/vendor/commerceguys/intl/resources/language/es-PR.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -524,15 +524,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sv": {
"name": "sueco"
},
@@ -557,12 +557,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-PY.json b/vendor/commerceguys/intl/resources/language/es-PY.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-PY.json
+++ b/vendor/commerceguys/intl/resources/language/es-PY.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-SV.json b/vendor/commerceguys/intl/resources/language/es-SV.json
index a1842dc81..fd3d7323f 100644
--- a/vendor/commerceguys/intl/resources/language/es-SV.json
+++ b/vendor/commerceguys/intl/resources/language/es-SV.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -524,15 +524,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sv": {
"name": "sueco"
},
@@ -557,12 +557,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-US.json b/vendor/commerceguys/intl/resources/language/es-US.json
index e44b970b1..8ce3ff529 100644
--- a/vendor/commerceguys/intl/resources/language/es-US.json
+++ b/vendor/commerceguys/intl/resources/language/es-US.json
@@ -101,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -237,7 +234,7 @@
"name": "groenlandés"
},
"gu": {
- "name": "gujarati"
+ "name": "gurayatí"
},
"guz": {
"name": "gusii"
@@ -483,7 +480,7 @@
"name": "quechua"
},
"rm": {
- "name": "retorrománico"
+ "name": "romanche"
},
"rof": {
"name": "rombo"
@@ -527,6 +524,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
@@ -557,12 +557,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-UY.json b/vendor/commerceguys/intl/resources/language/es-UY.json
index a1842dc81..051487935 100644
--- a/vendor/commerceguys/intl/resources/language/es-UY.json
+++ b/vendor/commerceguys/intl/resources/language/es-UY.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -524,15 +524,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sv": {
"name": "sueco"
},
@@ -557,12 +557,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wólof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es-VE.json b/vendor/commerceguys/intl/resources/language/es-VE.json
index 141f785c9..3bd22cc40 100644
--- a/vendor/commerceguys/intl/resources/language/es-VE.json
+++ b/vendor/commerceguys/intl/resources/language/es-VE.json
@@ -23,6 +23,9 @@
"de-CH": {
"name": "alto alemán suizo"
},
+ "hsb": {
+ "name": "alto sorbio"
+ },
"am": {
"name": "amárico"
},
@@ -98,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -135,7 +135,7 @@
"name": "córnico"
},
"kea": {
- "name": "Criollo (Cabo Verde)"
+ "name": "criollo caboverdiano"
},
"mfe": {
"name": "criollo mauriciano"
@@ -527,15 +527,15 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
"so": {
"name": "somalí"
},
- "hsb": {
- "name": "sorbio alto"
- },
"sw": {
"name": "suajili"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
@@ -621,7 +630,7 @@
"name": "yi de Sichuán"
},
"yi": {
- "name": "yídish"
+ "name": "yidis"
},
"yo": {
"name": "yoruba"
diff --git a/vendor/commerceguys/intl/resources/language/es.json b/vendor/commerceguys/intl/resources/language/es.json
index 9e15ffd92..88e49a6be 100644
--- a/vendor/commerceguys/intl/resources/language/es.json
+++ b/vendor/commerceguys/intl/resources/language/es.json
@@ -101,9 +101,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"ca": {
"name": "catalán"
},
@@ -530,6 +527,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
@@ -560,12 +560,18 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
"shi": {
"name": "tashelhit"
},
+ "tg": {
+ "name": "tayiko"
+ },
"te": {
"name": "telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wólof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/et.json b/vendor/commerceguys/intl/resources/language/et.json
index fc465e34a..3fbdcf4bd 100644
--- a/vendor/commerceguys/intl/resources/language/et.json
+++ b/vendor/commerceguys/intl/resources/language/et.json
@@ -51,7 +51,7 @@
"name": "bambara"
},
"bas": {
- "name": "basa"
+ "name": "basaa"
},
"eu": {
"name": "baski"
@@ -161,12 +161,6 @@
"zh": {
"name": "hiina"
},
- "zh-Hans": {
- "name": "hiina (lihtsustatud)"
- },
- "zh-Hant": {
- "name": "hiina (traditsiooniline)"
- },
"hi": {
"name": "hindi"
},
@@ -239,9 +233,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantoni"
- },
"kk": {
"name": "kasahhi"
},
@@ -311,6 +302,9 @@
"lb": {
"name": "letseburgi"
},
+ "zh-Hans": {
+ "name": "lihtsustatud hiina"
+ },
"ln": {
"name": "lingala"
},
@@ -488,6 +482,9 @@
"ii": {
"name": "Sichuani jii"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singali"
},
@@ -539,6 +536,9 @@
"da": {
"name": "taani"
},
+ "tg": {
+ "name": "tadžiki"
+ },
"th": {
"name": "tai"
},
@@ -554,6 +554,9 @@
"twq": {
"name": "taswaqi"
},
+ "tt": {
+ "name": "tatari"
+ },
"te": {
"name": "telugu"
},
@@ -569,6 +572,9 @@
"to": {
"name": "tonga"
},
+ "zh-Hant": {
+ "name": "traditsiooniline hiina"
+ },
"cs": {
"name": "tšehhi"
},
@@ -620,6 +626,9 @@
"vo": {
"name": "volapüki"
},
+ "wo": {
+ "name": "volofi"
+ },
"vun": {
"name": "vundžo"
},
diff --git a/vendor/commerceguys/intl/resources/language/eu.json b/vendor/commerceguys/intl/resources/language/eu.json
index 0e68284ef..a2a219266 100644
--- a/vendor/commerceguys/intl/resources/language/eu.json
+++ b/vendor/commerceguys/intl/resources/language/eu.json
@@ -20,6 +20,9 @@
"gsw": {
"name": "alemana (Suitza)"
},
+ "zgh": {
+ "name": "amazigera estandarra"
+ },
"am": {
"name": "amharera"
},
@@ -77,6 +80,9 @@
"be": {
"name": "bielorrusiera"
},
+ "my": {
+ "name": "birmaniera"
+ },
"brx": {
"name": "bodoera"
},
@@ -95,9 +101,6 @@
"bg": {
"name": "bulgariera"
},
- "my": {
- "name": "burmatarra"
- },
"kea": {
"name": "Cabo Verdeko kreola"
},
@@ -119,8 +122,11 @@
"ebu": {
"name": "embua"
},
+ "tzm": {
+ "name": "Erdialdeko Atlaseko amazigera"
+ },
"rm": {
- "name": "erromantxera"
+ "name": "erretorromaniera"
},
"ro": {
"name": "errumaniera"
@@ -129,7 +135,7 @@
"name": "errusiera"
},
"gd": {
- "name": "eskoziako gaelikoa"
+ "name": "Eskoziako gaelikoa"
},
"sk": {
"name": "eslovakiera"
@@ -158,6 +164,9 @@
"fo": {
"name": "faroera"
},
+ "fil": {
+ "name": "filipinera"
+ },
"fi": {
"name": "finlandiera"
},
@@ -183,7 +192,7 @@
"name": "gaelikoa"
},
"cy": {
- "name": "galesera"
+ "name": "galesa"
},
"gl": {
"name": "galiziera"
@@ -200,6 +209,9 @@
"el": {
"name": "greziera"
},
+ "kl": {
+ "name": "groenlandiera"
+ },
"gu": {
"name": "gujaratera"
},
@@ -254,15 +266,15 @@
"ja": {
"name": "japoniera"
},
+ "yo": {
+ "name": "jorubera"
+ },
"kab": {
"name": "kabilera"
},
"kkj": {
"name": "kakoa"
},
- "kl": {
- "name": "kalaallisutera"
- },
"kln": {
"name": "kalenjinera"
},
@@ -276,17 +288,14 @@
"name": "Kanadako ingelesa"
},
"kn": {
- "name": "kannadera"
- },
- "yue": {
- "name": "kantonera"
- },
- "ks": {
- "name": "kashmirera"
+ "name": "kannada"
},
"ca": {
"name": "katalana"
},
+ "ks": {
+ "name": "kaxmirera"
+ },
"kk": {
"name": "kazakhera"
},
@@ -302,6 +311,9 @@
"ky": {
"name": "kirgizera"
},
+ "qu": {
+ "name": "kitxua"
+ },
"ksh": {
"name": "koloniera"
},
@@ -309,7 +321,7 @@
"name": "Kongoko swahilia"
},
"kok": {
- "name": "konkaniera"
+ "name": "konkanera"
},
"ko": {
"name": "koreera"
@@ -368,15 +380,15 @@
"kde": {
"name": "makondera"
},
- "mg": {
- "name": "malagasyera"
- },
"ml": {
- "name": "malayalamera"
+ "name": "malabarera"
},
"ms": {
"name": "malaysiera"
},
+ "mg": {
+ "name": "malgaxea"
+ },
"mt": {
"name": "maltera"
},
@@ -386,9 +398,6 @@
"mr": {
"name": "marathera"
},
- "tzm": {
- "name": "Maroko erdialdeko tamazighta"
- },
"mas": {
"name": "masaiera"
},
@@ -470,9 +479,6 @@
"pa": {
"name": "punjabera"
},
- "qu": {
- "name": "quechuera"
- },
"rof": {
"name": "romboera"
},
@@ -489,7 +495,7 @@
"name": "samburuera"
},
"sg": {
- "name": "sangoera"
+ "name": "sangoa"
},
"sbp": {
"name": "sanguera"
@@ -507,7 +513,10 @@
"name": "shonera"
},
"ii": {
- "name": "sichuan yia"
+ "name": "Sichuango yiera"
+ },
+ "sd": {
+ "name": "sindhia"
},
"si": {
"name": "sinhala"
@@ -528,19 +537,16 @@
"name": "Suitzako frantsesa"
},
"sw": {
- "name": "swahili"
+ "name": "swahilia"
},
"shi": {
"name": "tachelhita"
},
- "fil": {
- "name": "tagaloga"
- },
"dav": {
"name": "taitera"
},
- "zgh": {
- "name": "tamazight estandarra"
+ "tg": {
+ "name": "tajikera"
},
"ta": {
"name": "tamilera"
@@ -548,8 +554,11 @@
"twq": {
"name": "tasawaqa"
},
+ "tt": {
+ "name": "tatarera"
+ },
"te": {
- "name": "teluguera"
+ "name": "telugua"
},
"teo": {
"name": "tesoera"
@@ -570,7 +579,7 @@
"name": "turkiera"
},
"tk": {
- "name": "turkmeniera"
+ "name": "turkmenera"
},
"cs": {
"name": "txekiera"
@@ -617,14 +626,14 @@
"wae": {
"name": "walserera"
},
+ "wo": {
+ "name": "wolofera"
+ },
"yi": {
"name": "yiddisha"
},
- "yo": {
- "name": "yorubera"
- },
"dje": {
- "name": "zarmera"
+ "name": "zarma"
},
"zu": {
"name": "zuluera"
diff --git a/vendor/commerceguys/intl/resources/language/ewo.json b/vendor/commerceguys/intl/resources/language/ewo.json
index 256c643f0..9278312db 100644
--- a/vendor/commerceguys/intl/resources/language/ewo.json
+++ b/vendor/commerceguys/intl/resources/language/ewo.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fa-AF.json b/vendor/commerceguys/intl/resources/language/fa-AF.json
index 4f5c05b9e..0501e242e 100644
--- a/vendor/commerceguys/intl/resources/language/fa-AF.json
+++ b/vendor/commerceguys/intl/resources/language/fa-AF.json
@@ -191,6 +191,12 @@
"pl": {
"name": "پولندی"
},
+ "tt": {
+ "name": "تاتاری"
+ },
+ "tg": {
+ "name": "تاجکی"
+ },
"shi": {
"name": "تاچل‌هیت"
},
@@ -314,6 +320,9 @@
"seh": {
"name": "سنا"
},
+ "sd": {
+ "name": "سندی"
+ },
"sw": {
"name": "سواحلی"
},
@@ -413,9 +422,6 @@
"kn": {
"name": "کانارا"
},
- "yue": {
- "name": "کانتونی"
- },
"qu": {
"name": "کچوایی"
},
@@ -608,6 +614,9 @@
"cy": {
"name": "ولزی"
},
+ "wo": {
+ "name": "ولوÙÛŒ"
+ },
"vun": {
"name": "ونجو"
},
diff --git a/vendor/commerceguys/intl/resources/language/fa.json b/vendor/commerceguys/intl/resources/language/fa.json
index f2dc829ba..4767ea776 100644
--- a/vendor/commerceguys/intl/resources/language/fa.json
+++ b/vendor/commerceguys/intl/resources/language/fa.json
@@ -188,6 +188,12 @@
"pa": {
"name": "پنجابی"
},
+ "tt": {
+ "name": "تاتاری"
+ },
+ "tg": {
+ "name": "تاجیکی"
+ },
"shi": {
"name": "تاچل‌هیت"
},
@@ -314,6 +320,9 @@
"seh": {
"name": "سنا"
},
+ "sd": {
+ "name": "سندی"
+ },
"sw": {
"name": "سواحیلی"
},
@@ -413,9 +422,6 @@
"kn": {
"name": "کانارا"
},
- "yue": {
- "name": "کانتونی"
- },
"qu": {
"name": "کچوایی"
},
@@ -596,6 +602,9 @@
"cy": {
"name": "ولزی"
},
+ "wo": {
+ "name": "ولوÙÛŒ"
+ },
"vun": {
"name": "ونجو"
},
diff --git a/vendor/commerceguys/intl/resources/language/ff.json b/vendor/commerceguys/intl/resources/language/ff.json
index fd15d73bf..1304a461c 100644
--- a/vendor/commerceguys/intl/resources/language/ff.json
+++ b/vendor/commerceguys/intl/resources/language/ff.json
@@ -71,9 +71,6 @@
"my": {
"name": "Burmeese"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -554,12 +554,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -617,6 +623,9 @@
"vi": {
"name": "Wiyetnameere"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fi.json b/vendor/commerceguys/intl/resources/language/fi.json
index f52ecbcaa..79e310b76 100644
--- a/vendor/commerceguys/intl/resources/language/fi.json
+++ b/vendor/commerceguys/intl/resources/language/fi.json
@@ -116,9 +116,6 @@
"ewo": {
"name": "ewondo"
},
- "fa": {
- "name": "farsi"
- },
"fil": {
"name": "filipino"
},
@@ -227,9 +224,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantoninkiina"
- },
"kea": {
"name": "kapverdenkreoli"
},
@@ -434,6 +428,9 @@
"zh-Hant": {
"name": "perinteinen kiina"
},
+ "fa": {
+ "name": "persia"
+ },
"nd": {
"name": "pohjois-ndebele"
},
@@ -497,6 +494,9 @@
"ii": {
"name": "sichuanin-yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "sinhala"
},
@@ -533,6 +533,9 @@
"sw": {
"name": "swahili"
},
+ "tg": {
+ "name": "tadžikki"
+ },
"dav": {
"name": "taita"
},
@@ -548,6 +551,9 @@
"shi": {
"name": "tašelhit"
},
+ "tt": {
+ "name": "tataari"
+ },
"te": {
"name": "telugu"
},
@@ -620,6 +626,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fil.json b/vendor/commerceguys/intl/resources/language/fil.json
index 95c0ffc73..82114a740 100644
--- a/vendor/commerceguys/intl/resources/language/fil.json
+++ b/vendor/commerceguys/intl/resources/language/fil.json
@@ -74,9 +74,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -492,7 +489,7 @@
"name": "Sangu"
},
"gd": {
- "name": "Scots Gaelic"
+ "name": "Scottish Gaelic"
},
"seh": {
"name": "Sena"
@@ -509,6 +506,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -617,6 +623,9 @@
"cy": {
"name": "Welsh"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fo.json b/vendor/commerceguys/intl/resources/language/fo.json
index aafa39ada..dc41a8891 100644
--- a/vendor/commerceguys/intl/resources/language/fo.json
+++ b/vendor/commerceguys/intl/resources/language/fo.json
@@ -230,9 +230,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantonesiskt"
- },
"ks": {
"name": "kashmiri"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalesiskt"
},
@@ -545,12 +545,18 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajik"
+ },
"ta": {
"name": "tamilskt"
},
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -626,6 +632,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fr-BE.json b/vendor/commerceguys/intl/resources/language/fr-BE.json
index fd00c962f..055ac5c39 100644
--- a/vendor/commerceguys/intl/resources/language/fr-BE.json
+++ b/vendor/commerceguys/intl/resources/language/fr-BE.json
@@ -20,6 +20,9 @@
"de-CH": {
"name": "allemand suisse"
},
+ "tzm": {
+ "name": "amazighe de l’Atlas central"
+ },
"zgh": {
"name": "amazighe standard marocain"
},
@@ -104,9 +107,6 @@
"bg": {
"name": "bulgare"
},
- "yue": {
- "name": "cantonais"
- },
"kea": {
"name": "capverdien"
},
@@ -524,6 +524,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"cu": {
"name": "slavon d’église"
},
@@ -554,18 +557,21 @@
"sw-CD": {
"name": "swahili du Congo"
},
+ "tg": {
+ "name": "tadjik"
+ },
"dav": {
"name": "taita"
},
- "tzm": {
- "name": "tamazight du Maroc central"
- },
"ta": {
"name": "tamoul"
},
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"cs": {
"name": "tchèque"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fr-CA.json b/vendor/commerceguys/intl/resources/language/fr-CA.json
index 9b88775cf..b4c172072 100644
--- a/vendor/commerceguys/intl/resources/language/fr-CA.json
+++ b/vendor/commerceguys/intl/resources/language/fr-CA.json
@@ -104,9 +104,6 @@
"bg": {
"name": "bulgare"
},
- "yue": {
- "name": "cantonais"
- },
"kea": {
"name": "capverdien"
},
@@ -527,6 +524,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"cu": {
"name": "slavon d’église"
},
@@ -554,6 +554,9 @@
"sw-CD": {
"name": "swahili congolais"
},
+ "tg": {
+ "name": "tadjik"
+ },
"dav": {
"name": "taita"
},
@@ -566,6 +569,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"cs": {
"name": "tchèque"
},
@@ -614,11 +620,14 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
"ii": {
- "name": "yi du Sichuan"
+ "name": "yi de Sichuan"
},
"yi": {
"name": "yiddish"
diff --git a/vendor/commerceguys/intl/resources/language/fr-CH.json b/vendor/commerceguys/intl/resources/language/fr-CH.json
index c2113374c..1a0d354e6 100644
--- a/vendor/commerceguys/intl/resources/language/fr-CH.json
+++ b/vendor/commerceguys/intl/resources/language/fr-CH.json
@@ -20,6 +20,9 @@
"de-CH": {
"name": "allemand suisse"
},
+ "tzm": {
+ "name": "amazighe de l’Atlas central"
+ },
"zgh": {
"name": "amazighe standard marocain"
},
@@ -104,9 +107,6 @@
"bg": {
"name": "bulgare"
},
- "yue": {
- "name": "cantonais"
- },
"kea": {
"name": "capverdien"
},
@@ -524,6 +524,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"cu": {
"name": "slavon d’église"
},
@@ -554,18 +557,21 @@
"sw-CD": {
"name": "swahili du Congo"
},
+ "tg": {
+ "name": "tadjik"
+ },
"dav": {
"name": "taita"
},
- "tzm": {
- "name": "tamazight du Maroc central"
- },
"ta": {
"name": "tamoul"
},
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"cs": {
"name": "tchèque"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fr.json b/vendor/commerceguys/intl/resources/language/fr.json
index 01c2a53e3..d12109d2b 100644
--- a/vendor/commerceguys/intl/resources/language/fr.json
+++ b/vendor/commerceguys/intl/resources/language/fr.json
@@ -20,6 +20,9 @@
"de-CH": {
"name": "allemand suisse"
},
+ "tzm": {
+ "name": "amazighe de l’Atlas central"
+ },
"zgh": {
"name": "amazighe standard marocain"
},
@@ -104,9 +107,6 @@
"bg": {
"name": "bulgare"
},
- "yue": {
- "name": "cantonais"
- },
"kea": {
"name": "capverdien"
},
@@ -524,6 +524,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"cu": {
"name": "slavon d’église"
},
@@ -554,18 +557,21 @@
"sw-CD": {
"name": "swahili du Congo"
},
+ "tg": {
+ "name": "tadjik"
+ },
"dav": {
"name": "taita"
},
- "tzm": {
- "name": "tamazight du Maroc central"
- },
"ta": {
"name": "tamoul"
},
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"cs": {
"name": "tchèque"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fur.json b/vendor/commerceguys/intl/resources/language/fur.json
index 18a18d6cc..d9092628f 100644
--- a/vendor/commerceguys/intl/resources/language/fur.json
+++ b/vendor/commerceguys/intl/resources/language/fur.json
@@ -80,9 +80,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "catalan"
},
@@ -509,6 +506,9 @@
"si": {
"name": "sinalês"
},
+ "sd": {
+ "name": "sindhi"
+ },
"sk": {
"name": "slovac"
},
@@ -545,6 +545,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "tagic"
+ },
"dav": {
"name": "Taita"
},
@@ -554,6 +557,9 @@
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tartar"
+ },
"twq": {
"name": "Tasawaq"
},
@@ -617,6 +623,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/fy.json b/vendor/commerceguys/intl/resources/language/fy.json
index 638843cb2..a815fd646 100644
--- a/vendor/commerceguys/intl/resources/language/fy.json
+++ b/vendor/commerceguys/intl/resources/language/fy.json
@@ -137,6 +137,9 @@
"fur": {
"name": "Friulysk"
},
+ "fy": {
+ "name": "Frysk"
+ },
"ff": {
"name": "Fulah"
},
@@ -227,9 +230,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantoneesk"
- },
"ks": {
"name": "Kasjmiri"
},
@@ -494,6 +494,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"zh": {
"name": "Sineesk"
},
@@ -533,6 +536,9 @@
"de-CH": {
"name": "Switsersk Heechdútsk"
},
+ "tg": {
+ "name": "Tadzjieks"
+ },
"dav": {
"name": "Taita"
},
@@ -548,6 +554,9 @@
"shi": {
"name": "Tashelhiyt"
},
+ "tt": {
+ "name": "Tataars"
+ },
"te": {
"name": "Telugu"
},
@@ -605,8 +614,8 @@
"cy": {
"name": "Welsk"
},
- "fy": {
- "name": "West-Frysk"
+ "wo": {
+ "name": "Wolof"
},
"be": {
"name": "Wyt-Russysk"
diff --git a/vendor/commerceguys/intl/resources/language/ga.json b/vendor/commerceguys/intl/resources/language/ga.json
index a6fe30a4e..5cd1467f8 100644
--- a/vendor/commerceguys/intl/resources/language/ga.json
+++ b/vendor/commerceguys/intl/resources/language/ga.json
@@ -95,9 +95,6 @@
"kn": {
"name": "Cannadais"
},
- "yue": {
- "name": "Cantainis"
- },
"kk": {
"name": "Casaicis"
},
@@ -107,12 +104,6 @@
"qu": {
"name": "Ceatsuais"
},
- "tzm": {
- "name": "Central Atlas Tamazight"
- },
- "ckb": {
- "name": "Central Kurdish"
- },
"cgg": {
"name": "Chiga"
},
@@ -128,6 +119,9 @@
"ky": {
"name": "Cirgisis"
},
+ "ckb": {
+ "name": "Coirdis Lárnach"
+ },
"ko": {
"name": "Cóiréis"
},
@@ -239,9 +233,6 @@
"yo": {
"name": "Iarúibis"
},
- "smn": {
- "name": "Inari Sami"
- },
"id": {
"name": "Indinéisis"
},
@@ -461,6 +452,9 @@
"nds-NL": {
"name": "Sacsainis Ãochtarach"
},
+ "smn": {
+ "name": "Sáimis Inari"
+ },
"se": {
"name": "Sáimis Thuaidh"
},
@@ -506,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindis"
+ },
"zh": {
"name": "Sínis"
},
@@ -545,9 +542,6 @@
"es-MX": {
"name": "Spáinnis Mheicsiceach"
},
- "zgh": {
- "name": "Standard Moroccan Tamazight"
- },
"sv": {
"name": "Sualainnis"
},
@@ -563,15 +557,27 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "Táidsícis"
+ },
"dav": {
"name": "Taita"
},
"ta": {
"name": "Tamailis"
},
+ "tzm": {
+ "name": "Tamazight Atlais Láir"
+ },
+ "zgh": {
+ "name": "Tamazight Caighdeánach Mharacó"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatairis"
+ },
"th": {
"name": "Téalainnis"
},
@@ -617,6 +623,9 @@
"vi": {
"name": "Vítneaimis"
},
+ "wo": {
+ "name": "Volaifis"
+ },
"vo": {
"name": "Volapük"
},
diff --git a/vendor/commerceguys/intl/resources/language/gd.json b/vendor/commerceguys/intl/resources/language/gd.json
index dbff64b32..457d565d2 100644
--- a/vendor/commerceguys/intl/resources/language/gd.json
+++ b/vendor/commerceguys/intl/resources/language/gd.json
@@ -104,9 +104,6 @@
"th": {
"name": "Cànan nan Tàidh"
},
- "yue": {
- "name": "Cantonais"
- },
"kk": {
"name": "Casachais"
},
@@ -512,6 +509,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -557,6 +557,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "Taidigis"
+ },
"ta": {
"name": "Taimilis"
},
@@ -572,6 +575,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatarais"
+ },
"te": {
"name": "Telugu"
},
@@ -617,6 +623,9 @@
"vun": {
"name": "Vunjo"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/gl.json b/vendor/commerceguys/intl/resources/language/gl.json
index b9ecd065a..73a570967 100644
--- a/vendor/commerceguys/intl/resources/language/gl.json
+++ b/vendor/commerceguys/intl/resources/language/gl.json
@@ -3,13 +3,13 @@
"name": "acerbaixano"
},
"af": {
- "name": "africáner"
+ "name": "afrikaans"
},
"agq": {
"name": "aghem"
},
"ak": {
- "name": "akán"
+ "name": "akan"
},
"sq": {
"name": "albanés"
@@ -30,7 +30,7 @@
"name": "alto sorbio"
},
"am": {
- "name": "amárico"
+ "name": "amhárico"
},
"ar": {
"name": "árabe"
@@ -39,7 +39,7 @@
"name": "armenio"
},
"as": {
- "name": "asamés"
+ "name": "assamés"
},
"ast": {
"name": "asturiano"
@@ -57,7 +57,7 @@
"name": "baixo saxón"
},
"dsb": {
- "name": "baixo sorabio"
+ "name": "baixo sorbio"
},
"bm": {
"name": "bambaro"
@@ -92,6 +92,9 @@
"bg": {
"name": "búlgaro"
},
+ "kab": {
+ "name": "cabila"
+ },
"kea": {
"name": "caboverdiano"
},
@@ -101,9 +104,6 @@
"kn": {
"name": "canarés"
},
- "yue": {
- "name": "cantonés"
- },
"kk": {
"name": "casaco"
},
@@ -117,7 +117,7 @@
"name": "checo"
},
"chr": {
- "name": "cheroqui"
+ "name": "cherokee"
},
"zh": {
"name": "chinés"
@@ -195,22 +195,22 @@
"name": "finés"
},
"nl-BE": {
- "name": "flamenco"
+ "name": "flamengo"
},
"fr": {
"name": "francés"
},
"fr-CA": {
- "name": "francés canadiano"
+ "name": "francés canadense"
},
"fr-CH": {
"name": "francés suízo"
},
"fy": {
- "name": "frisón"
+ "name": "frisón occidental"
},
"fur": {
- "name": "friuliano"
+ "name": "friulano"
},
"ff": {
"name": "fula"
@@ -231,7 +231,7 @@
"name": "grego"
},
"kl": {
- "name": "groenlandés occidental"
+ "name": "groenlandés"
},
"guz": {
"name": "gusii"
@@ -251,9 +251,6 @@
"hi": {
"name": "hindi"
},
- "nl": {
- "name": "holandés"
- },
"hu": {
"name": "húngaro"
},
@@ -273,7 +270,7 @@
"name": "inglés británico"
},
"en-CA": {
- "name": "inglés canadiano"
+ "name": "inglés canadense"
},
"ga": {
"name": "irlandés"
@@ -287,9 +284,6 @@
"dyo": {
"name": "jola-fonyi"
},
- "kab": {
- "name": "kabile"
- },
"kkj": {
"name": "kako"
},
@@ -308,6 +302,9 @@
"ki": {
"name": "kikuyu"
},
+ "ky": {
+ "name": "kirguiz"
+ },
"ksh": {
"name": "kölsch"
},
@@ -351,7 +348,7 @@
"name": "Luo"
},
"lrc": {
- "name": "luri do norte"
+ "name": "luri setentrional"
},
"lb": {
"name": "luxemburgués"
@@ -414,7 +411,10 @@
"name": "nama"
},
"nd": {
- "name": "ndebele do norte"
+ "name": "ndebele setentrional"
+ },
+ "nl": {
+ "name": "neerlandés"
},
"ne": {
"name": "nepalí"
@@ -426,7 +426,7 @@
"name": "ngomba"
},
"nb": {
- "name": "noruegués bokmal"
+ "name": "noruegués bokmål"
},
"nn": {
"name": "noruegués nynorsk"
@@ -444,13 +444,13 @@
"name": "oromo"
},
"os": {
- "name": "osetio"
+ "name": "ossetio"
},
"pa": {
"name": "panxabiano"
},
"ps": {
- "name": "pashtu"
+ "name": "paxto"
},
"fa": {
"name": "persa"
@@ -462,7 +462,7 @@
"name": "portugués"
},
"pt-PT": {
- "name": "portugués europeo"
+ "name": "portugués de Portugal"
},
"prg": {
"name": "prusiano"
@@ -470,9 +470,6 @@
"qu": {
"name": "quechua"
},
- "ky": {
- "name": "quirguiz"
- },
"rm": {
"name": "romanche"
},
@@ -498,7 +495,7 @@
"name": "saami de Inari"
},
"se": {
- "name": "saami do norte"
+ "name": "saami setentrional"
},
"sah": {
"name": "sakha"
@@ -524,6 +521,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"xog": {
"name": "soga"
},
@@ -548,20 +548,26 @@
"dav": {
"name": "taita"
},
- "zgh": {
- "name": "tamazight de Marrocos estándar"
- },
"tzm": {
- "name": "tamazight do Marrocos Central"
+ "name": "tamazight de Marrocos central"
+ },
+ "zgh": {
+ "name": "tamazight marroquí estándar"
},
"ta": {
"name": "támil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
+ "tg": {
+ "name": "taxico"
+ },
"te": {
- "name": "telugú"
+ "name": "telugu"
},
"teo": {
"name": "teso"
@@ -573,7 +579,7 @@
"name": "tigriña"
},
"to": {
- "name": "tonganés"
+ "name": "tongano"
},
"tr": {
"name": "turco"
@@ -608,6 +614,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wólof"
+ },
"ja": {
"name": "xaponés"
},
diff --git a/vendor/commerceguys/intl/resources/language/gsw.json b/vendor/commerceguys/intl/resources/language/gsw.json
index b321f0664..5993f6860 100644
--- a/vendor/commerceguys/intl/resources/language/gsw.json
+++ b/vendor/commerceguys/intl/resources/language/gsw.json
@@ -77,9 +77,6 @@
"bg": {
"name": "Bulgaarisch"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -503,6 +500,9 @@
"ksb": {
"name": "Shambala"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singhalesisch"
},
@@ -530,6 +530,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "Tadschikisch"
+ },
"dav": {
"name": "Taita"
},
@@ -542,6 +545,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatarisch"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"be": {
"name": "Wiissrussisch"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/gu.json b/vendor/commerceguys/intl/resources/language/gu.json
index a953a9681..f5387a7be 100644
--- a/vendor/commerceguys/intl/resources/language/gu.json
+++ b/vendor/commerceguys/intl/resources/language/gu.json
@@ -12,7 +12,7 @@
"name": "અàªàª°àª¬à«ˆàªœàª¾àª¨à«€"
},
"hsb": {
- "name": "અપà«àªªàª° સોરà«àª¬àª¿àª¯àª¨"
+ "name": "અપર સોરà«àª¬àª¿àª¯àª¨"
},
"ar": {
"name": "અરબી"
@@ -72,10 +72,10 @@
"name": "ઉતà«àª¤àª° દેબેલ"
},
"lrc": {
- "name": "ઉતà«àª¤àª°à«€àª¯ લà«àª°à«€"
+ "name": "ઉતà«àª¤àª°à«€ લà«àª°à«€"
},
"se": {
- "name": "ઉતà«àª¤àª°à«€àª¯ સામી"
+ "name": "ઉતà«àª¤àª°à«€ સામી"
},
"ur": {
"name": "ઉરà«àª¦à«‚"
@@ -143,9 +143,6 @@
"ky": {
"name": "કિરà«àª—à«€àª"
},
- "yue": {
- "name": "કેંટોનીàª"
- },
"en-CA": {
"name": "કેનેડિયન અંગà«àª°à«‡àªœà«€"
},
@@ -225,7 +222,7 @@
"name": "જોલા-ફોનà«àª¯à«€"
},
"ka": {
- "name": "જà«àª¯à«‹àª°à«àªœàª¿àª…ન"
+ "name": "જà«àª¯à«‹àª°à«àªœàª¿àª¯àª¨"
},
"dje": {
"name": "àªàª°à«àª®àª¾"
@@ -234,7 +231,7 @@
"name": "àªà«àª²à«"
},
"tr": {
- "name": "ટરà«àª•à«€àª¶"
+ "name": "ટરà«àª•àª¿àª¶"
},
"ti": {
"name": "ટાઇગà«àª°àª¿àª¨àª¿àª¯àª¾"
@@ -251,12 +248,18 @@
"dz": {
"name": "ડà«àªà«‹àª‚ગà«àª–ા"
},
+ "tt": {
+ "name": "તતાર"
+ },
"ta": {
"name": "તમિલ"
},
"twq": {
"name": "તસાવાક"
},
+ "tg": {
+ "name": "તાજીક"
+ },
"bo": {
"name": "તિબેટીયન"
},
@@ -287,9 +290,6 @@
"naq": {
"name": "નમા"
},
- "dsb": {
- "name": "નિમà«àª¨ સોરà«àª¬àª¿àª¯àª¨"
- },
"nnh": {
"name": "નીàªàª®àª¬à«àª¨"
},
@@ -300,10 +300,10 @@
"name": "નેપાળી"
},
"nn": {
- "name": "નૉરà«àªµà«‡àªœà«€àª¯àª¨ નાયનૉરà«àª¸à«àª•"
+ "name": "નોરà«àªµà«‡àªœàª¿àª¯àª¨ નાયનૉરà«àª¸à«àª•"
},
"nb": {
- "name": "નોરà«àªµà«‡àªœà«€àª¯àª¨ બોકમાલ"
+ "name": "નોરà«àªµà«‡àªœàª¿àª¯àª¨ બોકમાલ"
},
"nyn": {
"name": "નà«àª¯àª¾àª¨àª•à«‹àª²"
@@ -326,9 +326,6 @@
"pl": {
"name": "પોલીશ"
},
- "zgh": {
- "name": "પà«àª°àª®àª¾àª£àª­à«‚ત મોરોકà«àª•àª¨ તામાàªàª¿àª—à«àªŸ"
- },
"prg": {
"name": "પà«àª°à«àª¸à«àª¸à«€àª¯àª¨"
},
@@ -356,9 +353,6 @@
"nl-BE": {
"name": "ફà«àª²à«‡àª®àª¿àª¶"
},
- "bn": {
- "name": "બંગાળી"
- },
"ksf": {
"name": "બફિયા"
},
@@ -371,6 +365,9 @@
"bas": {
"name": "બસા"
},
+ "bn": {
+ "name": "બાંગà«àª²àª¾"
+ },
"bm": {
"name": "બામà«àª¬àª¾àª°àª¾"
},
@@ -428,6 +425,9 @@
"mgh": {
"name": "માખà«àªµàª¾-મીટà«àªŸà«"
},
+ "zgh": {
+ "name": "માનક મોરોકà«àª•àª¨ તામાàªàª¿àªŸ"
+ },
"mt": {
"name": "માલà«àªŸàª¿àª"
},
@@ -495,7 +495,7 @@
"name": "લકà«àªà«‡àª®àª¬àª°à«àª—િશ"
},
"lo": {
- "name": "લાઓથિયન"
+ "name": "લાઓ"
},
"lkt": {
"name": "લાકોટા"
@@ -507,7 +507,7 @@
"name": "લિંગાલા"
},
"lt": {
- "name": "લિથà«àª¨àª¿àª¯àª¨"
+ "name": "લિથà«àª†àª¨àª¿àª¯àª¨"
},
"luy": {
"name": "લà«àªˆàª¯àª¾"
@@ -521,6 +521,9 @@
"nds-NL": {
"name": "લો સેકà«àª¸à«‹àª¨"
},
+ "dsb": {
+ "name": "લોઅર સોરà«àª¬àª¿àª¯àª¨"
+ },
"luo": {
"name": "લà«àª¯à«àª“"
},
@@ -542,6 +545,9 @@
"vo": {
"name": "વોલાપà«àª•"
},
+ "wo": {
+ "name": "વોલોફ"
+ },
"ksb": {
"name": "શમà«àª¬àª¾àª²àª¾"
},
@@ -569,6 +575,9 @@
"sg": {
"name": "સાંગો"
},
+ "sd": {
+ "name": "સિંધી"
+ },
"si": {
"name": "સિંહાલી"
},
@@ -579,7 +588,7 @@
"name": "સેના"
},
"tzm": {
- "name": "સેનà«àªŸà«àª°àª² àªàªŸà«àª²àª¸ તામાàªàª¿àª—à«àªŸ"
+ "name": "સેનà«àªŸà«àª°àª² àªàªŸàª²àª¾àª¸ તામાàªàª¿àªŸ"
},
"ckb": {
"name": "સેનà«àªŸà«àª°àª² કà«àª°à«àª¦àª¿àª¶"
@@ -621,7 +630,7 @@
"name": "હંગેરિયન"
},
"haw": {
- "name": "હાવાઇયન"
+ "name": "હવાઇયન"
},
"hi": {
"name": "હિનà«àª¦à«€"
diff --git a/vendor/commerceguys/intl/resources/language/guz.json b/vendor/commerceguys/intl/resources/language/guz.json
index 9f30e3288..09cd9c247 100644
--- a/vendor/commerceguys/intl/resources/language/guz.json
+++ b/vendor/commerceguys/intl/resources/language/guz.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ha.json b/vendor/commerceguys/intl/resources/language/ha.json
index 178db72f3..94e93394e 100644
--- a/vendor/commerceguys/intl/resources/language/ha.json
+++ b/vendor/commerceguys/intl/resources/language/ha.json
@@ -68,9 +68,6 @@
"my": {
"name": "Burmanci"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -512,6 +509,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -617,6 +623,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/he.json b/vendor/commerceguys/intl/resources/language/he.json
index 4018ba9d8..6238eb4c3 100644
--- a/vendor/commerceguys/intl/resources/language/he.json
+++ b/vendor/commerceguys/intl/resources/language/he.json
@@ -1,7 +1,4 @@
{
- "agq": {
- "name": "××”×™×™×"
- },
"ee": {
"name": "×ווה"
},
@@ -27,7 +24,7 @@
"name": "×ורומו"
},
"or": {
- "name": "×וריה"
+ "name": "×ורייה"
},
"az": {
"name": "×זרית"
@@ -86,6 +83,9 @@
"eo": {
"name": "×ספרנטו"
},
+ "agq": {
+ "name": "×ע׳×"
+ },
"af": {
"name": "×פריק×נס"
},
@@ -206,6 +206,9 @@
"vo": {
"name": "â€×•×•×œ×פיק"
},
+ "wo": {
+ "name": "וולוף"
+ },
"cy": {
"name": "וולשית"
},
@@ -227,6 +230,9 @@
"dav": {
"name": "ט×יטה"
},
+ "tg": {
+ "name": "טג׳יקית"
+ },
"to": {
"name": "טונג×ית"
},
@@ -236,15 +242,15 @@
"tk": {
"name": "טורקמנית"
},
+ "tt": {
+ "name": "טטרית"
+ },
"bo": {
"name": "טיבטית"
},
"te": {
"name": "טלוגו"
},
- "tzm": {
- "name": "טמזייט של מרכז מרוקו"
- },
"ta": {
"name": "טמילית"
},
@@ -405,7 +411,10 @@
"name": "סורבית גבוהה"
},
"dsb": {
- "name": "סורבית נמוכה"
+ "name": "סורבית תחתית"
+ },
+ "sd": {
+ "name": "סינדהית"
},
"si": {
"name": "סינהלה"
@@ -578,9 +587,6 @@
"kn": {
"name": "קנ×דה"
},
- "yue": {
- "name": "קנטונזית"
- },
"rw": {
"name": "קנירו×נדית"
},
@@ -629,6 +635,9 @@
"ti": {
"name": "תיגרינית"
},
+ "tzm": {
+ "name": "תמ×זיגת של מרכז מרוקו"
+ },
"zgh": {
"name": "תמזיע׳ת מרוק×ית תקנית"
}
diff --git a/vendor/commerceguys/intl/resources/language/hi.json b/vendor/commerceguys/intl/resources/language/hi.json
index 404f7d700..d9a2a4551 100644
--- a/vendor/commerceguys/intl/resources/language/hi.json
+++ b/vendor/commerceguys/intl/resources/language/hi.json
@@ -146,9 +146,6 @@
"ky": {
"name": "किरà¥à¤—ीज़"
},
- "yue": {
- "name": "कैंटोनीज़"
- },
"kok": {
"name": "कोंकणी"
},
@@ -206,6 +203,9 @@
"ce": {
"name": "चेचन"
},
+ "chr": {
+ "name": "चेरोकी"
+ },
"de": {
"name": "जरà¥à¤®à¤¨"
},
@@ -245,6 +245,12 @@
"ta": {
"name": "तमिल"
},
+ "tg": {
+ "name": "ताजिक"
+ },
+ "tt": {
+ "name": "तातार"
+ },
"ti": {
"name": "तिगà¥à¤°à¥€à¤¨à¥à¤¯à¤¾"
},
@@ -395,6 +401,9 @@
"mn": {
"name": "मंगोलियाई"
},
+ "mk": {
+ "name": "मकदूनियाई"
+ },
"tzm": {
"name": "मधà¥à¤¯ à¤à¤Ÿà¤²à¤¸ तमाज़ित"
},
@@ -446,9 +455,6 @@
"mgh": {
"name": "मैखà¥à¤µà¤¾-मीटà¥à¤Ÿà¥‹"
},
- "mk": {
- "name": "मैसिडोनियाई"
- },
"mfe": {
"name": "मोरीसà¥à¤¯à¥‡à¤¨"
},
@@ -545,15 +551,15 @@
"vo": {
"name": "वोलापà¥à¤•"
},
+ "wo": {
+ "name": "वोलोफ़"
+ },
"ksb": {
"name": "शमà¥à¤¬à¤¾à¤²à¤¾"
},
"cgg": {
"name": "शिगा"
},
- "chr": {
- "name": "शेरोकी"
- },
"sn": {
"name": "शोणा"
},
@@ -566,6 +572,9 @@
"sg": {
"name": "सांगो"
},
+ "sd": {
+ "name": "सिंधी"
+ },
"si": {
"name": "सिंहली"
},
diff --git a/vendor/commerceguys/intl/resources/language/hr.json b/vendor/commerceguys/intl/resources/language/hr.json
index bd8145fd2..f8cb2cb4f 100644
--- a/vendor/commerceguys/intl/resources/language/hr.json
+++ b/vendor/commerceguys/intl/resources/language/hr.json
@@ -245,9 +245,6 @@
"fr-CA": {
"name": "kanadski francuski"
},
- "yue": {
- "name": "kantonski"
- },
"kn": {
"name": "karnataÄki"
},
@@ -492,7 +489,10 @@
"name": "shona"
},
"ii": {
- "name": "sichuan yi"
+ "name": "sichuan ji"
+ },
+ "sd": {
+ "name": "sindski"
},
"si": {
"name": "sinhaleški"
@@ -548,6 +548,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadžiÄki"
+ },
"dav": {
"name": "taita"
},
@@ -566,6 +569,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatarski"
+ },
"te": {
"name": "teluški"
},
@@ -611,6 +617,9 @@
"vo": {
"name": "volapük"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vunjo"
},
diff --git a/vendor/commerceguys/intl/resources/language/hsb.json b/vendor/commerceguys/intl/resources/language/hsb.json
index 9bc0b68e3..55e2f3e69 100644
--- a/vendor/commerceguys/intl/resources/language/hsb.json
+++ b/vendor/commerceguys/intl/resources/language/hsb.json
@@ -77,9 +77,6 @@
"my": {
"name": "burmašćina"
},
- "yue": {
- "name": "Cantonese"
- },
"ksh": {
"name": "Colognian"
},
@@ -506,6 +503,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindhišćina"
+ },
"si": {
"name": "singhalšćina"
},
@@ -551,6 +551,9 @@
"de-CH": {
"name": "Å¡wicarska wysokonÄ›mÄina"
},
+ "tg": {
+ "name": "tadźikšćina"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"shi": {
"name": "tašelhit"
},
+ "tt": {
+ "name": "tataršćina"
+ },
"te": {
"name": "telugu"
},
@@ -623,6 +629,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/hu.json b/vendor/commerceguys/intl/resources/language/hu.json
index ec892bc62..76c0dca5f 100644
--- a/vendor/commerceguys/intl/resources/language/hu.json
+++ b/vendor/commerceguys/intl/resources/language/hu.json
@@ -257,9 +257,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantoni"
- },
"ks": {
"name": "kasmíri"
},
@@ -432,10 +429,10 @@
"name": "ngumba"
},
"nb": {
- "name": "norvég (bokmál)"
+ "name": "norvég (bokmål)"
},
"nn": {
- "name": "norvég (nynrosk)"
+ "name": "norvég (nynorsk)"
},
"nus": {
"name": "nuer"
@@ -545,6 +542,9 @@
"sr": {
"name": "szerb"
},
+ "sd": {
+ "name": "szindhi"
+ },
"si": {
"name": "szingaléz"
},
@@ -566,12 +566,18 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadzsik"
+ },
"dav": {
"name": "taita"
},
"ta": {
"name": "tamil"
},
+ "tt": {
+ "name": "tatár"
+ },
"te": {
"name": "telugu"
},
@@ -617,6 +623,9 @@
"vo": {
"name": "volapük"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vunjo"
},
diff --git a/vendor/commerceguys/intl/resources/language/hy.json b/vendor/commerceguys/intl/resources/language/hy.json
index db8da46f7..aebb3454f 100644
--- a/vendor/commerceguys/intl/resources/language/hy.json
+++ b/vendor/commerceguys/intl/resources/language/hy.json
@@ -86,9 +86,6 @@
"en-GB": {
"name": "Õ¢Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¡Õ¶Õ£Õ¬Õ¥Ö€Õ¥Õ¶"
},
- "gd": {
- "name": "Õ£Õ¡Õ¥Õ¬Õ¥Ö€Õ¥Õ¶"
- },
"gl": {
"name": "Õ£Õ¡Õ¬Õ«Õ½Õ¥Ö€Õ¥Õ¶"
},
@@ -104,6 +101,9 @@
"guz": {
"name": "Õ£Õ¸Ö‚Õ½Õ«"
},
+ "nb": {
+ "name": "Õ£Ö€Ö„Õ¡ÕµÕ«Õ¶ Õ¶Õ¸Ö€Õ¾Õ¥Õ£Õ¥Ö€Õ¥Õ¶"
+ },
"da": {
"name": "Õ¤Õ¡Õ¶Õ«Õ¥Ö€Õ¥Õ¶"
},
@@ -143,6 +143,9 @@
"zgh": {
"name": "Õ¨Õ¶Õ¤Õ°Õ¡Õ¶Õ¸Ö‚Ö€ Õ´Õ¡Ö€Õ¸Õ¯ÕµÕ¡Õ¶ Õ©Õ¡Õ´Õ¡Õ¦Õ«Õ²Õ¿"
},
+ "tt": {
+ "name": "Õ©Õ¡Õ©Õ¡Ö€Õ¥Ö€Õ¥Õ¶"
+ },
"dav": {
"name": "Õ©Õ¡Õ«Õ©Õ¡"
},
@@ -168,7 +171,7 @@
"name": "Õ«Õ¤Õ«Õ·"
},
"smn": {
- "name": "Õ«Õ¶Õ¡Ö€Õ« Õ½Õ¡Õ¡Õ´Õ¥Ö€Õ¥Õ¶"
+ "name": "Õ«Õ¶Õ¡Ö€Õ« Õ½Õ¡Õ¡Õ´Õ«"
},
"id": {
"name": "Õ«Õ¶Õ¤Õ¸Õ¶Õ¥Õ¦Õ¥Ö€Õ¥Õ¶"
@@ -225,7 +228,7 @@
"name": "Õ¯Õ¡Õ¢Õ«Õ¬Õ¥Ö€Õ¥Õ¶"
},
"kea": {
- "name": "Õ¯Õ¡Õ¢Õ¸Ö‚Õ¾Õ¥Ö€Õ¤ÕµÕ¡Õ¶Õ¸Ö‚"
+ "name": "Õ¯Õ¡Õ¢Õ¸Ö‚Õ¾Õ¥Ö€Õ¤Õ¥Ö€Õ¥Õ¶"
},
"kl": {
"name": "Õ¯Õ¡Õ¬Õ¡Õ¡Õ¬Õ«Õ½Õ¸Ö‚Õ¿"
@@ -248,9 +251,6 @@
"kn": {
"name": "Õ¯Õ¡Õ¶Õ¶Õ¡Õ¤Õ¡"
},
- "yue": {
- "name": "Õ¯Õ¡Õ¶Õ¿Õ¸Õ¶Õ¥Ö€Õ¥Õ¶"
- },
"ca": {
"name": "Õ¯Õ¡Õ¿Õ¡Õ¬Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
},
@@ -407,11 +407,8 @@
"nyn": {
"name": "Õ¶ÕµÕ¡Õ¶Õ¯Õ¸Õ¬Õ¥"
},
- "nb": {
- "name": "Õ¶Õ¸Ö€Õ¾Õ¥Õ£Õ¥Ö€Õ¥Õ¶ Õ¢Õ¸Ö‚Õ¯Õ´Õ¸Õ¬"
- },
"nn": {
- "name": "Õ¶Õ¸Ö€Õ¾Õ¥Õ£Õ¥Ö€Õ¥Õ¶ Õ¶ÕµÕ¸Ö‚Õ¶Õ¸Ö€Õ½Õ¯"
+ "name": "Õ¶Õ¸Ö€ Õ¶Õ¸Ö€Õ¾Õ¥Õ£Õ¥Ö€Õ¥Õ¶"
},
"nus": {
"name": "Õ¶Õ¸Ö‚Õ¥Ö€"
@@ -422,6 +419,9 @@
"sn": {
"name": "Õ·Õ¸Õ¶Õ¡"
},
+ "gd": {
+ "name": "Õ·Õ¸Õ¿Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ£Õ¡Õ¥Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
"sv": {
"name": "Õ·Õ¾Õ¥Õ¤Õ¥Ö€Õ¥Õ¶"
},
@@ -515,6 +515,9 @@
"sr": {
"name": "Õ½Õ¥Ö€Õ¢Õ¥Ö€Õ¥Õ¶"
},
+ "sd": {
+ "name": "Õ½Õ«Õ¶Õ¤Õ°Õ«"
+ },
"si": {
"name": "Õ½Õ«Õ¶Õ°Õ¡Õ¬Õ¥Ö€Õ¥Õ¶"
},
@@ -560,6 +563,9 @@
"vo": {
"name": "Õ¾Õ¸Õ¬Õ¡ÕºÕµÕ¸Ö‚Õ¯"
},
+ "wo": {
+ "name": "Õ¾Õ¸Õ¬Õ¸Ö†"
+ },
"vun": {
"name": "Õ¾Õ¸Ö‚Õ¶Õ»Õ¸"
},
@@ -569,6 +575,9 @@
"shi": {
"name": "Õ¿Õ¡Õ·Õ¥Õ¬Õ°Õ«Õ©"
},
+ "tg": {
+ "name": "Õ¿Õ¡Õ»Õ«Õ¯Õ¥Ö€Õ¥Õ¶"
+ },
"twq": {
"name": "Õ¿Õ¡Õ½Õ¡Õ¾Õ¡Ö„"
},
diff --git a/vendor/commerceguys/intl/resources/language/id.json b/vendor/commerceguys/intl/resources/language/id.json
index c64af613c..bb6206c6d 100644
--- a/vendor/commerceguys/intl/resources/language/id.json
+++ b/vendor/commerceguys/intl/resources/language/id.json
@@ -242,9 +242,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kanton"
- },
"ks": {
"name": "Kashmir"
},
@@ -269,9 +266,6 @@
"ky": {
"name": "Kirgiz"
},
- "sw-CD": {
- "name": "Kongo Swahili"
- },
"kok": {
"name": "Konkani"
},
@@ -486,7 +480,7 @@
"name": "Sena"
},
"sr": {
- "name": "Serb"
+ "name": "Serbia"
},
"ksb": {
"name": "Shambala"
@@ -497,6 +491,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -510,13 +507,13 @@
"name": "Soga"
},
"so": {
- "name": "Somali"
- },
- "hsb": {
- "name": "Sorbia Atas"
+ "name": "Somalia"
},
"dsb": {
- "name": "Sorbia Rendah"
+ "name": "Sorbia Hilir"
+ },
+ "hsb": {
+ "name": "Sorbia Hulu"
},
"es": {
"name": "Spanyol"
@@ -530,6 +527,9 @@
"sw": {
"name": "Swahili"
},
+ "sw-CD": {
+ "name": "Swahili (Kongo)"
+ },
"sv": {
"name": "Swedia"
},
@@ -539,6 +539,9 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"zgh": {
"name": "Tamazight Maroko Standar"
},
@@ -551,6 +554,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"cy": {
"name": "Welsh"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ig.json b/vendor/commerceguys/intl/resources/language/ig.json
index ec487221c..849c6b396 100644
--- a/vendor/commerceguys/intl/resources/language/ig.json
+++ b/vendor/commerceguys/intl/resources/language/ig.json
@@ -86,9 +86,6 @@
"cu": {
"name": "Church Slavic"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -506,6 +503,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"th": {
"name": "Taị"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamụlụ"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/is.json b/vendor/commerceguys/intl/resources/language/is.json
index b9a041498..420494502 100644
--- a/vendor/commerceguys/intl/resources/language/is.json
+++ b/vendor/commerceguys/intl/resources/language/is.json
@@ -230,9 +230,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantoneska"
- },
"kk": {
"name": "kasakska"
},
@@ -491,6 +488,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindí"
+ },
"si": {
"name": "singalíska"
},
@@ -545,6 +545,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadsjikska"
+ },
"th": {
"name": "taílenska"
},
@@ -560,6 +563,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatarska"
+ },
"te": {
"name": "telúgú"
},
@@ -620,6 +626,9 @@
"vo": {
"name": "volapyk"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vunjó"
},
diff --git a/vendor/commerceguys/intl/resources/language/it.json b/vendor/commerceguys/intl/resources/language/it.json
index 9e4a62a42..14b35ed33 100644
--- a/vendor/commerceguys/intl/resources/language/it.json
+++ b/vendor/commerceguys/intl/resources/language/it.json
@@ -86,9 +86,6 @@
"kab": {
"name": "cabilo"
},
- "yue": {
- "name": "cantonese"
- },
"kea": {
"name": "capoverdiano"
},
@@ -497,6 +494,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalese"
},
@@ -530,6 +530,9 @@
"sw-CD": {
"name": "swahili del Congo"
},
+ "tg": {
+ "name": "tagico"
+ },
"dav": {
"name": "taita"
},
@@ -548,6 +551,9 @@
"shi": {
"name": "tashelhit"
},
+ "tt": {
+ "name": "tataro"
+ },
"de": {
"name": "tedesco"
},
@@ -594,7 +600,7 @@
"name": "urdu"
},
"uz": {
- "name": "usbeco"
+ "name": "uzbeco"
},
"vai": {
"name": "Vai"
@@ -614,6 +620,9 @@
"bem": {
"name": "wemba"
},
+ "wo": {
+ "name": "wolof"
+ },
"sah": {
"name": "yakut"
},
diff --git a/vendor/commerceguys/intl/resources/language/ja.json b/vendor/commerceguys/intl/resources/language/ja.json
index 49f9b8e52..d14ca6e92 100644
--- a/vendor/commerceguys/intl/resources/language/ja.json
+++ b/vendor/commerceguys/intl/resources/language/ja.json
@@ -71,6 +71,9 @@
"vo": {
"name": "ヴォラピュク語"
},
+ "wo": {
+ "name": "ウォロフ語"
+ },
"uk": {
"name": "ウクライナ語"
},
@@ -173,9 +176,6 @@
"kl": {
"name": "グリーンランド語"
},
- "ckb": {
- "name": "クルド語(ソラニー)"
- },
"hr": {
"name": "クロアãƒã‚¢èªž"
},
@@ -230,6 +230,9 @@
"dyo": {
"name": "ジョラï¼ãƒ•ã‚©ãƒ‹ã‚£èªž"
},
+ "sd": {
+ "name": "シンド語"
+ },
"si": {
"name": "シンãƒãƒ©èªž"
},
@@ -284,9 +287,15 @@
"twq": {
"name": "タサワク語"
},
+ "tg": {
+ "name": "タジク語"
+ },
"shi": {
"name": "タシルãƒã‚¤ãƒˆèªž"
},
+ "tt": {
+ "name": "タタール語"
+ },
"ta": {
"name": "タミル語"
},
@@ -584,9 +593,6 @@
"cu": {
"name": "教会スラブ語"
},
- "yue": {
- "name": "広æ±èªž"
- },
"hsb": {
"name": "高地ソルブ語"
},
@@ -599,6 +605,9 @@
"tzm": {
"name": "中央アトラス・タマジクト語"
},
+ "ckb": {
+ "name": "中央クルド語"
+ },
"zh": {
"name": "中国語"
},
diff --git a/vendor/commerceguys/intl/resources/language/jmc.json b/vendor/commerceguys/intl/resources/language/jmc.json
index 4ae066d81..50b3c81a2 100644
--- a/vendor/commerceguys/intl/resources/language/jmc.json
+++ b/vendor/commerceguys/intl/resources/language/jmc.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ka.json b/vendor/commerceguys/intl/resources/language/ka.json
index ff98d2269..0f2028f5e 100644
--- a/vendor/commerceguys/intl/resources/language/ka.json
+++ b/vendor/commerceguys/intl/resources/language/ka.json
@@ -149,6 +149,9 @@
"vo": {
"name": "ვáƒáƒšáƒáƒžáƒ£áƒ™áƒ˜"
},
+ "wo": {
+ "name": "ვáƒáƒšáƒáƒ¤áƒ£áƒ áƒ˜"
+ },
"vun": {
"name": "ვუნჯáƒ"
},
@@ -161,6 +164,9 @@
"zu": {
"name": "ზულუ"
},
+ "tt": {
+ "name": "თáƒáƒ—რული"
+ },
"tk": {
"name": "თურქმენული"
},
@@ -227,9 +233,6 @@
"fr-CA": {
"name": "კáƒáƒœáƒáƒ“ური ფრáƒáƒœáƒ’ული"
},
- "yue": {
- "name": "კáƒáƒœáƒ¢áƒáƒœáƒ£áƒ áƒ˜"
- },
"ca": {
"name": "კáƒáƒ¢áƒáƒšáƒáƒœáƒ£áƒ áƒ˜"
},
@@ -440,6 +443,9 @@
"sr": {
"name": "სერბული"
},
+ "sd": {
+ "name": "სინდჰური"
+ },
"si": {
"name": "სინჰáƒáƒšáƒ£áƒ áƒ˜"
},
@@ -461,9 +467,6 @@
"hy": {
"name": "სáƒáƒ›áƒ®áƒ£áƒ áƒ˜"
},
- "ckb": {
- "name": "სáƒáƒ áƒáƒœáƒ˜ ქურთული"
- },
"fa": {
"name": "სპáƒáƒ áƒ¡áƒ£áƒšáƒ˜"
},
@@ -485,6 +488,9 @@
"twq": {
"name": "ტáƒáƒ¡áƒáƒ•áƒáƒ¥áƒ˜"
},
+ "tg": {
+ "name": "ტáƒáƒ¯áƒ˜áƒ™áƒ£áƒ áƒ˜"
+ },
"te": {
"name": "ტელუგუ"
},
@@ -617,6 +623,9 @@
"tzm": {
"name": "ცენტრáƒáƒšáƒ£áƒ áƒ˜ მáƒáƒ áƒáƒ™áƒáƒ¡ ტáƒáƒ›áƒáƒ–იგხტი"
},
+ "ckb": {
+ "name": "ცენტრáƒáƒšáƒ£áƒ áƒ˜ ქურთული"
+ },
"dz": {
"name": "ძáƒáƒœáƒ’კხáƒ"
},
diff --git a/vendor/commerceguys/intl/resources/language/kab.json b/vendor/commerceguys/intl/resources/language/kab.json
index 1d7719043..5b819513f 100644
--- a/vendor/commerceguys/intl/resources/language/kab.json
+++ b/vendor/commerceguys/intl/resources/language/kab.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -371,6 +368,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -476,6 +476,9 @@
"ja": {
"name": "Tajapunit"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ak": {
"name": "Takanit"
},
@@ -554,6 +557,9 @@
"ta": {
"name": "Taá¹­amulit"
},
+ "tt": {
+ "name": "Tatar"
+ },
"th": {
"name": "Taá¹­aylundit"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/kam.json b/vendor/commerceguys/intl/resources/language/kam.json
index 5414663b4..d42e49b1d 100644
--- a/vendor/commerceguys/intl/resources/language/kam.json
+++ b/vendor/commerceguys/intl/resources/language/kam.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/kde.json b/vendor/commerceguys/intl/resources/language/kde.json
index a10622019..a2200cbd6 100644
--- a/vendor/commerceguys/intl/resources/language/kde.json
+++ b/vendor/commerceguys/intl/resources/language/kde.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/kea.json b/vendor/commerceguys/intl/resources/language/kea.json
index aaf91c814..dc3d75b73 100644
--- a/vendor/commerceguys/intl/resources/language/kea.json
+++ b/vendor/commerceguys/intl/resources/language/kea.json
@@ -89,9 +89,6 @@
"bg": {
"name": "búlgaru"
},
- "yue": {
- "name": "Cantonese"
- },
"cu": {
"name": "Church Slavic"
},
@@ -482,6 +479,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "sindi"
+ },
"si": {
"name": "singales"
},
@@ -530,6 +530,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "tadjiki"
+ },
"th": {
"name": "tailandes"
},
@@ -545,6 +548,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -581,6 +587,9 @@
"hu": {
"name": "úngaru"
},
+ "wo": {
+ "name": "uolof"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/khq.json b/vendor/commerceguys/intl/resources/language/khq.json
index 7748dd7df..e0a9b45c3 100644
--- a/vendor/commerceguys/intl/resources/language/khq.json
+++ b/vendor/commerceguys/intl/resources/language/khq.json
@@ -77,9 +77,6 @@
"my": {
"name": "Burme senni"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -506,6 +503,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -554,12 +554,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil senni"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -617,6 +623,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ki.json b/vendor/commerceguys/intl/resources/language/ki.json
index bb9785690..b606ac398 100644
--- a/vendor/commerceguys/intl/resources/language/ki.json
+++ b/vendor/commerceguys/intl/resources/language/ki.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/kk.json b/vendor/commerceguys/intl/resources/language/kk.json
index ee851b2eb..a73d76276 100644
--- a/vendor/commerceguys/intl/resources/language/kk.json
+++ b/vendor/commerceguys/intl/resources/language/kk.json
@@ -1,19 +1,16 @@
{
+ "en-AU": {
+ "name": "авÑтралиÑлық ағылшын тілі"
+ },
+ "de-AT": {
+ "name": "авÑтриÑлық Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
"agq": {
"name": "агхем тілі"
},
"en": {
"name": "ағылшын тілі"
},
- "en-AU": {
- "name": "ағылшын тілі (ÐвÑтралиÑ)"
- },
- "en-CA": {
- "name": "ағылшын тілі (Канада)"
- },
- "en-GB": {
- "name": "ағылшын тілі (ҰлыбританиÑ)"
- },
"ak": {
"name": "акан тілі"
},
@@ -86,6 +83,9 @@
"br": {
"name": "бретон тілі"
},
+ "en-GB": {
+ "name": "британиÑлық ағылшын тілі"
+ },
"vai": {
"name": "вай тілі"
},
@@ -101,6 +101,9 @@
"vo": {
"name": "волапюк тілі"
},
+ "wo": {
+ "name": "волоф тілі"
+ },
"vun": {
"name": "вунджо тілі"
},
@@ -128,9 +131,6 @@
"guz": {
"name": "гуÑии тілі"
},
- "gd": {
- "name": "гÑль тілі"
- },
"da": {
"name": "дат тілі"
},
@@ -146,6 +146,9 @@
"dua": {
"name": "дуала тілі"
},
+ "pt-PT": {
+ "name": "еуропалық португал тілі"
+ },
"ja": {
"name": "жапон тілі"
},
@@ -185,9 +188,6 @@
"es": {
"name": "иÑпан тілі"
},
- "es-MX": {
- "name": "иÑпан тілі (МекÑика)"
- },
"it": {
"name": "итальÑн тілі"
},
@@ -212,12 +212,15 @@
"kam": {
"name": "камба тілі"
},
+ "en-CA": {
+ "name": "канадалық ағылшын тілі"
+ },
+ "fr-CA": {
+ "name": "канадалық француз тілі"
+ },
"kn": {
"name": "каннада тілі"
},
- "yue": {
- "name": "кантон тілі"
- },
"ca": {
"name": "каталан тілі"
},
@@ -338,6 +341,9 @@
"jmc": {
"name": "мачаме тілі"
},
+ "es-MX": {
+ "name": "мекÑикалық иÑпан тілі"
+ },
"mer": {
"name": "меру тілі"
},
@@ -371,12 +377,6 @@
"de": {
"name": "Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
},
- "de-AT": {
- "name": "Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ– (ÐвÑтриÑ)"
- },
- "de-CH": {
- "name": "Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ– (ШвейцариÑ)"
- },
"ne": {
"name": "непал тілі"
},
@@ -425,9 +425,6 @@
"pt": {
"name": "португал тілі"
},
- "pt-PT": {
- "name": "португал тілі (ПортугалиÑ)"
- },
"prg": {
"name": "пруÑÑÐ¸Ñ Ñ‚Ñ–Ð»Ñ–"
},
@@ -467,6 +464,9 @@
"si": {
"name": "Ñингал тілі"
},
+ "sd": {
+ "name": "Ñиндхи тілі"
+ },
"sk": {
"name": "Ñловак тілі"
},
@@ -509,9 +509,15 @@
"twq": {
"name": "таÑавак тілі"
},
+ "tt": {
+ "name": "татар тілі"
+ },
"shi": {
"name": "ташелхит тілі"
},
+ "tg": {
+ "name": "тәжік тілі"
+ },
"te": {
"name": "телугу тілі"
},
@@ -566,12 +572,6 @@
"fr": {
"name": "француз тілі"
},
- "fr-CA": {
- "name": "француз тілі (Канада)"
- },
- "fr-CH": {
- "name": "француз тілі (ШвейцариÑ)"
- },
"fur": {
"name": "фриуль тілі"
},
@@ -599,15 +599,24 @@
"sv": {
"name": "швед тілі"
},
+ "de-CH": {
+ "name": "швейцариÑлық әдеби Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
"gsw": {
"name": "швейцариÑлық Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
},
+ "fr-CH": {
+ "name": "швейцариÑлық француз тілі"
+ },
"ce": {
"name": "шешен тілі"
},
"sn": {
"name": "шона тілі"
},
+ "gd": {
+ "name": "шотландиÑлық гÑль тілі"
+ },
"cu": {
"name": "шіркеулік ÑлавÑн тілі"
},
diff --git a/vendor/commerceguys/intl/resources/language/kln.json b/vendor/commerceguys/intl/resources/language/kln.json
index 29a2670b6..d764e4e79 100644
--- a/vendor/commerceguys/intl/resources/language/kln.json
+++ b/vendor/commerceguys/intl/resources/language/kln.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/km.json b/vendor/commerceguys/intl/resources/language/km.json
index 0ba26ea49..4c0bcaa50 100644
--- a/vendor/commerceguys/intl/resources/language/km.json
+++ b/vendor/commerceguys/intl/resources/language/km.json
@@ -1,7 +1,4 @@
{
- "yue": {
- "name": "កន្ážáž¶áŸ†áž„"
- },
"kkj": {
"name": "កាកូ"
},
@@ -75,7 +72,7 @@
"name": "គុយរ៉ាបូរ៉ុស៊ីនី"
},
"ckb": {
- "name": "ឃឺដកណ្ដាល"
+ "name": "ឃើដភាគកណ្ážáž¶áž›"
},
"nnh": {
"name": "ងៀមប៊ូន"
@@ -95,12 +92,12 @@
"dyo": {
"name": "ចូឡាហ៊្វុនយី"
},
- "cs": {
- "name": "ឆáŸáž€"
- },
"chr": {
"name": "ឆáŸážšáž¼áž‚ី"
},
+ "cs": {
+ "name": "ឆែក"
+ },
"ja": {
"name": "ជប៉ុន"
},
@@ -131,6 +128,9 @@
"shi": {
"name": "ážáž¶ážˆáž¸áž›áž áŸŠáž¸áž"
},
+ "tt": {
+ "name": "ážáž¶ážáž¶"
+ },
"tzm": {
"name": "ážáž¶áž˜áŸ‰áž¶ážŸáž¶áž™áž¢áž¶ážáŸ’លាសកណ្ážáž¶áž›"
},
@@ -143,6 +143,9 @@
"twq": {
"name": "ážáž¶ážŸáž¶ážœáŸ‰áž¶áž€áŸ‹"
},
+ "tg": {
+ "name": "ážáž¶áž áŸ’ស៊ីគ"
+ },
"to": {
"name": "ážáž»áž„ហ្គា"
},
@@ -234,7 +237,7 @@
"name": "áž”áŸáž˜áž”ា"
},
"be": {
- "name": "áž”áŸáž¡áž¶ážšáž»ážŸáŸ’ស"
+ "name": "áž”áŸáž¡áž¶ážšáž»ážŸ"
},
"br": {
"name": "ប្រីស្ážáž»áž“"
@@ -318,7 +321,10 @@
"name": "យ៉ាងបáŸáž“"
},
"yi": {
- "name": "យីឌីហ្ស"
+ "name": "យ៉ីឌីស"
+ },
+ "rn": {
+ "name": "រុណ្ឌី"
},
"rof": {
"name": "រុមបូ"
@@ -326,9 +332,6 @@
"ru": {
"name": "រុស្ស៊ី"
},
- "rn": {
- "name": "រូន្ឌី"
- },
"rm": {
"name": "រ៉ូម៉ង់"
},
@@ -345,7 +348,7 @@
"name": "លីនកាឡា"
},
"lb": {
- "name": "លុចហ្សំបួរ"
+ "name": "លុចសំបួ"
},
"lu": {
"name": "លូបាកាážáž¶áž“ហ្គា"
@@ -365,6 +368,9 @@
"vo": {
"name": "វូឡាពូក"
},
+ "wo": {
+ "name": "វូឡុហ្វ"
+ },
"vi": {
"name": "វៀážážŽáž¶áž˜"
},
@@ -401,6 +407,9 @@
"seh": {
"name": "ស៊ីណា"
},
+ "sd": {
+ "name": "ស៊ីនឌី"
+ },
"sv": {
"name": "ស៊ុយអែáž"
},
@@ -416,9 +425,6 @@
"so": {
"name": "សូម៉ាលី"
},
- "zu": {
- "name": "សូលូ"
- },
"xog": {
"name": "សូហ្គា"
},
@@ -455,6 +461,9 @@
"nl": {
"name": "ហូឡង់"
},
+ "he": {
+ "name": "áž áŸáž”្រឺ"
+ },
"gu": {
"name": "ហ្កុយ៉ារាទី"
},
@@ -497,6 +506,9 @@
"dje": {
"name": "ហ្សាម៉ា"
},
+ "zu": {
+ "name": "ហ្សូលូ"
+ },
"lkt": {
"name": "ឡាកូážáž¶"
},
@@ -584,9 +596,6 @@
"ewo": {
"name": "អ៊ីវ៉ុនដូ"
},
- "he": {
- "name": "អ៊ីស្រាអែល"
- },
"is": {
"name": "អ៊ីស្លង់"
},
@@ -630,6 +639,6 @@
"name": "អáŸážŸáŸ’áž–áŸážšáŸ‰áž¶áž“់ážáž¼"
},
"am": {
- "name": "អំហារិក"
+ "name": "អាំហារិក"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/kn.json b/vendor/commerceguys/intl/resources/language/kn.json
index af42d6c22..de173578d 100644
--- a/vendor/commerceguys/intl/resources/language/kn.json
+++ b/vendor/commerceguys/intl/resources/language/kn.json
@@ -39,10 +39,10 @@
"name": "ಆಸà³à²Ÿà³à²°à²¿à²¯à²¨à³ ಜರà³à²®à²¨à³"
},
"en-AU": {
- "name": "ಆಸà³à²Ÿà³à²°à³‡à²²à²¿à²¯à²¨à³ ಇಂಗà³à²²à³€à²·à³"
+ "name": "ಆಸà³à²Ÿà³à²°à³‡à²²à²¿à²¯à²¨à³ ಇಂಗà³à²²à²¿à²·à³"
},
"en": {
- "name": "ಇಂಗà³à²²à³€à²·à³"
+ "name": "ಇಂಗà³à²²à²¿à²·à³"
},
"id": {
"name": "ಇಂಡೋನೇಶಿಯನà³"
@@ -54,7 +54,7 @@
"name": "ಇಟಾಲಿಯನà³"
},
"smn": {
- "name": "ಇನರಿ ಸಾಮಿ"
+ "name": "ಇನಾರಿ ಸಮೀ"
},
"ewo": {
"name": "ಇವಾಂಡೋ"
@@ -63,7 +63,7 @@
"name": "ಈವà³"
},
"uk": {
- "name": "ಉಕà³à²°à³ˆà²¨à²¿à²¯à²¨à³"
+ "name": "ಉಕà³à²°à³‡à²¨à²¿à²¯à²¨à³"
},
"uz": {
"name": "ಉಜà³à²¬à³‡à²•à³"
@@ -96,17 +96,17 @@
"name": "à²à²°à²¿à²·à³"
},
"is": {
- "name": "à²à²¸à³à²²à²¾à²‚ಡಿಕà³"
+ "name": "à²à²¸à³â€Œà²²à³à²¯à²¾à²‚ಡಿಕà³"
},
"or": {
- "name": "ಒರಿಯಾ"
+ "name": "ಒಡಿಯ"
+ },
+ "om": {
+ "name": "ಒರೊಮೊ"
},
"os": {
"name": "ಒಸà³à²¸à³†à²Ÿà²¿à²•à³"
},
- "om": {
- "name": "ಓರೊಮೋ"
- },
"kam": {
"name": "ಕಂಬಾ"
},
@@ -146,17 +146,17 @@
"ki": {
"name": "ಕಿಕà³à²¯à³"
},
+ "rw": {
+ "name": "ಕಿನà³à²¯à²¾à²°à³â€Œà²µà²¾à²‚ಡಾ"
+ },
"ky": {
"name": "ಕಿರà³à²—ಿಜà³"
},
- "rw": {
- "name": "ಕೀನà³à²¯à²¾à²°à³à²µà²¾à²‚ಡಾ"
- },
"ca": {
"name": "ಕೆಟಲಾನà³"
},
"en-CA": {
- "name": "ಕೆನೆಡಿಯನೠಇಂಗà³à²²à³€à²·à³"
+ "name": "ಕೆನೆಡಿಯನೠಇಂಗà³à²²à²¿à²·à³"
},
"fr-CA": {
"name": "ಕೆನೆಡಿಯನೠಫà³à²°à³†à²‚ಚà³"
@@ -173,9 +173,6 @@
"ko": {
"name": "ಕೊರಿಯನà³"
},
- "yue": {
- "name": "ಕà³à²¯à²¾à²‚ಟನೀಸà³"
- },
"hr": {
"name": "ಕà³à²°à³Šà²¯à³‡à²¶à²¿à²¯à²¨à³"
},
@@ -213,7 +210,7 @@
"name": "ಚೆಚನà³"
},
"chr": {
- "name": "ಚೆರೋಕೀ"
+ "name": "ಚೆರೋಕಿ"
},
"zh": {
"name": "ಚೈನೀಸà³"
@@ -254,6 +251,9 @@
"twq": {
"name": "ಟಸವಕà³"
},
+ "tt": {
+ "name": "ಟಾಟರà³"
+ },
"ti": {
"name": "ಟಿಗà³à²°à²¿à²¨à³à²¯à²¾"
},
@@ -281,6 +281,9 @@
"ta": {
"name": "ತಮಿಳà³"
},
+ "tg": {
+ "name": "ತಾಜಿಕà³"
+ },
"te": {
"name": "ತೆಲà³à²—à³"
},
@@ -320,12 +323,12 @@
"fy": {
"name": "ಪಶà³à²šà²¿à²® ಫà³à²°à²¿à²¸à²¿à²¯à²¨à³"
},
- "pl": {
- "name": "ಪಾಲಿಷà³"
- },
"ps": {
"name": "ಪಾಷà³à²Ÿà³‹"
},
+ "pl": {
+ "name": "ಪೊಲಿಶà³"
+ },
"pt": {
"name": "ಪೋರà³à²šà³à²—ೀಸà³"
},
@@ -342,7 +345,7 @@
"name": "ಫಿಲಿಪಿನೊ"
},
"ff": {
- "name": "ಫà³à²²à²¾à²¹à³"
+ "name": "ಫà³à²²à²¾"
},
"fur": {
"name": "ಫà³à²°à²¿à²¯à³à²²à²¿à²¯à²¨à³"
@@ -390,7 +393,7 @@
"name": "ಬೋಸà³à²¨à²¿à²¯à²¨à³"
},
"en-GB": {
- "name": "ಬà³à²°à²¿à²Ÿà²¿à²·à³ ಇಂಗà³à²²à³€à²·à³"
+ "name": "ಬà³à²°à²¿à²Ÿà²¿à²·à³ ಇಂಗà³à²²à²¿à²·à³"
},
"br": {
"name": "ಬà³à²°à³†à²Ÿà²¨à³"
@@ -404,6 +407,9 @@
"tzm": {
"name": "ಮಧà³à²¯ ಅಟà³à²²à²¾à²¸à³ ಟಮಜೈಟà³"
},
+ "ckb": {
+ "name": "ಮಧà³à²¯ ಕà³à²°à³à²¦à²¿à²¶à³"
+ },
"mr": {
"name": "ಮರಾಠಿ"
},
@@ -480,7 +486,7 @@
"name": "ರೊಂಬೊ"
},
"rm": {
- "name": "ರೊಮಾನà³à²·à³"
+ "name": "ರೊಮಾನà³à²¶à³"
},
"ro": {
"name": "ರೊಮೇನಿಯನà³"
@@ -491,12 +497,12 @@
"lb": {
"name": "ಲಕà³à²¸à²‚ಬರà³à²—ಿಷà³"
},
- "lv": {
- "name": "ಲಟà³à²µà²¿à²¯à²¨à³"
- },
"lag": {
"name": "ಲಾಂಗಿ"
},
+ "lv": {
+ "name": "ಲಾಟà³à²µà²¿à²¯à²¨à³"
+ },
"lo": {
"name": "ಲಾವೋ"
},
@@ -531,7 +537,7 @@
"name": "ವಾಲà³à²¸à²°à³"
},
"vi": {
- "name": "ವಿಯೇಟà³à²¨à²¾à²®à³€à²¸à³"
+ "name": "ವಿಯೆಟà³à²¨à²¾à²®à³€à²¸à³"
},
"vun": {
"name": "ವà³à²‚ಜೊ"
@@ -542,6 +548,9 @@
"vo": {
"name": "ವೋಲಾಪà³à²•à³"
},
+ "wo": {
+ "name": "ವೋಲೋಫà³"
+ },
"ksb": {
"name": "ಶಂಬಲ"
},
@@ -560,15 +569,15 @@
"zh-Hans": {
"name": "ಸರಳೀಕೃತ ಚೈನೀಸà³"
},
- "sr": {
- "name": "ಸರà³à²¬à²¿à²¯à²¨à³"
- },
"sg": {
"name": "ಸಾಂಗೋ"
},
"zh-Hant": {
"name": "ಸಾಂಪà³à²°à²¦à²¾à²¯à²¿à²• ಚೈನೀಸà³"
},
+ "sd": {
+ "name": "ಸಿಂಧಿ"
+ },
"si": {
"name": "ಸಿಂಹಳ"
},
@@ -578,17 +587,17 @@
"seh": {
"name": "ಸೆನ"
},
+ "sr": {
+ "name": "ಸೆರà³à²¬à²¿à²¯à²¨à³"
+ },
"xog": {
"name": "ಸೊಗ"
},
"so": {
"name": "ಸೊಮಾಲಿ"
},
- "ckb": {
- "name": "ಸೊರಾನಿ ಕà³à²°à³à²¦à²¿à²·à³"
- },
"gd": {
- "name": "ಸà³à²•à²¾à²Ÿà²¿à²¶à³ ಗà³à²¯à²¾à²²à²¿à²•à³"
+ "name": "ಸà³à²•à²¾à²Ÿà²¿à²¶à³ ಗೆಲಿಕà³"
},
"zgh": {
"name": "ಸà³à²Ÿà³à²¯à²¾à²‚ಡರà³à²¡à³ ಮೊರೊಕà³à²•à²¨à³ ಟಮಜೈಟà³"
@@ -627,7 +636,7 @@
"name": "ಹಿಂದಿ"
},
"he": {
- "name": "ಹೀಬà³à²°à³à²¯à³‚"
+ "name": "ಹೀಬà³à²°à³‚"
},
"ha": {
"name": "ಹೌಸಾ"
diff --git a/vendor/commerceguys/intl/resources/language/ko.json b/vendor/commerceguys/intl/resources/language/ko.json
index 6ed29a08d..aaf2ff332 100644
--- a/vendor/commerceguys/intl/resources/language/ko.json
+++ b/vendor/commerceguys/intl/resources/language/ko.json
@@ -11,9 +11,6 @@
"hsb": {
"name": "고지 소르비아어"
},
- "yue": {
- "name": "광둥어"
- },
"cu": {
"name": "êµíšŒ 슬ë¼ë¸Œì–´"
},
@@ -290,6 +287,9 @@
"sl": {
"name": "슬로베니아어"
},
+ "sd": {
+ "name": "신디어"
+ },
"ii": {
"name": "ì“°ì´¨ ì´ì–´"
},
@@ -383,6 +383,9 @@
"uk": {
"name": "ìš°í¬ë¼ì´ë‚˜ì–´"
},
+ "wo": {
+ "name": "월로프어"
+ },
"wae": {
"name": "월저어"
},
@@ -539,6 +542,12 @@
"dav": {
"name": "타ì´íƒ€ì–´"
},
+ "tg": {
+ "name": "타지í¬ì–´"
+ },
+ "tt": {
+ "name": "타타르어"
+ },
"th": {
"name": "태국어"
},
diff --git a/vendor/commerceguys/intl/resources/language/kok.json b/vendor/commerceguys/intl/resources/language/kok.json
index 7435b44ed..b50ab920c 100644
--- a/vendor/commerceguys/intl/resources/language/kok.json
+++ b/vendor/commerceguys/intl/resources/language/kok.json
@@ -1,7 +1,16 @@
{
+ "ak": {
+ "name": "अकान"
+ },
+ "agq": {
+ "name": "अघेम"
+ },
"az": {
"name": "अज़रबैजानी"
},
+ "hsb": {
+ "name": "अपर सोरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
"af": {
"name": "अफà¥à¤°à¤¿à¤•à¤¾à¤¨à¥à¤¸"
},
@@ -9,68 +18,104 @@
"name": "अमहारिकà¥"
},
"ar": {
- "name": "अरेबिकà¥"
- },
- "as": {
- "name": "असामी"
- },
- "en": {
- "name": "आंगà¥à¤²"
+ "name": "अरेबिक"
},
- "en-AU": {
- "name": "आंगà¥à¤² (AU)"
- },
- "en-CA": {
- "name": "आंगà¥à¤² (CA)"
+ "asa": {
+ "name": "असà¥"
},
- "en-GB": {
- "name": "आंगà¥à¤² (GB)"
+ "ast": {
+ "name": "असà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾à¤¨"
},
"is": {
"name": "आईसà¥à¤²à¤¾à¤¨à¥à¤¡à¤¿à¤•"
},
"hy": {
- "name": "आरà¥à¤®à¥€à¤¨à¤¿à¤¯à¤¨à¥"
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¨"
},
"sq": {
"name": "आलà¥à¤¬à¥‡à¤¨à¤¿à¤¯à¤¨à¥"
},
+ "as": {
+ "name": "आसामी"
+ },
+ "en": {
+ "name": "इंगà¥à¤²à¥€à¤¶"
+ },
+ "id": {
+ "name": "इंडोनेशियन"
+ },
+ "ig": {
+ "name": "इगà¥à¤¬à¥‹"
+ },
"it": {
"name": "इटालियन"
},
"yi": {
"name": "इदà¥à¤¦à¤¿à¤·à¥"
},
- "id": {
- "name": "इनà¥à¤¡à¥‹à¤¨à¥‡à¤·à¤¿à¤¯à¤¨"
- },
"et": {
"name": "इसà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¨à¥"
},
"eo": {
"name": "इसà¥à¤ªà¤°à¤¾à¤¨à¥à¤Ÿà¥‹"
},
+ "smn": {
+ "name": "ईनारी सामी"
+ },
"uz": {
"name": "उज़बेक"
},
+ "nd": {
+ "name": "उतà¥à¤¤à¤° नà¥à¤¡à¥‡à¤¬à¥‡à¤²à¥‡"
+ },
+ "lrc": {
+ "name": "उतà¥à¤¤à¤°à¥€à¤¯ लà¥à¤°à¥€"
+ },
+ "se": {
+ "name": "उतà¥à¤¤à¤°à¥€à¤¯ सामी"
+ },
"ug": {
- "name": "उधूर"
+ "name": "उयघूर"
},
"ur": {
"name": "उरà¥à¤¦à¥‚"
},
+ "wo": {
+ "name": "उलोफ़"
+ },
+ "ebu": {
+ "name": "à¤à¤®à¥à¤¬à¥"
+ },
+ "ee": {
+ "name": "à¤à¤µ"
+ },
+ "ewo": {
+ "name": "à¤à¤µà¥‹à¤‚डो"
+ },
"ga": {
"name": "à¤à¤°à¤¿à¤·"
},
+ "de-AT": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¨ जरà¥à¤®à¤¨"
+ },
+ "en-AU": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¨ इंगà¥à¤²à¥€à¤¶"
+ },
"or": {
"name": "ओरिया"
},
"om": {
- "name": "ओरोमो (अफान)"
+ "name": "ओरोमो"
},
"vo": {
"name": "ओलापà¥à¤•"
},
+ "os": {
+ "name": "ओसेटिक"
+ },
+ "kam": {
+ "name": "कंबा"
+ },
"km": {
"name": "कंबोडियन"
},
@@ -86,59 +131,107 @@
"ks": {
"name": "कशà¥à¤®à¥€à¤°à¥€"
},
+ "sw-CD": {
+ "name": "काà¤à¤—ो सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "kkj": {
+ "name": "काको"
+ },
+ "kab": {
+ "name": "काबायले"
+ },
+ "kea": {
+ "name": "काबà¥à¤µà¤°à¥à¤¡à¤¿à¤¯à¤¨à¥"
+ },
+ "kl": {
+ "name": "कालालà¥à¤²à¤¿à¤¸à¥à¤Ÿ"
+ },
+ "kln": {
+ "name": "कालेंजीन"
+ },
+ "ki": {
+ "name": "किकà¥à¤¯à¥"
+ },
"rw": {
"name": "किनà¥à¤¯à¤¾à¤°à¥à¤µà¤¾à¤¨à¥à¤¡à¤¾"
},
- "rn": {
- "name": "किरà¥à¤¨à¥à¤¦à¥€"
- },
"ky": {
"name": "किरà¥à¤—िज़"
},
+ "en-CA": {
+ "name": "कॅनाडीयन इंगà¥à¤²à¥€à¤¶"
+ },
+ "fr-CA": {
+ "name": "कॅनाडीयन फà¥à¤°à¥‡à¤¨à¥à¤š"
+ },
+ "tzm": {
+ "name": "केंदà¥à¤°à¥€à¤¯ अटलास तामाà¤à¤¾à¤¯à¤Ÿ"
+ },
"kok": {
"name": "कोंकणी"
},
+ "khq": {
+ "name": "कोयरा छिनी"
+ },
+ "ses": {
+ "name": "कोयराबोरो सेनà¥à¤¨à¥€"
+ },
"ko": {
"name": "कोरियनà¥"
},
+ "kw": {
+ "name": "कोरà¥à¤¨à¤¿à¤¶"
+ },
+ "ksh": {
+ "name": "कोलोनियन"
+ },
"hr": {
"name": "कà¥à¤°à¥‹à¤¯à¥‡à¤·à¤¿à¤¯à¤¨à¥"
},
"qu": {
"name": "कà¥à¤µà¥‡à¤šà¥à¤µà¤¾"
},
+ "nmg": {
+ "name": "खà¥à¤µà¤¾à¤¸à¥€"
+ },
+ "lg": {
+ "name": "गांडा"
+ },
"gu": {
"name": "गà¥à¤œà¤°à¤¾à¤¤à¥€"
},
+ "guz": {
+ "name": "गà¥à¤¸à¥€"
+ },
"gl": {
"name": "गेलीशियन"
},
"el": {
"name": "गà¥à¤°à¥€à¤•à¥"
},
- "kl": {
- "name": "गà¥à¤°à¥€à¤¨à¤²à¤¾à¤¨à¥à¤¡à¤¿à¤•"
- },
- "zh": {
- "name": "चीनीसà¥"
+ "cu": {
+ "name": "चरà¥à¤š सà¥à¤²à¥‡à¤µà¥à¤¹à¥€à¤•"
},
- "zh-Hans": {
- "name": "चीनीसॠ(Hans)"
+ "cgg": {
+ "name": "चिगा"
},
- "zh-Hant": {
- "name": "चीनीसॠ(Hant)"
+ "ce": {
+ "name": "चिचेन"
},
- "de": {
- "name": "जरà¥à¤®à¤¨"
+ "zh": {
+ "name": "चिनी"
},
- "de-AT": {
- "name": "जरà¥à¤®à¤¨ (AT)"
+ "chr": {
+ "name": "चिरोकी"
},
- "de-CH": {
- "name": "जरà¥à¤®à¤¨ (CH)"
+ "cs": {
+ "name": "चेक"
},
"ja": {
- "name": "जापनीसà¥"
+ "name": "जपानी"
+ },
+ "de": {
+ "name": "जरà¥à¤®à¤¨"
},
"ka": {
"name": "जारà¥à¤œà¤¿à¤¯à¤¨à¥"
@@ -146,21 +239,42 @@
"zu": {
"name": "जà¥à¤²à¥‚"
},
- "cs": {
- "name": "ज़ेकà¥"
+ "dyo": {
+ "name": "जोला-फोनी"
+ },
+ "dje": {
+ "name": "à¤à¤°à¥à¤®à¤¾"
+ },
+ "dz": {
+ "name": "à¤à¥‹à¤‚गà¥à¤–ा"
},
"nl": {
"name": "डचà¥"
},
- "nl-BE": {
- "name": "डचॠ(BE)"
- },
"da": {
- "name": "डानिष"
+ "name": "डॅनिश"
+ },
+ "dua": {
+ "name": "डौल"
+ },
+ "tg": {
+ "name": "तजिक"
+ },
+ "tt": {
+ "name": "तटार"
},
"ta": {
"name": "तमिळ"
},
+ "shi": {
+ "name": "ताछेहीट"
+ },
+ "dav": {
+ "name": "तायता"
+ },
+ "twq": {
+ "name": "तासावाक"
+ },
"ti": {
"name": "तिगà¥à¤°à¤¿à¤¨à¥à¤¯à¤¾"
},
@@ -176,53 +290,89 @@
"te": {
"name": "तेलà¥à¤—ू"
},
+ "teo": {
+ "name": "तेसो"
+ },
"to": {
"name": "तोंगा"
},
"th": {
"name": "थाई"
},
+ "nyn": {
+ "name": "नानकोले"
+ },
+ "naq": {
+ "name": "नामा"
+ },
"ne": {
"name": "नेपाळी"
},
+ "nb": {
+ "name": "नोरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¨ बोकमाल"
+ },
+ "nn": {
+ "name": "नोरà¥à¤µà¥‹à¤œà¤¿à¤¯à¤¨ नायनोरà¥à¤¸à¥à¤•"
+ },
+ "nnh": {
+ "name": "नà¥à¤—ेबून"
+ },
+ "jgo": {
+ "name": "नà¥à¤—ोंबा"
+ },
+ "nus": {
+ "name": "नà¥à¤¯à¥à¤¯à¤°"
+ },
"pa": {
"name": "पंजाबी"
},
"fa": {
"name": "परà¥à¤·à¤¿à¤¯à¤¨à¥"
},
+ "fy": {
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ फà¥à¤°à¤¿à¤¶à¤¿à¤¯à¤¨"
+ },
+ "zh-Hant": {
+ "name": "पारंपारीक चिनी"
+ },
"ps": {
"name": "पाषà¥à¤Ÿà¥‹ (पà¥à¤·à¥à¤Ÿà¥‹)"
},
"pt": {
- "name": "पोरà¥à¤šà¥à¤—ीज़à¥"
- },
- "pt-PT": {
- "name": "पोरà¥à¤šà¥à¤—ीज़ॠ(PT)"
+ "name": "पोरà¥à¤¤à¥à¤—िज"
},
"pl": {
"name": "पोलिष"
},
+ "zgh": {
+ "name": "पà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ मोरोकà¥à¤•à¤¨ तामाà¤à¤¾à¤¯à¤Ÿ"
+ },
+ "prg": {
+ "name": "पà¥à¤°à¥à¤¸à¤¿à¤¯à¤¨"
+ },
"fi": {
"name": "फिनà¥à¤¨à¤¿à¤·à¥"
},
+ "fil": {
+ "name": "फिलिपिनो"
+ },
+ "ff": {
+ "name": "फà¥à¤²à¤¾"
+ },
"fo": {
"name": "फेरोसà¥"
},
- "fy": {
- "name": "फà¥à¤°à¤¿à¤¶à¤¿à¤¯à¤¨à¥"
+ "fur": {
+ "name": "फà¥à¤°à¤¿à¤²à¤¿à¤¯à¤¨"
},
"fr": {
"name": "फà¥à¤°à¥‡à¤¨à¥à¤š"
},
- "fr-CA": {
- "name": "फà¥à¤°à¥‡à¤¨à¥à¤š (CA)"
- },
- "fr-CH": {
- "name": "फà¥à¤°à¥‡à¤¨à¥à¤š (CH)"
+ "nl-BE": {
+ "name": "फà¥à¤²à¥‡à¤®à¤¿à¤¶"
},
- "bn": {
- "name": "बंगाली"
+ "bm": {
+ "name": "बंबारा"
},
"my": {
"name": "बरà¥à¤®à¥€à¤œà¤¼à¥"
@@ -230,21 +380,51 @@
"bg": {
"name": "बलà¥à¤—ेरियन"
},
+ "bas": {
+ "name": "बसà¥à¤¸à¤¾"
+ },
+ "bn": {
+ "name": "बांगà¥à¤²à¤¾"
+ },
+ "ksf": {
+ "name": "बाफिया"
+ },
"eu": {
"name": "बासà¥à¤•"
},
+ "bez": {
+ "name": "बेना"
+ },
+ "bem": {
+ "name": "बेमà¥à¤¬à¤¾"
+ },
"be": {
"name": "बैलोरà¥à¤¸à¤¿à¤¯à¤¨à¥"
},
+ "brx": {
+ "name": "बोडो"
+ },
+ "bs": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¨"
+ },
+ "en-GB": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¥€à¤¶ इंगà¥à¤²à¥€à¤¶"
+ },
"br": {
"name": "बà¥à¤°à¥‡à¤Ÿà¤¨"
},
- "dz": {
- "name": "भूटानी"
- },
"mn": {
"name": "मंगोलियनà¥"
},
+ "jmc": {
+ "name": "मचामे"
+ },
+ "mzn": {
+ "name": "मà¤à¤¾à¤‚डेराणी"
+ },
+ "ckb": {
+ "name": "मधà¥à¤¯ खà¥à¤°à¥à¤¦à¥€à¤¶"
+ },
"mr": {
"name": "मराठी"
},
@@ -254,35 +434,86 @@
"mg": {
"name": "मलागसी"
},
+ "mas": {
+ "name": "मसाई"
+ },
"mk": {
"name": "मसीडोनियनà¥"
},
"ml": {
"name": "मळियाळम"
},
+ "kde": {
+ "name": "माकोंडे"
+ },
+ "mgh": {
+ "name": "माखà¥à¤µà¤¾-मिटà¥à¤Ÿà¥‹"
+ },
"mt": {
"name": "मालतीसà¥"
},
+ "mua": {
+ "name": "मà¥à¤¡à¤¾à¤‚ग"
+ },
+ "gv": {
+ "name": "मॅनà¥à¤¸"
+ },
+ "es-MX": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¤¨ सà¥à¤ªà¥…निश"
+ },
+ "mgo": {
+ "name": "मेटा"
+ },
+ "mer": {
+ "name": "मेरू"
+ },
+ "mfe": {
+ "name": "मोरिसेन"
+ },
"ro-MD": {
"name": "मोलà¥à¤¡à¤¾à¤µà¤¿à¤¯à¤¨à¥"
},
+ "yav": {
+ "name": "यांगबेन"
+ },
"uk": {
"name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¤¿à¤¯à¤¨à¥"
},
+ "pt-PT": {
+ "name": "यà¥à¤°à¥‹à¤ªà¤¿à¤¯à¤¨ पोरà¥à¤¤à¥à¤—िज"
+ },
"yo": {
"name": "यूरà¥à¤¬à¤¾"
},
+ "rwk": {
+ "name": "रवा"
+ },
"ru": {
- "name": "रषà¥à¤¯à¤¨à¥"
+ "name": "रशियन"
},
"rm": {
"name": "रहटो-रोमानà¥à¤¸à¥"
},
+ "rn": {
+ "name": "रà¥à¤‚दी"
+ },
"ro": {
"name": "रोमानियनà¥"
},
+ "rof": {
+ "name": "रोमà¥à¤¬à¥‹"
+ },
+ "lb": {
+ "name": "लकà¥à¤¸à¥‡à¤®à¤¬à¤°à¥à¤—ीश"
+ },
+ "lag": {
+ "name": "लांगी"
+ },
"lo": {
- "name": "लाओतियनà¥"
+ "name": "लाअो"
+ },
+ "lkt": {
+ "name": "लाकोटा"
},
"lv": {
"name": "लाटà¥à¤µà¤¿à¤¯à¤¨à¥ (लेटà¥à¤Ÿà¤¿à¤·à¥)"
@@ -293,35 +524,80 @@
"lt": {
"name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¨à¥"
},
+ "luo": {
+ "name": "लà¥à¤“"
+ },
+ "lu": {
+ "name": "लà¥à¤¬à¤¾-काटांगा"
+ },
+ "luy": {
+ "name": "लà¥à¤¯"
+ },
+ "dsb": {
+ "name": "लोवर सोरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "vai": {
+ "name": "वाई"
+ },
+ "wae": {
+ "name": "वालà¥à¤¸à¤°"
+ },
"vi": {
"name": "वियतà¥à¤¨à¤¾à¤®à¥€à¤œà¤¼"
},
+ "vun": {
+ "name": "वà¥à¤‚जो"
+ },
"cy": {
"name": "वेळà¥à¤·à¥"
},
+ "ksb": {
+ "name": "शंबाला"
+ },
"sn": {
"name": "शोना"
},
+ "sah": {
+ "name": "सखा"
+ },
+ "sr": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "sbp": {
+ "name": "सांगू"
+ },
"sg": {
"name": "सांगà¥à¤°à¥‹"
},
+ "saq": {
+ "name": "सांबारà¥"
+ },
+ "sd": {
+ "name": "सिंधी"
+ },
+ "ii": {
+ "name": "सिचà¥à¤¯à¥à¤†à¤¨ यी"
+ },
"si": {
"name": "सिनà¥à¤¹à¤²à¥€à¤¸à¥"
},
- "sr": {
- "name": "सेरà¥à¤¬à¤¿à¤¯à¤¨à¥"
+ "seh": {
+ "name": "सेना"
+ },
+ "zh-Hans": {
+ "name": "सोंपी चिनी"
+ },
+ "xog": {
+ "name": "सोगा"
},
"so": {
- "name": "सोमाळी"
+ "name": "सोमाली"
},
"gd": {
"name": "सà¥à¤•à¤¾à¤Ÿà¤¸à¥ गेलिकà¥"
},
"es": {
- "name": "सà¥à¤ªà¤¾à¤¨à¤¿à¤·"
- },
- "es-MX": {
- "name": "सà¥à¤ªà¤¾à¤¨à¤¿à¤· (MX)"
+ "name": "सà¥à¤ªà¥…निश"
},
"sk": {
"name": "सà¥à¤²à¥‹à¤µà¤¾à¤•"
@@ -332,8 +608,14 @@
"sw": {
"name": "सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
},
- "sw-CD": {
- "name": "सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€ (CD)"
+ "gsw": {
+ "name": "सà¥à¤µà¤¿à¤œ जरà¥à¤®à¤¨"
+ },
+ "fr-CH": {
+ "name": "सà¥à¤µà¥€à¤ फà¥à¤°à¥‡à¤¨à¥à¤š"
+ },
+ "de-CH": {
+ "name": "सà¥à¤µà¥€à¤ मà¥à¤¹à¤¾à¤¨ जरà¥à¤®à¤¨"
},
"sv": {
"name": "सà¥à¤µà¥€à¤¦à¥€à¤·"
@@ -341,292 +623,19 @@
"hu": {
"name": "हंगेरियनà¥"
},
+ "haw": {
+ "name": "हवायियान"
+ },
"hi": {
"name": "हिनà¥à¤¦à¥€"
},
"he": {
- "name": "हेबà¥à¤°à¥"
+ "name": "हिबà¥à¤°à¥‚"
},
"ha": {
"name": "हौसा"
},
- "agq": {
- "name": "Aghem"
- },
- "ak": {
- "name": "Akan"
- },
- "ast": {
- "name": "Asturian"
- },
- "asa": {
- "name": "Asu"
- },
- "ksf": {
- "name": "Bafia"
- },
- "bm": {
- "name": "Bambara"
- },
- "bas": {
- "name": "Basaa"
- },
- "bem": {
- "name": "Bemba"
- },
- "bez": {
- "name": "Bena"
- },
- "brx": {
- "name": "Bodo"
- },
- "bs": {
- "name": "Bosnian"
- },
- "yue": {
- "name": "Cantonese"
- },
- "tzm": {
- "name": "Central Atlas Tamazight"
- },
- "ckb": {
- "name": "Central Kurdish"
- },
- "ce": {
- "name": "Chechen"
- },
- "chr": {
- "name": "Cherokee"
- },
- "cgg": {
- "name": "Chiga"
- },
- "cu": {
- "name": "Church Slavic"
- },
- "ksh": {
- "name": "Colognian"
- },
- "kw": {
- "name": "Cornish"
- },
- "dua": {
- "name": "Duala"
- },
- "ebu": {
- "name": "Embu"
- },
- "ee": {
- "name": "Ewe"
- },
- "ewo": {
- "name": "Ewondo"
- },
- "fil": {
- "name": "Filipino"
- },
- "fur": {
- "name": "Friulian"
- },
- "ff": {
- "name": "Fulah"
- },
- "lg": {
- "name": "Ganda"
- },
- "guz": {
- "name": "Gusii"
- },
- "haw": {
- "name": "Hawaiian"
- },
- "ig": {
- "name": "Igbo"
- },
- "smn": {
- "name": "Inari Sami"
- },
- "dyo": {
- "name": "Jola-Fonyi"
- },
- "kea": {
- "name": "Kabuverdianu"
- },
- "kab": {
- "name": "Kabyle"
- },
- "kkj": {
- "name": "Kako"
- },
- "kln": {
- "name": "Kalenjin"
- },
- "kam": {
- "name": "Kamba"
- },
- "ki": {
- "name": "Kikuyu"
- },
- "khq": {
- "name": "Koyra Chiini"
- },
- "ses": {
- "name": "Koyraboro Senni"
- },
- "nmg": {
- "name": "Kwasio"
- },
- "lkt": {
- "name": "Lakota"
- },
- "lag": {
- "name": "Langi"
- },
- "dsb": {
- "name": "Lower Sorbian"
- },
- "lu": {
- "name": "Luba-Katanga"
- },
- "luo": {
- "name": "Luo"
- },
- "lb": {
- "name": "Luxembourgish"
- },
- "luy": {
- "name": "Luyia"
- },
- "jmc": {
- "name": "Machame"
- },
- "mgh": {
- "name": "Makhuwa-Meetto"
- },
- "kde": {
- "name": "Makonde"
- },
- "gv": {
- "name": "Manx"
- },
- "mas": {
- "name": "Masai"
- },
- "mzn": {
- "name": "Mazanderani"
- },
- "mer": {
- "name": "Meru"
- },
- "mgo": {
- "name": "Metaʼ"
- },
- "mfe": {
- "name": "Morisyen"
- },
- "mua": {
- "name": "Mundang"
- },
- "naq": {
- "name": "Nama"
- },
"nds-NL": {
- "name": "nds (NL)"
- },
- "nnh": {
- "name": "Ngiemboon"
- },
- "jgo": {
- "name": "Ngomba"
- },
- "nd": {
- "name": "North Ndebele"
- },
- "lrc": {
- "name": "Northern Luri"
- },
- "se": {
- "name": "Northern Sami"
- },
- "nb": {
- "name": "Norwegian Bokmål"
- },
- "nn": {
- "name": "Norwegian Nynorsk"
- },
- "nus": {
- "name": "Nuer"
- },
- "nyn": {
- "name": "Nyankole"
- },
- "os": {
- "name": "Ossetic"
- },
- "prg": {
- "name": "Prussian"
- },
- "rof": {
- "name": "Rombo"
- },
- "rwk": {
- "name": "Rwa"
- },
- "sah": {
- "name": "Sakha"
- },
- "saq": {
- "name": "Samburu"
- },
- "sbp": {
- "name": "Sangu"
- },
- "seh": {
- "name": "Sena"
- },
- "ksb": {
- "name": "Shambala"
- },
- "ii": {
- "name": "Sichuan Yi"
- },
- "xog": {
- "name": "Soga"
- },
- "zgh": {
- "name": "Standard Moroccan Tamazight"
- },
- "gsw": {
- "name": "Swiss German"
- },
- "shi": {
- "name": "Tachelhit"
- },
- "dav": {
- "name": "Taita"
- },
- "twq": {
- "name": "Tasawaq"
- },
- "teo": {
- "name": "Teso"
- },
- "hsb": {
- "name": "Upper Sorbian"
- },
- "vai": {
- "name": "Vai"
- },
- "vun": {
- "name": "Vunjo"
- },
- "wae": {
- "name": "Walser"
- },
- "yav": {
- "name": "Yangben"
- },
- "dje": {
- "name": "Zarma"
+ "name": "nds (नॅदरलà¤à¤¡)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ks.json b/vendor/commerceguys/intl/resources/language/ks.json
index 38f7a7f3e..935036dc5 100644
--- a/vendor/commerceguys/intl/resources/language/ks.json
+++ b/vendor/commerceguys/intl/resources/language/ks.json
@@ -14,9 +14,6 @@
"brx": {
"name": "Bodo"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -290,9 +287,15 @@
"pa": {
"name": "پَنجٲبÛ"
},
+ "tg": {
+ "name": "تاجÙÚ©"
+ },
"bo": {
"name": "تÙبتی"
},
+ "tt": {
+ "name": "تَتار"
+ },
"tr": {
"name": "تÙرکÙØ´"
},
@@ -392,6 +395,9 @@
"sl": {
"name": "سلووینیَن"
},
+ "sd": {
+ "name": "سÙندی"
+ },
"sg": {
"name": "سَنگو"
},
@@ -611,6 +617,9 @@
"vo": {
"name": "وولَپÙÚ©"
},
+ "wo": {
+ "name": "وولوÙ"
+ },
"vi": {
"name": "ÙˆÙیَتنَمیٖز"
},
diff --git a/vendor/commerceguys/intl/resources/language/ksb.json b/vendor/commerceguys/intl/resources/language/ksb.json
index feae21505..1ff551665 100644
--- a/vendor/commerceguys/intl/resources/language/ksb.json
+++ b/vendor/commerceguys/intl/resources/language/ksb.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ksf.json b/vendor/commerceguys/intl/resources/language/ksf.json
index f06cf8a6b..df13cd34a 100644
--- a/vendor/commerceguys/intl/resources/language/ksf.json
+++ b/vendor/commerceguys/intl/resources/language/ksf.json
@@ -47,9 +47,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ksh.json b/vendor/commerceguys/intl/resources/language/ksh.json
index fd6faef72..85911e78d 100644
--- a/vendor/commerceguys/intl/resources/language/ksh.json
+++ b/vendor/commerceguys/intl/resources/language/ksh.json
@@ -233,9 +233,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kanton-Schinehsesch"
- },
"kea": {
"name": "Kapvärdesch"
},
@@ -515,6 +512,9 @@
"si": {
"name": "Singjaleesesch"
},
+ "sd": {
+ "name": "Sinndi"
+ },
"xog": {
"name": "Soga"
},
@@ -539,6 +539,9 @@
"zu": {
"name": "Suhlu"
},
+ "tg": {
+ "name": "Tadschihkesch"
+ },
"th": {
"name": "Tailändesch"
},
@@ -554,6 +557,9 @@
"shi": {
"name": "Taschelhittesch"
},
+ "tt": {
+ "name": "Tattahresch"
+ },
"te": {
"name": "Telluhju"
},
@@ -623,6 +629,9 @@
"be": {
"name": "Wiißrußesch"
},
+ "wo": {
+ "name": "Woloff"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ky.json b/vendor/commerceguys/intl/resources/language/ky.json
index 18cbfc6b3..747fdb194 100644
--- a/vendor/commerceguys/intl/resources/language/ky.json
+++ b/vendor/commerceguys/intl/resources/language/ky.json
@@ -81,7 +81,7 @@
"name": "болгарча"
},
"tzm": {
- "name": "Борбордук ÐÑ‚Ð»Ð°Ñ Ñ‚Ð°Ð¼Ð°Ð·Ð¸Ñ‚Ñ‡Ðµ"
+ "name": "борбордук ÐÑ‚Ð»Ð°Ñ Ñ‚Ð°Ð¼Ð°Ð·Ð¸Ð³Ñ‚Ñ‡Ðµ"
},
"ckb": {
"name": "борбордук курдча"
@@ -156,13 +156,13 @@
"name": "жонгуча"
},
"dje": {
- "name": "замрача"
+ "name": "зармача"
},
"zu": {
"name": "зулуча"
},
"he": {
- "name": "ивритте"
+ "name": "ивритче"
},
"ig": {
"name": "игбочо"
@@ -174,7 +174,7 @@
"name": "инари Ñаамиче"
},
"id": {
- "name": "индонезче"
+ "name": "индонезиÑча"
},
"ga": {
"name": "ирландча"
@@ -218,11 +218,8 @@
"kn": {
"name": "каннадача"
},
- "yue": {
- "name": "кантончо"
- },
"ca": {
- "name": "каталанча"
+ "name": "каталонча"
},
"ks": {
"name": "кашмирче"
@@ -230,9 +227,6 @@
"nmg": {
"name": "кваÑиочо"
},
- "gd": {
- "name": "кельтче"
- },
"qu": {
"name": "кечуача"
},
@@ -329,9 +323,6 @@
"mt": {
"name": "малтизче"
},
- "gv": {
- "name": "манкÑыча"
- },
"mr": {
"name": "маратиче"
},
@@ -362,6 +353,9 @@
"mua": {
"name": "мундангча"
},
+ "gv": {
+ "name": "мÑнкÑыча"
+ },
"naq": {
"name": "намача"
},
@@ -387,7 +381,7 @@
"name": "норвежче (Букмал)"
},
"nn": {
- "name": "норвежче (ÐинорÑк)"
+ "name": "норвежче (нинорÑк)"
},
"nus": {
"name": "нуерче"
@@ -467,6 +461,9 @@
"si": {
"name": "Ñингалача"
},
+ "sd": {
+ "name": "Ñиндхиче"
+ },
"sk": {
"name": "Ñловакча"
},
@@ -485,6 +482,9 @@
"ii": {
"name": "Ñычуань йиче"
},
+ "tg": {
+ "name": "тажикче"
+ },
"dav": {
"name": "таитача"
},
@@ -497,6 +497,9 @@
"twq": {
"name": "таÑабакча"
},
+ "tt": {
+ "name": "татарча"
+ },
"shi": {
"name": "ташелитче"
},
@@ -531,7 +534,7 @@
"name": "түндүк ндыбелче"
},
"se": {
- "name": "түндүк Ñамиче"
+ "name": "түндүк Ñаамиче"
},
"tk": {
"name": "түркмөнчө"
@@ -548,11 +551,14 @@
"uk": {
"name": "украинче"
},
+ "wo": {
+ "name": "уолофчо"
+ },
"ur": {
"name": "урдуча"
},
"fo": {
- "name": "фароÑче"
+ "name": "фарерче"
},
"fa": {
"name": "фарÑча"
@@ -614,6 +620,9 @@
"sn": {
"name": "шонача"
},
+ "gd": {
+ "name": "шотладиÑлык гелча"
+ },
"ee": {
"name": "Ñбече"
},
diff --git a/vendor/commerceguys/intl/resources/language/lag.json b/vendor/commerceguys/intl/resources/language/lag.json
index 66cb64700..e8e3984c8 100644
--- a/vendor/commerceguys/intl/resources/language/lag.json
+++ b/vendor/commerceguys/intl/resources/language/lag.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/lb.json b/vendor/commerceguys/intl/resources/language/lb.json
index 16d575299..ebe211d91 100644
--- a/vendor/commerceguys/intl/resources/language/lb.json
+++ b/vendor/commerceguys/intl/resources/language/lb.json
@@ -233,9 +233,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonesesch"
- },
"kk": {
"name": "Kasachesch"
},
@@ -512,6 +509,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singhalesesch"
},
@@ -536,6 +536,9 @@
"sw": {
"name": "Suaheli"
},
+ "tg": {
+ "name": "Tadschikesch"
+ },
"dav": {
"name": "Taita"
},
@@ -548,6 +551,9 @@
"shi": {
"name": "Taschelhit"
},
+ "tt": {
+ "name": "Tataresch"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Westfriesesch"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/lg.json b/vendor/commerceguys/intl/resources/language/lg.json
index 9ac4ec19c..28d797ba2 100644
--- a/vendor/commerceguys/intl/resources/language/lg.json
+++ b/vendor/commerceguys/intl/resources/language/lg.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/lkt.json b/vendor/commerceguys/intl/resources/language/lkt.json
index 474dd0405..8dc6a1a91 100644
--- a/vendor/commerceguys/intl/resources/language/lkt.json
+++ b/vendor/commerceguys/intl/resources/language/lkt.json
@@ -71,9 +71,6 @@
"my": {
"name": "Burmese Iyápi"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan Iyápi"
},
@@ -485,6 +482,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi Iyápi"
+ },
"si": {
"name": "Sinhala Iyápi"
},
@@ -530,12 +530,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik Iyápi"
+ },
"ta": {
"name": "Tamil Iyápi"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar Iyápi"
+ },
"te": {
"name": "Telugu Iyápi"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof Iyápi"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ln.json b/vendor/commerceguys/intl/resources/language/ln.json
index 519cd5661..a92ecfff2 100644
--- a/vendor/commerceguys/intl/resources/language/ln.json
+++ b/vendor/commerceguys/intl/resources/language/ln.json
@@ -53,9 +53,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -566,9 +566,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/lo.json b/vendor/commerceguys/intl/resources/language/lo.json
index fab755218..da6bd223e 100644
--- a/vendor/commerceguys/intl/resources/language/lo.json
+++ b/vendor/commerceguys/intl/resources/language/lo.json
@@ -5,9 +5,6 @@
"kl": {
"name": "àºàº£àºµàº™à»àº¥àº™àº¥àº´àº”"
},
- "yue": {
- "name": "àºàº§àº²àº‡àº•àº¸à»‰àº‡"
- },
"nmg": {
"name": "àºàº§àº²àºŠàºµà»‚ອ"
},
@@ -131,6 +128,9 @@
"sv": {
"name": "ສະວີດິຊ"
},
+ "sd": {
+ "name": "ສິນທິ"
+ },
"si": {
"name": "ສິນຫາລາ"
},
@@ -239,9 +239,15 @@
"to": {
"name": "ທອງàºàº²àº™"
},
+ "tg": {
+ "name": "ທາຈິàº"
+ },
"shi": {
"name": "ທາເຊວຫິດ"
},
+ "tt": {
+ "name": "ທາທາ"
+ },
"ta": {
"name": "ທາມິລ"
},
@@ -491,6 +497,9 @@
"lag": {
"name": "à»àº¥àº™àºàº´"
},
+ "wo": {
+ "name": "ວà»àº¥àº­àºš"
+ },
"vun": {
"name": "ວັນໂຈ"
},
@@ -515,15 +524,15 @@
"en": {
"name": "ອັງàºàº´àº”"
},
- "en-CA": {
- "name": "ອັງàºàº´àº” (à»àº„ນາດາ)"
- },
"en-GB": {
"name": "ອັງàºàº´àº” (ບຣິດທິຊ)"
},
"en-AU": {
"name": "ອັງàºàº´àº” (ໂອດສະຕາລີ)"
},
+ "en-CA": {
+ "name": "ອັງàºàº´àº”à»àº„ນາດາ"
+ },
"as": {
"name": "ອັສຊາມີສ"
},
diff --git a/vendor/commerceguys/intl/resources/language/lrc.json b/vendor/commerceguys/intl/resources/language/lrc.json
index d241d3e4a..a737ba500 100644
--- a/vendor/commerceguys/intl/resources/language/lrc.json
+++ b/vendor/commerceguys/intl/resources/language/lrc.json
@@ -5,9 +5,6 @@
"bas": {
"name": "Basaa"
},
- "yue": {
- "name": "Cantonese"
- },
"cu": {
"name": "Church Slavic"
},
@@ -233,6 +230,12 @@
"te": {
"name": "تئلئگو"
},
+ "tt": {
+ "name": "تاتار"
+ },
+ "tg": {
+ "name": "تاجیکی"
+ },
"shi": {
"name": "تاچئلھیت"
},
@@ -341,6 +344,9 @@
"seh": {
"name": "سئنا"
},
+ "sd": {
+ "name": "سئندی"
+ },
"saq": {
"name": "سامبوٙروٙ"
},
@@ -416,6 +422,9 @@
"vai": {
"name": "ڤای"
},
+ "wo": {
+ "name": "ڤولوÙ"
+ },
"vun": {
"name": "ڤوٙنجوٙ"
},
diff --git a/vendor/commerceguys/intl/resources/language/lt.json b/vendor/commerceguys/intl/resources/language/lt.json
index 983029b38..5606f6d5f 100644
--- a/vendor/commerceguys/intl/resources/language/lt.json
+++ b/vendor/commerceguys/intl/resources/language/lt.json
@@ -263,9 +263,6 @@
"zh": {
"name": "kinų"
},
- "yue": {
- "name": "kinų kalbos Kantono tarmė"
- },
"ky": {
"name": "kirgizų"
},
@@ -476,6 +473,9 @@
"ii": {
"name": "siÄuan ji"
},
+ "sd": {
+ "name": "sindų"
+ },
"si": {
"name": "sinhalų"
},
@@ -539,6 +539,9 @@
"shi": {
"name": "tachelhitų"
},
+ "tg": {
+ "name": "tadžikų"
+ },
"dav": {
"name": "taitų"
},
@@ -566,6 +569,9 @@
"to": {
"name": "tonganų"
},
+ "tt": {
+ "name": "totorių"
+ },
"zh-Hant": {
"name": "tradicinė kinų"
},
@@ -611,6 +617,9 @@
"vo": {
"name": "volapiuko"
},
+ "wo": {
+ "name": "volofų"
+ },
"vun": {
"name": "vunjo"
},
diff --git a/vendor/commerceguys/intl/resources/language/lu.json b/vendor/commerceguys/intl/resources/language/lu.json
index ec971de31..0f6cf5d1e 100644
--- a/vendor/commerceguys/intl/resources/language/lu.json
+++ b/vendor/commerceguys/intl/resources/language/lu.json
@@ -65,9 +65,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -533,6 +530,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -563,9 +563,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/luo.json b/vendor/commerceguys/intl/resources/language/luo.json
index dde94c510..f309f8a5f 100644
--- a/vendor/commerceguys/intl/resources/language/luo.json
+++ b/vendor/commerceguys/intl/resources/language/luo.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/luy.json b/vendor/commerceguys/intl/resources/language/luy.json
index 65a1d4aa9..f98a8ac26 100644
--- a/vendor/commerceguys/intl/resources/language/luy.json
+++ b/vendor/commerceguys/intl/resources/language/luy.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/lv.json b/vendor/commerceguys/intl/resources/language/lv.json
index 2a303a1bc..7663bd066 100644
--- a/vendor/commerceguys/intl/resources/language/lv.json
+++ b/vendor/commerceguys/intl/resources/language/lv.json
@@ -17,6 +17,15 @@
"en": {
"name": "angļu"
},
+ "en-AU": {
+ "name": "angļu (AustrÄlija)"
+ },
+ "en-CA": {
+ "name": "angļu (KanÄda)"
+ },
+ "en-GB": {
+ "name": "angļu (LielbritÄnija)"
+ },
"ar": {
"name": "arÄbu"
},
@@ -35,12 +44,6 @@
"hsb": {
"name": "augšsorbu"
},
- "en-AU": {
- "name": "AustrÄlijas angļu"
- },
- "de-AT": {
- "name": "Austrijas vÄcu"
- },
"az": {
"name": "azerbaidžÄņu"
},
@@ -113,9 +116,6 @@
"dz": {
"name": "dzongke"
},
- "pt-PT": {
- "name": "Eiropas portugÄļu"
- },
"eo": {
"name": "esperanto"
},
@@ -137,6 +137,12 @@
"fr": {
"name": "franÄu"
},
+ "fr-CA": {
+ "name": "franÄu (KanÄda)"
+ },
+ "fr-CH": {
+ "name": "franÄu (Å veice)"
+ },
"fur": {
"name": "friūlu"
},
@@ -198,7 +204,7 @@
"name": "Ä«ru"
},
"is": {
- "name": "īslandiešu"
+ "name": "islandiešu"
},
"it": {
"name": "itÄļu"
@@ -239,18 +245,9 @@
"kam": {
"name": "kambu"
},
- "en-CA": {
- "name": "KanÄdas angļu"
- },
- "fr-CA": {
- "name": "KanÄdas franÄu"
- },
"kn": {
"name": "kannadu"
},
- "yue": {
- "name": "kantoniešu"
- },
"ks": {
"name": "kašmiriešu"
},
@@ -338,9 +335,6 @@
"nds": {
"name": "lejasvÄcu"
},
- "en-GB": {
- "name": "LielbritÄnijas angļu"
- },
"lt": {
"name": "lietuviešu"
},
@@ -366,7 +360,7 @@
"name": "makonde"
},
"mgh": {
- "name": "makua-meetto"
+ "name": "makua"
},
"mk": {
"name": "maķedoniešu"
@@ -384,7 +378,7 @@
"name": "maltiešu"
},
"mr": {
- "name": "maratu"
+ "name": "marathu"
},
"mas": {
"name": "masaju"
@@ -395,9 +389,6 @@
"mzn": {
"name": "mazanderÄņu"
},
- "es-MX": {
- "name": "Meksikas spÄņu"
- },
"gv": {
"name": "meniešu"
},
@@ -458,6 +449,9 @@
"pt": {
"name": "portugÄļu"
},
+ "pt-PT": {
+ "name": "portugÄļu (PortugÄle)"
+ },
"prg": {
"name": "prūšu"
},
@@ -500,6 +494,9 @@
"ii": {
"name": "SiÄuaņas ji"
},
+ "sd": {
+ "name": "sindhu"
+ },
"si": {
"name": "singÄļu"
},
@@ -521,6 +518,9 @@
"es": {
"name": "spÄņu"
},
+ "es-MX": {
+ "name": "spÄņu (Meksika)"
+ },
"zgh": {
"name": "standarta marokÄņu berberu"
},
@@ -539,12 +539,12 @@
"de-CH": {
"name": "Å veices augÅ¡vÄcu"
},
- "fr-CH": {
- "name": "Å veices franÄu"
- },
"gsw": {
"name": "Å veices vÄcu"
},
+ "tg": {
+ "name": "tadžiku"
+ },
"dav": {
"name": "taitu"
},
@@ -557,6 +557,9 @@
"twq": {
"name": "tasavaku"
},
+ "tt": {
+ "name": "tatÄru"
+ },
"te": {
"name": "telugu"
},
@@ -596,6 +599,9 @@
"de": {
"name": "vÄcu"
},
+ "de-AT": {
+ "name": "vÄcu (Austrija)"
+ },
"vai": {
"name": "vaju"
},
@@ -611,6 +617,9 @@
"vo": {
"name": "volapiks"
},
+ "wo": {
+ "name": "volofu"
+ },
"vun": {
"name": "vundžo"
},
diff --git a/vendor/commerceguys/intl/resources/language/mas.json b/vendor/commerceguys/intl/resources/language/mas.json
index d68e7cbe9..dc487f16c 100644
--- a/vendor/commerceguys/intl/resources/language/mas.json
+++ b/vendor/commerceguys/intl/resources/language/mas.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/mer.json b/vendor/commerceguys/intl/resources/language/mer.json
index 3ef1cce47..277b86f70 100644
--- a/vendor/commerceguys/intl/resources/language/mer.json
+++ b/vendor/commerceguys/intl/resources/language/mer.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/mfe.json b/vendor/commerceguys/intl/resources/language/mfe.json
index d2494d4be..7ea811df1 100644
--- a/vendor/commerceguys/intl/resources/language/mfe.json
+++ b/vendor/commerceguys/intl/resources/language/mfe.json
@@ -92,9 +92,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -548,12 +548,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "tamoul"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"cs": {
"name": "tchek"
},
@@ -611,6 +617,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/mg.json b/vendor/commerceguys/intl/resources/language/mg.json
index 4252eb0db..9240af7ea 100644
--- a/vendor/commerceguys/intl/resources/language/mg.json
+++ b/vendor/commerceguys/intl/resources/language/mg.json
@@ -92,9 +92,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -506,6 +503,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -554,12 +554,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamoila"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/mgh.json b/vendor/commerceguys/intl/resources/language/mgh.json
index f574771fc..c7e9db179 100644
--- a/vendor/commerceguys/intl/resources/language/mgh.json
+++ b/vendor/commerceguys/intl/resources/language/mgh.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/mk.json b/vendor/commerceguys/intl/resources/language/mk.json
index ffd0472e7..e9e250ee2 100644
--- a/vendor/commerceguys/intl/resources/language/mk.json
+++ b/vendor/commerceguys/intl/resources/language/mk.json
@@ -2,6 +2,9 @@
"en-AU": {
"name": "авÑтралиÑки англиÑки"
},
+ "de-AT": {
+ "name": "авÑтриÑки германÑки"
+ },
"agq": {
"name": "агемÑки"
},
@@ -92,6 +95,9 @@
"vo": {
"name": "волапик"
},
+ "wo": {
+ "name": "волофÑки"
+ },
"vun": {
"name": "вунџо"
},
@@ -104,12 +110,6 @@
"de": {
"name": "германÑки"
},
- "de-AT": {
- "name": "германÑки (ÐвÑтрија)"
- },
- "de-CH": {
- "name": "германÑки (Швајцарија)"
- },
"hsb": {
"name": "горнолужички"
},
@@ -131,12 +131,12 @@
"nds": {
"name": "долногерманÑки"
},
- "nds-NL": {
- "name": "долногерманÑки (Холандија)"
- },
"dsb": {
"name": "долнолужички"
},
+ "nds-NL": {
+ "name": "долноÑакÑонÑки"
+ },
"dua": {
"name": "дуала"
},
@@ -236,9 +236,6 @@
"kn": {
"name": "каннада"
},
- "yue": {
- "name": "кантонÑки"
- },
"ca": {
"name": "каталонÑки"
},
@@ -350,6 +347,9 @@
"jmc": {
"name": "мачаме"
},
+ "es-MX": {
+ "name": "мекÑиканÑки шпанÑки"
+ },
"mer": {
"name": "меру"
},
@@ -470,6 +470,9 @@
"seh": {
"name": "Ñена"
},
+ "sd": {
+ "name": "Ñинди"
+ },
"si": {
"name": "ÑинхалÑки"
},
@@ -506,9 +509,15 @@
"ta": {
"name": "тамилÑки"
},
+ "tt": {
+ "name": "татарÑки"
+ },
"shi": {
"name": "тачелхит"
},
+ "tg": {
+ "name": "таџикиÑтанÑки"
+ },
"te": {
"name": "телугу"
},
@@ -611,6 +620,9 @@
"ksb": {
"name": "шамбала"
},
+ "de-CH": {
+ "name": "швајцарÑки виÑоко-германÑки"
+ },
"gsw": {
"name": "швајцарÑки германÑки"
},
@@ -628,8 +640,5 @@
},
"es": {
"name": "шпанÑки"
- },
- "es-MX": {
- "name": "шпанÑки (МекÑико)"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ml.json b/vendor/commerceguys/intl/resources/language/ml.json
index 0c81989bb..8b2a435f1 100644
--- a/vendor/commerceguys/intl/resources/language/ml.json
+++ b/vendor/commerceguys/intl/resources/language/ml.json
@@ -36,10 +36,10 @@
"name": "ഇഗàµà´¬àµ‹"
},
"smn": {
- "name": "ഇനാരി സാമി"
+ "name": "ഇനാരി സമി"
},
"id": {
- "name": "ഇൻഡോനേഷàµà´¯àµ»"
+ "name": "ഇനàµà´¤àµ‹à´¨àµ‡à´·àµà´¯àµ»"
},
"en": {
"name": "ഇംഗàµà´²àµ€à´·àµ"
@@ -128,9 +128,6 @@
"kkj": {
"name": "കാകോ"
},
- "yue": {
- "name": "കാനàµà´±à´£àµ€à´¸àµ"
- },
"ks": {
"name": "കാശàµâ€Œà´®àµ€à´°à´¿"
},
@@ -227,6 +224,9 @@
"twq": {
"name": "ടസവാകàµà´•àµ"
},
+ "tt": {
+ "name": "ടാടàµà´Ÿàµ¼"
+ },
"bo": {
"name": "ടിബറàµà´±àµ»"
},
@@ -251,6 +251,9 @@
"shi": {
"name": "താചàµà´šà´²à´¿à´±àµà´±àµ"
},
+ "tg": {
+ "name": "താജികàµ"
+ },
"th": {
"name": "തായàµ"
},
@@ -515,6 +518,9 @@
"vai": {
"name": "വൈ"
},
+ "wo": {
+ "name": "വൊളോഫàµ"
+ },
"vo": {
"name": "വോളാപàµà´•àµ"
},
@@ -545,21 +551,24 @@
"dje": {
"name": "സാർമàµà´®"
},
+ "sd": {
+ "name": "സിനàµà´§à´¿"
+ },
"si": {
"name": "സിംഹള"
},
"zu": {
"name": "à´¸àµà´²àµ"
},
+ "ckb": {
+ "name": "സെൻടàµà´°àµ½ à´•àµàµ¼à´¦à´¿à´·àµ"
+ },
"sr": {
"name": "സെർബിയൻ"
},
"seh": {
"name": "സേന"
},
- "ckb": {
- "name": "സൊറാനി à´•àµàµ¼à´¦à´¿à´·àµ"
- },
"xog": {
"name": "സോഗോ"
},
diff --git a/vendor/commerceguys/intl/resources/language/mn.json b/vendor/commerceguys/intl/resources/language/mn.json
index 56ca4caac..77e1e9ab5 100644
--- a/vendor/commerceguys/intl/resources/language/mn.json
+++ b/vendor/commerceguys/intl/resources/language/mn.json
@@ -1,9 +1,9 @@
{
"en-AU": {
- "name": "авÑтрали англи"
+ "name": "авÑтрали-англи"
},
"de-AT": {
- "name": "авÑтри герман"
+ "name": "авÑтри-герман"
},
"agq": {
"name": "агем"
@@ -33,7 +33,7 @@
"name": "аÑÑам"
},
"ast": {
- "name": "аÑтури Ñ…Ñл"
+ "name": "аÑтури"
},
"asa": {
"name": "аÑу"
@@ -51,10 +51,10 @@
"name": "бамбара"
},
"fy": {
- "name": "баруун фризын"
+ "name": "баруун фриз"
},
"bas": {
- "name": "баÑаа Ñ…Ñл"
+ "name": "баÑаа"
},
"eu": {
"name": "баÑк"
@@ -90,7 +90,7 @@
"name": "бретон"
},
"en-GB": {
- "name": "британийн англи"
+ "name": "британи-англи"
},
"vai": {
"name": "вай"
@@ -98,6 +98,9 @@
"vo": {
"name": "волапюк"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунжо"
},
@@ -105,7 +108,7 @@
"name": "вьетнам"
},
"gl": {
- "name": "галик"
+ "name": "галего"
},
"lg": {
"name": "ганда"
@@ -113,9 +116,6 @@
"de": {
"name": "герман"
},
- "nl": {
- "name": "голланд"
- },
"el": {
"name": "грек"
},
@@ -131,6 +131,9 @@
"da": {
"name": "дани"
},
+ "dsb": {
+ "name": "доод Ñорби"
+ },
"dua": {
"name": "дуала"
},
@@ -140,21 +143,18 @@
"he": {
"name": "еврей"
},
- "pt-PT": {
- "name": "европын португаль"
- },
"yo": {
"name": "ёруба"
},
"dyo": {
"name": "жола-фони"
},
- "dz": {
- "name": "жонха"
- },
"dje": {
"name": "зарма"
},
+ "dz": {
+ "name": "зонха"
+ },
"zu": {
"name": "зулу"
},
@@ -179,6 +179,9 @@
"es": {
"name": "иÑпани"
},
+ "es-MX": {
+ "name": "иÑпани (МекÑик)"
+ },
"it": {
"name": "итали"
},
@@ -189,7 +192,7 @@
"name": "кабүвердиану"
},
"kkj": {
- "name": "како Ñ…Ñл"
+ "name": "како"
},
"kl": {
"name": "калалиÑут"
@@ -200,21 +203,15 @@
"kam": {
"name": "камба"
},
- "km": {
- "name": "камбож"
- },
"en-CA": {
- "name": "канад англи"
+ "name": "канад-англи"
},
"fr-CA": {
- "name": "канад франц"
+ "name": "канад-франц"
},
"kn": {
"name": "каннада"
},
- "yue": {
- "name": "кантон Ñ…Ñл"
- },
"ca": {
"name": "каталан"
},
@@ -225,7 +222,7 @@
"name": "квазио"
},
"ksh": {
- "name": "кёльш Ñ…Ñл"
+ "name": "кёльш"
},
"ses": {
"name": "кёраборо Ñени"
@@ -237,22 +234,25 @@
"name": "кикуюү"
},
"rw": {
- "name": "кинÑрванда"
+ "name": "киньÑруанда"
+ },
+ "ky": {
+ "name": "киргиз"
},
"khq": {
"name": "койра чини"
},
"sw-CD": {
- "name": "конго Ñвахили"
+ "name": "конгогийн Ñвахили"
},
"kok": {
"name": "конкани"
},
"kw": {
- "name": "корны"
+ "name": "корн"
},
- "ky": {
- "name": "кыргыз"
+ "km": {
+ "name": "кхмер"
},
"lkt": {
"name": "лакота"
@@ -272,9 +272,6 @@
"lt": {
"name": "литва"
},
- "dsb": {
- "name": "ловер-Ñорби"
- },
"lu": {
"name": "луба-катанга"
},
@@ -306,10 +303,10 @@
"name": "малай"
},
"ml": {
- "name": "малайлам"
+ "name": "малаÑлам"
},
"mt": {
- "name": "малти"
+ "name": "малта"
},
"gv": {
"name": "манкÑ"
@@ -323,9 +320,6 @@
"jmc": {
"name": "мачамÑ"
},
- "es-MX": {
- "name": "мекÑикийн иÑпани"
- },
"mer": {
"name": "меру"
},
@@ -353,6 +347,9 @@
"jgo": {
"name": "нгомба"
},
+ "nl": {
+ "name": "нидерланд"
+ },
"nb": {
"name": "норвегийн букмол"
},
@@ -375,10 +372,10 @@
"name": "ороÑ"
},
"os": {
- "name": "оÑÑетийн"
+ "name": "оÑÑетин"
},
"pa": {
- "name": "панжаб"
+ "name": "панжаби"
},
"ps": {
"name": "пашто"
@@ -390,10 +387,13 @@
"name": "польш"
},
"pt": {
- "name": "португаль"
+ "name": "португал"
+ },
+ "pt-PT": {
+ "name": "португал (Португал)"
},
"prg": {
- "name": "пруÑÑийн"
+ "name": "пруÑÑ"
},
"rwk": {
"name": "рва"
@@ -431,6 +431,9 @@
"sr": {
"name": "Ñерб"
},
+ "sd": {
+ "name": "Ñиндхи"
+ },
"si": {
"name": "Ñинхала"
},
@@ -449,15 +452,15 @@
"so": {
"name": "Ñомали"
},
- "ckb": {
- "name": "Ñорани күрд"
- },
"cu": {
- "name": "Ñүмийн ÑлавÑн Ñ…Ñл"
+ "name": "Ñүмийн ÑлавÑн"
},
"ii": {
"name": "Ñычуань и"
},
+ "tg": {
+ "name": "тажик"
+ },
"th": {
"name": "тай"
},
@@ -473,11 +476,14 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татар"
+ },
"shi": {
"name": "тачелхит"
},
"ti": {
- "name": "тигрина"
+ "name": "тигриньÑ"
},
"to": {
"name": "тонга"
@@ -485,6 +491,9 @@
"tzm": {
"name": "төв атлаÑын тамазайт"
},
+ "ckb": {
+ "name": "төв курд"
+ },
"bo": {
"name": "төвд"
},
@@ -504,7 +513,7 @@
"name": "узбек"
},
"ug": {
- "name": "уйгар"
+ "name": "уйгур"
},
"uk": {
"name": "украин"
@@ -540,7 +549,7 @@
"name": "франц"
},
"fur": {
- "name": "фриулийн"
+ "name": "фриулан"
},
"ff": {
"name": "фула"
@@ -593,20 +602,20 @@
"sv": {
"name": "швед"
},
- "gsw": {
- "name": "швейцари герман"
- },
"de-CH": {
"name": "швейцари дÑÑÑ€ герман"
},
+ "gsw": {
+ "name": "швейцари-герман"
+ },
"fr-CH": {
- "name": "швейцари франц"
+ "name": "швейцари-франц"
},
"sn": {
"name": "шона"
},
"gd": {
- "name": "шотланд келт"
+ "name": "шотландын гел"
},
"ewo": {
"name": "Ñвондо"
diff --git a/vendor/commerceguys/intl/resources/language/mr.json b/vendor/commerceguys/intl/resources/language/mr.json
index 50dd75a0d..a0c5d13f7 100644
--- a/vendor/commerceguys/intl/resources/language/mr.json
+++ b/vendor/commerceguys/intl/resources/language/mr.json
@@ -107,9 +107,6 @@
"os": {
"name": "ओसà¥à¤¸à¥‡à¤Ÿà¤¿à¤•"
},
- "yue": {
- "name": "कà¤à¤Ÿà¥‹à¤¨à¥€à¤œ"
- },
"kk": {
"name": "कà¤à¤¾à¤•"
},
@@ -257,6 +254,12 @@
"da": {
"name": "डॅनिश"
},
+ "tg": {
+ "name": "ताजिक"
+ },
+ "tt": {
+ "name": "तातर"
+ },
"ta": {
"name": "तामिळ"
},
@@ -465,7 +468,7 @@
"name": "मोलà¥à¤¡à¤¾à¤µà¥à¤¹à¤¿à¤¯à¤¨"
},
"yav": {
- "name": "यानगबेन"
+ "name": "यांगबेन"
},
"yi": {
"name": "यिदà¥à¤¦à¤¿à¤¶"
@@ -548,6 +551,9 @@
"cy": {
"name": "वेलà¥à¤¶"
},
+ "wo": {
+ "name": "वोलोफ"
+ },
"vi": {
"name": "वà¥à¤¹à¤¿à¤à¤¤à¤¨à¤¾à¤®à¥€"
},
@@ -575,6 +581,9 @@
"sah": {
"name": "साखा"
},
+ "sd": {
+ "name": "सिंधी"
+ },
"si": {
"name": "सिंहला"
},
diff --git a/vendor/commerceguys/intl/resources/language/ms.json b/vendor/commerceguys/intl/resources/language/ms.json
index bc1c12ef1..67227fc8f 100644
--- a/vendor/commerceguys/intl/resources/language/ms.json
+++ b/vendor/commerceguys/intl/resources/language/ms.json
@@ -35,9 +35,6 @@
"ksf": {
"name": "Bafia"
},
- "ms": {
- "name": "Bahasa Melayu"
- },
"bm": {
"name": "Bambara"
},
@@ -266,9 +263,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonis"
- },
"ks": {
"name": "Kashmir"
},
@@ -371,6 +365,9 @@
"mzn": {
"name": "Mazanderani"
},
+ "ms": {
+ "name": "Melayu"
+ },
"mer": {
"name": "Meru"
},
@@ -414,7 +411,7 @@
"name": "Nynorsk Norway"
},
"or": {
- "name": "Oriya"
+ "name": "Odia"
},
"om": {
"name": "Oromo"
@@ -447,7 +444,7 @@
"name": "Portugis Eropah"
},
"prg": {
- "name": "Prussian"
+ "name": "Prusia"
},
"pa": {
"name": "Punjabi"
@@ -515,6 +512,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,6 +551,9 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"tzm": {
"name": "Tamazight Atlas Tengah"
},
@@ -563,6 +566,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -617,6 +623,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/mt.json b/vendor/commerceguys/intl/resources/language/mt.json
index c476b26d1..9c93e25df 100644
--- a/vendor/commerceguys/intl/resources/language/mt.json
+++ b/vendor/commerceguys/intl/resources/language/mt.json
@@ -251,9 +251,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantoniż"
- },
"ks": {
"name": "Kashmiri"
},
@@ -500,6 +497,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -542,6 +542,9 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"th": {
"name": "Tajlandiż"
},
@@ -560,6 +563,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"cy": {
"name": "Welsh"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
@@ -624,7 +633,7 @@
"name": "Yoruba"
},
"sv": {
- "name": "Żvezja"
+ "name": "Żvediż"
},
"dje": {
"name": "Zarma"
diff --git a/vendor/commerceguys/intl/resources/language/mua.json b/vendor/commerceguys/intl/resources/language/mua.json
index 53221612c..47b694fb8 100644
--- a/vendor/commerceguys/intl/resources/language/mua.json
+++ b/vendor/commerceguys/intl/resources/language/mua.json
@@ -71,9 +71,6 @@
"bg": {
"name": "bulgaria"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -461,6 +458,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -500,12 +500,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamul"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -566,6 +572,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/my.json b/vendor/commerceguys/intl/resources/language/my.json
index 1dc78faec..cf5e47087 100644
--- a/vendor/commerceguys/intl/resources/language/my.json
+++ b/vendor/commerceguys/intl/resources/language/my.json
@@ -65,9 +65,6 @@
"sw-CD": {
"name": "ကွန်ဂို ဆွာဟီလီ"
},
- "yue": {
- "name": "ကွမ်á€á€¯á€¶"
- },
"km": {
"name": "á€á€™á€¬"
},
@@ -140,24 +137,27 @@
"es-MX": {
"name": "စပိန် (မက္ကဆီကို)"
},
- "sl": {
- "name": "စလိုဗေးနီးယား"
- },
- "sk": {
- "name": "စလိုဗက်"
- },
"ii": {
"name": "စီá€á€»á€½á€™á€º ရီ"
},
"seh": {
"name": "စီနာ"
},
+ "sd": {
+ "name": "စင်ဒီ"
+ },
"si": {
"name": "စင်ဟာလာ"
},
"sah": {
"name": "ဆá€á€«"
},
+ "sl": {
+ "name": "ဆလိုဗေးနီးယား"
+ },
+ "sk": {
+ "name": "ဆလိုဗက်"
+ },
"sr": {
"name": "ဆားဘီးယား"
},
@@ -215,9 +215,15 @@
"shi": {
"name": "á€á€¬á€á€»á€šá€ºá€œá€ºá€Ÿá€…်"
},
+ "tg": {
+ "name": "á€á€¬á€‚ျစ်"
+ },
"twq": {
"name": "á€á€¬á€†á€¬á€á€«á€á€º"
},
+ "tt": {
+ "name": "á€á€¬á€á€¬"
+ },
"tk": {
"name": "á€á€¬á€·á€á€ºá€™á€„်နစ္စá€á€”်"
},
@@ -231,14 +237,11 @@
"name": "á€á€®á€œá€®á€‚ူ"
},
"ti": {
- "name": "á€á€®á€‚်ရင်ရာ"
+ "name": "á€á€®á€‚်ရင်ယာ"
},
"tr": {
"name": "á€á€°á€›á€€á€®"
},
- "nd": {
- "name": "á€á€±á€¬á€„် အွန်န်ဒီဘီလီ"
- },
"af": {
"name": "á€á€±á€¬á€„်အာဖရိက"
},
@@ -258,7 +261,7 @@
"name": "ဒူအလာ"
},
"nl": {
- "name": "ဒá€á€ºá€á€»á€º"
+ "name": "ဒá€á€ºá€á€ºá€»"
},
"da": {
"name": "ဒိန်းမá€á€º"
@@ -276,10 +279,10 @@
"name": "နူအာ"
},
"nn": {
- "name": "နော်á€á€±á€¸ နီးနောစ်"
+ "name": "နော်á€á€± နီးနောစ်"
},
"nb": {
- "name": "နော်á€á€±á€¸ ဘွá€á€ºá€á€ºá€™á€±á€¬á€ºá€œá€º"
+ "name": "နော်á€á€± ဘွá€á€ºá€á€ºá€™á€±á€¬á€ºá€œá€º"
},
"prg": {
"name": "ပရူရှန်"
@@ -351,7 +354,7 @@
"name": "ဘီနာ"
},
"be": {
- "name": "ဘီလာရုဇ်"
+ "name": "ဘီလာရုစ်"
},
"bg": {
"name": "ဘူလ်ဂေးရီးယား"
@@ -374,12 +377,12 @@
"jmc": {
"name": "မá€á€»á€¬á€™á€®"
},
+ "ml": {
+ "name": "မလေယာလမ်"
+ },
"ms": {
"name": "မလေး"
},
- "ml": {
- "name": "မလေးရာလမ်"
- },
"mgh": {
"name": "မာá€á€°á€á€«-မီအီá€á€­á€¯"
},
@@ -417,7 +420,7 @@
"name": "မိုရိုကို á€á€™á€‡á€­á€¯á€€á€º"
},
"mk": {
- "name": "မက်စီဒိုးနီးယား"
+ "name": "မက်ဆီဒိုးနီးယား"
},
"gv": {
"name": "မန်းဇ်"
@@ -425,6 +428,9 @@
"se": {
"name": "မြောက် ဆာမိ"
},
+ "nd": {
+ "name": "မြောက် အွန်န်ဒီဘီလီ"
+ },
"lrc": {
"name": "မြောက်လူရီ"
},
@@ -503,6 +509,9 @@
"ug": {
"name": "á€á€®á€‚ါ"
},
+ "wo": {
+ "name": "á€á€°á€œá€­á€¯á€–်"
+ },
"cy": {
"name": "á€á€±á€œ"
},
@@ -569,15 +578,15 @@
"ewo": {
"name": "အီá€á€”်ဒို"
},
+ "uz": {
+ "name": "ဥဇဘá€á€º"
+ },
"pt-PT": {
"name": "ဥရောပ ပေါ်á€á€°á€‚ီ"
},
"ur": {
"name": "အူရ်ဒူ"
},
- "uz": {
- "name": "ဦးဇ်ဘက်"
- },
"de-AT": {
"name": "ဩစá€á€¼á€®á€¸á€šá€¬á€¸ ဂျာမန်"
},
diff --git a/vendor/commerceguys/intl/resources/language/mzn.json b/vendor/commerceguys/intl/resources/language/mzn.json
index 7968146d5..7c338b268 100644
--- a/vendor/commerceguys/intl/resources/language/mzn.json
+++ b/vendor/commerceguys/intl/resources/language/mzn.json
@@ -5,9 +5,6 @@
"bas": {
"name": "Basaa"
},
- "yue": {
- "name": "Cantonese"
- },
"cu": {
"name": "Church Slavic"
},
@@ -212,6 +209,12 @@
"pa": {
"name": "پنجابی"
},
+ "tt": {
+ "name": "تاتاری"
+ },
+ "tg": {
+ "name": "تاجیکی"
+ },
"shi": {
"name": "تاچلهیت"
},
@@ -323,6 +326,9 @@
"zh-Hant": {
"name": "سنتی چینی"
},
+ "sd": {
+ "name": "سندی"
+ },
"sv": {
"name": "سوئدی"
},
@@ -620,6 +626,9 @@
"cy": {
"name": "ولزی"
},
+ "wo": {
+ "name": "وولÙÛŒ"
+ },
"vun": {
"name": "وونجویی"
},
diff --git a/vendor/commerceguys/intl/resources/language/naq.json b/vendor/commerceguys/intl/resources/language/naq.json
index ddd5d4b84..26972fe00 100644
--- a/vendor/commerceguys/intl/resources/language/naq.json
+++ b/vendor/commerceguys/intl/resources/language/naq.json
@@ -71,9 +71,6 @@
"my": {
"name": "BurmesÇî gowab"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -545,12 +545,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "TamilÇî gowab"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"el": {
"name": "Xriks"
},
diff --git a/vendor/commerceguys/intl/resources/language/nb.json b/vendor/commerceguys/intl/resources/language/nb.json
index 463d40955..7e4440fad 100644
--- a/vendor/commerceguys/intl/resources/language/nb.json
+++ b/vendor/commerceguys/intl/resources/language/nb.json
@@ -194,9 +194,6 @@
"it": {
"name": "italiensk"
},
- "sah": {
- "name": "jakutisk"
- },
"ja": {
"name": "japansk"
},
@@ -224,9 +221,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantonesisk"
- },
"kea": {
"name": "kappverdisk"
},
@@ -420,7 +414,7 @@
"name": "nyankole"
},
"or": {
- "name": "oriya"
+ "name": "odia"
},
"om": {
"name": "oromo"
@@ -428,6 +422,9 @@
"os": {
"name": "ossetisk"
},
+ "pa": {
+ "name": "panjabi"
+ },
"ps": {
"name": "pashto"
},
@@ -446,9 +443,6 @@
"prg": {
"name": "prøyssisk"
},
- "pa": {
- "name": "punjabi"
- },
"qu": {
"name": "quechua"
},
@@ -470,6 +464,9 @@
"rwk": {
"name": "rwa"
},
+ "sah": {
+ "name": "sakha"
+ },
"saq": {
"name": "samburu"
},
@@ -497,6 +494,9 @@
"ii": {
"name": "sichuan-yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalesisk"
},
@@ -536,6 +536,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadsjikisk"
+ },
"dav": {
"name": "taita"
},
@@ -545,6 +548,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatarisk"
+ },
"te": {
"name": "telugu"
},
@@ -623,6 +629,9 @@
"wae": {
"name": "walsertysk"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/nd.json b/vendor/commerceguys/intl/resources/language/nd.json
index 47bc6aaa5..0b725e214 100644
--- a/vendor/commerceguys/intl/resources/language/nd.json
+++ b/vendor/commerceguys/intl/resources/language/nd.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ne.json b/vendor/commerceguys/intl/resources/language/ne.json
index 619cb66ee..3b14988c3 100644
--- a/vendor/commerceguys/intl/resources/language/ne.json
+++ b/vendor/commerceguys/intl/resources/language/ne.json
@@ -20,15 +20,15 @@
"ast": {
"name": "असà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾à¤²à¥€"
},
- "de-AT": {
- "name": "असà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾à¤²à¥€ जरà¥à¤®à¤¨"
- },
"en-AU": {
"name": "असà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾à¤²à¥€ अङà¥à¤—à¥à¤°à¥‡à¤œà¥€"
},
"os": {
"name": "अोसà¥à¤¸à¥‡à¤Ÿà¤¿à¤•"
},
+ "ga": {
+ "name": "आइरिस"
+ },
"is": {
"name": "आइसलà¥à¤¯à¤¾à¤¨à¥à¤¡à¤¿à¤¯à¤¾à¤²à¥€"
},
@@ -38,9 +38,6 @@
"agq": {
"name": "आघेम"
},
- "ga": {
- "name": "आयरिस"
- },
"hy": {
"name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
},
@@ -69,7 +66,7 @@
"name": "इवोनà¥à¤¡à¥‹"
},
"et": {
- "name": "इसà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ "name": "इसà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¨"
},
"ug": {
"name": "उइघà¥à¤°"
@@ -113,9 +110,6 @@
"kk": {
"name": "काजाख"
},
- "yue": {
- "name": "कानà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
- },
"kab": {
"name": "काबिल"
},
@@ -227,6 +221,9 @@
"de": {
"name": "जरà¥à¤®à¤¨"
},
+ "de-AT": {
+ "name": "जरà¥à¤®à¤¨ (अषà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾)"
+ },
"dje": {
"name": "जरà¥à¤®à¤¾"
},
@@ -278,6 +275,12 @@
"dav": {
"name": "ताइता"
},
+ "tg": {
+ "name": "ताजिक"
+ },
+ "tt": {
+ "name": "तातार"
+ },
"ta": {
"name": "तामिल"
},
@@ -326,6 +329,9 @@
"zh-Hant": {
"name": "परमà¥à¤ªà¤°à¤¾à¤—त चिनियाà¤"
},
+ "fy": {
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ फà¥à¤°à¤¿à¤¸à¤¿à¤¯à¤¨"
+ },
"ps": {
"name": "पासà¥à¤¤à¥‹"
},
@@ -362,9 +368,6 @@
"fur": {
"name": "फà¥à¤°à¤¿à¤‰à¤²à¤¿à¤¯à¤¾à¤²à¥€"
},
- "fy": {
- "name": "फà¥à¤°à¤¿à¤œà¤¿à¤¯à¤¨"
- },
"nl-BE": {
"name": "फà¥à¤²à¥‡à¤®à¤¿à¤¸"
},
@@ -479,8 +482,11 @@
"mfe": {
"name": "मोरिसेन"
},
+ "ro-MD": {
+ "name": "मोलà¥à¤¡à¤¾à¤­à¤¿à¤¯à¤¾à¤²à¥€"
+ },
"mk": {
- "name": "मà¥à¤¯à¤¾à¤¸à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ "name": "मà¥à¤¯à¤¾à¤¸à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¨"
},
"yav": {
"name": "याङà¥à¤¬à¥‡à¤¨"
@@ -506,9 +512,6 @@
"ro": {
"name": "रोमानियाली"
},
- "ro-MD": {
- "name": "रोमानियाली (मालà¥à¤¡à¥‹à¤­à¤¾)"
- },
"rm": {
"name": "रोमानिस"
},
@@ -551,6 +554,9 @@
"wae": {
"name": "वालà¥à¤¸à¤°"
},
+ "wo": {
+ "name": "वà¥à¤²à¥à¤«"
+ },
"cy": {
"name": "वेलà¥à¤¶"
},
@@ -581,6 +587,9 @@
"ii": {
"name": "सिचà¥à¤†à¤¨ यि"
},
+ "sd": {
+ "name": "सिनà¥à¤§à¥€"
+ },
"si": {
"name": "सिनà¥à¤¹à¤¾à¤²à¥€"
},
diff --git a/vendor/commerceguys/intl/resources/language/nl.json b/vendor/commerceguys/intl/resources/language/nl.json
index 0aa020170..94f79f687 100644
--- a/vendor/commerceguys/intl/resources/language/nl.json
+++ b/vendor/commerceguys/intl/resources/language/nl.json
@@ -248,9 +248,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "Kantonees"
- },
"ks": {
"name": "Kasjmiri"
},
@@ -377,6 +374,9 @@
"naq": {
"name": "Nama"
},
+ "nds-NL": {
+ "name": "Nederduits"
+ },
"nl": {
"name": "Nederlands"
},
@@ -386,9 +386,6 @@
"nds": {
"name": "Nedersaksisch"
},
- "nds-NL": {
- "name": "Nedersaksisch (Nederland)"
- },
"dsb": {
"name": "Nedersorbisch"
},
@@ -509,6 +506,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singalees"
},
@@ -542,6 +542,9 @@
"sw-CD": {
"name": "Swahili (Congo-Kinshasa)"
},
+ "tg": {
+ "name": "Tadzjieks"
+ },
"dav": {
"name": "Taita"
},
@@ -557,6 +560,9 @@
"shi": {
"name": "Tashelhiyt"
},
+ "tt": {
+ "name": "Tataars"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"be": {
"name": "Wit-Russisch"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/nmg.json b/vendor/commerceguys/intl/resources/language/nmg.json
index db6014d61..50cc93f80 100644
--- a/vendor/commerceguys/intl/resources/language/nmg.json
+++ b/vendor/commerceguys/intl/resources/language/nmg.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -566,9 +566,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/nn.json b/vendor/commerceguys/intl/resources/language/nn.json
index 7432daf82..eda250ea4 100644
--- a/vendor/commerceguys/intl/resources/language/nn.json
+++ b/vendor/commerceguys/intl/resources/language/nn.json
@@ -224,9 +224,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantonesisk"
- },
"kk": {
"name": "kasakhisk"
},
@@ -491,6 +488,9 @@
"ii": {
"name": "sichuan-yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalesisk"
},
@@ -536,6 +536,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadsjikisk"
+ },
"dav": {
"name": "taita"
},
@@ -545,6 +548,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatarisk"
+ },
"te": {
"name": "telugu"
},
@@ -623,6 +629,9 @@
"wae": {
"name": "walsertysk"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/nus.json b/vendor/commerceguys/intl/resources/language/nus.json
index 124d7fd68..bbda29e5e 100644
--- a/vendor/commerceguys/intl/resources/language/nus.json
+++ b/vendor/commerceguys/intl/resources/language/nus.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -371,6 +368,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -401,9 +401,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/nyn.json b/vendor/commerceguys/intl/resources/language/nyn.json
index a64808c5b..e450a3d95 100644
--- a/vendor/commerceguys/intl/resources/language/nyn.json
+++ b/vendor/commerceguys/intl/resources/language/nyn.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/om.json b/vendor/commerceguys/intl/resources/language/om.json
index db22ad42c..2e1a77e37 100644
--- a/vendor/commerceguys/intl/resources/language/om.json
+++ b/vendor/commerceguys/intl/resources/language/om.json
@@ -263,9 +263,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -524,6 +521,9 @@
"seh": {
"name": "Sena"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"ii": {
"name": "Sichuan Yi"
},
@@ -548,9 +548,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"shi": {
"name": "Tachelhit"
},
@@ -584,6 +590,9 @@
"cy": {
"name": "Welishiffaa"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/or.json b/vendor/commerceguys/intl/resources/language/or.json
index cf5b91a28..b6fe378a5 100644
--- a/vendor/commerceguys/intl/resources/language/or.json
+++ b/vendor/commerceguys/intl/resources/language/or.json
@@ -6,20 +6,26 @@
"name": "ଅଷà­à¬Ÿà­à¬°à¬¿à¬†à¬¨à­ ଜରà­à¬®à¬¾à¬¨"
},
"en-AU": {
- "name": "ଅଷà­à¬Ÿà­à¬°à­‡à¬²à¬¿à¬†à¬¨à­ ଇà¬à¬°à¬¾à¬œà­€"
+ "name": "ଅଷà­à¬Ÿà­à¬°à­‡à¬²à¬¿à­Ÿ ଇଂରାଜୀ"
},
"is": {
"name": "ଆଇସଲାଣà­à¬¡à¬¿à¬•à­"
},
+ "agq": {
+ "name": "ଆଘେମ"
+ },
"az": {
"name": "ଆଜେରବାଇଜାନି"
},
"af": {
- "name": "ଆଫà­à¬°à¬¿à¬•à¬¾à¬¨à¬¸à­"
+ "name": "ଆଫà­à¬°à¬¿à¬•à­€à­Ÿ"
},
"am": {
"name": "ଆମହାରକି"
},
+ "rwk": {
+ "name": "ଆରଡବà­à­Ÿà­à¬"
+ },
"ar": {
"name": "ଆରବିକà­"
},
@@ -33,19 +39,22 @@
"name": "ଆଷà­à¬Ÿà­à¬°à¬¿à¬†à¬¨à­"
},
"as": {
- "name": "ଆସାମୀ"
+ "name": "ଆସାମୀୟ"
+ },
+ "asa": {
+ "name": "ଆସà­"
},
"en": {
"name": "ଇଂରାଜୀ"
},
"ig": {
- "name": "ଇଗà­à¬¬à­‹"
+ "name": "ଇଗବୋ"
},
"it": {
- "name": "ଇଟାଲିଆନà­"
+ "name": "ଇଟାଲୀୟ"
},
"id": {
- "name": "ଇଣà­à¬¡à­‹à¬¨à­‡à¬¸à¬¿à¬†à¬¨à­"
+ "name": "ଇଣà­à¬¡à­‹à¬¨à­‡à¬¸à­€à­Ÿ"
},
"smn": {
"name": "ଇନାରୀ ସାମି"
@@ -65,6 +74,9 @@
"nd": {
"name": "ଉତà­à¬¤à¬° ନେଡବେଲେ"
},
+ "lrc": {
+ "name": "ଉତà­à¬¤à¬° ଲà­à¬°à¬¿"
+ },
"se": {
"name": "ଉତà­à¬¤à¬° ସାମି"
},
@@ -74,6 +86,9 @@
"ur": {
"name": "ଉରà­à¬¦à­à¬¦à­"
},
+ "ebu": {
+ "name": "à¬à¬®à­à¬µà­"
+ },
"et": {
"name": "à¬à¬¸à­à¬¤à­‹à¬¨à¬¿à¬†à¬¨à­"
},
@@ -89,6 +104,9 @@
"os": {
"name": "ଓସେଟିକà­"
},
+ "sw-CD": {
+ "name": "କଙà­à¬—à­‹ ସà­à­±à¬¾à¬¹à¬¿à¬²à¬¿"
+ },
"kn": {
"name": "କନà­à¬¨à¬¡"
},
@@ -98,6 +116,12 @@
"kam": {
"name": "କମà­à¬¬à¬¾"
},
+ "nmg": {
+ "name": "କୱାସିଓ"
+ },
+ "kkj": {
+ "name": "କାକୋ"
+ },
"kk": {
"name": "କାଜାକà­"
},
@@ -108,10 +132,19 @@
"name": "କାଟାଲାନà­"
},
"en-CA": {
- "name": "କାନାଡିଆନୠଇà¬à¬°à¬¾à¬œà­€"
+ "name": "କାନାଡିୟ ଇଂରାଜୀ"
},
"fr-CA": {
- "name": "କାନାଡିଆନୠଫà­à¬°à­‡à¬žà­à¬š"
+ "name": "କାନାଡିୟ ଫà­à¬°à­‡à¬žà­à¬š"
+ },
+ "kea": {
+ "name": "କାବà­à¬­à­‡à¬°à¬¡à¬¿à¬†à¬¨à­"
+ },
+ "kl": {
+ "name": "କାଲାଲିସà­à¬Ÿà­"
+ },
+ "kln": {
+ "name": "କାଲେନଜିନà­"
},
"ks": {
"name": "କାଶà­à¬®à¬¿à¬°à­€"
@@ -119,14 +152,26 @@
"rw": {
"name": "କିନà­à­Ÿà¬¾à¬°à­±à¬¾à¬£à­à¬¡à¬¾"
},
- "ky": {
- "name": "କିରଗିଜà­"
- },
"ki": {
"name": "କୀକà­à­Ÿà­"
},
+ "ky": {
+ "name": "କୀରଗୀଜà­"
+ },
+ "tzm": {
+ "name": "କେନà­à¬¦à­à¬°à­€à­Ÿ ଆଟଲାସୠଟାମାଜିଘାଟà­"
+ },
+ "ckb": {
+ "name": "କେନà­à¬¦à­à¬°à­€à­Ÿ କà­à¬°à¬¡à¬¿à¬¸à­"
+ },
"kok": {
- "name": "କୋନକାନୀ"
+ "name": "କୋଙà­à¬•à¬£à¬¿"
+ },
+ "khq": {
+ "name": "କୋୟରା ଚିନି"
+ },
+ "ses": {
+ "name": "କୋୟରା ସେନà­à¬¨à¬¿"
},
"ko": {
"name": "କୋରିଆନà­"
@@ -134,6 +179,9 @@
"kw": {
"name": "କୋରà­à¬¨à¬¿à¬¸à­"
},
+ "ksh": {
+ "name": "କୋଲୋବନିୟ"
+ },
"hr": {
"name": "କà­à¬°à­‹à¬†à¬Ÿà¬¿à¬†à¬¨à­"
},
@@ -141,7 +189,7 @@
"name": "କà­à­±à­‡à¬šà­à¬†"
},
"km": {
- "name": "ଖà­à¬®à­‡à¬°à­"
+ "name": "ଖାମେରà­"
},
"lg": {
"name": "ଗନà­à¬¦à¬¾"
@@ -152,17 +200,20 @@
"gu": {
"name": "ଗà­à¬œà­à¬°à¬¾à¬Ÿà­€"
},
+ "guz": {
+ "name": "ଗà­à¬¸à¬¿"
+ },
"el": {
"name": "ଗà­à¬°à­€à¬•à­"
},
- "kl": {
- "name": "ଗà­à¬°à­€à¬¨à¬²à¬¾à¬£à­à¬¡à¬¿à¬•à­"
- },
"cu": {
"name": "ଚରà­à¬šà­à¬š ସà­à¬²à¬¾à¬­à¬¿à¬•à­"
},
"zh": {
- "name": "ଚାଇନୀଜà­"
+ "name": "ଚାଇନିଜà­â€Œ"
+ },
+ "cgg": {
+ "name": "ଚିଗା"
},
"cs": {
"name": "ଚେକà­"
@@ -174,17 +225,23 @@
"name": "ଚେରୋକୀ"
},
"ka": {
- "name": "ଜରà­à¬œà¬¿à¬†à¬¨à­"
+ "name": "ଜରà­à¬œà¬¿à­Ÿ"
+ },
+ "dje": {
+ "name": "ଜରà­à¬®à¬¾"
},
"de": {
- "name": "ଜରà­à¬®à¬¾à¬¨à­"
+ "name": "ଜରà­à¬®à¬¾à¬¨"
},
"ja": {
- "name": "ଜାପାନୀଜà­"
+ "name": "ଜାପାନୀ"
},
"zu": {
"name": "ଜà­à¬²à­"
},
+ "dyo": {
+ "name": "ଜୋଲା-ଫୋନୟି"
+ },
"to": {
"name": "ଟୋଙà­à¬—ା"
},
@@ -200,11 +257,26 @@
"dua": {
"name": "ଡà­à¬†à¬¨à¬¾"
},
+ "dav": {
+ "name": "ତାଇତି"
+ },
+ "shi": {
+ "name": "ତାଚେଲହିଟà­"
+ },
+ "tg": {
+ "name": "ତାଜିକà­"
+ },
+ "tt": {
+ "name": "ତାତାରà­"
+ },
"ta": {
"name": "ତାମିଲà­"
},
+ "twq": {
+ "name": "ତାସାୱାକà­"
+ },
"bo": {
- "name": "ତିବେତାନà­"
+ "name": "ତିବà­à¬¬à¬¤à­€à­Ÿ"
},
"tk": {
"name": "ତà­à¬°à­à¬•à¬®à­‡à¬¨à­"
@@ -215,17 +287,35 @@
"te": {
"name": "ତେଲà­à¬—à­"
},
+ "teo": {
+ "name": "ତେସା"
+ },
"th": {
"name": "ଥାଇ"
},
+ "dz": {
+ "name": "ଦଡଜୋଙà­à¬—ଖା"
+ },
"nn": {
"name": "ନରୱେଜିଆନୠନିୟୋରà­à¬¸à­à¬•"
},
"nb": {
"name": "ନରୱେଜିଆନୠବୋକମଲà­"
},
+ "nnh": {
+ "name": "ନାଗିମବୋନà­"
+ },
+ "jgo": {
+ "name": "ନାଗୋମà­à¬µà¬¾"
+ },
+ "naq": {
+ "name": "ନାମା"
+ },
"dsb": {
- "name": "ନିଚଳା ସରà­à¬¬à¬¿à¬†à¬¨à­"
+ "name": "ନିମà­à¬¨ ସରà­à¬¬à¬¿à¬†à¬¨à­â€Œ"
+ },
+ "nus": {
+ "name": "ନà­à¬à¬°"
},
"ne": {
"name": "ନେପାଳୀ"
@@ -237,16 +327,16 @@
"name": "ପଞà­à¬œà¬¾à¬¬à­€"
},
"pt": {
- "name": "ପରà­à¬¤à­à¬¤à­à¬—à­à¬°à­€à¬œà­"
+ "name": "ପରà­à¬¤à­à¬¤à­à¬—ୀଜà­â€Œ"
},
"fa": {
"name": "ପରà­à¬¸à¬¿à¬†à¬¨à­"
},
- "fy": {
- "name": "ପଶà­à¬šà¬¿à¬® ଫà­à¬°à¬¿à¬¸à¬¿à­Ÿà¬¨à­"
- },
"zh-Hant": {
- "name": "ପାରମà­à¬ªà¬°à¬¿à¬• ଚାଇନୀଜà­"
+ "name": "ପାରମà­à¬ªà¬°à¬¿à¬• ଚାଇନିଜà­â€Œ"
+ },
+ "fy": {
+ "name": "ପାଶà­à¬šà¬¾à¬¤à­à­Ÿ ଫà­à¬°à¬¿à¬¸à¬¿à¬†à¬¨à­"
},
"ps": {
"name": "ପାସà­à¬¤à­‹"
@@ -254,6 +344,12 @@
"pl": {
"name": "ପୋଲିଶà­"
},
+ "prg": {
+ "name": "ପà­à¬°à­à¬¸à¬¿à­Ÿ"
+ },
+ "fr": {
+ "name": "ଫରାସୀ"
+ },
"fo": {
"name": "ଫାରୋà¬à¬¸à­‡"
},
@@ -269,9 +365,6 @@
"fur": {
"name": "ଫà­à¬°à¬¿à­Ÿà­à¬²à­€à­Ÿà¬¾à¬¨à­"
},
- "fr": {
- "name": "ଫà­à¬°à­‡à¬žà­à¬š"
- },
"nl-BE": {
"name": "ଫà­à¬²à­‡à¬®à¬¿à¬¶à­"
},
@@ -281,6 +374,9 @@
"my": {
"name": "ବରà­à¬®à­€à¬œà­"
},
+ "ksf": {
+ "name": "ବାଫଲା"
+ },
"bm": {
"name": "ବାମà­à¬¬à¬¾à¬°à¬¾"
},
@@ -293,17 +389,23 @@
"bg": {
"name": "ବà­à¬²à¬—େରିଆନà­"
},
+ "bez": {
+ "name": "ବେନା"
+ },
"bem": {
"name": "ବେମà­à¬¬à¬¾"
},
"be": {
"name": "ବେଲାରà­à¬·à¬¿à¬†à¬¨à­"
},
+ "brx": {
+ "name": "ବୋଡୋ"
+ },
"vo": {
"name": "ବୋଲାପà­à¬•"
},
"en-GB": {
- "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­ ଇà¬à¬°à¬¾à¬œà­€"
+ "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­â€Œ ଇଂରାଜୀ"
},
"br": {
"name": "ବà­à¬°à­‡à¬Ÿà¬¨à­"
@@ -314,11 +416,14 @@
"vi": {
"name": "ଭିà¬à¬¤à¬¨à¬¾à¬®à¬¿à¬œà­"
},
- "dz": {
- "name": "ଭୂଟାନୀ"
+ "vun": {
+ "name": "ଭà­à¬¨à¬œà­‹"
+ },
+ "mgh": {
+ "name": "ମଖà­à­±à¬¾-ମେଟà­à¬Ÿà¬¾"
},
"mn": {
- "name": "ମଙà­à¬—ୋଲିଆନà­"
+ "name": "ମଙà­à¬—ୋଳିୟ"
},
"mr": {
"name": "ମରାଠୀ"
@@ -326,8 +431,17 @@
"gv": {
"name": "ମାà¬à¬•à­à¬¸"
},
- "mk": {
- "name": "ମାକଡୋନିଆନà­"
+ "kde": {
+ "name": "ମାକୋଣà­à¬¡à­‡"
+ },
+ "jmc": {
+ "name": "ମାଚେମେ"
+ },
+ "mzn": {
+ "name": "ମାଜାନଡେରାନି"
+ },
+ "zgh": {
+ "name": "ମାନାଙà­à¬• ମରୋକିୟ ତାମାଜିଘାଟà­"
},
"mt": {
"name": "ମାଲଟୀଜà­"
@@ -344,11 +458,29 @@
"mas": {
"name": "ମାସାଇ"
},
+ "mk": {
+ "name": "ମାସେଡୋନିଆନà­"
+ },
+ "mua": {
+ "name": "ମà­à¬¨à¬¡à¬¾à¬‚"
+ },
+ "es-MX": {
+ "name": "ମେକà­à¬¸à¬¿à¬•à¬¾à¬¨ ସà­à¬ªà¬¾à¬¨à¬¿à¬¸à­â€Œ"
+ },
+ "mgo": {
+ "name": "ମେଟା"
+ },
+ "mer": {
+ "name": "ମେରà­"
+ },
+ "mfe": {
+ "name": "ମୋରିସୟେନà­"
+ },
"ro-MD": {
"name": "ମୋଲଡୋଭିଆନà­"
},
- "sah": {
- "name": "ୟାକà­à¬Ÿà­"
+ "yav": {
+ "name": "ୟାଂବେନà­"
},
"yi": {
"name": "ୟିଡିସà­"
@@ -359,30 +491,42 @@
"ug": {
"name": "à­Ÿà­à¬˜à­à¬°à­"
},
+ "pt-PT": {
+ "name": "à­Ÿà­à¬°à­‹à¬ªà­€à­Ÿ ପରà­à¬¤à­à¬¤à­à¬—ୀଜà­â€Œ"
+ },
"yo": {
"name": "ୟୋରà­à¬¬à¬¾"
},
- "ru": {
- "name": "ରଷିଆନà­"
- },
"rn": {
"name": "ରà­à¬£à­à¬¡à¬¿"
},
+ "ru": {
+ "name": "ରà­à¬·à¬¿à­Ÿ"
+ },
"rm": {
- "name": "ରେହେଟୋ-ରୋମାନà­à¬¸"
+ "name": "ରୋମାନଶà­â€Œ"
},
"ro": {
"name": "ରୋମାନିଆନà­"
},
+ "rof": {
+ "name": "ରୋମà­à¬¬à­‹"
+ },
"lb": {
"name": "ଲକà­à¬¸à­‡à¬®à¬¬à¬°à­à¬—ିସà­"
},
"lo": {
"name": "ଲାଓ"
},
+ "lkt": {
+ "name": "ଲାକୋଟା"
+ },
"lv": {
"name": "ଲାଟଭିଆନà­"
},
+ "lag": {
+ "name": "ଲାନଗି"
+ },
"ln": {
"name": "ଲିଙà­à¬—ାଲା"
},
@@ -392,8 +536,8 @@
"luo": {
"name": "ଲà­à¬“"
},
- "pt-PT": {
- "name": "ଲେବେରିଆନୠପରà­à¬¤à­à¬¤à­à¬—ୀଜà­"
+ "luy": {
+ "name": "ଲà­à­Ÿà¬¿à¬†"
},
"nds": {
"name": "ଲୋ ଜରà­à¬®à¬¾à¬¨à­"
@@ -404,27 +548,57 @@
"lu": {
"name": "ଲà­à­Ÿà­à¬¬à¬¾-କାଟାଙà­à¬—ା"
},
+ "wae": {
+ "name": "ୱାଲସେରà­"
+ },
"cy": {
"name": "ୱେଲà­à¬¸"
},
+ "wo": {
+ "name": "ୱୋଲଫà­"
+ },
+ "ksb": {
+ "name": "ଶାମବାଲା"
+ },
"sn": {
"name": "ଶୋନା"
},
+ "saq": {
+ "name": "ସମବà­à¬°à­"
+ },
"zh-Hans": {
- "name": "ସରଳିକରଣ ଚାଇନୀଜà­"
+ "name": "ସରଳୀକୃତ ଚାଇନିଜà­â€Œ"
},
"sr": {
- "name": "ସରà­à¬¬à¬¿à¬†à¬¨à­"
+ "name": "ସରà­à¬¬à¬¿à­Ÿ"
+ },
+ "sah": {
+ "name": "ସାଖା"
},
"sg": {
"name": "ସାଙà­à¬—à­‹"
},
+ "sbp": {
+ "name": "ସାନଗà­"
+ },
"si": {
"name": "ସିଂହଳ"
},
"ii": {
"name": "ସିଚà­à¬†à¬¨à­ à­Ÿà­€"
},
+ "sd": {
+ "name": "ସିନà­à¬§à­€"
+ },
+ "gsw": {
+ "name": "ସà­à¬‡à¬¸à­ ଜରà­à¬®à¬¾à¬¨à­"
+ },
+ "seh": {
+ "name": "ସେନା"
+ },
+ "xog": {
+ "name": "ସୋଗା"
+ },
"so": {
"name": "ସୋମାଲିଆ"
},
@@ -432,19 +606,7 @@
"name": "ସà­à¬•à¬Ÿà¬¿à¬¸à­ ଗାà¬à¬²à¬¿à¬•à­"
},
"es": {
- "name": "ସà­à¬ªà¬¾à¬¨à¬¿à¬¸à­"
- },
- "es-MX": {
- "name": "ସà­à¬ªà¬¾à¬¨à¬¿à¬¸à­ (ମେକà­à¬¸à¬¿à¬•à­‹)"
- },
- "gsw": {
- "name": "ସà­à¬¬à¬¿à¬¸à­ ଜରà­à¬®à¬¾à¬¨à­"
- },
- "fr-CH": {
- "name": "ସà­à¬¬à¬¿à¬¸à­ ଫà­à¬°à­‡à¬žà­à¬šà­"
- },
- "de-CH": {
- "name": "ସà­à¬¬à¬¿à¬¸à­ ହାଇ ଜରà­à¬®à¬¾à¬¨à­"
+ "name": "ସà­à¬ªà­‡à¬¨à¬¿à­Ÿ"
},
"sk": {
"name": "ସà­à¬²à­‹à¬­à¬¾à¬•à­"
@@ -455,14 +617,17 @@
"sw": {
"name": "ସà­à­±à¬¾à¬¹à¬¿à¬²à­"
},
- "sw-CD": {
- "name": "ସà­à­±à¬¾à¬¹à¬¿à¬²à­ (କଙà­à¬—à­‹-କିନସାସା)"
+ "fr-CH": {
+ "name": "ସà­à­±à¬¿à¬¸à­ ଫà­à¬°à­‡à¬žà­à¬š"
+ },
+ "de-CH": {
+ "name": "ସà­à­±à¬¿à¬¸à­â€Œ ହାଇ ଜରà­à¬®à¬¾à¬¨"
},
"sv": {
"name": "ସà­à­±à­‡à¬¡à¬¿à¬¸à­"
},
"hu": {
- "name": "ହଙà­à¬—େରିଆନà­"
+ "name": "ହଙà­à¬—େରୀୟ"
},
"haw": {
"name": "ହାୱାଇନà­"
@@ -475,161 +640,5 @@
},
"ha": {
"name": "ହୌସା"
- },
- "agq": {
- "name": "Aghem"
- },
- "asa": {
- "name": "Asu"
- },
- "ksf": {
- "name": "Bafia"
- },
- "bez": {
- "name": "Bena"
- },
- "brx": {
- "name": "Bodo"
- },
- "yue": {
- "name": "Cantonese"
- },
- "tzm": {
- "name": "Central Atlas Tamazight"
- },
- "ckb": {
- "name": "Central Kurdish"
- },
- "cgg": {
- "name": "Chiga"
- },
- "ksh": {
- "name": "Colognian"
- },
- "ebu": {
- "name": "Embu"
- },
- "guz": {
- "name": "Gusii"
- },
- "dyo": {
- "name": "Jola-Fonyi"
- },
- "kea": {
- "name": "Kabuverdianu"
- },
- "kkj": {
- "name": "Kako"
- },
- "kln": {
- "name": "Kalenjin"
- },
- "khq": {
- "name": "Koyra Chiini"
- },
- "ses": {
- "name": "Koyraboro Senni"
- },
- "nmg": {
- "name": "Kwasio"
- },
- "lkt": {
- "name": "Lakota"
- },
- "lag": {
- "name": "Langi"
- },
- "luy": {
- "name": "Luyia"
- },
- "jmc": {
- "name": "Machame"
- },
- "mgh": {
- "name": "Makhuwa-Meetto"
- },
- "kde": {
- "name": "Makonde"
- },
- "mzn": {
- "name": "Mazanderani"
- },
- "mer": {
- "name": "Meru"
- },
- "mgo": {
- "name": "Metaʼ"
- },
- "mfe": {
- "name": "Morisyen"
- },
- "mua": {
- "name": "Mundang"
- },
- "naq": {
- "name": "Nama"
- },
- "nnh": {
- "name": "Ngiemboon"
- },
- "jgo": {
- "name": "Ngomba"
- },
- "lrc": {
- "name": "Northern Luri"
- },
- "nus": {
- "name": "Nuer"
- },
- "prg": {
- "name": "Prussian"
- },
- "rof": {
- "name": "Rombo"
- },
- "rwk": {
- "name": "Rwa"
- },
- "saq": {
- "name": "Samburu"
- },
- "sbp": {
- "name": "Sangu"
- },
- "seh": {
- "name": "Sena"
- },
- "ksb": {
- "name": "Shambala"
- },
- "xog": {
- "name": "Soga"
- },
- "zgh": {
- "name": "Standard Moroccan Tamazight"
- },
- "shi": {
- "name": "Tachelhit"
- },
- "dav": {
- "name": "Taita"
- },
- "twq": {
- "name": "Tasawaq"
- },
- "teo": {
- "name": "Teso"
- },
- "vun": {
- "name": "Vunjo"
- },
- "wae": {
- "name": "Walser"
- },
- "yav": {
- "name": "Yangben"
- },
- "dje": {
- "name": "Zarma"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/os.json b/vendor/commerceguys/intl/resources/language/os.json
index 3973e0b8d..dca8bbdc5 100644
--- a/vendor/commerceguys/intl/resources/language/os.json
+++ b/vendor/commerceguys/intl/resources/language/os.json
@@ -50,9 +50,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -377,6 +374,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -413,12 +413,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -479,6 +485,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/pa.json b/vendor/commerceguys/intl/resources/language/pa.json
index fe68c363a..79189a2b8 100644
--- a/vendor/commerceguys/intl/resources/language/pa.json
+++ b/vendor/commerceguys/intl/resources/language/pa.json
@@ -134,9 +134,6 @@
"sw": {
"name": "ਸਵਾਹਿਲੀ"
},
- "sw-CD": {
- "name": "ਸਵਾਹਿਲੀ (ਕਾਂਗੋ - ਕਿੰਸ਼ਾਸਾ)"
- },
"sv": {
"name": "ਸਵੀਡਿਸ਼"
},
@@ -152,6 +149,9 @@
"ii": {
"name": "ਸਿਚà©à¨†à¨¨ ਯੀ"
},
+ "sd": {
+ "name": "ਸਿੰਧੀ"
+ },
"sbp": {
"name": "ਸੇਂਗੋ"
},
@@ -218,6 +218,9 @@
"kkj": {
"name": "ਕਾਕੋ"
},
+ "sw-CD": {
+ "name": "ਕਾਂਗੋ ਸਵਾਇਲੀ"
+ },
"kea": {
"name": "ਕਾਬà©à¨µà©‡à¨°à¨¦à¨¿à¨†à¨¨à©‚"
},
@@ -236,9 +239,6 @@
"ca": {
"name": "ਕੈਟਾਲਾਨ"
},
- "yue": {
- "name": "ਕੈਂਟੋਨੀਜ਼"
- },
"ses": {
"name": "ਕੋਇਰਾਬੋਰੋ ਸੇਂਨੀ"
},
@@ -344,12 +344,18 @@
"da": {
"name": "ਡੈਨਿਸ਼"
},
+ "tt": {
+ "name": "ਤਤਾਰ"
+ },
"ta": {
"name": "ਤਮਿਲ"
},
"twq": {
"name": "ਤਾਸਾਵਿਕ"
},
+ "tg": {
+ "name": "ਤਾਜਿਕ"
+ },
"ti": {
"name": "ਤਿਗà©à¨°à©€à¨¨à¨¿à¨†"
},
@@ -631,5 +637,8 @@
},
"vo": {
"name": "ਵੋਲਾਪੂਕ"
+ },
+ "wo": {
+ "name": "ਵੋਲੋਫ"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pl.json b/vendor/commerceguys/intl/resources/language/pl.json
index 25452b44e..0e45aca94 100644
--- a/vendor/commerceguys/intl/resources/language/pl.json
+++ b/vendor/commerceguys/intl/resources/language/pl.json
@@ -263,9 +263,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantoński"
- },
"ks": {
"name": "kaszmirski"
},
@@ -509,6 +506,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"sk": {
"name": "słowacki"
},
@@ -545,9 +545,15 @@
"gsw": {
"name": "szwajcarski niemiecki"
},
+ "de-CH": {
+ "name": "szwajcarski wysokoniemiecki"
+ },
"sv": {
"name": "szwedzki"
},
+ "tg": {
+ "name": "tadżycki"
+ },
"dav": {
"name": "taita"
},
@@ -566,6 +572,9 @@
"shi": {
"name": "tashelhiyt"
},
+ "tt": {
+ "name": "tatarski"
+ },
"te": {
"name": "telugu"
},
@@ -620,8 +629,8 @@
"vo": {
"name": "wolapik"
},
- "de-CH": {
- "name": "wysokoniemiecki (Szwajcaria)"
+ "wo": {
+ "name": "wolof"
},
"yav": {
"name": "yangben"
diff --git a/vendor/commerceguys/intl/resources/language/ps.json b/vendor/commerceguys/intl/resources/language/ps.json
index 3a79f9815..616184b0a 100644
--- a/vendor/commerceguys/intl/resources/language/ps.json
+++ b/vendor/commerceguys/intl/resources/language/ps.json
@@ -1,12 +1,39 @@
{
- "as": {
- "name": "آسامي"
+ "de-AT": {
+ "name": "آسترالیا آلمان"
+ },
+ "az": {
+ "name": "اذربایجاني"
},
"hy": {
"name": "ارمني"
},
- "uz": {
- "name": "ازبکي"
+ "pt-PT": {
+ "name": "اروپايي پرتګالي"
+ },
+ "as": {
+ "name": "اسامي"
+ },
+ "eo": {
+ "name": "اسپرانتو"
+ },
+ "ast": {
+ "name": "استورياني"
+ },
+ "asa": {
+ "name": "اسويي"
+ },
+ "agq": {
+ "name": "اغیمي"
+ },
+ "af": {
+ "name": "اÙریکانسي"
+ },
+ "ak": {
+ "name": "اکاني"
+ },
+ "ig": {
+ "name": "اګبو"
},
"sq": {
"name": "الباني"
@@ -14,15 +41,15 @@
"de": {
"name": "الماني"
},
- "de-AT": {
- "name": "الماني (اتریش)"
- },
- "de-CH": {
- "name": "الماني (سویس)"
- },
"am": {
"name": "امهاري"
},
+ "smn": {
+ "name": "اناري سميع"
+ },
+ "id": {
+ "name": "انډونÛزي"
+ },
"en": {
"name": "انګریزي"
},
@@ -35,598 +62,580 @@
"en-AU": {
"name": "انګریزي (AU)"
},
- "it": {
- "name": "ایټالوي"
- },
- "eu": {
- "name": "باسکي"
- },
- "bg": {
- "name": "بلغاري"
- },
- "bs": {
- "name": "بوسني"
- },
- "be": {
- "name": "بÛلاروسي"
+ "or": {
+ "name": "اوڊيا"
},
- "ps": {
- "name": "پښتو"
+ "om": {
+ "name": "اورومو"
},
- "pt": {
- "name": "پورتګالي"
+ "uz": {
+ "name": "اوزبکي"
},
- "pt-PT": {
- "name": "پورتګالي (پورتګال)"
+ "os": {
+ "name": "اوسیٹک"
},
- "pl": {
- "name": "پولنډي"
+ "uk": {
+ "name": "اوکرانايي"
},
- "tk": {
- "name": "ترکمني"
+ "ewo": {
+ "name": "اوونڊو"
},
- "ja": {
- "name": "جاپانی"
+ "ug": {
+ "name": "اويغوري"
},
- "zh": {
- "name": "چیني"
+ "it": {
+ "name": "ایټالوي"
},
- "zh-Hans": {
- "name": "چیني (Hans)"
+ "is": {
+ "name": "ايسلنډي"
},
- "zh-Hant": {
- "name": "چیني (Hant)"
+ "ebu": {
+ "name": "ایمو"
},
- "et": {
- "name": "حبشي"
+ "ee": {
+ "name": "ايو"
},
- "ru": {
- "name": "روسي"
+ "ga": {
+ "name": "ائيرلÛÙ†Ú‰ÙŠ"
},
- "sv": {
- "name": "سویډنی"
+ "bas": {
+ "name": "باسا"
},
- "he": {
- "name": "عبري"
+ "eu": {
+ "name": "باسکي"
},
- "ar": {
- "name": "عربي"
+ "bm": {
+ "name": "بامره"
},
- "fa": {
- "name": "Ùارسي"
+ "my": {
+ "name": "برمایی"
},
- "fr": {
- "name": "Ùرانسوي"
+ "br": {
+ "name": "برÛتون"
},
- "fr-CH": {
- "name": "Ùرانسوي (سویس)"
+ "ksf": {
+ "name": "بÙیا"
},
- "fr-CA": {
- "name": "Ùرانسوي (کاناډا)"
+ "bg": {
+ "name": "بلغاري"
},
- "fi": {
- "name": "Ùینلنډي"
+ "bn": {
+ "name": "بنگالي"
},
- "mn": {
- "name": "مغولي"
+ "brx": {
+ "name": "بودو"
},
- "mk": {
- "name": "مقدوني"
+ "bs": {
+ "name": "بوسني"
},
- "ms": {
- "name": "ملایا"
+ "bem": {
+ "name": "بیبا"
},
- "mg": {
- "name": "ملغاسي"
+ "be": {
+ "name": "بÛلاروسي"
},
- "ne": {
- "name": "Ù†Ûپالي"
+ "bez": {
+ "name": "بينا"
},
- "nl": {
- "name": "هالÛÙ†Ú‰ÙŠ"
+ "prg": {
+ "name": "پروشين"
},
- "nl-BE": {
- "name": "هالÛÙ†Ú‰ÙŠ (BE)"
+ "ps": {
+ "name": "پښتو"
},
- "hi": {
- "name": "هندي"
+ "pa": {
+ "name": "پنجابي"
},
- "el": {
- "name": "یوناني"
+ "pt": {
+ "name": "پورتګالي"
},
- "af": {
- "name": "Afrikaans"
+ "hsb": {
+ "name": "پورته صربي"
},
- "agq": {
- "name": "Aghem"
+ "pl": {
+ "name": "پولنډي"
},
- "ak": {
- "name": "Akan"
+ "tt": {
+ "name": "تاتار"
},
- "ast": {
- "name": "Asturian"
+ "tg": {
+ "name": "تاجکي"
},
- "asa": {
- "name": "Asu"
+ "shi": {
+ "name": "تاکلهیټ"
},
- "az": {
- "name": "Azerbaijani"
+ "ta": {
+ "name": "تامیل"
},
- "ksf": {
- "name": "Bafia"
+ "th": {
+ "name": "تايلÛÙ†Ú‰ÙŠ"
},
- "bm": {
- "name": "Bambara"
+ "bo": {
+ "name": "تبتي"
},
- "bn": {
- "name": "Bangla"
+ "tk": {
+ "name": "ترکمني"
},
- "bas": {
- "name": "Basaa"
+ "tr": {
+ "name": "ترکي"
},
- "bem": {
- "name": "Bemba"
+ "twq": {
+ "name": "تساواق"
},
- "bez": {
- "name": "Bena"
+ "to": {
+ "name": "تونګان"
},
- "brx": {
- "name": "Bodo"
+ "teo": {
+ "name": "تیسو"
},
- "br": {
- "name": "Breton"
+ "ti": {
+ "name": "تيګريني"
},
- "my": {
- "name": "Burmese"
+ "te": {
+ "name": "تÛليګو"
},
- "yue": {
- "name": "Cantonese"
+ "dav": {
+ "name": "ټایټا"
},
- "ca": {
- "name": "Catalan"
+ "ja": {
+ "name": "جاپاني"
},
- "tzm": {
- "name": "Central Atlas Tamazight"
+ "ka": {
+ "name": "جورجيائي"
},
- "ckb": {
- "name": "Central Kurdish"
+ "dyo": {
+ "name": "جولا Ùوني"
},
"ce": {
- "name": "Chechen"
+ "name": "چيچيني"
},
"chr": {
- "name": "Cherokee"
+ "name": "Ú†Ûروکي"
},
- "cgg": {
- "name": "Chiga"
+ "cs": {
+ "name": "Ú†ÛÚ©ÙŠ"
},
- "cu": {
- "name": "Church Slavic"
+ "cgg": {
+ "name": "چيگايي"
},
- "ksh": {
- "name": "Colognian"
+ "zh": {
+ "name": "چیني"
},
- "kw": {
- "name": "Cornish"
+ "et": {
+ "name": "حبشي"
},
- "hr": {
- "name": "Croatian"
+ "km": {
+ "name": "خمر"
},
- "cs": {
- "name": "Czech"
+ "cu": {
+ "name": "د کليسا سلاوي"
},
"da": {
- "name": "Danish"
+ "name": "دانمارکي"
},
"dua": {
- "name": "Duala"
- },
- "dz": {
- "name": "Dzongkha"
+ "name": "دوالا"
},
- "ebu": {
- "name": "Embu"
- },
- "es-MX": {
- "name": "es (MX)"
- },
- "eo": {
- "name": "Esperanto"
+ "zh-Hant": {
+ "name": "دوديزه چيني"
},
- "ee": {
- "name": "Ewe"
+ "ru": {
+ "name": "روسي"
},
- "ewo": {
- "name": "Ewondo"
+ "rm": {
+ "name": "رومانش"
},
- "fo": {
- "name": "Faroese"
+ "ro": {
+ "name": "روماني"
},
- "fil": {
- "name": "Filipino"
+ "ro-MD": {
+ "name": "روماني (مولدوا)"
},
- "fur": {
- "name": "Friulian"
+ "rof": {
+ "name": "رومبو"
},
- "ff": {
- "name": "Fulah"
+ "rn": {
+ "name": "رونډی"
},
- "gl": {
- "name": "Galician"
+ "dje": {
+ "name": "زرما"
},
- "lg": {
- "name": "Ganda"
+ "zu": {
+ "name": "زولو"
},
- "ka": {
- "name": "Georgian"
+ "dz": {
+ "name": "ژونگکه"
},
- "gu": {
- "name": "Gujarati"
+ "zh-Hans": {
+ "name": "ساده چيني"
},
- "guz": {
- "name": "Gusii"
+ "sg": {
+ "name": "سانګو"
},
- "ha": {
- "name": "Hausa"
+ "sbp": {
+ "name": "سانګوو"
},
- "haw": {
- "name": "Hawaiian"
+ "sah": {
+ "name": "سخا"
},
- "hu": {
- "name": "Hungarian"
+ "sr": {
+ "name": "سربيائي"
},
- "is": {
- "name": "Icelandic"
+ "gd": {
+ "name": "سکاټلÛÙ†Ú‰ÙŠ Ú«ÛÙ„Ú©"
},
- "ig": {
- "name": "Igbo"
+ "sk": {
+ "name": "سلوواکي"
},
- "smn": {
- "name": "Inari Sami"
+ "sl": {
+ "name": "سلوواني"
},
- "id": {
- "name": "Indonesian"
+ "saq": {
+ "name": "سمبورو"
},
- "ga": {
- "name": "Irish"
+ "sd": {
+ "name": "سندهي"
},
- "dyo": {
- "name": "Jola-Fonyi"
+ "sw": {
+ "name": "سواهÛلي"
},
- "kea": {
- "name": "Kabuverdianu"
+ "sw-CD": {
+ "name": "سواهÛلي (کانګو - کینشاسا)"
},
- "kab": {
- "name": "Kabyle"
+ "xog": {
+ "name": "سوګا"
},
- "kkj": {
- "name": "Kako"
+ "so": {
+ "name": "سومالي"
},
- "kl": {
- "name": "Kalaallisut"
+ "sv": {
+ "name": "سویډنی"
},
- "kln": {
- "name": "Kalenjin"
+ "gsw": {
+ "name": "سویس جرمن"
},
- "kam": {
- "name": "Kamba"
+ "fr-CH": {
+ "name": "سویس Ùرانسي"
},
- "kn": {
- "name": "Kannada"
+ "de-CH": {
+ "name": "سوئس لوی جرمن"
},
- "ks": {
- "name": "Kashmiri"
+ "ii": {
+ "name": "سیچیان یی"
},
- "kk": {
- "name": "Kazakh"
+ "seh": {
+ "name": "سینا"
},
- "km": {
- "name": "Khmer"
+ "si": {
+ "name": "سينهالي"
},
- "ki": {
- "name": "Kikuyu"
+ "se": {
+ "name": "شمالي سامي"
},
- "rw": {
- "name": "Kinyarwanda"
+ "lrc": {
+ "name": "شمالي لوری"
},
- "kok": {
- "name": "Konkani"
+ "nd": {
+ "name": "شمالي نديبل"
},
- "ko": {
- "name": "Korean"
+ "ksb": {
+ "name": "شمبلا"
},
- "khq": {
- "name": "Koyra Chiini"
+ "sn": {
+ "name": "شونا"
},
- "ses": {
- "name": "Koyraboro Senni"
+ "he": {
+ "name": "عبري"
},
- "nmg": {
- "name": "Kwasio"
+ "ar": {
+ "name": "عربي"
},
- "ky": {
- "name": "Kyrgyz"
+ "fa": {
+ "name": "Ùارسي"
},
- "lkt": {
- "name": "Lakota"
+ "fo": {
+ "name": "ÙاروئÛ"
},
- "lag": {
- "name": "Langi"
+ "fr": {
+ "name": "Ùرانسوي"
},
- "lo": {
- "name": "Lao"
+ "fur": {
+ "name": "Ùرائیلیین"
},
- "lv": {
- "name": "Latvian"
+ "fy": {
+ "name": "Ùريزي"
},
- "ln": {
- "name": "Lingala"
+ "ff": {
+ "name": "ÙلاحÛ"
},
- "lt": {
- "name": "Lithuanian"
+ "fil": {
+ "name": "Ùلیپیني"
},
- "dsb": {
- "name": "Lower Sorbian"
+ "nl-BE": {
+ "name": "ÙÙ„ÛÙ…Ûشي"
},
- "lu": {
- "name": "Luba-Katanga"
+ "fi": {
+ "name": "Ùینلنډي"
},
- "luo": {
- "name": "Luo"
+ "kk": {
+ "name": "قازق"
},
- "lb": {
- "name": "Luxembourgish"
+ "kea": {
+ "name": "کابوورډیانو"
},
- "luy": {
- "name": "Luyia"
+ "kkj": {
+ "name": "کاکو"
},
- "jmc": {
- "name": "Machame"
+ "kam": {
+ "name": "کامبا"
},
- "mgh": {
- "name": "Makhuwa-Meetto"
+ "fr-CA": {
+ "name": "کاناډا Ùرانسي"
},
- "kde": {
- "name": "Makonde"
+ "ca": {
+ "name": "کټلاني"
},
- "ml": {
- "name": "Malayalam"
+ "ky": {
+ "name": "کرګيز"
},
- "mt": {
- "name": "Maltese"
+ "kw": {
+ "name": "کرونيشي"
},
- "gv": {
- "name": "Manx"
+ "hr": {
+ "name": "کروواسي"
},
- "mr": {
- "name": "Marathi"
+ "ks": {
+ "name": "کشمیري"
},
- "mas": {
- "name": "Masai"
+ "ki": {
+ "name": "ککوؤو"
},
- "mzn": {
- "name": "Mazanderani"
+ "kl": {
+ "name": "کلالیسٹ"
},
- "mer": {
- "name": "Meru"
+ "kln": {
+ "name": "کلینجن"
},
- "mgo": {
- "name": "Metaʼ"
+ "kn": {
+ "name": "کنأډه"
},
- "mfe": {
- "name": "Morisyen"
+ "kok": {
+ "name": "کنکني"
},
- "mua": {
- "name": "Mundang"
+ "nmg": {
+ "name": "کواسیو"
},
- "naq": {
- "name": "Nama"
+ "ko": {
+ "name": "کوریایی"
},
- "nds-NL": {
- "name": "nds (هالÛÙ†Ú‰)"
+ "ksh": {
+ "name": "کولوگنيسي"
},
- "nnh": {
- "name": "Ngiemboon"
+ "khq": {
+ "name": "کویرا چینی"
},
- "jgo": {
- "name": "Ngomba"
+ "ses": {
+ "name": "کوییرابورو سینی"
},
- "nd": {
- "name": "North Ndebele"
+ "kab": {
+ "name": "کیبیل"
},
- "lrc": {
- "name": "Northern Luri"
+ "qu": {
+ "name": "Ú©Ûچوا"
},
- "se": {
- "name": "Northern Sami"
+ "rw": {
+ "name": "کینیارونډا"
},
- "nb": {
- "name": "Norwegian Bokmål"
+ "lg": {
+ "name": "ګانده"
},
- "nn": {
- "name": "Norwegian Nynorsk"
+ "gu": {
+ "name": "ګجراتي"
},
- "nus": {
- "name": "Nuer"
+ "gl": {
+ "name": "Ú«Ù„Ûشيايي"
},
- "nyn": {
- "name": "Nyankole"
+ "guz": {
+ "name": "ګوسي"
},
- "or": {
- "name": "Odia"
+ "lo": {
+ "name": "لاو"
},
- "om": {
- "name": "Oromo"
+ "lkt": {
+ "name": "لکټو"
},
- "os": {
- "name": "Ossetic"
+ "ln": {
+ "name": "لنگلا"
},
- "prg": {
- "name": "Prussian"
+ "lag": {
+ "name": "لنګی"
},
- "pa": {
- "name": "Punjabi"
+ "luo": {
+ "name": "لو"
},
- "qu": {
- "name": "Quechua"
+ "lu": {
+ "name": "لوبا-کټنګا"
},
- "ro-MD": {
- "name": "ro (MD)"
+ "dsb": {
+ "name": "Ù„ÙˆÚ“Û Ø³Ø±Ø¨ÙŠ"
},
- "ro": {
- "name": "Romanian"
+ "lb": {
+ "name": "لوګزامبورګي"
},
- "rm": {
- "name": "Romansh"
+ "luy": {
+ "name": "لویا"
},
- "rof": {
- "name": "Rombo"
+ "lt": {
+ "name": "ليتواني"
},
- "rn": {
- "name": "Rundi"
+ "lv": {
+ "name": "Ù„Ûټواني"
},
- "rwk": {
- "name": "Rwa"
+ "jmc": {
+ "name": "ماچمی"
},
- "sah": {
- "name": "Sakha"
+ "mfe": {
+ "name": "ماریسیسن"
},
- "saq": {
- "name": "Samburu"
+ "mas": {
+ "name": "ماسائي"
},
- "sg": {
- "name": "Sango"
+ "kde": {
+ "name": "ماکډون"
},
- "sbp": {
- "name": "Sangu"
+ "ml": {
+ "name": "مالايالم"
},
- "gd": {
- "name": "Scottish Gaelic"
+ "mt": {
+ "name": "مالټايي"
},
- "seh": {
- "name": "Sena"
+ "mr": {
+ "name": "مراټهي"
},
- "sr": {
- "name": "Serbian"
+ "tzm": {
+ "name": "مرکزی اطلس تمازائيٹ"
},
- "ksb": {
- "name": "Shambala"
+ "mzn": {
+ "name": "مزاندراني"
},
- "sn": {
- "name": "Shona"
+ "zgh": {
+ "name": "معياري مراکش تمازټیټ"
},
- "ii": {
- "name": "Sichuan Yi"
+ "mk": {
+ "name": "مقدوني"
},
- "si": {
- "name": "Sinhala"
+ "es-MX": {
+ "name": "مکسیکو اسپانوی"
},
- "sk": {
- "name": "Slovak"
+ "mgh": {
+ "name": "مکھوامیتو"
},
- "sl": {
- "name": "Slovenian"
+ "ms": {
+ "name": "ملایا"
},
- "xog": {
- "name": "Soga"
+ "mg": {
+ "name": "ملغاسي"
},
- "so": {
- "name": "Somali"
+ "ckb": {
+ "name": "منÚÙ†Û Ú©ÙˆØ±Ø¯ÙŠ"
},
- "es": {
- "name": "Spanish"
+ "mua": {
+ "name": "مندانګ"
},
- "zgh": {
- "name": "Standard Moroccan Tamazight"
+ "mn": {
+ "name": "منګولیایی"
},
- "sw-CD": {
- "name": "sw (CD)"
+ "mgo": {
+ "name": "ميټا"
},
- "sw": {
- "name": "Swahili"
+ "mer": {
+ "name": "ميرو"
},
- "gsw": {
- "name": "Swiss German"
+ "gv": {
+ "name": "مینکس"
},
- "shi": {
- "name": "Tachelhit"
+ "nb": {
+ "name": "Ù†Ø§Ø±ÙˆÛ Ø¨ÙˆÚ©Ù…Ø§Ù„"
},
- "dav": {
- "name": "Taita"
+ "nn": {
+ "name": "ناروÛئي (نائنورسک)"
},
- "ta": {
- "name": "Tamil"
+ "naq": {
+ "name": "ناما"
},
- "twq": {
- "name": "Tasawaq"
+ "nnh": {
+ "name": "نایجیمون"
},
- "te": {
- "name": "Telugu"
+ "jgo": {
+ "name": "نګبا"
},
- "teo": {
- "name": "Teso"
+ "nus": {
+ "name": "نویر"
},
- "th": {
- "name": "Thai"
+ "ne": {
+ "name": "Ù†Ûپالي"
},
- "bo": {
- "name": "Tibetan"
+ "nyn": {
+ "name": "نینکول"
},
- "ti": {
- "name": "Tigrinya"
+ "nl": {
+ "name": "هالÛÙ†Ú‰ÙŠ"
},
- "to": {
- "name": "Tongan"
+ "es": {
+ "name": "هسپانوي"
},
- "tr": {
- "name": "Turkish"
+ "hi": {
+ "name": "هندي"
},
- "uk": {
- "name": "Ukrainian"
+ "hu": {
+ "name": "هنگري"
},
- "hsb": {
- "name": "Upper Sorbian"
+ "haw": {
+ "name": "هوایی"
},
- "ur": {
- "name": "Urdu"
+ "ha": {
+ "name": "هوسا"
},
- "ug": {
- "name": "Uyghur"
+ "vo": {
+ "name": "والاپوک"
},
"vai": {
- "name": "Vai"
+ "name": "وای"
},
- "vi": {
- "name": "Vietnamese"
+ "wae": {
+ "name": "ولسیر"
},
- "vo": {
- "name": "Volapük"
+ "wo": {
+ "name": "ولوÙ"
},
"vun": {
- "name": "Vunjo"
+ "name": "وونجو"
},
- "wae": {
- "name": "Walser"
+ "vi": {
+ "name": "ÙˆÛتنامي"
},
"cy": {
- "name": "Welsh"
+ "name": "ويلشي"
},
- "fy": {
- "name": "Western Frisian"
+ "yi": {
+ "name": "يديش"
},
"yav": {
- "name": "Yangben"
- },
- "yi": {
- "name": "Yiddish"
+ "name": "ینګبین"
},
"yo": {
- "name": "Yoruba"
+ "name": "یوروبا"
},
- "dje": {
- "name": "Zarma"
+ "el": {
+ "name": "یوناني"
},
- "zu": {
- "name": "Zulu"
+ "nds-NL": {
+ "name": "nds (هالÛÙ†Ú‰)"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "ur": {
+ "name": "Urdu"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/pt-AO.json b/vendor/commerceguys/intl/resources/language/pt-AO.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-AO.json
+++ b/vendor/commerceguys/intl/resources/language/pt-AO.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-CH.json b/vendor/commerceguys/intl/resources/language/pt-CH.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-CH.json
+++ b/vendor/commerceguys/intl/resources/language/pt-CH.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-CV.json b/vendor/commerceguys/intl/resources/language/pt-CV.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-CV.json
+++ b/vendor/commerceguys/intl/resources/language/pt-CV.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-GQ.json b/vendor/commerceguys/intl/resources/language/pt-GQ.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-GQ.json
+++ b/vendor/commerceguys/intl/resources/language/pt-GQ.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-GW.json b/vendor/commerceguys/intl/resources/language/pt-GW.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-GW.json
+++ b/vendor/commerceguys/intl/resources/language/pt-GW.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-LU.json b/vendor/commerceguys/intl/resources/language/pt-LU.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-LU.json
+++ b/vendor/commerceguys/intl/resources/language/pt-LU.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-MO.json b/vendor/commerceguys/intl/resources/language/pt-MO.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-MO.json
+++ b/vendor/commerceguys/intl/resources/language/pt-MO.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-MZ.json b/vendor/commerceguys/intl/resources/language/pt-MZ.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-MZ.json
+++ b/vendor/commerceguys/intl/resources/language/pt-MZ.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-PT.json b/vendor/commerceguys/intl/resources/language/pt-PT.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-PT.json
+++ b/vendor/commerceguys/intl/resources/language/pt-PT.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-ST.json b/vendor/commerceguys/intl/resources/language/pt-ST.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-ST.json
+++ b/vendor/commerceguys/intl/resources/language/pt-ST.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt-TL.json b/vendor/commerceguys/intl/resources/language/pt-TL.json
index 55b7c2234..2c57c321c 100644
--- a/vendor/commerceguys/intl/resources/language/pt-TL.json
+++ b/vendor/commerceguys/intl/resources/language/pt-TL.json
@@ -98,9 +98,6 @@
"kn": {
"name": "canarim"
},
- "yue": {
- "name": "cantonês"
- },
"ca": {
"name": "catalão"
},
@@ -320,9 +317,6 @@
"km": {
"name": "khmer"
},
- "rw": {
- "name": "kinyarwanda"
- },
"ksh": {
"name": "kölsch"
},
@@ -485,6 +479,9 @@
"ki": {
"name": "quicuio"
},
+ "rw": {
+ "name": "quiniaruanda"
+ },
"ky": {
"name": "quirguiz"
},
@@ -536,6 +533,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"xog": {
"name": "soga"
},
@@ -563,6 +563,9 @@
"dav": {
"name": "taita"
},
+ "tg": {
+ "name": "tajique"
+ },
"tzm": {
"name": "tamazight do Atlas Central"
},
@@ -575,6 +578,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -602,6 +608,9 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uólofe"
+ },
"ur": {
"name": "urdu"
},
diff --git a/vendor/commerceguys/intl/resources/language/pt.json b/vendor/commerceguys/intl/resources/language/pt.json
index c28da7812..a6d85790e 100644
--- a/vendor/commerceguys/intl/resources/language/pt.json
+++ b/vendor/commerceguys/intl/resources/language/pt.json
@@ -99,10 +99,7 @@
"name": "búlgaro"
},
"kn": {
- "name": "canarês"
- },
- "yue": {
- "name": "cantonês"
+ "name": "canarim"
},
"ca": {
"name": "catalão"
@@ -146,6 +143,9 @@
"hr": {
"name": "croata"
},
+ "ckb": {
+ "name": "curdo central"
+ },
"da": {
"name": "dinamarquês"
},
@@ -257,11 +257,8 @@
"hu": {
"name": "húngaro"
},
- "sah": {
- "name": "iacuto"
- },
"ig": {
- "name": "ibo"
+ "name": "igbo"
},
"yi": {
"name": "iídiche"
@@ -396,7 +393,7 @@
"name": "manx"
},
"mr": {
- "name": "marata"
+ "name": "marati"
},
"mas": {
"name": "massai"
@@ -429,7 +426,7 @@
"name": "ndebele do norte"
},
"ne": {
- "name": "nepali"
+ "name": "nepalês"
},
"nnh": {
"name": "ngiemboon"
@@ -447,7 +444,7 @@
"name": "nynorsk norueguês"
},
"or": {
- "name": "oriya"
+ "name": "oriá"
},
"om": {
"name": "oromo"
@@ -506,6 +503,9 @@
"rwk": {
"name": "rwa"
},
+ "sah": {
+ "name": "sakha"
+ },
"saq": {
"name": "samburu"
},
@@ -530,18 +530,15 @@
"ksb": {
"name": "shambala"
},
- "sn": {
- "name": "shona"
- },
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindi"
+ },
"so": {
"name": "somali"
},
- "ckb": {
- "name": "sorâni curdo"
- },
"sw": {
"name": "suaíli"
},
@@ -554,6 +551,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadjique"
+ },
"th": {
"name": "tailandês"
},
@@ -561,14 +561,17 @@
"name": "taita"
},
"tzm": {
- "name": "tamazight do Atlas Central"
+ "name": "tamazirte do Atlas Central"
},
"zgh": {
- "name": "tamazight marroquino padrão"
+ "name": "tamazirte marroqino padrão"
},
"ta": {
"name": "tâmil"
},
+ "tt": {
+ "name": "tártaro"
+ },
"twq": {
"name": "tasawaq"
},
@@ -576,7 +579,7 @@
"name": "tcheco"
},
"te": {
- "name": "telugu"
+ "name": "télugo"
},
"teo": {
"name": "teso"
@@ -585,7 +588,7 @@
"name": "tibetano"
},
"ti": {
- "name": "tigrínio"
+ "name": "tigrínia"
},
"to": {
"name": "tonganês"
@@ -602,11 +605,14 @@
"ug": {
"name": "uigur"
},
+ "wo": {
+ "name": "uolofe"
+ },
"ur": {
"name": "urdu"
},
"uz": {
- "name": "usbeque"
+ "name": "uzbeque"
},
"vai": {
"name": "Vai"
@@ -623,6 +629,9 @@
"wae": {
"name": "walser"
},
+ "sn": {
+ "name": "xona"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/qu.json b/vendor/commerceguys/intl/resources/language/qu.json
index 0e4cfe19f..e03cfc186 100644
--- a/vendor/commerceguys/intl/resources/language/qu.json
+++ b/vendor/commerceguys/intl/resources/language/qu.json
@@ -86,9 +86,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan Simi"
},
@@ -533,6 +530,9 @@
"sn": {
"name": "Shona"
},
+ "sd": {
+ "name": "Sindhi Simi"
+ },
"xog": {
"name": "Soga"
},
@@ -563,9 +563,15 @@
"ta": {
"name": "Tamil Simi"
},
+ "tt": {
+ "name": "Tartaro Simi"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tg": {
+ "name": "Tayiko Simi"
+ },
"te": {
"name": "Telugu Simi"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof Simi"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/rm.json b/vendor/commerceguys/intl/resources/language/rm.json
index d1366d1f2..fd5d8bda6 100644
--- a/vendor/commerceguys/intl/resources/language/rm.json
+++ b/vendor/commerceguys/intl/resources/language/rm.json
@@ -86,9 +86,6 @@
"km": {
"name": "cambodschan"
},
- "yue": {
- "name": "Cantonese"
- },
"kk": {
"name": "casac"
},
@@ -497,6 +494,9 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalais"
},
@@ -536,6 +536,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "tadjik"
+ },
"th": {
"name": "tailandais"
},
@@ -551,6 +554,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "tatar"
+ },
"te": {
"name": "telugu"
},
@@ -620,6 +626,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/rn.json b/vendor/commerceguys/intl/resources/language/rn.json
index 534927a56..5ade2c49d 100644
--- a/vendor/commerceguys/intl/resources/language/rn.json
+++ b/vendor/commerceguys/intl/resources/language/rn.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ro-MD.json b/vendor/commerceguys/intl/resources/language/ro-MD.json
index afb18b5ac..ab7595ede 100644
--- a/vendor/commerceguys/intl/resources/language/ro-MD.json
+++ b/vendor/commerceguys/intl/resources/language/ro-MD.json
@@ -71,9 +71,6 @@
"bg": {
"name": "bulgară"
},
- "yue": {
- "name": "cantoneză"
- },
"ks": {
"name": "cașmiră"
},
@@ -389,9 +386,6 @@
"mgo": {
"name": "meta’"
},
- "ro-MD": {
- "name": "moldovenească"
- },
"mn": {
"name": "mongolă"
},
@@ -432,7 +426,7 @@
"name": "nyankole"
},
"or": {
- "name": "oriya"
+ "name": "odia"
},
"om": {
"name": "oromo"
@@ -470,6 +464,9 @@
"ro": {
"name": "română"
},
+ "ro-MD": {
+ "name": "română (Republica Moldova)"
+ },
"rof": {
"name": "rombo"
},
@@ -512,8 +509,11 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
- "name": "singaleză"
+ "name": "singhaleză"
},
"cu": {
"name": "slavonă"
@@ -554,6 +554,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadjică"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tătară"
+ },
"te": {
"name": "telugu"
},
@@ -620,6 +626,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ro.json b/vendor/commerceguys/intl/resources/language/ro.json
index 725e07267..55ec7b7bc 100644
--- a/vendor/commerceguys/intl/resources/language/ro.json
+++ b/vendor/commerceguys/intl/resources/language/ro.json
@@ -71,9 +71,6 @@
"bg": {
"name": "bulgară"
},
- "yue": {
- "name": "cantoneză"
- },
"ks": {
"name": "cașmiră"
},
@@ -389,9 +386,6 @@
"mgo": {
"name": "meta’"
},
- "ro-MD": {
- "name": "moldovenească"
- },
"mn": {
"name": "mongolă"
},
@@ -432,7 +426,7 @@
"name": "nyankole"
},
"or": {
- "name": "oriya"
+ "name": "odia"
},
"om": {
"name": "oromo"
@@ -470,6 +464,9 @@
"ro": {
"name": "română"
},
+ "ro-MD": {
+ "name": "română (Republica Moldova)"
+ },
"rof": {
"name": "rombo"
},
@@ -512,8 +509,11 @@
"ii": {
"name": "sichuan yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
- "name": "singaleză"
+ "name": "singhaleză"
},
"cu": {
"name": "slavonă"
@@ -554,6 +554,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadjică"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tătară"
+ },
"te": {
"name": "telugu"
},
@@ -620,6 +626,9 @@
"wae": {
"name": "walser"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/rof.json b/vendor/commerceguys/intl/resources/language/rof.json
index 8133c82f9..46db05198 100644
--- a/vendor/commerceguys/intl/resources/language/rof.json
+++ b/vendor/commerceguys/intl/resources/language/rof.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ru.json b/vendor/commerceguys/intl/resources/language/ru.json
index 28e8daafa..c751ee674 100644
--- a/vendor/commerceguys/intl/resources/language/ru.json
+++ b/vendor/commerceguys/intl/resources/language/ru.json
@@ -6,7 +6,7 @@
"name": "авÑтрийÑкий немецкий"
},
"agq": {
- "name": "агхем"
+ "name": "агем"
},
"az": {
"name": "азербайджанÑкий"
@@ -101,6 +101,9 @@
"vo": {
"name": "волапюк"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунджо"
},
@@ -153,7 +156,7 @@
"name": "европейÑкий португальÑкий"
},
"fy": {
- "name": "западный фризÑкий"
+ "name": "западнофризÑкий"
},
"zu": {
"name": "зулу"
@@ -215,9 +218,6 @@
"kn": {
"name": "каннада"
},
- "yue": {
- "name": "кантонÑкий"
- },
"ca": {
"name": "каталанÑкий"
},
@@ -461,6 +461,9 @@
"sbp": {
"name": "Ñангу"
},
+ "sah": {
+ "name": "Ñаха"
+ },
"lrc": {
"name": "ÑевернолурÑкий"
},
@@ -479,6 +482,9 @@
"si": {
"name": "ÑингальÑкий"
},
+ "sd": {
+ "name": "Ñиндхи"
+ },
"sk": {
"name": "Ñловацкий"
},
@@ -500,6 +506,9 @@
"sw": {
"name": "Ñуахили"
},
+ "tg": {
+ "name": "таджикÑкий"
+ },
"dav": {
"name": "таита"
},
@@ -515,6 +524,9 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарÑкий"
+ },
"shi": {
"name": "ташельхит"
},
@@ -623,9 +635,6 @@
"et": {
"name": "ÑÑтонÑкий"
},
- "sah": {
- "name": "ÑкутÑкий"
- },
"yav": {
"name": "Ñнгбен"
},
diff --git a/vendor/commerceguys/intl/resources/language/rw.json b/vendor/commerceguys/intl/resources/language/rw.json
index b274aa833..fa2e54caf 100644
--- a/vendor/commerceguys/intl/resources/language/rw.json
+++ b/vendor/commerceguys/intl/resources/language/rw.json
@@ -32,9 +32,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -191,6 +188,9 @@
"sk": {
"name": "Igisilovaki"
},
+ "sd": {
+ "name": "Igisindi"
+ },
"so": {
"name": "Igisomali"
},
@@ -270,7 +270,7 @@
"name": "Ikimarati"
},
"mk": {
- "name": "Ikimasedoniyani"
+ "name": "Ikimasedoniya"
},
"mn": {
"name": "Ikimongoli"
@@ -584,9 +584,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"teo": {
"name": "Teso"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/rwk.json b/vendor/commerceguys/intl/resources/language/rwk.json
index a5fbdae04..62ed95abc 100644
--- a/vendor/commerceguys/intl/resources/language/rwk.json
+++ b/vendor/commerceguys/intl/resources/language/rwk.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sah.json b/vendor/commerceguys/intl/resources/language/sah.json
index 1fffda7da..7bba01ade 100644
--- a/vendor/commerceguys/intl/resources/language/sah.json
+++ b/vendor/commerceguys/intl/resources/language/sah.json
@@ -38,9 +38,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -353,6 +350,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -434,6 +434,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
@@ -587,9 +590,15 @@
"sk": {
"name": "Словаактыы"
},
+ "tg": {
+ "name": "Тадьыыктыы"
+ },
"ta": {
"name": "Тамыллыы"
},
+ "tt": {
+ "name": "Татаардыы"
+ },
"bo": {
"name": "ТибиÑттии"
},
diff --git a/vendor/commerceguys/intl/resources/language/saq.json b/vendor/commerceguys/intl/resources/language/saq.json
index 9f11a3836..8d25d35f2 100644
--- a/vendor/commerceguys/intl/resources/language/saq.json
+++ b/vendor/commerceguys/intl/resources/language/saq.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sbp.json b/vendor/commerceguys/intl/resources/language/sbp.json
index b180e9e97..265ee4c2c 100644
--- a/vendor/commerceguys/intl/resources/language/sbp.json
+++ b/vendor/commerceguys/intl/resources/language/sbp.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sd.json b/vendor/commerceguys/intl/resources/language/sd.json
new file mode 100644
index 000000000..961d66058
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/sd.json
@@ -0,0 +1,641 @@
+{
+ "en-AU": {
+ "name": "en (آسٽريليا)"
+ },
+ "nds-NL": {
+ "name": "nds (نيدرلينڊ)"
+ },
+ "ga": {
+ "name": "آئرش"
+ },
+ "is": {
+ "name": "آئيس لينڊڪ"
+ },
+ "az": {
+ "name": "آزربائيجاني"
+ },
+ "as": {
+ "name": "آسامي"
+ },
+ "de-AT": {
+ "name": "آسٽريائي جرمن"
+ },
+ "af": {
+ "name": "Ø¢Ùريڪي"
+ },
+ "hsb": {
+ "name": "اپر سربيائي"
+ },
+ "nd": {
+ "name": "اتر دبيلي"
+ },
+ "se": {
+ "name": "اتر سامي"
+ },
+ "lrc": {
+ "name": "اتر لوري"
+ },
+ "ur": {
+ "name": "اردو"
+ },
+ "hy": {
+ "name": "ارماني"
+ },
+ "uz": {
+ "name": "ازبڪ"
+ },
+ "es": {
+ "name": "اسپيني"
+ },
+ "es-MX": {
+ "name": "اسپيني (ميڪسيڪو)"
+ },
+ "ast": {
+ "name": "اسٽورين"
+ },
+ "gd": {
+ "name": "اسڪاٽش گيلڪ"
+ },
+ "asa": {
+ "name": "اسو"
+ },
+ "it": {
+ "name": "اطالوي"
+ },
+ "ak": {
+ "name": "اڪان"
+ },
+ "ki": {
+ "name": "اڪويو"
+ },
+ "ig": {
+ "name": "اگبو"
+ },
+ "agq": {
+ "name": "اگهيم"
+ },
+ "sq": {
+ "name": "الباني"
+ },
+ "am": {
+ "name": "امهاري"
+ },
+ "smn": {
+ "name": "اناري سامي"
+ },
+ "id": {
+ "name": "انڊونيشي"
+ },
+ "en": {
+ "name": "انگريزي"
+ },
+ "en-GB": {
+ "name": "انگريزي (برطانيه)"
+ },
+ "en-CA": {
+ "name": "انگريزي (ڪئناڊا)"
+ },
+ "ewo": {
+ "name": "اوانڊو"
+ },
+ "or": {
+ "name": "اوڊيا"
+ },
+ "om": {
+ "name": "اورومو"
+ },
+ "os": {
+ "name": "اوسيٽڪ"
+ },
+ "eo": {
+ "name": "ايسپرانٽو"
+ },
+ "et": {
+ "name": "ايستونائي"
+ },
+ "ebu": {
+ "name": "ايمبيو"
+ },
+ "ee": {
+ "name": "ايو"
+ },
+ "bas": {
+ "name": "باسا"
+ },
+ "eu": {
+ "name": "باسڪي"
+ },
+ "ksf": {
+ "name": "باÙيا"
+ },
+ "my": {
+ "name": "برمي"
+ },
+ "br": {
+ "name": "بريٽن"
+ },
+ "bg": {
+ "name": "بلغاريائي"
+ },
+ "bm": {
+ "name": "بمبارا"
+ },
+ "bn": {
+ "name": "بنگلا"
+ },
+ "brx": {
+ "name": "بودو"
+ },
+ "bs": {
+ "name": "بوسنيائي"
+ },
+ "be": {
+ "name": "بيلاروسي"
+ },
+ "bem": {
+ "name": "بيمبا"
+ },
+ "bez": {
+ "name": "بينا"
+ },
+ "pt": {
+ "name": "پرتگالي"
+ },
+ "prg": {
+ "name": "پرشن"
+ },
+ "ps": {
+ "name": "پشتو"
+ },
+ "pa": {
+ "name": "پنجابي"
+ },
+ "pl": {
+ "name": "پولش"
+ },
+ "dav": {
+ "name": "تائيتا"
+ },
+ "tt": {
+ "name": "تاتري"
+ },
+ "tg": {
+ "name": "تاجڪي"
+ },
+ "ta": {
+ "name": "تامل"
+ },
+ "bo": {
+ "name": "تبيتائي"
+ },
+ "tr": {
+ "name": "ترڪ"
+ },
+ "tk": {
+ "name": "ترڪماني"
+ },
+ "twq": {
+ "name": "تساوڪي"
+ },
+ "ti": {
+ "name": "تگرينيائي"
+ },
+ "te": {
+ "name": "تلگو"
+ },
+ "to": {
+ "name": "تونگن"
+ },
+ "shi": {
+ "name": "تيچل هاتي"
+ },
+ "teo": {
+ "name": "تيسو"
+ },
+ "th": {
+ "name": "ٿائي"
+ },
+ "ja": {
+ "name": "جاپاني"
+ },
+ "ka": {
+ "name": "جارجين"
+ },
+ "de": {
+ "name": "جرمن"
+ },
+ "de-CH": {
+ "name": "جرمن (سئيٽرزلينڊ)"
+ },
+ "dyo": {
+ "name": "جولا Ùوني"
+ },
+ "cu": {
+ "name": "چرچ سلاوی"
+ },
+ "chr": {
+ "name": "چروڪي"
+ },
+ "cgg": {
+ "name": "چگا"
+ },
+ "cs": {
+ "name": "Ú†ÙŠÚª"
+ },
+ "zh": {
+ "name": "چيني"
+ },
+ "zh-Hans": {
+ "name": "چيني (آسان ڪيل)"
+ },
+ "zh-Hant": {
+ "name": "چيني (روايتي)"
+ },
+ "ce": {
+ "name": "چیچن"
+ },
+ "km": {
+ "name": "خمر"
+ },
+ "nl": {
+ "name": "ÚŠÚ†"
+ },
+ "da": {
+ "name": "ڊينش"
+ },
+ "dua": {
+ "name": "ڊيولا"
+ },
+ "rwk": {
+ "name": "روا"
+ },
+ "ru": {
+ "name": "روسي"
+ },
+ "rm": {
+ "name": "رومانش"
+ },
+ "ro": {
+ "name": "روماني"
+ },
+ "rof": {
+ "name": "رومبو"
+ },
+ "rn": {
+ "name": "رونڊي"
+ },
+ "dje": {
+ "name": "زارما"
+ },
+ "zu": {
+ "name": "زولو"
+ },
+ "dz": {
+ "name": "زونخا"
+ },
+ "sah": {
+ "name": "ساخا"
+ },
+ "sg": {
+ "name": "سانگو"
+ },
+ "sbp": {
+ "name": "سانگوو"
+ },
+ "ii": {
+ "name": "سچوان يي"
+ },
+ "sr": {
+ "name": "سربيائي"
+ },
+ "sk": {
+ "name": "سلواڪي"
+ },
+ "sl": {
+ "name": "سلوويني"
+ },
+ "sd": {
+ "name": "سنڌي"
+ },
+ "si": {
+ "name": "سنهالا"
+ },
+ "gsw": {
+ "name": "سوئس جرمن"
+ },
+ "sw": {
+ "name": "سواحيلي"
+ },
+ "xog": {
+ "name": "سوگا"
+ },
+ "so": {
+ "name": "سومالي"
+ },
+ "sv": {
+ "name": "سويڊني"
+ },
+ "saq": {
+ "name": "سيمبورو"
+ },
+ "seh": {
+ "name": "سينا"
+ },
+ "ksb": {
+ "name": "شمبالا"
+ },
+ "sn": {
+ "name": "شونا"
+ },
+ "he": {
+ "name": "عبراني"
+ },
+ "ar": {
+ "name": "عربي"
+ },
+ "fa": {
+ "name": "Ùارسي"
+ },
+ "fur": {
+ "name": "Ùرائي لئين"
+ },
+ "fr": {
+ "name": "Ùرانسي"
+ },
+ "fr-CH": {
+ "name": "Ùرانسي (سئيٽرزلينڊ)"
+ },
+ "fr-CA": {
+ "name": "Ùرانسي (ڪئناڊا)"
+ },
+ "ff": {
+ "name": "Ùلاهه"
+ },
+ "fil": {
+ "name": "Ùلپائني"
+ },
+ "nl-BE": {
+ "name": "Ùلیمش"
+ },
+ "fi": {
+ "name": "Ùنش"
+ },
+ "fo": {
+ "name": "Ùيروايس"
+ },
+ "kk": {
+ "name": "قازق"
+ },
+ "kam": {
+ "name": "ڪئمبا"
+ },
+ "kl": {
+ "name": "ڪالا ليسٽ"
+ },
+ "kab": {
+ "name": "ڪبائل"
+ },
+ "ky": {
+ "name": "ڪرغيز"
+ },
+ "hr": {
+ "name": "ڪروشيائي"
+ },
+ "ks": {
+ "name": "ڪشميري"
+ },
+ "kkj": {
+ "name": "ÚªÚªÙˆ"
+ },
+ "ksh": {
+ "name": "ڪلونئين"
+ },
+ "kn": {
+ "name": "ڪناڊا"
+ },
+ "rw": {
+ "name": "ڪنيار وانڊا"
+ },
+ "kw": {
+ "name": "ڪورنش"
+ },
+ "ko": {
+ "name": "ڪوريائي"
+ },
+ "kok": {
+ "name": "ڪونڪي"
+ },
+ "sw-CD": {
+ "name": "ڪونگو سواحيلي"
+ },
+ "nmg": {
+ "name": "ڪويسيو"
+ },
+ "kea": {
+ "name": "ڪيبيو ويرڊيانو"
+ },
+ "ca": {
+ "name": "ڪيٽالان"
+ },
+ "qu": {
+ "name": "ڪيچوا"
+ },
+ "kln": {
+ "name": "ڪيلين جن"
+ },
+ "khq": {
+ "name": "ڪيورا چني"
+ },
+ "ses": {
+ "name": "ڪيورابورو سيني"
+ },
+ "lg": {
+ "name": "گاندا"
+ },
+ "gu": {
+ "name": "گجراتي"
+ },
+ "guz": {
+ "name": "گشي"
+ },
+ "gl": {
+ "name": "گليشئين"
+ },
+ "lo": {
+ "name": "لائو"
+ },
+ "lv": {
+ "name": "لاتوين"
+ },
+ "lag": {
+ "name": "لانگي"
+ },
+ "lkt": {
+ "name": "لڪوٽا"
+ },
+ "lb": {
+ "name": "لگزمبرگ"
+ },
+ "ln": {
+ "name": "لنگالا"
+ },
+ "luo": {
+ "name": "لو"
+ },
+ "dsb": {
+ "name": "لوئر سوربين"
+ },
+ "lu": {
+ "name": "لوبا-ڪتانگا"
+ },
+ "luy": {
+ "name": "لوهيا"
+ },
+ "lt": {
+ "name": "ليٿونيائي"
+ },
+ "mt": {
+ "name": "مالٽي"
+ },
+ "ro-MD": {
+ "name": "مالديوي"
+ },
+ "mgh": {
+ "name": "مخووا ميتو"
+ },
+ "mr": {
+ "name": "مراٺي"
+ },
+ "ckb": {
+ "name": "مرڪزي ڪردش"
+ },
+ "mzn": {
+ "name": "مزيندراني"
+ },
+ "mas": {
+ "name": "مسائي"
+ },
+ "zgh": {
+ "name": "معياري مراڪشي تامازائيٽ"
+ },
+ "fy": {
+ "name": "مغربي Ùريشن"
+ },
+ "kde": {
+ "name": "مڪوندي"
+ },
+ "mg": {
+ "name": "ملاگاسي"
+ },
+ "ms": {
+ "name": "ملي"
+ },
+ "ml": {
+ "name": "مليالم"
+ },
+ "mua": {
+ "name": "من دانگ"
+ },
+ "mn": {
+ "name": "منگولي"
+ },
+ "mfe": {
+ "name": "موریسیین"
+ },
+ "mgo": {
+ "name": "ميتا"
+ },
+ "mer": {
+ "name": "ميرو"
+ },
+ "mk": {
+ "name": "ميسي ڊونيائي"
+ },
+ "jmc": {
+ "name": "ميڪم"
+ },
+ "gv": {
+ "name": "مينڪس"
+ },
+ "nb": {
+ "name": "نارويائي بوڪمال"
+ },
+ "nn": {
+ "name": "نارويائي نيوناسڪ"
+ },
+ "naq": {
+ "name": "ناما"
+ },
+ "nyn": {
+ "name": "نايانڪول"
+ },
+ "jgo": {
+ "name": "نغومبا"
+ },
+ "nnh": {
+ "name": "نغيمبون"
+ },
+ "ne": {
+ "name": "نيپالي"
+ },
+ "nus": {
+ "name": "نيور"
+ },
+ "hi": {
+ "name": "هندي"
+ },
+ "hu": {
+ "name": "هنگري"
+ },
+ "haw": {
+ "name": "هوائي"
+ },
+ "ha": {
+ "name": "هوسا"
+ },
+ "vo": {
+ "name": "والپڪ"
+ },
+ "wae": {
+ "name": "والسر"
+ },
+ "tzm": {
+ "name": "وچ اٽلس تمازائيٽ"
+ },
+ "vun": {
+ "name": "ونجو"
+ },
+ "wo": {
+ "name": "وولÙ"
+ },
+ "vi": {
+ "name": "ويتنامي"
+ },
+ "cy": {
+ "name": "ويلش"
+ },
+ "vai": {
+ "name": "يا"
+ },
+ "yav": {
+ "name": "يانگ بين"
+ },
+ "yi": {
+ "name": "يدش"
+ },
+ "pt-PT": {
+ "name": "يورپي پرتگالي"
+ },
+ "yo": {
+ "name": "يوروبا"
+ },
+ "ug": {
+ "name": "يوغور"
+ },
+ "uk": {
+ "name": "يوڪراني"
+ },
+ "el": {
+ "name": "يوناني"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/se-FI.json b/vendor/commerceguys/intl/resources/language/se-FI.json
index d3d3b3695..c520bb347 100644
--- a/vendor/commerceguys/intl/resources/language/se-FI.json
+++ b/vendor/commerceguys/intl/resources/language/se-FI.json
@@ -248,9 +248,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "kantongiella"
- },
"ks": {
"name": "Kashmiri"
},
@@ -506,6 +503,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/se.json b/vendor/commerceguys/intl/resources/language/se.json
index e4a03526e..e53909662 100644
--- a/vendor/commerceguys/intl/resources/language/se.json
+++ b/vendor/commerceguys/intl/resources/language/se.json
@@ -257,9 +257,6 @@
"kn": {
"name": "Kannada"
},
- "yue": {
- "name": "kantongiella"
- },
"ks": {
"name": "Kashmiri"
},
@@ -509,6 +506,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/seh.json b/vendor/commerceguys/intl/resources/language/seh.json
index e4504b2fe..fbfcd6f1e 100644
--- a/vendor/commerceguys/intl/resources/language/seh.json
+++ b/vendor/commerceguys/intl/resources/language/seh.json
@@ -80,9 +80,6 @@
"bg": {
"name": "búlgaro"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -512,6 +509,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "tâmil"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"cs": {
"name": "tcheco"
},
@@ -617,6 +623,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ses.json b/vendor/commerceguys/intl/resources/language/ses.json
index 1ae72fb47..c6ab901fb 100644
--- a/vendor/commerceguys/intl/resources/language/ses.json
+++ b/vendor/commerceguys/intl/resources/language/ses.json
@@ -77,9 +77,6 @@
"my": {
"name": "Burme senni"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil senni"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sg.json b/vendor/commerceguys/intl/resources/language/sg.json
index 6359b8c4c..0c4568845 100644
--- a/vendor/commerceguys/intl/resources/language/sg.json
+++ b/vendor/commerceguys/intl/resources/language/sg.json
@@ -80,9 +80,6 @@
"bg": {
"name": "Bulugäri"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -497,6 +494,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -533,12 +533,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tämûli"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -602,6 +608,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/shi-Latn.json b/vendor/commerceguys/intl/resources/language/shi-Latn.json
index 69daaab09..b66a620fc 100644
--- a/vendor/commerceguys/intl/resources/language/shi-Latn.json
+++ b/vendor/commerceguys/intl/resources/language/shi-Latn.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -374,6 +371,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -473,6 +473,9 @@
"ja": {
"name": "Tajabbunit"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ak": {
"name": "Takant"
},
@@ -548,6 +551,9 @@
"ta": {
"name": "Tatamilt"
},
+ "tt": {
+ "name": "Tatar"
+ },
"th": {
"name": "Tataylandit"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/shi.json b/vendor/commerceguys/intl/resources/language/shi.json
index 02f466464..6e0f7438e 100644
--- a/vendor/commerceguys/intl/resources/language/shi.json
+++ b/vendor/commerceguys/intl/resources/language/shi.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -374,6 +371,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -401,9 +401,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -449,6 +455,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/si.json b/vendor/commerceguys/intl/resources/language/si.json
index 688c40329..627b5d545 100644
--- a/vendor/commerceguys/intl/resources/language/si.json
+++ b/vendor/commerceguys/intl/resources/language/si.json
@@ -2,9 +2,6 @@
"ak": {
"name": "අකà·à¶±à·Š"
},
- "af": {
- "name": "අප්â€à¶»à·’කà·à¶±à·”"
- },
"ga": {
"name": "අයර්ලන්ත"
},
@@ -20,6 +17,9 @@
"asa": {
"name": "අසු"
},
+ "af": {
+ "name": "අෆ්රිකà·à¶±à·Šà·ƒà·Š"
+ },
"hy": {
"name": "ආර්මේනියà·à¶±à·”"
},
@@ -33,7 +33,7 @@
"name": "ඇල්බේනියà·à¶±à·”"
},
"as": {
- "name": "ඇසමියà·à¶±à·”"
+ "name": "ඇසෑම්"
},
"ast": {
"name": "ඇස්ටියුරියන්"
@@ -111,7 +111,7 @@
"name": "කණ්ණඩ"
},
"kea": {
- "name": "කබුවෙර්ඩියà·à¶±à·"
+ "name": "කබුවෙර්ඩියà·à¶±à·”"
},
"km": {
"name": "කමර්"
@@ -125,6 +125,9 @@
"kk": {
"name": "කසà·à¶›à·Š"
},
+ "kab": {
+ "name": "කà·à¶¶à·’ල්"
+ },
"ks": {
"name": "කà·à·‚්මීර්"
},
@@ -137,12 +140,6 @@
"fr-CA": {
"name": "කà·à¶±à·šà¶©à·’යà·à¶±à·” ප්â€à¶»à¶‚à·"
},
- "yue": {
- "name": "කà·à¶±à·Šà¶§à·œà¶±à·“ස්"
- },
- "kab": {
- "name": "කà·à¶¶à¶½à·"
- },
"kam": {
"name": "කà·à¶¸à·Šà¶¶à·"
},
@@ -158,6 +155,9 @@
"nmg": {
"name": "කුවà·à·ƒà·’ඔ"
},
+ "sw-CD": {
+ "name": "කොංග෠ස්වà·à·„ිලි"
+ },
"kok": {
"name": "කොන්කනි"
},
@@ -170,15 +170,15 @@
"ksh": {
"name": "කොලොග්නියන්"
},
+ "hr": {
+ "name": "කà·à¶’ෂියà·à¶±à·”"
+ },
"kw": {
"name": "කà·à¶±à·“සියà·à¶±à·”"
},
"ses": {
"name": "කà·à¶ºà·’රà·à¶¶à·œà¶»à·œ සෙන්නි"
},
- "hr": {
- "name": "ක්â€à¶»à·à¶ºà·šà·à·’යà·à¶±à·”"
- },
"qu": {
"name": "ක්වීචුවà·"
},
@@ -206,12 +206,12 @@
"zh": {
"name": "චීන"
},
+ "cs": {
+ "name": "චෙක්"
+ },
"ce": {
"name": "චෙච්නියà·à¶±à·”"
},
- "cs": {
- "name": "චෙත්"
- },
"chr": {
"name": "චෙරොකී"
},
@@ -230,6 +230,9 @@
"shi": {
"name": "ටචේල්හිට්"
},
+ "tg": {
+ "name": "ටජික්"
+ },
"dav": {
"name": "ටයිටà·"
},
@@ -239,6 +242,9 @@
"twq": {
"name": "ටසවà·à¶šà·Š"
},
+ "tt": {
+ "name": "ටà·à¶§à¶»à·Š"
+ },
"ti": {
"name": "ටිග්â€à¶»à·’න්යà·"
},
@@ -273,7 +279,7 @@
"name": "දෙමළ"
},
"nyn": {
- "name": "නයන්කොළේ"
+ "name": "නයන්කà·à¶½à·™"
},
"naq": {
"name": "නà·à¶¸à·"
@@ -288,10 +294,10 @@
"name": "නොයර්"
},
"nn": {
- "name": "නොවේර්ජියà·à¶±à·” නයිනà·à¶»à·Šà·ƒà·Šà¶šà·Š"
+ "name": "නà·à¶»à·Šà·€à·“ජියà·à¶±à·” නයිනà·à¶»à·Šà·ƒà·Šà¶šà·Š"
},
"nb": {
- "name": "නà·à·€à·šà¶¢à·’යà·à¶±à·” බොක්මà·à¶½à·Š"
+ "name": "නà·à¶»à·Šà·€à·“ජියà·à¶±à·” බොක්මල්"
},
"nnh": {
"name": "න්ගියà·à¶¸à·Šà¶¶à·–න්"
@@ -341,6 +347,9 @@
"bas": {
"name": "බසà·"
},
+ "eu": {
+ "name": "බà·à·ƒà·Šà¶šà·Š"
+ },
"ksf": {
"name": "බà·à·†à·’යà·"
},
@@ -362,9 +371,6 @@
"brx": {
"name": "බොඩො"
},
- "eu": {
- "name": "බොස්කà·"
- },
"bs": {
"name": "බොස්නියà·à¶±à·”"
},
@@ -491,12 +497,12 @@
"ln": {
"name": "ලින්ගලà·"
},
- "lu": {
- "name": "ලු"
- },
"luo": {
"name": "ලුඔ"
},
+ "lu": {
+ "name": "ලුබà·-කටන්ගà·"
+ },
"luy": {
"name": "ලුයියà·"
},
@@ -510,11 +516,14 @@
"name": "වුන්ජà·"
},
"cy": {
- "name": "වේල්ස්"
+ "name": "වෙල්ෂ්"
},
"vo": {
"name": "වොලපූක්"
},
+ "wo": {
+ "name": "වොලොෆ්"
+ },
"wae": {
"name": "වොල්සර්"
},
@@ -539,6 +548,9 @@
"zgh": {
"name": "සම්මත මොරොක්ක෠ටමසිග්ත්"
},
+ "zh-Hans": {
+ "name": "සරල චීන"
+ },
"sr": {
"name": "සර්බියà·à¶±à·”"
},
@@ -554,12 +566,12 @@
"ii": {
"name": "සිචුආන් යී"
},
+ "sd": {
+ "name": "සින්ධි"
+ },
"zu": {
"name": "සුලු"
},
- "zh-Hans": {
- "name": "සුළුකළ චීන"
- },
"seh": {
"name": "සෙනà·"
},
@@ -587,9 +599,6 @@
"sw": {
"name": "ස්වà·à·„ිලි"
},
- "sw-CD": {
- "name": "ස්වà·à·„ිලි (කොංගො - කින්à·à·à·ƒà·)"
- },
"de-CH": {
"name": "ස්විස් උසස් ජර්මන්"
},
diff --git a/vendor/commerceguys/intl/resources/language/sk.json b/vendor/commerceguys/intl/resources/language/sk.json
index 72991208a..f0a679a60 100644
--- a/vendor/commerceguys/intl/resources/language/sk.json
+++ b/vendor/commerceguys/intl/resources/language/sk.json
@@ -209,6 +209,9 @@
"ig": {
"name": "igboština"
},
+ "smn": {
+ "name": "inarijská saamÄina"
+ },
"id": {
"name": "indonézština"
},
@@ -251,9 +254,6 @@
"kn": {
"name": "kannadÄina"
},
- "yue": {
- "name": "kantonÄina"
- },
"kea": {
"name": "kapverdÄina"
},
@@ -311,9 +311,6 @@
"lo": {
"name": "laoština"
},
- "smn": {
- "name": "laponÄina (inarijská)"
- },
"ln": {
"name": "lingalÄina"
},
@@ -491,15 +488,18 @@
"seh": {
"name": "sena"
},
- "se": {
- "name": "severná laponÄina"
- },
"nd": {
"name": "severná ndebelÄina"
},
+ "se": {
+ "name": "severná saamÄina"
+ },
"lrc": {
"name": "severné luri"
},
+ "sd": {
+ "name": "sindhÄina"
+ },
"si": {
"name": "sinhalÄina"
},
@@ -545,6 +545,9 @@
"sv": {
"name": "Å¡védÄina"
},
+ "tg": {
+ "name": "tadžiÄtina"
+ },
"shi": {
"name": "tachelhit"
},
@@ -560,6 +563,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatárÄina"
+ },
"te": {
"name": "telugÄina"
},
@@ -620,6 +626,9 @@
"wae": {
"name": "walserÄina"
},
+ "wo": {
+ "name": "wolofÄina"
+ },
"fy": {
"name": "západná frízština"
},
diff --git a/vendor/commerceguys/intl/resources/language/sl.json b/vendor/commerceguys/intl/resources/language/sl.json
index e9ec0ed63..9f276d5aa 100644
--- a/vendor/commerceguys/intl/resources/language/sl.json
+++ b/vendor/commerceguys/intl/resources/language/sl.json
@@ -122,6 +122,9 @@
"ewo": {
"name": "evondovÅ¡Äina"
},
+ "pt-PT": {
+ "name": "evropska portugalÅ¡Äina"
+ },
"fo": {
"name": "ferÅ¡Äina"
},
@@ -182,9 +185,6 @@
"hr": {
"name": "hrvaÅ¡Äina"
},
- "pt-PT": {
- "name": "iberska portugalÅ¡Äina"
- },
"ig": {
"name": "igboÅ¡Äina"
},
@@ -233,17 +233,14 @@
"kam": {
"name": "kambaÅ¡Äina"
},
- "kn": {
- "name": "kanada"
- },
"en-CA": {
"name": "kanadska angleÅ¡Äina"
},
"fr-CA": {
"name": "kanadska francoÅ¡Äina"
},
- "yue": {
- "name": "kantonÅ¡Äina"
+ "kn": {
+ "name": "kanareÅ¡Äina"
},
"ks": {
"name": "kaÅ¡mirÅ¡Äina"
@@ -278,9 +275,6 @@
"ksh": {
"name": "kölnsko nareÄje"
},
- "sw-CD": {
- "name": "kongoÅ¡ka svahilÅ¡Äina"
- },
"kok": {
"name": "konkanÅ¡Äina"
},
@@ -374,9 +368,6 @@
"mgo": {
"name": "meta"
},
- "ro-MD": {
- "name": "moldavÅ¡Äina"
- },
"mn": {
"name": "mongolÅ¡Äina"
},
@@ -455,6 +446,9 @@
"ro": {
"name": "romunÅ¡Äina"
},
+ "ro-MD": {
+ "name": "romunÅ¡Äina (Moldavija)"
+ },
"rw": {
"name": "ruandÅ¡Äina"
},
@@ -482,14 +476,17 @@
"seh": {
"name": "sena"
},
+ "lrc": {
+ "name": "severna lurijÅ¡Äina"
+ },
"nd": {
"name": "severna ndebelÅ¡Äina"
},
"se": {
"name": "severna samijÅ¡Äina"
},
- "lrc": {
- "name": "severnolurijÅ¡Äina"
+ "sd": {
+ "name": "sindÅ¡Äina"
},
"si": {
"name": "sinhalÅ¡Äina"
@@ -524,6 +521,9 @@
"sw": {
"name": "svahili"
},
+ "sw-CD": {
+ "name": "svahili (DemokratiÄna republika Kongo)"
+ },
"ksb": {
"name": "Å¡ambala"
},
@@ -545,6 +545,9 @@
"fr-CH": {
"name": "Å¡vicarska francoÅ¡Äina"
},
+ "tg": {
+ "name": "tadžiÅ¡Äina"
+ },
"shi": {
"name": "tahelitska berberÅ¡Äina"
},
@@ -563,6 +566,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatarÅ¡Äina"
+ },
"te": {
"name": "telugijÅ¡Äina"
},
@@ -614,6 +620,9 @@
"vo": {
"name": "volapuk"
},
+ "wo": {
+ "name": "volofÅ¡Äina"
+ },
"vun": {
"name": "vunjo"
},
diff --git a/vendor/commerceguys/intl/resources/language/smn.json b/vendor/commerceguys/intl/resources/language/smn.json
index 99d628d00..ee0bd42c1 100644
--- a/vendor/commerceguys/intl/resources/language/smn.json
+++ b/vendor/commerceguys/intl/resources/language/smn.json
@@ -203,9 +203,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantonkielâ"
- },
"kea": {
"name": "Kap Verde kreoli"
},
@@ -473,6 +470,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "sinhala"
},
@@ -512,6 +512,9 @@
"sw": {
"name": "swahilikielâ"
},
+ "tg": {
+ "name": "tadžikkielâ"
+ },
"dav": {
"name": "taitakielâ"
},
@@ -527,6 +530,9 @@
"shi": {
"name": "tašelhit"
},
+ "tt": {
+ "name": "tatarkielâ"
+ },
"nd": {
"name": "tave-nbedele"
},
@@ -614,6 +620,9 @@
"wae": {
"name": "walliskielâ"
},
+ "wo": {
+ "name": "wolofkielâ"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sn.json b/vendor/commerceguys/intl/resources/language/sn.json
index 5bab8596d..945b435fd 100644
--- a/vendor/commerceguys/intl/resources/language/sn.json
+++ b/vendor/commerceguys/intl/resources/language/sn.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -542,6 +539,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/so.json b/vendor/commerceguys/intl/resources/language/so.json
index ea1680f4f..59521e350 100644
--- a/vendor/commerceguys/intl/resources/language/so.json
+++ b/vendor/commerceguys/intl/resources/language/so.json
@@ -80,9 +80,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"ar": {
"name": "Carabi"
},
@@ -515,6 +512,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -554,6 +554,9 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"it": {
"name": "Talyaani"
},
@@ -563,6 +566,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"cy": {
"name": "Welsh"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sq.json b/vendor/commerceguys/intl/resources/language/sq.json
index 5c67c80bc..77bca4ffc 100644
--- a/vendor/commerceguys/intl/resources/language/sq.json
+++ b/vendor/commerceguys/intl/resources/language/sq.json
@@ -245,9 +245,6 @@
"kn": {
"name": "kanadisht"
},
- "yue": {
- "name": "kantonezisht"
- },
"ks": {
"name": "kashmirisht"
},
@@ -344,15 +341,15 @@
"jmc": {
"name": "maçamisht"
},
+ "mg": {
+ "name": "madagaskarisht"
+ },
"kde": {
"name": "makondisht"
},
"mgh": {
"name": "makua-mitoisht"
},
- "mg": {
- "name": "malagezisht"
- },
"ml": {
"name": "malajalamisht"
},
@@ -431,9 +428,6 @@
"os": {
"name": "osetisht"
},
- "pa": {
- "name": "panxhabisht"
- },
"ps": {
"name": "pashtoisht"
},
@@ -452,6 +446,9 @@
"prg": {
"name": "prusisht"
},
+ "pa": {
+ "name": "punxhabisht"
+ },
"rm": {
"name": "retoromanisht"
},
@@ -497,6 +494,9 @@
"sr": {
"name": "serbisht"
},
+ "sd": {
+ "name": "sindisht"
+ },
"si": {
"name": "sinhalisht"
},
@@ -504,7 +504,7 @@
"name": "sishuanisht"
},
"cu": {
- "name": "sllavishte kishe"
+ "name": "sllavishte kishtare"
},
"sk": {
"name": "sllovakisht"
@@ -534,7 +534,7 @@
"name": "suahilisht"
},
"sw-CD": {
- "name": "suahilishte kongoje"
+ "name": "suahilishte kongoleze"
},
"sv": {
"name": "suedisht"
@@ -558,7 +558,7 @@
"name": "tajtaisht"
},
"tzm": {
- "name": "tamaziatishte atlase qendrore"
+ "name": "tamazajtisht e Atlasit Qendror"
},
"zgh": {
"name": "tamaziatishte standarde marokene"
@@ -569,6 +569,12 @@
"twq": {
"name": "tasavakisht"
},
+ "tt": {
+ "name": "tatarisht"
+ },
+ "tg": {
+ "name": "taxhikisht"
+ },
"te": {
"name": "teluguisht"
},
@@ -602,6 +608,9 @@
"uk": {
"name": "ukrainisht"
},
+ "wo": {
+ "name": "uolofisht"
+ },
"ur": {
"name": "urduisht"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
index e3d091a92..aad539dac 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-BA.json
@@ -83,6 +83,9 @@
"vo": {
"name": "волапик"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунџо"
},
@@ -176,9 +179,6 @@
"it": {
"name": "италијанÑки"
},
- "sah": {
- "name": "јакутÑки"
- },
"yav": {
"name": "јангбен"
},
@@ -215,9 +215,6 @@
"kn": {
"name": "канада"
},
- "yue": {
- "name": "кантонÑки"
- },
"ca": {
"name": "каталонÑки"
},
@@ -449,6 +446,9 @@
"sbp": {
"name": "Ñангу"
},
+ "sah": {
+ "name": "Ñаха"
+ },
"sw": {
"name": "Ñвахили"
},
@@ -467,6 +467,9 @@
"ii": {
"name": "ÑечуанÑки ји"
},
+ "sd": {
+ "name": "Ñинди"
+ },
"si": {
"name": "ÑинхалÑки"
},
@@ -500,6 +503,12 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарÑки"
+ },
+ "tg": {
+ "name": "таџички"
+ },
"te": {
"name": "телугу"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
index 7f29360e8..92f9c0da7 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-ME.json
@@ -83,6 +83,9 @@
"vo": {
"name": "волапик"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунџо"
},
@@ -176,9 +179,6 @@
"it": {
"name": "италијанÑки"
},
- "sah": {
- "name": "јакутÑки"
- },
"yav": {
"name": "јангбен"
},
@@ -215,9 +215,6 @@
"kn": {
"name": "канада"
},
- "yue": {
- "name": "кантонÑки"
- },
"ca": {
"name": "каталонÑки"
},
@@ -371,6 +368,9 @@
"de-AT": {
"name": "немачки (ÐуÑтрија)"
},
+ "gsw": {
+ "name": "немачки (ШвајцарÑка)"
+ },
"ne": {
"name": "непалÑки"
},
@@ -449,6 +449,9 @@
"sbp": {
"name": "Ñангу"
},
+ "sah": {
+ "name": "Ñаха"
+ },
"sw": {
"name": "Ñвахили"
},
@@ -467,6 +470,9 @@
"ii": {
"name": "ÑечуанÑки ји"
},
+ "sd": {
+ "name": "Ñинди"
+ },
"si": {
"name": "Ñинхалешки"
},
@@ -500,6 +506,12 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарÑки"
+ },
+ "tg": {
+ "name": "таџички"
+ },
"te": {
"name": "телугу"
},
@@ -614,9 +626,6 @@
"de-CH": {
"name": "швајцарÑки виÑоки немачки"
},
- "gsw": {
- "name": "ШвајцарÑки немачки"
- },
"sv": {
"name": "шведÑки"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
index 61022352b..9b7aef71e 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Cyrl-XK.json
@@ -83,6 +83,9 @@
"vo": {
"name": "волапик"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунџо"
},
@@ -176,9 +179,6 @@
"it": {
"name": "италијанÑки"
},
- "sah": {
- "name": "јакутÑки"
- },
"yav": {
"name": "јангбен"
},
@@ -215,9 +215,6 @@
"kn": {
"name": "канада"
},
- "yue": {
- "name": "кантонÑки"
- },
"ca": {
"name": "каталонÑки"
},
@@ -449,6 +446,9 @@
"sbp": {
"name": "Ñангу"
},
+ "sah": {
+ "name": "Ñаха"
+ },
"sw": {
"name": "Ñвахили"
},
@@ -467,6 +467,9 @@
"ii": {
"name": "ÑечуанÑки ји"
},
+ "sd": {
+ "name": "Ñинди"
+ },
"si": {
"name": "ÑинхалÑки"
},
@@ -500,6 +503,12 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарÑки"
+ },
+ "tg": {
+ "name": "таџички"
+ },
"te": {
"name": "телугу"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
index 9e723dd7a..265bd9af7 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-BA.json
@@ -221,9 +221,6 @@
"it": {
"name": "italijanski"
},
- "sah": {
- "name": "jakutski"
- },
"yav": {
"name": "jangben"
},
@@ -257,9 +254,6 @@
"kn": {
"name": "kanada"
},
- "yue": {
- "name": "kantonski"
- },
"ks": {
"name": "kašmirski"
},
@@ -485,6 +479,9 @@
"ru": {
"name": "ruski"
},
+ "sah": {
+ "name": "saha"
+ },
"saq": {
"name": "samburu"
},
@@ -509,6 +506,9 @@
"se": {
"name": "severni sami"
},
+ "sd": {
+ "name": "sindi"
+ },
"si": {
"name": "sinhalski"
},
@@ -557,6 +557,9 @@
"sv": {
"name": "Å¡vedski"
},
+ "tg": {
+ "name": "tadžiÄki"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"twq": {
"name": "tasavak"
},
+ "tt": {
+ "name": "tatarski"
+ },
"te": {
"name": "telugu"
},
@@ -620,6 +626,9 @@
"vo": {
"name": "volapik"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vundžo"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
index 7bbdb3abf..a7313a213 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-ME.json
@@ -221,9 +221,6 @@
"it": {
"name": "italijanski"
},
- "sah": {
- "name": "jakutski"
- },
"yav": {
"name": "jangben"
},
@@ -257,9 +254,6 @@
"kn": {
"name": "kanada"
},
- "yue": {
- "name": "kantonski"
- },
"ks": {
"name": "kašmirski"
},
@@ -410,6 +404,9 @@
"de-AT": {
"name": "nemaÄki (Austrija)"
},
+ "gsw": {
+ "name": "nemaÄki (Å vajcarska)"
+ },
"ne": {
"name": "nepalski"
},
@@ -485,6 +482,9 @@
"ru": {
"name": "ruski"
},
+ "sah": {
+ "name": "saha"
+ },
"saq": {
"name": "samburu"
},
@@ -509,6 +509,9 @@
"se": {
"name": "severni sami"
},
+ "sd": {
+ "name": "sindi"
+ },
"si": {
"name": "sinhaleški"
},
@@ -548,15 +551,15 @@
"es-MX": {
"name": "Å¡panski (Meksiko)"
},
- "gsw": {
- "name": "Å vajcarski nemaÄki"
- },
"de-CH": {
"name": "Å¡vajcarski visoki nemaÄki"
},
"sv": {
"name": "Å¡vedski"
},
+ "tg": {
+ "name": "tadžiÄki"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"twq": {
"name": "tasavak"
},
+ "tt": {
+ "name": "tatarski"
+ },
"te": {
"name": "telugu"
},
@@ -620,6 +626,9 @@
"vo": {
"name": "volapik"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vundžo"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
index d50a8f543..b666ecb07 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn-XK.json
@@ -221,9 +221,6 @@
"it": {
"name": "italijanski"
},
- "sah": {
- "name": "jakutski"
- },
"yav": {
"name": "jangben"
},
@@ -257,9 +254,6 @@
"kn": {
"name": "kanada"
},
- "yue": {
- "name": "kantonski"
- },
"ks": {
"name": "kašmirski"
},
@@ -485,6 +479,9 @@
"ru": {
"name": "ruski"
},
+ "sah": {
+ "name": "saha"
+ },
"saq": {
"name": "samburu"
},
@@ -509,6 +506,9 @@
"se": {
"name": "severni sami"
},
+ "sd": {
+ "name": "sindi"
+ },
"si": {
"name": "sinhalski"
},
@@ -557,6 +557,9 @@
"sv": {
"name": "Å¡vedski"
},
+ "tg": {
+ "name": "tadžiÄki"
+ },
"dav": {
"name": "taita"
},
@@ -569,6 +572,9 @@
"twq": {
"name": "tasavak"
},
+ "tt": {
+ "name": "tatarski"
+ },
"te": {
"name": "telugu"
},
@@ -620,6 +626,9 @@
"vo": {
"name": "volapik"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vundžo"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr-Latn.json b/vendor/commerceguys/intl/resources/language/sr-Latn.json
index ef98e25a8..4cd898e4a 100644
--- a/vendor/commerceguys/intl/resources/language/sr-Latn.json
+++ b/vendor/commerceguys/intl/resources/language/sr-Latn.json
@@ -218,9 +218,6 @@
"it": {
"name": "italijanski"
},
- "sah": {
- "name": "jakutski"
- },
"yav": {
"name": "jangben"
},
@@ -251,9 +248,6 @@
"kn": {
"name": "kanada"
},
- "yue": {
- "name": "kantonski"
- },
"ks": {
"name": "kašmirski"
},
@@ -404,6 +398,9 @@
"de-AT": {
"name": "nemaÄki (Austrija)"
},
+ "gsw": {
+ "name": "nemaÄki (Å vajcarska)"
+ },
"ne": {
"name": "nepalski"
},
@@ -479,6 +476,9 @@
"ru": {
"name": "ruski"
},
+ "sah": {
+ "name": "saha"
+ },
"saq": {
"name": "samburu"
},
@@ -503,6 +503,9 @@
"se": {
"name": "severni sami"
},
+ "sd": {
+ "name": "sindi"
+ },
"si": {
"name": "sinhaleški"
},
@@ -542,15 +545,15 @@
"es-MX": {
"name": "Å¡panski (Meksiko)"
},
- "gsw": {
- "name": "Å vajcarski nemaÄki"
- },
"de-CH": {
"name": "Å¡vajcarski visoki nemaÄki"
},
"sv": {
"name": "Å¡vedski"
},
+ "tg": {
+ "name": "tadžiÄki"
+ },
"dav": {
"name": "taita"
},
@@ -566,6 +569,9 @@
"shi": {
"name": "tašelhit"
},
+ "tt": {
+ "name": "tatarski"
+ },
"te": {
"name": "telugu"
},
@@ -617,6 +623,9 @@
"vo": {
"name": "volapik"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vundžo"
},
diff --git a/vendor/commerceguys/intl/resources/language/sr.json b/vendor/commerceguys/intl/resources/language/sr.json
index 6a3c25b95..be93e04b1 100644
--- a/vendor/commerceguys/intl/resources/language/sr.json
+++ b/vendor/commerceguys/intl/resources/language/sr.json
@@ -83,6 +83,9 @@
"vo": {
"name": "волапик"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вунџо"
},
@@ -176,9 +179,6 @@
"it": {
"name": "италијанÑки"
},
- "sah": {
- "name": "јакутÑки"
- },
"yav": {
"name": "јангбен"
},
@@ -212,9 +212,6 @@
"kn": {
"name": "канада"
},
- "yue": {
- "name": "кантонÑки"
- },
"ca": {
"name": "каталонÑки"
},
@@ -368,6 +365,9 @@
"de-AT": {
"name": "немачки (ÐуÑтрија)"
},
+ "gsw": {
+ "name": "немачки (ШвајцарÑка)"
+ },
"ne": {
"name": "непалÑки"
},
@@ -446,6 +446,9 @@
"sbp": {
"name": "Ñангу"
},
+ "sah": {
+ "name": "Ñаха"
+ },
"sw": {
"name": "Ñвахили"
},
@@ -464,6 +467,9 @@
"ii": {
"name": "ÑечуанÑки ји"
},
+ "sd": {
+ "name": "Ñинди"
+ },
"si": {
"name": "Ñинхалешки"
},
@@ -497,6 +503,12 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарÑки"
+ },
+ "tg": {
+ "name": "таџички"
+ },
"shi": {
"name": "ташелхит"
},
@@ -614,9 +626,6 @@
"de-CH": {
"name": "швајцарÑки виÑоки немачки"
},
- "gsw": {
- "name": "ШвајцарÑки немачки"
- },
"sv": {
"name": "шведÑки"
},
diff --git a/vendor/commerceguys/intl/resources/language/sv-FI.json b/vendor/commerceguys/intl/resources/language/sv-FI.json
index c86045357..0d1fa06ff 100644
--- a/vendor/commerceguys/intl/resources/language/sv-FI.json
+++ b/vendor/commerceguys/intl/resources/language/sv-FI.json
@@ -65,9 +65,6 @@
"brx": {
"name": "bodo"
},
- "nb": {
- "name": "bokmål"
- },
"bs": {
"name": "bosniska"
},
@@ -236,9 +233,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantonesiska"
- },
"kea": {
"name": "kapverdiska"
},
@@ -419,6 +413,9 @@
"se": {
"name": "nordsamiska"
},
+ "nb": {
+ "name": "norskt bokmål"
+ },
"nus": {
"name": "nuer"
},
@@ -497,6 +494,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalesiska"
},
@@ -530,6 +530,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadzjikiska"
+ },
"dav": {
"name": "taita"
},
@@ -539,6 +542,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatariska"
+ },
"te": {
"name": "telugu"
},
@@ -617,6 +623,9 @@
"wae": {
"name": "walsertyska"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sv.json b/vendor/commerceguys/intl/resources/language/sv.json
index 20aec7499..ff4935ad5 100644
--- a/vendor/commerceguys/intl/resources/language/sv.json
+++ b/vendor/commerceguys/intl/resources/language/sv.json
@@ -65,9 +65,6 @@
"brx": {
"name": "bodo"
},
- "nb": {
- "name": "bokmål"
- },
"bs": {
"name": "bosniska"
},
@@ -236,9 +233,6 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kantonesiska"
- },
"kea": {
"name": "kapverdiska"
},
@@ -419,6 +413,9 @@
"se": {
"name": "nordsamiska"
},
+ "nb": {
+ "name": "norskt bokmål"
+ },
"nus": {
"name": "nuer"
},
@@ -497,6 +494,9 @@
"sn": {
"name": "shona"
},
+ "sd": {
+ "name": "sindhi"
+ },
"si": {
"name": "singalesiska"
},
@@ -530,6 +530,9 @@
"shi": {
"name": "tachelhit"
},
+ "tg": {
+ "name": "tadzjikiska"
+ },
"dav": {
"name": "taita"
},
@@ -539,6 +542,9 @@
"twq": {
"name": "tasawaq"
},
+ "tt": {
+ "name": "tatariska"
+ },
"te": {
"name": "telugu"
},
@@ -617,6 +623,9 @@
"wae": {
"name": "walsertyska"
},
+ "wo": {
+ "name": "wolof"
+ },
"yav": {
"name": "yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/sw-CD.json b/vendor/commerceguys/intl/resources/language/sw-CD.json
index 202b31d0f..b4bcc8e51 100644
--- a/vendor/commerceguys/intl/resources/language/sw-CD.json
+++ b/vendor/commerceguys/intl/resources/language/sw-CD.json
@@ -68,6 +68,9 @@
"bn": {
"name": "Kibengali"
},
+ "zgh": {
+ "name": "Kiberber Sanifu cha Moroko"
+ },
"brx": {
"name": "Kibodo"
},
@@ -213,7 +216,7 @@
"name": "Kiingereza (Australia)"
},
"en-CA": {
- "name": "Kiingereza (Kanada)"
+ "name": "Kiingereza (Canada)"
},
"en-GB": {
"name": "Kiingereza (Uingereza)"
@@ -269,9 +272,6 @@
"kn": {
"name": "Kikannada"
},
- "yue": {
- "name": "Kikantoni"
- },
"ks": {
"name": "Kikashmiri"
},
@@ -408,7 +408,7 @@
"name": "Kingwana"
},
"nb": {
- "name": "Kinorwe cha Bokmål"
+ "name": "Kinorwe cha Bokmal"
},
"nn": {
"name": "Kinorwe cha Nynorsk"
@@ -473,9 +473,6 @@
"ru": {
"name": "Kirusi"
},
- "rwk": {
- "name": "Kirwa"
- },
"sah": {
"name": "Kisakha"
},
@@ -512,6 +509,9 @@
"sn": {
"name": "Kishona"
},
+ "sd": {
+ "name": "Kisindhi"
+ },
"si": {
"name": "Kisinhala"
},
@@ -548,12 +548,18 @@
"dav": {
"name": "Kitaita"
},
+ "tg": {
+ "name": "Kitajiki"
+ },
"ta": {
"name": "Kitamil"
},
"twq": {
"name": "Kitasawaq"
},
+ "tt": {
+ "name": "Kitatari"
+ },
"te": {
"name": "Kitelugu"
},
@@ -594,7 +600,7 @@
"name": "Kivietinamu"
},
"vo": {
- "name": "Kivolapük"
+ "name": "Kivolapuk"
},
"vun": {
"name": "Kivunjo"
@@ -626,10 +632,13 @@
"ses": {
"name": "Koyraboro Senni"
},
+ "rwk": {
+ "name": "Lugha ya Rwa"
+ },
+ "wo": {
+ "name": "Lugha ya Wolof"
+ },
"ii": {
"name": "Sichuan Yi"
- },
- "zgh": {
- "name": "Tamaziti Sanifu ya Kimoroko"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/sw-KE.json b/vendor/commerceguys/intl/resources/language/sw-KE.json
index 5236d3124..23f74bd92 100644
--- a/vendor/commerceguys/intl/resources/language/sw-KE.json
+++ b/vendor/commerceguys/intl/resources/language/sw-KE.json
@@ -207,7 +207,7 @@
"name": "Kiingereza (Australia)"
},
"en-CA": {
- "name": "Kiingereza (Kanada)"
+ "name": "Kiingereza (Canada)"
},
"en-GB": {
"name": "Kiingereza (Uingereza)"
@@ -266,9 +266,6 @@
"kn": {
"name": "Kikannada"
},
- "yue": {
- "name": "Kikantoni"
- },
"ks": {
"name": "Kikashmiri"
},
@@ -405,7 +402,7 @@
"name": "Kingwana"
},
"nb": {
- "name": "Kinorwe cha Bokmål"
+ "name": "Kinorwe cha Bokmal"
},
"nn": {
"name": "Kinorwe cha Nynorsk"
@@ -470,9 +467,6 @@
"ru": {
"name": "Kirusi"
},
- "rwk": {
- "name": "Kirwa"
- },
"sah": {
"name": "Kisakha"
},
@@ -509,6 +503,9 @@
"sn": {
"name": "Kishona"
},
+ "sd": {
+ "name": "Kisindhi"
+ },
"si": {
"name": "Kisinhala"
},
@@ -548,12 +545,18 @@
"dav": {
"name": "Kitaita"
},
+ "tg": {
+ "name": "Kitajiki"
+ },
"ta": {
"name": "Kitamil"
},
"twq": {
"name": "Kitasawaq"
},
+ "tt": {
+ "name": "Kitatari"
+ },
"te": {
"name": "Kitelugu"
},
@@ -594,7 +597,7 @@
"name": "Kivietinamu"
},
"vo": {
- "name": "Kivolapük"
+ "name": "Kivolapuk"
},
"vun": {
"name": "Kivunjo"
@@ -626,6 +629,12 @@
"tzm": {
"name": "Lugha ya Central Atlas Tamazight"
},
+ "rwk": {
+ "name": "Lugha ya Rwa"
+ },
+ "wo": {
+ "name": "Lugha ya Wolof"
+ },
"ii": {
"name": "Sichuan Yi"
},
diff --git a/vendor/commerceguys/intl/resources/language/sw.json b/vendor/commerceguys/intl/resources/language/sw.json
index 09e92a9b1..3b1b01152 100644
--- a/vendor/commerceguys/intl/resources/language/sw.json
+++ b/vendor/commerceguys/intl/resources/language/sw.json
@@ -68,6 +68,9 @@
"bn": {
"name": "Kibengali"
},
+ "zgh": {
+ "name": "Kiberber Sanifu cha Moroko"
+ },
"brx": {
"name": "Kibodo"
},
@@ -213,7 +216,7 @@
"name": "Kiingereza (Australia)"
},
"en-CA": {
- "name": "Kiingereza (Kanada)"
+ "name": "Kiingereza (Canada)"
},
"en-GB": {
"name": "Kiingereza (Uingereza)"
@@ -266,9 +269,6 @@
"kn": {
"name": "Kikannada"
},
- "yue": {
- "name": "Kikantoni"
- },
"ks": {
"name": "Kikashmiri"
},
@@ -399,7 +399,7 @@
"name": "Kingwana"
},
"nb": {
- "name": "Kinorwe cha Bokmål"
+ "name": "Kinorwe cha Bokmal"
},
"nn": {
"name": "Kinorwe cha Nynorsk"
@@ -464,9 +464,6 @@
"ru": {
"name": "Kirusi"
},
- "rwk": {
- "name": "Kirwa"
- },
"sah": {
"name": "Kisakha"
},
@@ -503,6 +500,9 @@
"sn": {
"name": "Kishona"
},
+ "sd": {
+ "name": "Kisindhi"
+ },
"si": {
"name": "Kisinhala"
},
@@ -539,12 +539,18 @@
"dav": {
"name": "Kitaita"
},
+ "tg": {
+ "name": "Kitajiki"
+ },
"ta": {
"name": "Kitamil"
},
"twq": {
"name": "Kitasawaq"
},
+ "tt": {
+ "name": "Kitatari"
+ },
"te": {
"name": "Kitelugu"
},
@@ -585,7 +591,7 @@
"name": "Kivietinamu"
},
"vo": {
- "name": "Kivolapük"
+ "name": "Kivolapuk"
},
"vun": {
"name": "Kivunjo"
@@ -623,12 +629,15 @@
"nnh": {
"name": "Lugha ya Ngiemboon"
},
+ "rwk": {
+ "name": "Lugha ya Rwa"
+ },
+ "wo": {
+ "name": "Lugha ya Wolof"
+ },
"ii": {
"name": "Sichuan Yi"
},
- "zgh": {
- "name": "Tamaziti Sanifu ya Kimoroko"
- },
"wae": {
"name": "Walser"
}
diff --git a/vendor/commerceguys/intl/resources/language/ta.json b/vendor/commerceguys/intl/resources/language/ta.json
index 7c2245adb..b4e3898e1 100644
--- a/vendor/commerceguys/intl/resources/language/ta.json
+++ b/vendor/commerceguys/intl/resources/language/ta.json
@@ -110,6 +110,9 @@
"vo": {
"name": "ஒலாபூகà¯"
},
+ "wo": {
+ "name": "ஓலோஃபà¯"
+ },
"fur": {
"name": "ஃபà¯à®°à®¿à®¯à¯‚லியனà¯"
},
@@ -167,9 +170,6 @@
"sw-CD": {
"name": "காஙà¯à®•à¯‹ ஸà¯à®µà®¾à®¹à®¿à®²à®¿"
},
- "yue": {
- "name": "காணà¯à®Ÿà¯‹à®©à¯€à®¸à¯"
- },
"kw": {
"name": "காரà¯à®©à®¿à®·à¯"
},
@@ -248,6 +248,9 @@
"ii": {
"name": "சிசà¯à®µà®¾à®©à¯ ஈ"
},
+ "sd": {
+ "name": "சிநà¯à®¤à®¿"
+ },
"zh": {
"name": "சீனமà¯"
},
@@ -278,6 +281,9 @@
"twq": {
"name": "டசவாகà¯"
},
+ "tt": {
+ "name": "டாடரà¯"
+ },
"ti": {
"name": "டிகà¯à®°à®¿à®©à¯à®¯à®¾"
},
@@ -302,6 +308,9 @@
"ta": {
"name": "தமிழà¯"
},
+ "tg": {
+ "name": "தஜிகà¯"
+ },
"th": {
"name": "தாயà¯"
},
diff --git a/vendor/commerceguys/intl/resources/language/te.json b/vendor/commerceguys/intl/resources/language/te.json
index 5f8101298..4b6c3b6f0 100644
--- a/vendor/commerceguys/intl/resources/language/te.json
+++ b/vendor/commerceguys/intl/resources/language/te.json
@@ -23,9 +23,6 @@
"asa": {
"name": "à°…à°¸à±"
},
- "ast": {
- "name": "à°…à°¸à±à°Ÿà±à°°à°¿à°¯à°¾à°¨à±"
- },
"as": {
"name": "à°…à°¸à±à°¸à°¾à°®à±€à°¸à±"
},
@@ -38,11 +35,14 @@
"hy": {
"name": "ఆరà±à°®à±‡à°¨à°¿à°¯à°¨à±"
},
- "en-AU": {
- "name": "ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¨à± ఇంగà±à°²à±€à°·à±"
+ "ast": {
+ "name": "ఆసà±à°Ÿà±‚రియనà±"
},
"de-AT": {
- "name": "ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¨à± జరà±à°®à°¨à±"
+ "name": "ఆసà±à°Ÿà±à°°à°¿à°¯à°¨à± జరà±à°®à°¨à±"
+ },
+ "en-AU": {
+ "name": "ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¨à± ఇంగà±à°²à±€à°·à±"
},
"id": {
"name": "ఇండోనేషియనà±"
@@ -62,12 +62,6 @@
"smn": {
"name": "ఇనారి సామి"
},
- "ee": {
- "name": "ఈవీ"
- },
- "et": {
- "name": "ఈసà±à°Ÿà±‹à°¨à°¿à°¯à°¨à±"
- },
"uk": {
"name": "ఉకà±à°°à±‡à°¨à°¿à°¯à°¨à±"
},
@@ -92,6 +86,9 @@
"ewo": {
"name": "ఎవోండొ"
},
+ "et": {
+ "name": "à°Žà°¸à±à°Ÿà±‹à°¨à°¿à°¯à°¨à±"
+ },
"eo": {
"name": "à°Žà°¸à±à°ªà±†à°°à°¾à°‚టో"
},
@@ -128,12 +125,12 @@
"sw-CD": {
"name": "కాంగో à°¸à±à°µà°¾à°¹à°¿à°²à°¿"
},
- "yue": {
- "name": "కాంటనీసà±"
- },
"kkj": {
"name": "కాకో"
},
+ "ca": {
+ "name": "కాటలానà±"
+ },
"kab": {
"name": "కాబిలà±"
},
@@ -152,8 +149,8 @@
"ky": {
"name": "à°•à°¿à°°à±à°—à°¿à°œà±"
},
- "ca": {
- "name": "కెటలానà±"
+ "qu": {
+ "name": "కెచà±à°µà°¾"
},
"en-CA": {
"name": "కెనడియనౠఇంగà±à°²à±€à°·à±"
@@ -161,9 +158,6 @@
"fr-CA": {
"name": "కెనడియెనౠఫà±à°°à±†à°‚à°šà±"
},
- "qu": {
- "name": "కెషà±à°¯à°¾"
- },
"kok": {
"name": "కొంకణి"
},
@@ -174,7 +168,7 @@
"name": "కొరియనà±"
},
"ksh": {
- "name": "కొలొజీయనà±"
+ "name": "కొలోనియనà±"
},
"ses": {
"name": "కోయోరాబోరో సెనà±à°¨à±€"
@@ -198,7 +192,7 @@
"name": "గాలిషియనà±"
},
"nnh": {
- "name": "గింబోనà±"
+ "name": "గింబూనà±"
},
"gu": {
"name": "à°—à±à°œà°°à°¾à°¤à°¿"
@@ -213,7 +207,7 @@
"name": "à°—à±à°°à±€à°•à±"
},
"cu": {
- "name": "à°šà°°à±à°š à°¸à±à°²à°¾à°µà°¿à°•à±"
+ "name": "à°šà°°à±à°šà± à°¸à±à°²à°¾à°µà°¿à°•à±"
},
"cs": {
"name": "చెకà±"
@@ -263,6 +257,9 @@
"shi": {
"name": "టాచెలà±â€Œà°¹à°¿à°Ÿà±"
},
+ "tt": {
+ "name": "టాటరà±"
+ },
"bo": {
"name": "టిబెటనà±"
},
@@ -278,6 +275,12 @@
"da": {
"name": "డానిషà±"
},
+ "dua": {
+ "name": "à°¡à±à°¯à±‚లా"
+ },
+ "tg": {
+ "name": "తజికà±"
+ },
"ta": {
"name": "తమిళమà±"
},
@@ -285,7 +288,7 @@
"name": "తిగà±à°°à°¿à°¨à±à°¯à°¾"
},
"tk": {
- "name": "à°¤à±à°°à±à°•à°®à±†à°¨à±"
+ "name": "à°¤à±à°°à±à°•à±â€Œà°®à±†à°¨à±"
},
"te": {
"name": "తెలà±à°—à±"
@@ -293,9 +296,6 @@
"th": {
"name": "థాయà±"
},
- "dua": {
- "name": "à°¦à±à°†à°²à°¾"
- },
"naq": {
"name": "నమ"
},
@@ -336,7 +336,7 @@
"name": "à°ªà±à°°à°·à±à°¯à°¨à±"
},
"zgh": {
- "name": "à°ªà±à°°à°¾à°®à°¾à°£à°¿à°• మొరొకనౠతమజియటà±"
+ "name": "à°ªà±à°°à°¾à°®à°¾à°£à°¿à°• మొరొకనౠటామజైటà±"
},
"fo": {
"name": "ఫారోయీజà±"
@@ -380,12 +380,12 @@
"eu": {
"name": "బాసà±à°•à±à°¯à±‚"
},
- "bez": {
- "name": "బీనా"
- },
"bem": {
"name": "బెంబా"
},
+ "bez": {
+ "name": "బెనా"
+ },
"be": {
"name": "బెలరà±à°·à°¿à°¯à°¨à±"
},
@@ -401,12 +401,12 @@
"br": {
"name": "à°¬à±à°°à±†à°Ÿà°¨à±"
},
- "gv": {
- "name": "మంకసà±"
- },
"mn": {
"name": "మంగోలియనà±"
},
+ "mua": {
+ "name": "మండాంగà±"
+ },
"kde": {
"name": "మకొండే"
},
@@ -423,11 +423,14 @@
"name": "మలయాళం"
},
"ms": {
- "name": "మలేయà±"
+ "name": "మలాయà±"
},
"mk": {
"name": "మసడోనియనà±"
},
+ "gv": {
+ "name": "మాంకà±à°¸à±"
+ },
"mg": {
"name": "మాలాగసి"
},
@@ -438,10 +441,7 @@
"name": "మాసనà±â€Œà°¦à±†à°°à°¾à°¨à°¿"
},
"mas": {
- "name": "మాసాయి"
- },
- "mua": {
- "name": "à°®à±à°¦à°¾à°‚à°—à±"
+ "name": "మాసై"
},
"es-MX": {
"name": "మెకà±à°¸à°¿à°•à°¨à± à°¸à±à°ªà°¾à°¨à°¿à°·à±"
@@ -461,18 +461,21 @@
"yav": {
"name": "యాంగà±â€Œà°¬à±†à°¨à±"
},
+ "ee": {
+ "name": "యూ"
+ },
"pt-PT": {
"name": "యూరోపియనౠపోరà±à°šà±à°—ీసà±"
},
"yo": {
"name": "యోరà±à°¬à°¾"
},
- "rn": {
- "name": "à°°à°‚à°¡à°¿"
- },
"ru": {
"name": "à°°à°·à±à°¯à°¨à±"
},
+ "rn": {
+ "name": "à°°à±à°‚à°¡à°¿"
+ },
"rof": {
"name": "రోంబో"
},
@@ -488,6 +491,9 @@
"lkt": {
"name": "లకొటా"
},
+ "lb": {
+ "name": "లకà±à°¸à±†à°‚బరà±à°—à°¿à°·à±"
+ },
"lag": {
"name": "లాంగీ"
},
@@ -501,10 +507,7 @@
"name": "లింగాల"
},
"lt": {
- "name": "లిథà±à°¯à±‡à°¨à°¿à°¯à°¨à±"
- },
- "lb": {
- "name": "à°²à±à°•à±à°¸à°‚బరà±à°—à°¿à°·à±"
+ "name": "లిథà±à°µà±‡à°¨à°¿à°¯à°¨à±"
},
"luy": {
"name": "à°²à±à°¯à°¿à°¯"
@@ -522,7 +525,7 @@
"name": "లో సాకà±à°¸à°¨à±"
},
"dsb": {
- "name": "లోవరౠసోరà±à°¬à°¿à°¯à°¨à±"
+ "name": "లోయరౠసోరà±à°¬à°¿à°¯à°¨à±"
},
"vai": {
"name": "వాయి"
@@ -539,6 +542,9 @@
"cy": {
"name": "వెలà±à°·à±"
},
+ "wo": {
+ "name": "వొలాఫà±"
+ },
"vo": {
"name": "వోలాపà±à°•à±"
},
@@ -569,6 +575,9 @@
"zh-Hant": {
"name": "సాంపà±à°°à°¦à°¾à°¯à°• చైనీసà±"
},
+ "sd": {
+ "name": "సింధీ"
+ },
"si": {
"name": "సింహళం"
},
@@ -576,7 +585,7 @@
"name": "సెంటà±à°°à°²à± à°…à°Ÿà±à°²à°¾à°¸à± టామాజైటà±"
},
"ckb": {
- "name": "సెంటà±à°°à°²à± à°•à±à°°à±à°¦à°¿à°·à±"
+ "name": "సెంటà±à°°à°²à± à°•à°°à±à°¡à°¿à°·à±"
},
"seh": {
"name": "సెనా"
@@ -600,7 +609,7 @@
"name": "à°¸à±à°²à±‹à°µà°¾à°•à±"
},
"sl": {
- "name": "à°¸à±à°²à±‹à°µà±‡à°¨à°¿à°¯à°¾à°¨à±"
+ "name": "à°¸à±à°²à±‹à°µà±‡à°¨à°¿à°¯à°¨à±"
},
"sw": {
"name": "à°¸à±à°µà°¾à°¹à°¿à°²à°¿"
diff --git a/vendor/commerceguys/intl/resources/language/teo.json b/vendor/commerceguys/intl/resources/language/teo.json
index c723a8015..8abe51a6e 100644
--- a/vendor/commerceguys/intl/resources/language/teo.json
+++ b/vendor/commerceguys/intl/resources/language/teo.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -545,6 +542,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -575,9 +575,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/tg.json b/vendor/commerceguys/intl/resources/language/tg.json
new file mode 100644
index 000000000..51bf01ddc
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/tg.json
@@ -0,0 +1,641 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (ÐидерландиÑ)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ },
+ "sq": {
+ "name": "албанӣ"
+ },
+ "am": {
+ "name": "амҳарӣ"
+ },
+ "en": {
+ "name": "англиÑÓ£"
+ },
+ "en-AU": {
+ "name": "англиÑÓ£ (ÐвÑтралиÑ)"
+ },
+ "en-CA": {
+ "name": "англиÑÓ£ (Канада)"
+ },
+ "en-GB": {
+ "name": "англиÑÓ£ (Шоҳигарии Муттаҳида)"
+ },
+ "ar": {
+ "name": "арабӣ"
+ },
+ "hy": {
+ "name": "арманӣ"
+ },
+ "as": {
+ "name": "аÑÑомӣ"
+ },
+ "af": {
+ "name": "африкаанÑ"
+ },
+ "eu": {
+ "name": "баÑкӣ"
+ },
+ "be": {
+ "name": "белоруÑÓ£"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bn": {
+ "name": "бинғолӣ"
+ },
+ "my": {
+ "name": "бирманӣ"
+ },
+ "bs": {
+ "name": "боÑниÑгӣ"
+ },
+ "br": {
+ "name": "бретонӣ"
+ },
+ "bg": {
+ "name": "булғорӣ"
+ },
+ "cy": {
+ "name": "валлӣ"
+ },
+ "vi": {
+ "name": "ветнамӣ"
+ },
+ "wo": {
+ "name": "волоф"
+ },
+ "gl": {
+ "name": "галиÑиÑгӣ"
+ },
+ "nl": {
+ "name": "голландӣ"
+ },
+ "nl-BE": {
+ "name": "голландӣ (БелгиÑ)"
+ },
+ "ka": {
+ "name": "гурҷӣ"
+ },
+ "gu": {
+ "name": "гуҷаротӣ"
+ },
+ "da": {
+ "name": "даниÑгӣ"
+ },
+ "dz": {
+ "name": "дзонгха"
+ },
+ "he": {
+ "name": "ибронӣ"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "yi": {
+ "name": "идиш"
+ },
+ "smn": {
+ "name": "инари Ñамӣ"
+ },
+ "id": {
+ "name": "индонезӣ"
+ },
+ "ga": {
+ "name": "ирландӣ"
+ },
+ "is": {
+ "name": "иÑландӣ"
+ },
+ "es": {
+ "name": "иÑпанӣ"
+ },
+ "es-MX": {
+ "name": "иÑпанӣ (МекÑика)"
+ },
+ "it": {
+ "name": "италиÑвӣ"
+ },
+ "yo": {
+ "name": "йоруба"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "ca": {
+ "name": "каталонӣ"
+ },
+ "ks": {
+ "name": "кашмирӣ"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "rw": {
+ "name": "кинÑруанда"
+ },
+ "kok": {
+ "name": "конканӣ"
+ },
+ "ko": {
+ "name": "кореÑгӣ"
+ },
+ "ckb": {
+ "name": "курдии марказӣ"
+ },
+ "km": {
+ "name": "кхмерӣ"
+ },
+ "kk": {
+ "name": "қазоқӣ"
+ },
+ "ky": {
+ "name": "қирғизӣ"
+ },
+ "lo": {
+ "name": "лаоÑÓ£"
+ },
+ "lv": {
+ "name": "латишӣ"
+ },
+ "pl": {
+ "name": "лаҳиÑтонӣ"
+ },
+ "lt": {
+ "name": "литвонӣ"
+ },
+ "lb": {
+ "name": "люкÑембургӣ"
+ },
+ "mk": {
+ "name": "мақдунӣ"
+ },
+ "mg": {
+ "name": "малагаÑÓ£"
+ },
+ "ms": {
+ "name": "малайӣ"
+ },
+ "ml": {
+ "name": "малаÑламӣ"
+ },
+ "mt": {
+ "name": "малтӣ"
+ },
+ "mr": {
+ "name": "маратҳӣ"
+ },
+ "hu": {
+ "name": "маҷорӣ"
+ },
+ "mn": {
+ "name": "муғулӣ"
+ },
+ "de": {
+ "name": "немиÑÓ£"
+ },
+ "de-AT": {
+ "name": "немиÑÓ£ (ÐвÑтриÑ)"
+ },
+ "de-CH": {
+ "name": "немиÑÓ£ (ШвейтÑариÑ)"
+ },
+ "ne": {
+ "name": "непалӣ"
+ },
+ "or": {
+ "name": "одиÑ"
+ },
+ "az": {
+ "name": "озарбойҷонӣ"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "pa": {
+ "name": "панҷобӣ"
+ },
+ "pt": {
+ "name": "португалӣ"
+ },
+ "pt-PT": {
+ "name": "португалӣ (ПортугалиÑ)"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rm": {
+ "name": "ретороманӣ"
+ },
+ "ro": {
+ "name": "руминӣ"
+ },
+ "ro-MD": {
+ "name": "руминӣ (Молдова)"
+ },
+ "ru": {
+ "name": "руÑÓ£"
+ },
+ "se": {
+ "name": "Ñамии шимолӣ"
+ },
+ "sah": {
+ "name": "Ñаха"
+ },
+ "sr": {
+ "name": "Ñербӣ"
+ },
+ "hsb": {
+ "name": "Ñербии болоӣ"
+ },
+ "dsb": {
+ "name": "Ñербии поёнӣ"
+ },
+ "si": {
+ "name": "Ñингалӣ"
+ },
+ "sd": {
+ "name": "Ñиндӣ"
+ },
+ "sk": {
+ "name": "Ñловакӣ"
+ },
+ "sl": {
+ "name": "Ñловенӣ"
+ },
+ "so": {
+ "name": "Ñомалӣ"
+ },
+ "th": {
+ "name": "тайӣ"
+ },
+ "tzm": {
+ "name": "тамазайти атлаÑи марказӣ"
+ },
+ "ta": {
+ "name": "тамилӣ"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "bo": {
+ "name": "тибетӣ"
+ },
+ "ti": {
+ "name": "тигринÑ"
+ },
+ "to": {
+ "name": "тонганӣ"
+ },
+ "tt": {
+ "name": "тоторӣ"
+ },
+ "tg": {
+ "name": "тоҷикӣ"
+ },
+ "tr": {
+ "name": "туркӣ"
+ },
+ "tk": {
+ "name": "туркманӣ"
+ },
+ "uz": {
+ "name": "ӯзбекӣ"
+ },
+ "ug": {
+ "name": "ӯйғурӣ"
+ },
+ "uk": {
+ "name": "украинӣ"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "fo": {
+ "name": "фарерӣ"
+ },
+ "fil": {
+ "name": "филиппинӣ"
+ },
+ "fi": {
+ "name": "финӣ"
+ },
+ "fa": {
+ "name": "форÑÓ£"
+ },
+ "fr": {
+ "name": "франÑузӣ"
+ },
+ "fr-CA": {
+ "name": "франÑузӣ (Канада)"
+ },
+ "fr-CH": {
+ "name": "франÑузӣ (ШвейтÑариÑ)"
+ },
+ "fy": {
+ "name": "фризии ғарбӣ"
+ },
+ "ff": {
+ "name": "фулаҳ"
+ },
+ "zh": {
+ "name": "хитоӣ"
+ },
+ "zh-Hant": {
+ "name": "хитоии анъанавӣ"
+ },
+ "zh-Hans": {
+ "name": "хитоии оÑонфаҳм"
+ },
+ "hr": {
+ "name": "хорватӣ"
+ },
+ "haw": {
+ "name": "ҳавайӣ"
+ },
+ "ha": {
+ "name": "ҳауÑа"
+ },
+ "hi": {
+ "name": "ҳиндӣ"
+ },
+ "chr": {
+ "name": "черокӣ"
+ },
+ "cs": {
+ "name": "чехӣ"
+ },
+ "sv": {
+ "name": "шведӣ"
+ },
+ "gd": {
+ "name": "шотландии гÑлӣ"
+ },
+ "eo": {
+ "name": "ÑÑперанто"
+ },
+ "et": {
+ "name": "ÑÑтонӣ"
+ },
+ "el": {
+ "name": "юнонӣ"
+ },
+ "ja": {
+ "name": "Ñпонӣ"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/th.json b/vendor/commerceguys/intl/resources/language/th.json
index 4bd246efd..1a76cda62 100644
--- a/vendor/commerceguys/intl/resources/language/th.json
+++ b/vendor/commerceguys/intl/resources/language/th.json
@@ -5,9 +5,6 @@
"kl": {
"name": "à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์"
},
- "yue": {
- "name": "à¸à¸§à¸²à¸‡à¸•à¸¸à¹‰à¸‡"
- },
"nmg": {
"name": "à¸à¸§à¸²à¸‹à¸´à¹‚อ"
},
@@ -35,15 +32,15 @@
"guz": {
"name": "à¸à¸¸à¸‹à¸‹à¸µ"
},
+ "gd": {
+ "name": "เà¸à¸¥à¸´à¸à¸ªà¸à¸­à¸•"
+ },
"ko": {
"name": "เà¸à¸²à¸«à¸¥à¸µ"
},
"km": {
"name": "เขมร"
},
- "qu": {
- "name": "ควิชัว"
- },
"kw": {
"name": "คอร์นิช"
},
@@ -71,6 +68,9 @@
"gu": {
"name": "คุชราต"
},
+ "qu": {
+ "name": "เคชวา"
+ },
"ckb": {
"name": "เคิร์ดโซรานี"
},
@@ -125,12 +125,18 @@
"dz": {
"name": "ซองคา"
},
- "hsb": {
- "name": "ซอร์บส์ตอนบน"
- },
"dsb": {
"name": "ซอร์บส์ตอนล่าง"
},
+ "hsb": {
+ "name": "ซอร์เบียตอนบน"
+ },
+ "sg": {
+ "name": "ซันโà¸"
+ },
+ "sah": {
+ "name": "ซาคา"
+ },
"se": {
"name": "ซามิเหนือ"
},
@@ -140,9 +146,6 @@
"dje": {
"name": "ซาร์มา"
},
- "sah": {
- "name": "ซาฮา"
- },
"zu": {
"name": "ซูลู"
},
@@ -158,9 +161,6 @@
"sbp": {
"name": "à¹à¸‹à¸‡à¸à¸¹"
},
- "sg": {
- "name": "à¹à¸‹à¸‡à¹‚à¸"
- },
"saq": {
"name": "à¹à¸‹à¸¡à¸šà¸¹à¸£à¸¹"
},
@@ -188,6 +188,9 @@
"twq": {
"name": "ตัสซาวัค"
},
+ "tt": {
+ "name": "ตาตาร์"
+ },
"ti": {
"name": "ติà¸à¸£à¸´à¸à¸à¸²"
},
@@ -201,11 +204,14 @@
"name": "เตลูà¸à¸¹"
},
"tk": {
- "name": "เติร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน"
+ "name": "เติร์à¸à¹€à¸¡à¸™"
},
"ta": {
"name": "ทมิฬ"
},
+ "tg": {
+ "name": "ทาจิà¸"
+ },
"shi": {
"name": "ทาเชลีห์ท"
},
@@ -251,12 +257,12 @@
"bg": {
"name": "บัลà¹à¸à¹€à¸£à¸µà¸¢"
},
- "eu": {
- "name": "บัสเà¸"
- },
"ksf": {
"name": "บาเฟีย"
},
+ "eu": {
+ "name": "บาสà¸à¹Œ"
+ },
"bas": {
"name": "บาสา"
},
@@ -309,7 +315,7 @@
"name": "พม่า"
},
"ps": {
- "name": "พาชตู"
+ "name": "พัชโต"
},
"brx": {
"name": "โพโฑ"
@@ -327,7 +333,7 @@
"name": "ฟิลิปปินส์"
},
"ff": {
- "name": "ฟูลาฮ์"
+ "name": "ฟูลาห์"
},
"nl-BE": {
"name": "เฟลมิช"
@@ -390,7 +396,7 @@
"name": "เมรู"
},
"yi": {
- "name": "ยิว"
+ "name": "ยิดดิช"
},
"lg": {
"name": "ยูà¸à¸±à¸™à¸”า"
@@ -482,15 +488,15 @@
"vi": {
"name": "เวียดนาม"
},
+ "wo": {
+ "name": "โวลอฟ"
+ },
"vo": {
"name": "โวลาพึค"
},
"vai": {
"name": "ไว"
},
- "gd": {
- "name": "สà¸à¸­à¸•à¸ªà¹Œà¸à¸²à¸¥à¸´à¸"
- },
"es": {
"name": "สเปน"
},
@@ -507,7 +513,7 @@
"name": "สวาฮีลี"
},
"sw-CD": {
- "name": "สวาฮีลี-คองโà¸"
+ "name": "สวาฮีลี - คองโà¸"
},
"sv": {
"name": "สวีเดน"
@@ -515,6 +521,9 @@
"si": {
"name": "สิงหล"
},
+ "sd": {
+ "name": "สินธิ"
+ },
"ii": {
"name": "เสฉวนยิ"
},
@@ -546,7 +555,7 @@
"name": "อัสสัม"
},
"ak": {
- "name": "อาคัน"
+ "name": "อาคาน"
},
"asa": {
"name": "อาซู"
@@ -567,7 +576,7 @@
"name": "อิตาลี"
},
"id": {
- "name": "อินโดนีเชีย"
+ "name": "อินโดนีเซีย"
},
"ewo": {
"name": "อีวันโด"
@@ -579,7 +588,7 @@
"name": "อุซเบà¸"
},
"ug": {
- "name": "อุยà¸à¸±à¸§"
+ "name": "อุยà¸à¸¹à¸£à¹Œ"
},
"ur": {
"name": "อูรดู"
@@ -597,7 +606,7 @@
"name": "เอสโตเนีย"
},
"eo": {
- "name": "เอสเปอรันโต"
+ "name": "เอสเปรันโต"
},
"af": {
"name": "à¹à¸­à¸Ÿà¸£à¸´à¸à¸²à¸™à¸ªà¹Œ"
@@ -630,6 +639,6 @@
"name": "ฮิบรู"
},
"ha": {
- "name": "เฮาชา"
+ "name": "เฮาซา"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/ti.json b/vendor/commerceguys/intl/resources/language/ti.json
index 0445d6a73..e894a5dd9 100644
--- a/vendor/commerceguys/intl/resources/language/ti.json
+++ b/vendor/commerceguys/intl/resources/language/ti.json
@@ -38,9 +38,6 @@
"my": {
"name": "Burmese"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -222,7 +219,7 @@
"name": "Nama"
},
"nds-NL": {
- "name": "nds (NL)"
+ "name": "nds (ኔዘርላንድስ)"
},
"nnh": {
"name": "Ngiemboon"
@@ -296,6 +293,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"xog": {
"name": "Soga"
},
@@ -314,9 +314,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"teo": {
"name": "Teso"
},
@@ -344,6 +350,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
@@ -393,7 +402,7 @@
"name": "ሮማኒያን"
},
"ro-MD": {
- "name": "ሮማኒያን (MD)"
+ "name": "ሮማኒያን (ሞáˆá‹¶á‰«)"
},
"sr": {
"name": "ሰርቢኛ"
@@ -402,7 +411,7 @@
"name": "ሰዋሂሊኛ"
},
"sw-CD": {
- "name": "ሰዋሂሊኛ (CD)"
+ "name": "ሰዋሂሊኛ (ኮንጎ)"
},
"sk": {
"name": "ስሎቨክኛ"
@@ -420,7 +429,7 @@
"name": "ስá“ኒሽ"
},
"es-MX": {
- "name": "ስá“ኒሽ (MX)"
+ "name": "ስá“ኒሽ (ሜክሲኮ)"
},
"bn": {
"name": "በንጋሊኛ"
@@ -513,13 +522,13 @@
"name": "እንáŒáˆŠá‹áŠ›"
},
"en-AU": {
- "name": "እንáŒáˆŠá‹áŠ› (AU)"
- },
- "en-CA": {
- "name": "እንáŒáˆŠá‹áŠ› (CA)"
+ "name": "እንáŒáˆŠá‹áŠ› (አá‹áˆµá‰µáˆ¬áˆŠá‹«)"
},
"en-GB": {
- "name": "እንáŒáˆŠá‹áŠ› (GB)"
+ "name": "እንáŒáˆŠá‹áŠ› (እንáŒáˆŠá‹)"
+ },
+ "en-CA": {
+ "name": "እንáŒáˆŠá‹áŠ› (ካናዳ)"
},
"or": {
"name": "ኦሪያ"
@@ -561,7 +570,7 @@
"name": "ደች"
},
"nl-BE": {
- "name": "ደች (BE)"
+ "name": "ደች (ቤáˆáŒ„áˆ)"
},
"da": {
"name": "ዴኒሽ"
@@ -569,11 +578,11 @@
"de": {
"name": "ጀርመን"
},
- "de-AT": {
- "name": "ጀርመን (AT)"
- },
"de-CH": {
- "name": "ጀርመን (CH)"
+ "name": "ጀርመን (ስዊዘርላንድ)"
+ },
+ "de-AT": {
+ "name": "ጀርመን (ኦስትሪያ)"
},
"ja": {
"name": "ጃá“ንኛ"
@@ -596,11 +605,11 @@
"fr": {
"name": "áˆáˆ¨áŠ•áˆ³á‹­áŠ›"
},
- "fr-CA": {
- "name": "áˆáˆ¨áŠ•áˆ³á‹­áŠ› (CA)"
- },
"fr-CH": {
- "name": "áˆáˆ¨áŠ•áˆ³á‹­áŠ› (CH)"
+ "name": "áˆáˆ¨áŠ•áˆ³á‹­áŠ› (ስዊዘርላንድ)"
+ },
+ "fr-CA": {
+ "name": "áˆáˆ¨áŠ•áˆ³á‹­áŠ› (ካናዳ)"
},
"fi": {
"name": "áŠáŠ’ሽ"
diff --git a/vendor/commerceguys/intl/resources/language/tk.json b/vendor/commerceguys/intl/resources/language/tk.json
new file mode 100644
index 000000000..9f1e70530
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/tk.json
@@ -0,0 +1,641 @@
+{
+ "zh-Hant": {
+ "name": "Adaty hytaý dili"
+ },
+ "af": {
+ "name": "Afrikaans dili"
+ },
+ "agq": {
+ "name": "Ahem dili"
+ },
+ "ak": {
+ "name": "Akan dili"
+ },
+ "sq": {
+ "name": "Alban dili"
+ },
+ "am": {
+ "name": "Amhar dili"
+ },
+ "ar": {
+ "name": "Arap dili"
+ },
+ "dsb": {
+ "name": "Aşaky lužits dili"
+ },
+ "as": {
+ "name": "Assam dili"
+ },
+ "ast": {
+ "name": "Asturiý dili"
+ },
+ "asa": {
+ "name": "Asu dili"
+ },
+ "az": {
+ "name": "Azerbaýjan dili"
+ },
+ "ksf": {
+ "name": "Bafia dili"
+ },
+ "bm": {
+ "name": "Bamana"
+ },
+ "bas": {
+ "name": "Basaa dili"
+ },
+ "eu": {
+ "name": "Bask dili"
+ },
+ "be": {
+ "name": "Belarus dili"
+ },
+ "bem": {
+ "name": "Bemba dili"
+ },
+ "bez": {
+ "name": "Bena dili"
+ },
+ "bn": {
+ "name": "Bengal dili"
+ },
+ "my": {
+ "name": "Birma dili"
+ },
+ "brx": {
+ "name": "Bodo dili"
+ },
+ "bg": {
+ "name": "Bolgar dili"
+ },
+ "bs": {
+ "name": "BoÅŸnak dili"
+ },
+ "br": {
+ "name": "Breton dili"
+ },
+ "cu": {
+ "name": "Buthana slaw dili"
+ },
+ "ce": {
+ "name": "Çeçen dili"
+ },
+ "cs": {
+ "name": "Çeh dili"
+ },
+ "chr": {
+ "name": "Çeroki"
+ },
+ "da": {
+ "name": "Daniýa dili"
+ },
+ "lrc": {
+ "name": "Demirgazyk luri dili"
+ },
+ "nd": {
+ "name": "Demirgazyk ndebele dili"
+ },
+ "se": {
+ "name": "Demirgazyk saam dili"
+ },
+ "dua": {
+ "name": "Duala dili"
+ },
+ "dz": {
+ "name": "Dzong-ke dili"
+ },
+ "ebu": {
+ "name": "Embu dili"
+ },
+ "hy": {
+ "name": "Ermeni dili"
+ },
+ "eo": {
+ "name": "Esperanto dili"
+ },
+ "et": {
+ "name": "Eston dili"
+ },
+ "ee": {
+ "name": "Ewe dili"
+ },
+ "ewo": {
+ "name": "Ewondo dili"
+ },
+ "fo": {
+ "name": "Farer dili"
+ },
+ "fil": {
+ "name": "Filippin dili"
+ },
+ "fi": {
+ "name": "Fin dili"
+ },
+ "nl-BE": {
+ "name": "Flamand dili"
+ },
+ "fr": {
+ "name": "Fransuz dili"
+ },
+ "fr-CA": {
+ "name": "Fransuz dili (Kanada)"
+ },
+ "fr-CH": {
+ "name": "Fransuz dili (Şweýsariýa)"
+ },
+ "fur": {
+ "name": "Friul dili"
+ },
+ "ff": {
+ "name": "Fula dili"
+ },
+ "gl": {
+ "name": "Galisiý dili"
+ },
+ "lg": {
+ "name": "Ganda dili"
+ },
+ "haw": {
+ "name": "Gawaý dili"
+ },
+ "kk": {
+ "name": "Gazak dili"
+ },
+ "el": {
+ "name": "Grek dili"
+ },
+ "kl": {
+ "name": "Grenland dili"
+ },
+ "ka": {
+ "name": "Gruzin dili"
+ },
+ "gu": {
+ "name": "Gujarati dili"
+ },
+ "fy": {
+ "name": "Günbatar friz dili"
+ },
+ "guz": {
+ "name": "Gusii dili"
+ },
+ "ky": {
+ "name": "Gyrgyz dili"
+ },
+ "ha": {
+ "name": "Hausa dili"
+ },
+ "hi": {
+ "name": "Hindi dili"
+ },
+ "hr": {
+ "name": "Horwat dili"
+ },
+ "zh": {
+ "name": "Hytaý dili"
+ },
+ "yi": {
+ "name": "IdiÅŸ dili"
+ },
+ "ig": {
+ "name": "Igbo dili"
+ },
+ "smn": {
+ "name": "Inari-saam dili"
+ },
+ "id": {
+ "name": "Indonez dili"
+ },
+ "en": {
+ "name": "Iňlis dili"
+ },
+ "en-AU": {
+ "name": "Iňlis dili (Awstraliýa)"
+ },
+ "en-GB": {
+ "name": "Iňlis dili (Beýik Britaniýa)"
+ },
+ "en-CA": {
+ "name": "Iňlis dili (Kanada)"
+ },
+ "ga": {
+ "name": "Irland dili"
+ },
+ "is": {
+ "name": "Island dili"
+ },
+ "es": {
+ "name": "Ispan dili"
+ },
+ "es-MX": {
+ "name": "Ispan dili (Meksika)"
+ },
+ "it": {
+ "name": "Italýan dili"
+ },
+ "kab": {
+ "name": "Kabil dili"
+ },
+ "kea": {
+ "name": "Kabuwerdianu dili"
+ },
+ "kkj": {
+ "name": "Kako dili"
+ },
+ "kln": {
+ "name": "Kalenjin dili"
+ },
+ "kam": {
+ "name": "Kamba dili"
+ },
+ "kn": {
+ "name": "Kannada dili"
+ },
+ "ks": {
+ "name": "KaÅŸmiri dili"
+ },
+ "ca": {
+ "name": "Katalan dili"
+ },
+ "qu": {
+ "name": "Keçua dili"
+ },
+ "ksh": {
+ "name": "Keln dili"
+ },
+ "km": {
+ "name": "Khmer dili"
+ },
+ "cgg": {
+ "name": "Kiga"
+ },
+ "ki": {
+ "name": "Kikuýu dili"
+ },
+ "rw": {
+ "name": "Kinýaruanda dili"
+ },
+ "sw-CD": {
+ "name": "Kongo suahili dili"
+ },
+ "kok": {
+ "name": "Konkani dili"
+ },
+ "ko": {
+ "name": "Koreý dili"
+ },
+ "kw": {
+ "name": "Korn dili"
+ },
+ "khq": {
+ "name": "Koýra-Çini dili"
+ },
+ "ses": {
+ "name": "Koýraboro-Senni dili"
+ },
+ "nmg": {
+ "name": "Kwasio dili"
+ },
+ "lkt": {
+ "name": "Lakota dili"
+ },
+ "lag": {
+ "name": "Langi dili"
+ },
+ "lo": {
+ "name": "Laos dili"
+ },
+ "lv": {
+ "name": "LatyÅŸ dili"
+ },
+ "ln": {
+ "name": "Lingala dili"
+ },
+ "lt": {
+ "name": "Litwa dili"
+ },
+ "lu": {
+ "name": "Luba-Katanga dili"
+ },
+ "luo": {
+ "name": "Luo dili"
+ },
+ "luy": {
+ "name": "Luýýa dili"
+ },
+ "lb": {
+ "name": "Lýuksemburg dili"
+ },
+ "jmc": {
+ "name": "Maçame dili"
+ },
+ "mk": {
+ "name": "Makedon dili"
+ },
+ "kde": {
+ "name": "Makonde dili"
+ },
+ "mgh": {
+ "name": "Makua-Mitto dili"
+ },
+ "mg": {
+ "name": "Malagasiý dili"
+ },
+ "ms": {
+ "name": "Malaý dili"
+ },
+ "ml": {
+ "name": "Malaýalam dili"
+ },
+ "mt": {
+ "name": "Malta dili"
+ },
+ "mr": {
+ "name": "Marathi dili"
+ },
+ "mas": {
+ "name": "Masai dili"
+ },
+ "mzn": {
+ "name": "Mazanderan dili"
+ },
+ "gv": {
+ "name": "Men dili"
+ },
+ "ckb": {
+ "name": "Merkezi kürt dili"
+ },
+ "mer": {
+ "name": "Meru dili"
+ },
+ "mgo": {
+ "name": "Meta dili"
+ },
+ "ro-MD": {
+ "name": "Moldaw dili"
+ },
+ "mn": {
+ "name": "Mongol dili"
+ },
+ "mfe": {
+ "name": "Morisýen dili"
+ },
+ "mua": {
+ "name": "Mundang dili"
+ },
+ "naq": {
+ "name": "Nama dili"
+ },
+ "nds-NL": {
+ "name": "nds (Niderlandiýa)"
+ },
+ "de": {
+ "name": "Nemes dili"
+ },
+ "de-AT": {
+ "name": "Nemes dili (Awstriýa)"
+ },
+ "de-CH": {
+ "name": "Nemes dili (Daglyk Şweýsariýa)"
+ },
+ "gsw": {
+ "name": "Nemes dili (Şweýsariýa)"
+ },
+ "ne": {
+ "name": "Nepal dili"
+ },
+ "nnh": {
+ "name": "Ngembun dili"
+ },
+ "jgo": {
+ "name": "Ngomba dili"
+ },
+ "nl": {
+ "name": "Niderland dili"
+ },
+ "nb": {
+ "name": "Norwegiýa bukmol dili"
+ },
+ "nn": {
+ "name": "Norwegiýa nýunorsk dili"
+ },
+ "nus": {
+ "name": "Nuer dili"
+ },
+ "nyn": {
+ "name": "Nýankole dili"
+ },
+ "or": {
+ "name": "Oriýa dili"
+ },
+ "om": {
+ "name": "Oromo dili"
+ },
+ "tzm": {
+ "name": "Orta-Atlas tamazight dili"
+ },
+ "os": {
+ "name": "Osetin dili"
+ },
+ "uz": {
+ "name": "Özbek dili"
+ },
+ "fa": {
+ "name": "Pars dili"
+ },
+ "pa": {
+ "name": "Penjab dili"
+ },
+ "ps": {
+ "name": "PeÅŸtun dili"
+ },
+ "pl": {
+ "name": "Polýak dili"
+ },
+ "pt": {
+ "name": "Portugal dili"
+ },
+ "pt-PT": {
+ "name": "Portugal dili (Ãewropa)"
+ },
+ "prg": {
+ "name": "Prussiýa dili"
+ },
+ "rm": {
+ "name": "Retoroman dili"
+ },
+ "rof": {
+ "name": "Rombo dili"
+ },
+ "ro": {
+ "name": "Rumyn dili"
+ },
+ "rn": {
+ "name": "Rundi dili"
+ },
+ "ru": {
+ "name": "Rus dili"
+ },
+ "rwk": {
+ "name": "Rwa dili"
+ },
+ "ksb": {
+ "name": "Åžambala dili"
+ },
+ "saq": {
+ "name": "Samburu dili"
+ },
+ "sg": {
+ "name": "Sango dili"
+ },
+ "sbp": {
+ "name": "Sangu dili"
+ },
+ "seh": {
+ "name": "Sena dili"
+ },
+ "sr": {
+ "name": "Serb dili"
+ },
+ "sd": {
+ "name": "Sindhi dili"
+ },
+ "si": {
+ "name": "Singal dili"
+ },
+ "sk": {
+ "name": "Slowak dili"
+ },
+ "sl": {
+ "name": "Slowen dili"
+ },
+ "xog": {
+ "name": "Soga dili"
+ },
+ "so": {
+ "name": "Somali dili"
+ },
+ "sn": {
+ "name": "Åžona dili"
+ },
+ "gd": {
+ "name": "Åžotland kelt dili"
+ },
+ "zgh": {
+ "name": "Standart Marokko tamazight dili"
+ },
+ "sw": {
+ "name": "Suahili dili"
+ },
+ "sv": {
+ "name": "Åžwed dili"
+ },
+ "ii": {
+ "name": "Syçuan-i dili"
+ },
+ "shi": {
+ "name": "Tahelhit dili"
+ },
+ "dav": {
+ "name": "Taita dili"
+ },
+ "tg": {
+ "name": "Täjik dili"
+ },
+ "ta": {
+ "name": "Tamil dili"
+ },
+ "twq": {
+ "name": "Tasawak dili"
+ },
+ "tt": {
+ "name": "Tatar dili"
+ },
+ "th": {
+ "name": "Taý dili"
+ },
+ "te": {
+ "name": "Telugu dili"
+ },
+ "teo": {
+ "name": "Teso dili"
+ },
+ "bo": {
+ "name": "Tibet dili"
+ },
+ "ti": {
+ "name": "Tigrinýa dili"
+ },
+ "to": {
+ "name": "Tongan dili"
+ },
+ "tr": {
+ "name": "Türk dili"
+ },
+ "tk": {
+ "name": "Türkmen dili"
+ },
+ "uk": {
+ "name": "Ukrain dili"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "ug": {
+ "name": "Uýgur dili"
+ },
+ "vai": {
+ "name": "Wai dili"
+ },
+ "cy": {
+ "name": "Walliý dili"
+ },
+ "wae": {
+ "name": "Walzer dili"
+ },
+ "hu": {
+ "name": "Wenger dili"
+ },
+ "vo": {
+ "name": "Wolapýuk dili"
+ },
+ "wo": {
+ "name": "Wolof dili"
+ },
+ "vun": {
+ "name": "Wunýo dili"
+ },
+ "vi": {
+ "name": "Wýetnam dili"
+ },
+ "sah": {
+ "name": "Ãakut dili"
+ },
+ "yav": {
+ "name": "Ãangben dili"
+ },
+ "ja": {
+ "name": "Ãapon dili"
+ },
+ "he": {
+ "name": "Ãewreý dili"
+ },
+ "hsb": {
+ "name": "Ãokarky lužits dili"
+ },
+ "dyo": {
+ "name": "Ãola-Fonyi dili"
+ },
+ "zh-Hans": {
+ "name": "ÃönekeýleÅŸdirilen hytaý dili"
+ },
+ "yo": {
+ "name": "Ãoruba dili"
+ },
+ "dje": {
+ "name": "Zarma dili"
+ },
+ "zu": {
+ "name": "Zulu dili"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/to.json b/vendor/commerceguys/intl/resources/language/to.json
index 5684e093e..1e2bf40bf 100644
--- a/vendor/commerceguys/intl/resources/language/to.json
+++ b/vendor/commerceguys/intl/resources/language/to.json
@@ -131,9 +131,6 @@
"kw": {
"name": "lea fakakoniuali"
},
- "yue": {
- "name": "lea fakakuangitongi"
- },
"nmg": {
"name": "lea fakakuasio"
},
@@ -293,6 +290,9 @@
"bm": {
"name": "lea fakapamipala"
},
+ "bn": {
+ "name": "lea fakapÄngilÄ"
+ },
"bas": {
"name": "lea fakapasaʻa"
},
@@ -317,9 +317,6 @@
"bez": {
"name": "lea fakapena"
},
- "bn": {
- "name": "lea fakapengikali"
- },
"fa": {
"name": "lea fakapēsia"
},
@@ -422,6 +419,9 @@
"cu": {
"name": "lea fakasilavia-fakasiasi"
},
+ "sd": {
+ "name": "lea fakasīniti"
+ },
"si": {
"name": "lea fakasingihala"
},
@@ -488,6 +488,12 @@
"shi": {
"name": "lea fakataselihiti"
},
+ "tg": {
+ "name": "lea fakatÄsiki"
+ },
+ "tt": {
+ "name": "lea fakatatale"
+ },
"tk": {
"name": "lea fakatēkimeni"
},
@@ -623,6 +629,9 @@
"uk": {
"name": "lea fakaʻūkalaʻine"
},
+ "wo": {
+ "name": "lea fakaʻuolofo"
+ },
"uz": {
"name": "lea fakaʻusipeki"
},
diff --git a/vendor/commerceguys/intl/resources/language/tr.json b/vendor/commerceguys/intl/resources/language/tr.json
index 64c4077f4..b4cc934e7 100644
--- a/vendor/commerceguys/intl/resources/language/tr.json
+++ b/vendor/commerceguys/intl/resources/language/tr.json
@@ -80,6 +80,9 @@
"bn": {
"name": "Bengalce"
},
+ "my": {
+ "name": "Birman dili"
+ },
"brx": {
"name": "Bodo"
},
@@ -92,9 +95,6 @@
"bg": {
"name": "Bulgarca"
},
- "my": {
- "name": "Burmaca"
- },
"ce": {
"name": "Çeçence"
},
@@ -272,9 +272,6 @@
"kn": {
"name": "Kannada dili"
},
- "yue": {
- "name": "Kantonca"
- },
"ca": {
"name": "Katalanca"
},
@@ -290,6 +287,9 @@
"ks": {
"name": "KeÅŸmir dili"
},
+ "km": {
+ "name": "Khmer dili"
+ },
"ky": {
"name": "Kırgızca"
},
@@ -308,9 +308,6 @@
"rn": {
"name": "Kirundi"
},
- "km": {
- "name": "Kmerce"
- },
"sw-CD": {
"name": "Kongo Svahili"
},
@@ -402,10 +399,10 @@
"name": "Maltaca"
},
"gv": {
- "name": "Manks"
+ "name": "Man dili"
},
"mr": {
- "name": "Marathi"
+ "name": "Marathi dili"
},
"mas": {
"name": "Masai"
@@ -515,9 +512,6 @@
"seh": {
"name": "Sena"
},
- "si": {
- "name": "Seylanca"
- },
"ksb": {
"name": "Shambala"
},
@@ -530,6 +524,12 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi dili"
+ },
+ "si": {
+ "name": "Sinhali dili"
+ },
"sk": {
"name": "Slovakça"
},
@@ -546,7 +546,10 @@
"name": "Standart Fas Tamazigti"
},
"sw": {
- "name": "Svahili"
+ "name": "Svahili dili"
+ },
+ "tg": {
+ "name": "Tacikçe"
},
"dav": {
"name": "Taita"
@@ -560,6 +563,9 @@
"shi": {
"name": "TaÅŸelhit"
},
+ "tt": {
+ "name": "Tatarca"
+ },
"th": {
"name": "Tayca"
},
@@ -573,7 +579,7 @@
"name": "Tibetçe"
},
"ti": {
- "name": "Tigrinya"
+ "name": "Tigrinya dili"
},
"to": {
"name": "Tonga dili"
@@ -602,6 +608,9 @@
"vo": {
"name": "Volapük"
},
+ "wo": {
+ "name": "Volofça"
+ },
"vun": {
"name": "Vunjo"
},
diff --git a/vendor/commerceguys/intl/resources/language/tt.json b/vendor/commerceguys/intl/resources/language/tt.json
new file mode 100644
index 000000000..511dc6def
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/tt.json
@@ -0,0 +1,641 @@
+{
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Ðидерланд)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ },
+ "sq": {
+ "name": "албан"
+ },
+ "de": {
+ "name": "алман"
+ },
+ "de-AT": {
+ "name": "алман (ÐвÑтриÑ)"
+ },
+ "de-CH": {
+ "name": "алман (ШвейцариÑ)"
+ },
+ "am": {
+ "name": "амхар"
+ },
+ "as": {
+ "name": "аÑÑам"
+ },
+ "af": {
+ "name": "африкаанÑ"
+ },
+ "az": {
+ "name": "әзәрбайҗан"
+ },
+ "hy": {
+ "name": "әрмән"
+ },
+ "eu": {
+ "name": "баÑк"
+ },
+ "be": {
+ "name": "белоруÑ"
+ },
+ "bem": {
+ "name": "бемба"
+ },
+ "bn": {
+ "name": "бенгали"
+ },
+ "my": {
+ "name": "бирма"
+ },
+ "bg": {
+ "name": "болгар"
+ },
+ "bs": {
+ "name": "боÑниÑ"
+ },
+ "br": {
+ "name": "бретон"
+ },
+ "hu": {
+ "name": "венгр"
+ },
+ "wo": {
+ "name": "волоф"
+ },
+ "vi": {
+ "name": "вьетнам"
+ },
+ "haw": {
+ "name": "гавайи"
+ },
+ "zh-Hans": {
+ "name": "гадиләштерелгән кытай"
+ },
+ "gl": {
+ "name": "галиÑиÑ"
+ },
+ "ar": {
+ "name": "гарәп"
+ },
+ "nl": {
+ "name": "голланд"
+ },
+ "nl-BE": {
+ "name": "голланд (БельгиÑ)"
+ },
+ "el": {
+ "name": "грек"
+ },
+ "ka": {
+ "name": "грузин"
+ },
+ "gu": {
+ "name": "гуҗарати"
+ },
+ "da": {
+ "name": "даниÑ"
+ },
+ "dz": {
+ "name": "дзонг-кха"
+ },
+ "ig": {
+ "name": "игбо"
+ },
+ "yi": {
+ "name": "идиш"
+ },
+ "smn": {
+ "name": "инари-Ñаам"
+ },
+ "en": {
+ "name": "инглиз"
+ },
+ "en-AU": {
+ "name": "инглиз (ÐвÑтралиÑ)"
+ },
+ "en-GB": {
+ "name": "инглиз (БөекбританиÑ)"
+ },
+ "en-CA": {
+ "name": "инглиз (Канада)"
+ },
+ "id": {
+ "name": "индонезиÑ"
+ },
+ "ga": {
+ "name": "ирланд"
+ },
+ "is": {
+ "name": "иÑланд"
+ },
+ "es": {
+ "name": "иÑпан"
+ },
+ "es-MX": {
+ "name": "иÑпан (МекÑика)"
+ },
+ "it": {
+ "name": "итальÑн"
+ },
+ "yo": {
+ "name": "йоруба"
+ },
+ "kk": {
+ "name": "казакъ"
+ },
+ "kn": {
+ "name": "каннада"
+ },
+ "ca": {
+ "name": "каталан"
+ },
+ "ks": {
+ "name": "кашмири"
+ },
+ "qu": {
+ "name": "кечуа"
+ },
+ "kok": {
+ "name": "конкани"
+ },
+ "ko": {
+ "name": "кореÑ"
+ },
+ "km": {
+ "name": "кхмер"
+ },
+ "ky": {
+ "name": "кыргыз"
+ },
+ "zh": {
+ "name": "кытай (тәрҗемә киңәше: аерым алганда, мандарин кытайчаÑÑ‹)"
+ },
+ "lo": {
+ "name": "лаоÑ"
+ },
+ "lv": {
+ "name": "латыш"
+ },
+ "lt": {
+ "name": "литва"
+ },
+ "lb": {
+ "name": "люкÑембург"
+ },
+ "mk": {
+ "name": "македон"
+ },
+ "mg": {
+ "name": "малагаÑи"
+ },
+ "ms": {
+ "name": "малай"
+ },
+ "ml": {
+ "name": "малаÑлам"
+ },
+ "mt": {
+ "name": "мальта"
+ },
+ "mr": {
+ "name": "маратхи"
+ },
+ "mn": {
+ "name": "монгол"
+ },
+ "ne": {
+ "name": "непали"
+ },
+ "or": {
+ "name": "ориÑ"
+ },
+ "om": {
+ "name": "оромо"
+ },
+ "pa": {
+ "name": "пәнҗаби"
+ },
+ "pl": {
+ "name": "полÑк"
+ },
+ "pt": {
+ "name": "португал"
+ },
+ "pt-PT": {
+ "name": "португал (ПортугалиÑ)"
+ },
+ "ps": {
+ "name": "пушту"
+ },
+ "rm": {
+ "name": "ретороман"
+ },
+ "rw": {
+ "name": "руанда"
+ },
+ "ro": {
+ "name": "румын"
+ },
+ "ro-MD": {
+ "name": "румын (Молдова)"
+ },
+ "ru": {
+ "name": "руÑ"
+ },
+ "sah": {
+ "name": "Ñаха"
+ },
+ "sr": {
+ "name": "Ñерб"
+ },
+ "si": {
+ "name": "Ñингал"
+ },
+ "sd": {
+ "name": "Ñиндһи"
+ },
+ "sk": {
+ "name": "Ñловак"
+ },
+ "sl": {
+ "name": "Ñловен"
+ },
+ "so": {
+ "name": "Ñомали"
+ },
+ "tg": {
+ "name": "таҗик"
+ },
+ "th": {
+ "name": "тай"
+ },
+ "ta": {
+ "name": "тамил"
+ },
+ "tt": {
+ "name": "татар"
+ },
+ "te": {
+ "name": "телугу"
+ },
+ "bo": {
+ "name": "тибет"
+ },
+ "ti": {
+ "name": "тигриньÑ"
+ },
+ "to": {
+ "name": "тонга"
+ },
+ "se": {
+ "name": "төньÑк Ñаам"
+ },
+ "tr": {
+ "name": "төрек"
+ },
+ "tk": {
+ "name": "төрекмән"
+ },
+ "zh-Hant": {
+ "name": "традицион кытай"
+ },
+ "dsb": {
+ "name": "түбән Ñорб"
+ },
+ "ug": {
+ "name": "уйгыр"
+ },
+ "uk": {
+ "name": "украин"
+ },
+ "ur": {
+ "name": "урду"
+ },
+ "cy": {
+ "name": "уÑльÑ"
+ },
+ "tzm": {
+ "name": "үзәк Ð°Ñ‚Ð»Ð°Ñ Ñ‚Ð°Ð¼Ð°Ð·Ð¸Ð³Ñ‚"
+ },
+ "ckb": {
+ "name": "үзәк көрд"
+ },
+ "uz": {
+ "name": "үзбәк"
+ },
+ "fo": {
+ "name": "фарер"
+ },
+ "fa": {
+ "name": "фарÑÑ‹"
+ },
+ "fil": {
+ "name": "филиппин"
+ },
+ "fi": {
+ "name": "фин"
+ },
+ "fr": {
+ "name": "француз"
+ },
+ "fr-CA": {
+ "name": "француз (Канада)"
+ },
+ "fr-CH": {
+ "name": "француз (ШвейцариÑ)"
+ },
+ "ff": {
+ "name": "фула"
+ },
+ "ha": {
+ "name": "хауÑа"
+ },
+ "hr": {
+ "name": "хорват"
+ },
+ "hi": {
+ "name": "һинд"
+ },
+ "chr": {
+ "name": "чероки"
+ },
+ "cs": {
+ "name": "чех"
+ },
+ "sv": {
+ "name": "швед"
+ },
+ "gd": {
+ "name": "шотланд гÑль"
+ },
+ "eo": {
+ "name": "ÑÑперанто"
+ },
+ "et": {
+ "name": "ÑÑтон"
+ },
+ "hsb": {
+ "name": "югары Ñорб"
+ },
+ "ja": {
+ "name": "Ñпон"
+ },
+ "he": {
+ "name": "Ñһүд"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/twq.json b/vendor/commerceguys/intl/resources/language/twq.json
index 9c1731ec5..2c2703dfc 100644
--- a/vendor/commerceguys/intl/resources/language/twq.json
+++ b/vendor/commerceguys/intl/resources/language/twq.json
@@ -77,9 +77,6 @@
"my": {
"name": "Burme senni"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -503,6 +500,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -551,12 +551,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamil senni"
},
"twq": {
"name": "Tasawaq senni"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/tzm.json b/vendor/commerceguys/intl/resources/language/tzm.json
index 58074987e..dab57f607 100644
--- a/vendor/commerceguys/intl/resources/language/tzm.json
+++ b/vendor/commerceguys/intl/resources/language/tzm.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -371,6 +368,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -464,6 +464,9 @@
"ja": {
"name": "Tajappunit"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ak": {
"name": "Takanit"
},
@@ -539,6 +542,9 @@
"ta": {
"name": "Tatamilt"
},
+ "tt": {
+ "name": "Tatar"
+ },
"th": {
"name": "Taá¹­ayt"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/ug.json b/vendor/commerceguys/intl/resources/language/ug.json
index 376d48c68..8e795b9e3 100644
--- a/vendor/commerceguys/intl/resources/language/ug.json
+++ b/vendor/commerceguys/intl/resources/language/ug.json
@@ -164,6 +164,12 @@
"ps": {
"name": "پۇشتۇچە"
},
+ "tt": {
+ "name": "تاتارچە"
+ },
+ "tg": {
+ "name": "تاجىكچە"
+ },
"ta": {
"name": "تامىلچە"
},
@@ -290,6 +296,9 @@
"sl": {
"name": "سىلوۋÛÙ†Ú†Û•"
},
+ "sd": {
+ "name": "سىندىچە"
+ },
"si": {
"name": "سىنگالچە"
},
@@ -437,9 +446,6 @@
"nl-BE": {
"name": "گوللاندچە (بÛلگىيە)"
},
- "yue": {
- "name": "گۇاڭدوڭچە"
- },
"gu": {
"name": "گۇجاراتچە"
},
@@ -587,6 +593,9 @@
"vo": {
"name": "ۋولاپۇكچە"
},
+ "wo": {
+ "name": "ۋولوÙÚ†Û•"
+ },
"vun": {
"name": "ۋۇنجوچە"
},
diff --git a/vendor/commerceguys/intl/resources/language/uk.json b/vendor/commerceguys/intl/resources/language/uk.json
index 2bbcebf93..bba866c3d 100644
--- a/vendor/commerceguys/intl/resources/language/uk.json
+++ b/vendor/commerceguys/intl/resources/language/uk.json
@@ -20,6 +20,9 @@
"en-AU": {
"name": "англійÑька (ÐвÑтраліÑ)"
},
+ "en-GB": {
+ "name": "англійÑька (Велика БританіÑ)"
+ },
"en-CA": {
"name": "англійÑька (Канада)"
},
@@ -41,6 +44,9 @@
"bm": {
"name": "бамбара"
},
+ "bn": {
+ "name": "банґла"
+ },
"bas": {
"name": "баÑа"
},
@@ -56,9 +62,6 @@
"bez": {
"name": "бена"
},
- "bn": {
- "name": "бенгальÑька"
- },
"be": {
"name": "білоруÑька"
},
@@ -77,12 +80,6 @@
"br": {
"name": "бретонÑька"
},
- "en-GB": {
- "name": "британÑька англійÑька"
- },
- "nb": {
- "name": "букмол (ÐорвегіÑ)"
- },
"vai": {
"name": "ваї"
},
@@ -104,6 +101,9 @@
"vo": {
"name": "волапʼюк"
},
+ "wo": {
+ "name": "волоф"
+ },
"vun": {
"name": "вуньо"
},
@@ -125,9 +125,6 @@
"hi": {
"name": "гінді"
},
- "nl": {
- "name": "голландÑька"
- },
"el": {
"name": "грецька"
},
@@ -170,6 +167,9 @@
"et": {
"name": "еÑтонÑька"
},
+ "pt-PT": {
+ "name": "європейÑька портуґальÑька"
+ },
"fy": {
"name": "західнофризька"
},
@@ -182,9 +182,6 @@
"ig": {
"name": "ігбо"
},
- "yi": {
- "name": "ідиш"
- },
"id": {
"name": "індонезійÑька"
},
@@ -203,6 +200,9 @@
"it": {
"name": "італійÑька"
},
+ "yi": {
+ "name": "їдиш"
+ },
"yo": {
"name": "йоруба"
},
@@ -230,9 +230,6 @@
"kn": {
"name": "каннада"
},
- "yue": {
- "name": "кантонÑька"
- },
"ca": {
"name": "каталонÑька"
},
@@ -252,10 +249,10 @@
"name": "китайÑька"
},
"zh-Hans": {
- "name": "китайÑька Ñпрощена"
+ "name": "китайÑька (Ñпрощене пиÑьмо)"
},
"zh-Hant": {
- "name": "китайÑька традиційна"
+ "name": "китайÑька (традиційне пиÑьмо)"
},
"cgg": {
"name": "кіга"
@@ -275,9 +272,6 @@
"ksh": {
"name": "колоніан"
},
- "sw-CD": {
- "name": "конгійÑьке Ñуахілі"
- },
"kok": {
"name": "конкані"
},
@@ -287,9 +281,6 @@
"kw": {
"name": "корнійÑька"
},
- "ckb": {
- "name": "курдÑька (Ñорані)"
- },
"km": {
"name": "кхмерÑька"
},
@@ -386,9 +377,6 @@
"jgo": {
"name": "нгомба"
},
- "nd": {
- "name": "ндебелє північна"
- },
"ne": {
"name": "непальÑька"
},
@@ -401,6 +389,9 @@
"nds-NL": {
"name": "нижньоÑакÑонÑька"
},
+ "nl": {
+ "name": "нідерландÑька"
+ },
"de": {
"name": "німецька"
},
@@ -410,17 +401,20 @@
"gsw": {
"name": "німецька (ШвейцаріÑ)"
},
+ "nb": {
+ "name": "норвезька (букмол)"
+ },
+ "nn": {
+ "name": "норвезька (нюношк)"
+ },
"nus": {
"name": "нуер"
},
"nyn": {
"name": "ньÑнколе"
},
- "nn": {
- "name": "нюношк (ÐорвегіÑ)"
- },
"or": {
- "name": "оріÑ"
+ "name": "одіÑ"
},
"om": {
"name": "оромо"
@@ -434,17 +428,20 @@
"fa": {
"name": "перÑька"
},
+ "nd": {
+ "name": "північна ндебеле"
+ },
"lrc": {
- "name": "північна лурÑька"
+ "name": "північнолурÑька"
+ },
+ "se": {
+ "name": "північноÑаамÑька"
},
"pl": {
"name": "польÑька"
},
"pt": {
- "name": "португальÑька"
- },
- "pt-PT": {
- "name": "португальÑька (Європа)"
+ "name": "портуґальÑька"
},
"prg": {
"name": "пруÑька"
@@ -473,9 +470,6 @@
"smn": {
"name": "ÑаамÑька інарі"
},
- "se": {
- "name": "ÑаамÑька північна"
- },
"saq": {
"name": "Ñамбуру"
},
@@ -497,6 +491,9 @@
"ii": {
"name": "Ñичуань"
},
+ "sd": {
+ "name": "Ñіндхі"
+ },
"sk": {
"name": "Ñловацька"
},
@@ -515,6 +512,12 @@
"sw": {
"name": "Ñуахілі"
},
+ "sw-CD": {
+ "name": "Ñуахілі (Конго)"
+ },
+ "tg": {
+ "name": "таджицька"
+ },
"dav": {
"name": "таіта"
},
@@ -527,6 +530,9 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарÑька"
+ },
"shi": {
"name": "тачеліт"
},
@@ -543,7 +549,7 @@
"name": "тигриньÑ"
},
"to": {
- "name": "тонганÑька"
+ "name": "тонґанÑька"
},
"tr": {
"name": "турецька"
@@ -599,6 +605,9 @@
"hr": {
"name": "хорватÑька"
},
+ "ckb": {
+ "name": "центральнокурдÑька"
+ },
"tzm": {
"name": "центральномароканÑька тамазіт"
},
diff --git a/vendor/commerceguys/intl/resources/language/ur-IN.json b/vendor/commerceguys/intl/resources/language/ur-IN.json
index 64d95ae59..a70762353 100644
--- a/vendor/commerceguys/intl/resources/language/ur-IN.json
+++ b/vendor/commerceguys/intl/resources/language/ur-IN.json
@@ -11,9 +11,6 @@
"ur": {
"name": "اردو"
},
- "hy": {
- "name": "ارمینی"
- },
"or": {
"name": "اڑیÛ"
},
@@ -77,6 +74,9 @@
"az": {
"name": "آذربائیجانی"
},
+ "hy": {
+ "name": "آرمینیائی"
+ },
"as": {
"name": "آسامی"
},
@@ -155,6 +155,12 @@
"pl": {
"name": "پولش"
},
+ "tt": {
+ "name": "تاتار"
+ },
+ "tg": {
+ "name": "تاجک"
+ },
"twq": {
"name": "تاساواق"
},
@@ -204,7 +210,7 @@
"name": "جولا Ùونيا"
},
"cu": {
- "name": "چرچ سلاؤ"
+ "name": "چرچ سلاوک"
},
"ce": {
"name": "چیچن"
@@ -285,7 +291,7 @@
"name": "سربین"
},
"gd": {
- "name": "سکاٹ گیلÙÚ©"
+ "name": "سکاٹش گیلک"
},
"sk": {
"name": "سلوواک"
@@ -293,6 +299,9 @@
"sl": {
"name": "سلووینیائی"
},
+ "sd": {
+ "name": "سندھی"
+ },
"si": {
"name": "سنÛالا"
},
@@ -422,9 +431,6 @@
"ki": {
"name": "کیکویو"
},
- "yue": {
- "name": "کینٹونیز"
- },
"rw": {
"name": "کینیاروانڈا"
},
@@ -542,6 +548,9 @@
"nb": {
"name": "نارویجین بوکمل"
},
+ "nn": {
+ "name": "نارویجین نینورسک"
+ },
"naq": {
"name": "ناما"
},
@@ -551,9 +560,6 @@
"nnh": {
"name": "نگیمبون"
},
- "nn": {
- "name": "نورویجینی نینورسک"
- },
"nus": {
"name": "نویر"
},
@@ -575,6 +581,9 @@
"vo": {
"name": "وولاپوک"
},
+ "wo": {
+ "name": "وولوÙ"
+ },
"vi": {
"name": "ویتنامی"
},
diff --git a/vendor/commerceguys/intl/resources/language/ur.json b/vendor/commerceguys/intl/resources/language/ur.json
index 52b0637a1..50cd43a71 100644
--- a/vendor/commerceguys/intl/resources/language/ur.json
+++ b/vendor/commerceguys/intl/resources/language/ur.json
@@ -11,9 +11,6 @@
"ur": {
"name": "اردو"
},
- "hy": {
- "name": "ارمینی"
- },
"or": {
"name": "اڑیÛ"
},
@@ -35,6 +32,9 @@
"agq": {
"name": "اغم"
},
+ "af": {
+ "name": "اÙریقی"
+ },
"ak": {
"name": "اکان"
},
@@ -68,9 +68,6 @@
"eo": {
"name": "ایسپرانٹو"
},
- "af": {
- "name": "ایÙریکانز"
- },
"ee": {
"name": "ایو"
},
@@ -80,6 +77,9 @@
"az": {
"name": "آذربائیجانی"
},
+ "hy": {
+ "name": "آرمینیائی"
+ },
"as": {
"name": "آسامی"
},
@@ -155,6 +155,12 @@
"pl": {
"name": "پولش"
},
+ "tt": {
+ "name": "تاتار"
+ },
+ "tg": {
+ "name": "تاجک"
+ },
"twq": {
"name": "تاساواق"
},
@@ -195,7 +201,7 @@
"name": "جاپانی"
},
"ka": {
- "name": "جارجی"
+ "name": "جارجیائی"
},
"de": {
"name": "جرمن"
@@ -204,7 +210,7 @@
"name": "جولا Ùونيا"
},
"cu": {
- "name": "چرچ سلاؤ"
+ "name": "چرچ سلاوک"
},
"ce": {
"name": "چیچن"
@@ -288,7 +294,7 @@
"name": "سربین"
},
"gd": {
- "name": "سکاٹ گیلÙÚ©"
+ "name": "سکاٹش گیلک"
},
"sk": {
"name": "سلوواک"
@@ -296,15 +302,15 @@
"sl": {
"name": "سلووینیائی"
},
+ "sd": {
+ "name": "سندھی"
+ },
"si": {
"name": "سنÛالا"
},
"sw": {
"name": "سواحلی"
},
- "ckb": {
- "name": "سورانی کردش"
- },
"xog": {
"name": "سوگا"
},
@@ -326,6 +332,9 @@
"tzm": {
"name": "سینٹرل ایٹلس ٹمازائٹ"
},
+ "ckb": {
+ "name": "سینٹرل کردش"
+ },
"ksb": {
"name": "شامبالا"
},
@@ -422,9 +431,6 @@
"ki": {
"name": "کیکویو"
},
- "yue": {
- "name": "کینٹونیز"
- },
"rw": {
"name": "کینیاروانڈا"
},
@@ -479,9 +485,6 @@
"mgh": {
"name": "ماخاوا-ميتو"
},
- "mas": {
- "name": "ماسای"
- },
"jmc": {
"name": "ماشیم"
},
@@ -506,6 +509,9 @@
"mzn": {
"name": "مزندرانی"
},
+ "mas": {
+ "name": "مسائی"
+ },
"fy": {
"name": "مغربی Ùریسیئن"
},
@@ -539,6 +545,9 @@
"nb": {
"name": "نارویجین بوکمل"
},
+ "nn": {
+ "name": "نارویجین نینورسک"
+ },
"naq": {
"name": "ناما"
},
@@ -548,9 +557,6 @@
"nnh": {
"name": "نگیمبون"
},
- "nn": {
- "name": "نورویجینی نینورسک"
- },
"nus": {
"name": "نویر"
},
@@ -572,6 +578,9 @@
"vo": {
"name": "وولاپوک"
},
+ "wo": {
+ "name": "وولوÙ"
+ },
"vi": {
"name": "ویتنامی"
},
diff --git a/vendor/commerceguys/intl/resources/language/uz-Cyrl.json b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
index 8e1e36a03..d4267d0a3 100644
--- a/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
+++ b/vendor/commerceguys/intl/resources/language/uz-Cyrl.json
@@ -101,6 +101,9 @@
"vo": {
"name": "волапюк"
},
+ "wo": {
+ "name": "волофча"
+ },
"vun": {
"name": "вунжо"
},
@@ -215,9 +218,6 @@
"kn": {
"name": "каннада"
},
- "yue": {
- "name": "кантонча"
- },
"ca": {
"name": "каталонча"
},
@@ -449,6 +449,9 @@
"si": {
"name": "Ñингалча"
},
+ "sd": {
+ "name": "Ñиндҳи"
+ },
"cu": {
"name": "ÑлавÑнча (черков)"
},
@@ -488,6 +491,9 @@
"twq": {
"name": "таÑавак"
},
+ "tt": {
+ "name": "татарча"
+ },
"shi": {
"name": "ташелхит"
},
@@ -503,6 +509,9 @@
"ti": {
"name": "тигринÑча"
},
+ "tg": {
+ "name": "тожикча"
+ },
"to": {
"name": "тонганча"
},
diff --git a/vendor/commerceguys/intl/resources/language/uz.json b/vendor/commerceguys/intl/resources/language/uz.json
index 35118cc23..ef7ca200f 100644
--- a/vendor/commerceguys/intl/resources/language/uz.json
+++ b/vendor/commerceguys/intl/resources/language/uz.json
@@ -36,7 +36,7 @@
"name": "bambara"
},
"bas": {
- "name": "Basaa"
+ "name": "basa"
},
"eu": {
"name": "bask"
@@ -68,20 +68,8 @@
"br": {
"name": "breton"
},
- "ce": {
- "name": "chechen"
- },
- "chr": {
- "name": "cheroki"
- },
- "cs": {
- "name": "chex"
- },
- "cgg": {
- "name": "chiga"
- },
"da": {
- "name": "dat"
+ "name": "dan"
},
"dyo": {
"name": "diola-fogni"
@@ -105,7 +93,7 @@
"name": "eve"
},
"ewo": {
- "name": "Ewondo"
+ "name": "evondo"
},
"fo": {
"name": "farercha"
@@ -132,13 +120,10 @@
"name": "fransuzcha"
},
"fur": {
- "name": "Friulian"
+ "name": "friul"
},
"ff": {
- "name": "Fulah"
- },
- "fy": {
- "name": "g‘arbiy friz"
+ "name": "fula"
},
"gl": {
"name": "galisiy"
@@ -170,9 +155,6 @@
"hi": {
"name": "hind"
},
- "he": {
- "name": "ibroniy"
- },
"yi": {
"name": "idish"
},
@@ -212,6 +194,9 @@
"it": {
"name": "italyan"
},
+ "he": {
+ "name": "ivrit"
+ },
"kab": {
"name": "kabil"
},
@@ -230,15 +215,12 @@
"kn": {
"name": "kannada"
},
- "yue": {
- "name": "kanton"
+ "ca": {
+ "name": "katalan"
},
"ks": {
"name": "kashmircha"
},
- "ca": {
- "name": "katalan"
- },
"qu": {
"name": "kechua"
},
@@ -299,9 +281,6 @@
"lb": {
"name": "lyuksemburgcha"
},
- "jmc": {
- "name": "machame"
- },
"mk": {
"name": "makedon"
},
@@ -332,6 +311,9 @@
"mgh": {
"name": "maxuva-mitto"
},
+ "jmc": {
+ "name": "machame"
+ },
"gv": {
"name": "men"
},
@@ -341,9 +323,6 @@
"mgo": {
"name": "meta"
},
- "mn": {
- "name": "mo‘g‘ul"
- },
"ro-MD": {
"name": "moldovan"
},
@@ -356,6 +335,9 @@
"mua": {
"name": "mundang"
},
+ "mn": {
+ "name": "mo‘g‘ul"
+ },
"naq": {
"name": "nama"
},
@@ -389,9 +371,6 @@
"nyn": {
"name": "nyankole"
},
- "uz": {
- "name": "o‘zbek"
- },
"or": {
"name": "oriya"
},
@@ -467,39 +446,21 @@
"sah": {
"name": "saxa"
},
- "gd": {
- "name": "Scottish Gaelic"
- },
"seh": {
"name": "sena"
},
"sr": {
"name": "serbcha"
},
- "ksb": {
- "name": "shambala"
- },
- "lrc": {
- "name": "shimoliy luri"
- },
- "nd": {
- "name": "shimoliy ndebele"
- },
- "se": {
- "name": "shimoliy saam"
+ "sd": {
+ "name": "sindxi"
},
- "sn": {
- "name": "shona"
- },
- "sv": {
- "name": "shved"
+ "si": {
+ "name": "singal"
},
"ii": {
"name": "sichuan"
},
- "si": {
- "name": "singal"
- },
"cu": {
"name": "slavyan (cherkov)"
},
@@ -536,12 +497,15 @@
"twq": {
"name": "tasavak"
},
- "shi": {
- "name": "tashelxit"
+ "tt": {
+ "name": "tatar"
},
"th": {
"name": "tay"
},
+ "shi": {
+ "name": "tashelxit"
+ },
"te": {
"name": "telugu"
},
@@ -554,6 +518,9 @@
"ti": {
"name": "tigrinya"
},
+ "tg": {
+ "name": "tojik"
+ },
"to": {
"name": "tongan"
},
@@ -575,6 +542,9 @@
"vai": {
"name": "Vai"
},
+ "wae": {
+ "name": "valis"
+ },
"cy": {
"name": "valliy"
},
@@ -584,15 +554,15 @@
"vo": {
"name": "volapyuk"
},
+ "wo": {
+ "name": "volof"
+ },
"vun": {
"name": "vunjo"
},
"vi": {
"name": "vyetnam"
},
- "wae": {
- "name": "Walser"
- },
"ha": {
"name": "xausa"
},
@@ -606,7 +576,7 @@
"name": "xitoy (soddalashgan)"
},
"km": {
- "name": "xmercha"
+ "name": "xmer"
},
"hr": {
"name": "xorvat"
@@ -631,5 +601,44 @@
},
"zu": {
"name": "zulu"
+ },
+ "uz": {
+ "name": "o‘zbek"
+ },
+ "fy": {
+ "name": "g‘arbiy friz"
+ },
+ "ksb": {
+ "name": "shambala"
+ },
+ "lrc": {
+ "name": "shimoliy luri"
+ },
+ "nd": {
+ "name": "shimoliy ndebele"
+ },
+ "se": {
+ "name": "shimoliy saam"
+ },
+ "sn": {
+ "name": "shona"
+ },
+ "gd": {
+ "name": "shotland-gel"
+ },
+ "sv": {
+ "name": "shved"
+ },
+ "chr": {
+ "name": "cheroki"
+ },
+ "cs": {
+ "name": "chex"
+ },
+ "ce": {
+ "name": "chechen"
+ },
+ "cgg": {
+ "name": "chiga"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/vai-Latn.json b/vendor/commerceguys/intl/resources/language/vai-Latn.json
index 307c31a71..170b9d698 100644
--- a/vendor/commerceguys/intl/resources/language/vai-Latn.json
+++ b/vendor/commerceguys/intl/resources/language/vai-Latn.json
@@ -68,9 +68,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -515,6 +512,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -554,12 +554,18 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"ta": {
"name": "Tamíli"
},
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -611,6 +617,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/vai.json b/vendor/commerceguys/intl/resources/language/vai.json
index 63a09ed16..7ba6263d6 100644
--- a/vendor/commerceguys/intl/resources/language/vai.json
+++ b/vendor/commerceguys/intl/resources/language/vai.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -374,6 +371,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -404,9 +404,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -449,6 +455,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/vi.json b/vendor/commerceguys/intl/resources/language/vi.json
index d54e59f74..da2bbdd3d 100644
--- a/vendor/commerceguys/intl/resources/language/vi.json
+++ b/vendor/commerceguys/intl/resources/language/vi.json
@@ -125,9 +125,6 @@
"dua": {
"name": "Tiếng Duala"
},
- "ug": {
- "name": "Tiếng Duy Ngô Nhĩ"
- },
"dz": {
"name": "Tiếng Dzongkha"
},
@@ -180,7 +177,7 @@
"name": "Tiếng Ganda"
},
"ka": {
- "name": "Tiếng Gruzia"
+ "name": "Tiếng Georgia"
},
"gu": {
"name": "Tiếng Gujarati"
@@ -233,6 +230,9 @@
"ga": {
"name": "Tiếng Ireland"
},
+ "it": {
+ "name": "Tiếng Italy"
+ },
"dyo": {
"name": "Tiếng Jola-Fonyi"
},
@@ -264,7 +264,7 @@
"name": "Tiếng Kazakh"
},
"km": {
- "name": "Tiếng Khơ-me"
+ "name": "Tiếng Khmer"
},
"ki": {
"name": "Tiếng Kikuyu"
@@ -443,9 +443,6 @@
"pa": {
"name": "Tiếng Punjab"
},
- "yue": {
- "name": "Tiếng Quảng Äông"
- },
"qu": {
"name": "Tiếng Quechua"
},
@@ -497,6 +494,9 @@
"sn": {
"name": "Tiếng Shona"
},
+ "sd": {
+ "name": "Tiếng Sindhi"
+ },
"si": {
"name": "Tiếng Sinhala"
},
@@ -527,6 +527,9 @@
"dav": {
"name": "Tiếng Taita"
},
+ "tg": {
+ "name": "Tiếng Tajik"
+ },
"zgh": {
"name": "Tiếng Tamazight Chuẩn của Ma-rốc"
},
@@ -539,6 +542,9 @@
"twq": {
"name": "Tiếng Tasawaq"
},
+ "tt": {
+ "name": "Tiếng Tatar"
+ },
"es": {
"name": "Tiếng Tây Ban Nha"
},
@@ -593,6 +599,9 @@
"ur": {
"name": "Tiếng Urdu"
},
+ "ug": {
+ "name": "Tiếng Uyghur"
+ },
"uz": {
"name": "Tiếng Uzbek"
},
@@ -614,8 +623,8 @@
"wae": {
"name": "Tiếng Walser"
},
- "it": {
- "name": "Tiếng Ã"
+ "wo": {
+ "name": "Tiếng Wolof"
},
"yav": {
"name": "Tiếng Yangben"
diff --git a/vendor/commerceguys/intl/resources/language/vun.json b/vendor/commerceguys/intl/resources/language/vun.json
index a623d1752..9c99d908f 100644
--- a/vendor/commerceguys/intl/resources/language/vun.json
+++ b/vendor/commerceguys/intl/resources/language/vun.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -545,6 +542,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -575,9 +575,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/wae.json b/vendor/commerceguys/intl/resources/language/wae.json
index 56097d8a0..cdcdf49ec 100644
--- a/vendor/commerceguys/intl/resources/language/wae.json
+++ b/vendor/commerceguys/intl/resources/language/wae.json
@@ -74,9 +74,6 @@
"dz": {
"name": "Butaniš"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -494,6 +491,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Singalesiš"
},
@@ -524,6 +524,9 @@
"shi": {
"name": "Tachelhit"
},
+ "tg": {
+ "name": "Tadšikiš"
+ },
"dav": {
"name": "Taita"
},
@@ -533,6 +536,9 @@
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -614,6 +620,9 @@
"be": {
"name": "Wísrussiš"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/wo.json b/vendor/commerceguys/intl/resources/language/wo.json
new file mode 100644
index 000000000..b9684d657
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/language/wo.json
@@ -0,0 +1,641 @@
+{
+ "af": {
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "name": "Aghem"
+ },
+ "ak": {
+ "name": "Akan"
+ },
+ "sq": {
+ "name": "Albane"
+ },
+ "de": {
+ "name": "Almaa"
+ },
+ "de-AT": {
+ "name": "Almaa (Ótiriis)"
+ },
+ "de-CH": {
+ "name": "Almaa (Siwis)"
+ },
+ "am": {
+ "name": "Amharik"
+ },
+ "ar": {
+ "name": "Araab"
+ },
+ "hy": {
+ "name": "Armaniye"
+ },
+ "as": {
+ "name": "Asame"
+ },
+ "az": {
+ "name": "Aserbayjane"
+ },
+ "ast": {
+ "name": "Asturian"
+ },
+ "asa": {
+ "name": "Asu"
+ },
+ "en": {
+ "name": "Àngale"
+ },
+ "en-CA": {
+ "name": "Àngale (Kanadaa)"
+ },
+ "en-AU": {
+ "name": "Àngale (Ostarali)"
+ },
+ "en-GB": {
+ "name": "Àngale (Ruwaayom Ini)"
+ },
+ "ksf": {
+ "name": "Bafia"
+ },
+ "bm": {
+ "name": "Bambara"
+ },
+ "bn": {
+ "name": "Baŋla"
+ },
+ "bas": {
+ "name": "Basaa"
+ },
+ "eu": {
+ "name": "Bask"
+ },
+ "be": {
+ "name": "Belaris"
+ },
+ "bem": {
+ "name": "Bemba"
+ },
+ "bez": {
+ "name": "Bena"
+ },
+ "bg": {
+ "name": "Bilgaar"
+ },
+ "my": {
+ "name": "Birmes"
+ },
+ "brx": {
+ "name": "Bodo"
+ },
+ "bs": {
+ "name": "Bosñak"
+ },
+ "br": {
+ "name": "Breton"
+ },
+ "cs": {
+ "name": "Cek"
+ },
+ "chr": {
+ "name": "Ceroki"
+ },
+ "ce": {
+ "name": "Chechen"
+ },
+ "cgg": {
+ "name": "Chiga"
+ },
+ "cu": {
+ "name": "Church Slavic"
+ },
+ "ksh": {
+ "name": "Colognian"
+ },
+ "kw": {
+ "name": "Cornish"
+ },
+ "da": {
+ "name": "Danuwa"
+ },
+ "dz": {
+ "name": "Dsongkaa"
+ },
+ "dua": {
+ "name": "Duala"
+ },
+ "he": {
+ "name": "Ebrë"
+ },
+ "ebu": {
+ "name": "Embu"
+ },
+ "hi": {
+ "name": "Endo"
+ },
+ "id": {
+ "name": "Endonesiye"
+ },
+ "sk": {
+ "name": "Eslowaki (Eslowak)"
+ },
+ "sl": {
+ "name": "Esloweniye"
+ },
+ "es": {
+ "name": "Español"
+ },
+ "es-MX": {
+ "name": "Español (Meksiko)"
+ },
+ "eo": {
+ "name": "Esperantoo"
+ },
+ "et": {
+ "name": "Estoñiye"
+ },
+ "ee": {
+ "name": "Ewe"
+ },
+ "ewo": {
+ "name": "Ewondo"
+ },
+ "fr": {
+ "name": "Farañse"
+ },
+ "fr-CA": {
+ "name": "Farañse (Kanadaa)"
+ },
+ "fr-CH": {
+ "name": "Farañse (Siwis)"
+ },
+ "fo": {
+ "name": "Feroos"
+ },
+ "fi": {
+ "name": "Feylànde"
+ },
+ "fil": {
+ "name": "Filipiye"
+ },
+ "fur": {
+ "name": "Friulian"
+ },
+ "gl": {
+ "name": "Galisiye"
+ },
+ "gd": {
+ "name": "Galuwaa bu Ekos"
+ },
+ "lg": {
+ "name": "Ganda"
+ },
+ "el": {
+ "name": "Gereg"
+ },
+ "gu": {
+ "name": "Gujarati"
+ },
+ "guz": {
+ "name": "Gusii"
+ },
+ "haw": {
+ "name": "Hawaye"
+ },
+ "ha": {
+ "name": "Hawsa"
+ },
+ "ig": {
+ "name": "Igbo"
+ },
+ "uk": {
+ "name": "Ikreniye"
+ },
+ "smn": {
+ "name": "Inari Sami"
+ },
+ "ga": {
+ "name": "Irlànde"
+ },
+ "is": {
+ "name": "Islànde"
+ },
+ "it": {
+ "name": "Italiye"
+ },
+ "dyo": {
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "name": "Kabyle"
+ },
+ "kkj": {
+ "name": "Kako"
+ },
+ "kl": {
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "name": "Kamba"
+ },
+ "kn": {
+ "name": "Kannadaa"
+ },
+ "kk": {
+ "name": "Kasax"
+ },
+ "ks": {
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "name": "Katalan"
+ },
+ "qu": {
+ "name": "Kesuwa"
+ },
+ "ki": {
+ "name": "Kikuyu"
+ },
+ "rw": {
+ "name": "Kinyarwànda"
+ },
+ "ky": {
+ "name": "Kirgiis"
+ },
+ "kok": {
+ "name": "Konkani"
+ },
+ "ko": {
+ "name": "Koreye"
+ },
+ "khq": {
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "name": "Krowat"
+ },
+ "ckb": {
+ "name": "Kurdi gu Diggu"
+ },
+ "nmg": {
+ "name": "Kwasio"
+ },
+ "lo": {
+ "name": "Laaw"
+ },
+ "lkt": {
+ "name": "Lakota"
+ },
+ "lag": {
+ "name": "Langi"
+ },
+ "lv": {
+ "name": "Letoniye"
+ },
+ "lb": {
+ "name": "Liksàmbursuwaa"
+ },
+ "ln": {
+ "name": "Lingala"
+ },
+ "lt": {
+ "name": "Lituyaniye"
+ },
+ "lu": {
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "name": "Luo"
+ },
+ "luy": {
+ "name": "Luyia"
+ },
+ "jmc": {
+ "name": "Machame"
+ },
+ "mgh": {
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "name": "Makonde"
+ },
+ "mg": {
+ "name": "Malagasi"
+ },
+ "ms": {
+ "name": "Malay"
+ },
+ "ml": {
+ "name": "Malayalam"
+ },
+ "mt": {
+ "name": "Malt"
+ },
+ "gv": {
+ "name": "Manx"
+ },
+ "mr": {
+ "name": "Marati"
+ },
+ "mas": {
+ "name": "Masai"
+ },
+ "mk": {
+ "name": "Maseduwaane"
+ },
+ "mzn": {
+ "name": "Mazanderani"
+ },
+ "mer": {
+ "name": "Meru"
+ },
+ "mgo": {
+ "name": "Metaʼ"
+ },
+ "mn": {
+ "name": "Mongoliye"
+ },
+ "mfe": {
+ "name": "Morisyen"
+ },
+ "mua": {
+ "name": "Mundang"
+ },
+ "naq": {
+ "name": "Nama"
+ },
+ "nds-NL": {
+ "name": "nds (Peyi Baa)"
+ },
+ "ne": {
+ "name": "Nepale"
+ },
+ "nl": {
+ "name": "Neyerlànde"
+ },
+ "nl-BE": {
+ "name": "Neyerlànde (Belsig)"
+ },
+ "nnh": {
+ "name": "Ngiemboon"
+ },
+ "jgo": {
+ "name": "Ngomba"
+ },
+ "nd": {
+ "name": "North Ndebele"
+ },
+ "lrc": {
+ "name": "Northern Luri"
+ },
+ "nb": {
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "name": "Nuer"
+ },
+ "nyn": {
+ "name": "Nyankole"
+ },
+ "or": {
+ "name": "Oja"
+ },
+ "hu": {
+ "name": "Ongruwaa"
+ },
+ "om": {
+ "name": "Oromo"
+ },
+ "os": {
+ "name": "Ossetic"
+ },
+ "ps": {
+ "name": "Pasto"
+ },
+ "se": {
+ "name": "Penku Sami"
+ },
+ "fa": {
+ "name": "Pers"
+ },
+ "ff": {
+ "name": "Pël"
+ },
+ "pl": {
+ "name": "Polone"
+ },
+ "prg": {
+ "name": "Prussian"
+ },
+ "pa": {
+ "name": "Punjabi"
+ },
+ "pt": {
+ "name": "Purtugees"
+ },
+ "pt-PT": {
+ "name": "Purtugees (Portigaal)"
+ },
+ "rm": {
+ "name": "Romaas"
+ },
+ "rof": {
+ "name": "Rombo"
+ },
+ "ro": {
+ "name": "Rumaniyee"
+ },
+ "ro-MD": {
+ "name": "Rumaniyee (Moldawi)"
+ },
+ "rn": {
+ "name": "Rundi"
+ },
+ "ru": {
+ "name": "Rus"
+ },
+ "rwk": {
+ "name": "Rwa"
+ },
+ "saq": {
+ "name": "Samburu"
+ },
+ "sg": {
+ "name": "Sango"
+ },
+ "sbp": {
+ "name": "Sangu"
+ },
+ "ja": {
+ "name": "Sapone"
+ },
+ "sah": {
+ "name": "Saxa"
+ },
+ "seh": {
+ "name": "Sena"
+ },
+ "sr": {
+ "name": "Serb"
+ },
+ "ksb": {
+ "name": "Shambala"
+ },
+ "sn": {
+ "name": "Shona"
+ },
+ "ii": {
+ "name": "Sichuan Yi"
+ },
+ "si": {
+ "name": "Sinala"
+ },
+ "sd": {
+ "name": "Sindi"
+ },
+ "zh": {
+ "name": "Sinuwaa"
+ },
+ "zh-Hant": {
+ "name": "Sinuwaa bu cosaan"
+ },
+ "zh-Hans": {
+ "name": "Sinuwaa buñ woyofal"
+ },
+ "xog": {
+ "name": "Soga"
+ },
+ "so": {
+ "name": "Somali (làkk)"
+ },
+ "hsb": {
+ "name": "Sorab-Kaw"
+ },
+ "dsb": {
+ "name": "Sorab-Suuf"
+ },
+ "ka": {
+ "name": "Sorsiye"
+ },
+ "zgh": {
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "name": "Suweduwaa"
+ },
+ "sw-CD": {
+ "name": "sw (CD)"
+ },
+ "sw": {
+ "name": "Swahili"
+ },
+ "gsw": {
+ "name": "Swiss German"
+ },
+ "shi": {
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "name": "Taita"
+ },
+ "tg": {
+ "name": "Tajis"
+ },
+ "tzm": {
+ "name": "Tamasis gu Digg Atlaas"
+ },
+ "ta": {
+ "name": "Tamil"
+ },
+ "twq": {
+ "name": "Tasawaq"
+ },
+ "tt": {
+ "name": "Tatar"
+ },
+ "th": {
+ "name": "Tay"
+ },
+ "te": {
+ "name": "Telugu"
+ },
+ "teo": {
+ "name": "Teso"
+ },
+ "bo": {
+ "name": "Tibetan"
+ },
+ "ti": {
+ "name": "Tigriña"
+ },
+ "tr": {
+ "name": "Tirk"
+ },
+ "tk": {
+ "name": "Tirkmen"
+ },
+ "to": {
+ "name": "Tongan"
+ },
+ "ur": {
+ "name": "Urdu"
+ },
+ "uz": {
+ "name": "Usbek"
+ },
+ "ug": {
+ "name": "Uygur"
+ },
+ "vai": {
+ "name": "Vai"
+ },
+ "vo": {
+ "name": "Volapük"
+ },
+ "vun": {
+ "name": "Vunjo"
+ },
+ "wae": {
+ "name": "Walser"
+ },
+ "cy": {
+ "name": "Wels"
+ },
+ "fy": {
+ "name": "Western Frisian"
+ },
+ "vi": {
+ "name": "Wiyetnaamiye"
+ },
+ "wo": {
+ "name": "Wolof"
+ },
+ "km": {
+ "name": "Xmer"
+ },
+ "yav": {
+ "name": "Yangben"
+ },
+ "yi": {
+ "name": "Yidis"
+ },
+ "yo": {
+ "name": "Yoruba"
+ },
+ "dje": {
+ "name": "Zarma"
+ },
+ "zu": {
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/xog.json b/vendor/commerceguys/intl/resources/language/xog.json
index 5f9b1cc21..2ce0dad29 100644
--- a/vendor/commerceguys/intl/resources/language/xog.json
+++ b/vendor/commerceguys/intl/resources/language/xog.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -545,6 +542,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/yav.json b/vendor/commerceguys/intl/resources/language/yav.json
index 09492632b..4893e40fa 100644
--- a/vendor/commerceguys/intl/resources/language/yav.json
+++ b/vendor/commerceguys/intl/resources/language/yav.json
@@ -62,9 +62,6 @@
"bg": {
"name": "bulgálɛ"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -533,6 +530,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -572,9 +572,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -620,6 +626,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"el": {
"name": "yavánɛ"
},
diff --git a/vendor/commerceguys/intl/resources/language/yi.json b/vendor/commerceguys/intl/resources/language/yi.json
index a686dc2f0..6f7dd9fdf 100644
--- a/vendor/commerceguys/intl/resources/language/yi.json
+++ b/vendor/commerceguys/intl/resources/language/yi.json
@@ -122,6 +122,9 @@
"dyo": {
"name": "זש×ל×־פֿ×× ×™"
},
+ "tt": {
+ "name": "ט×ָטעריש"
+ },
"ta": {
"name": "ט×ַמיל"
},
@@ -203,6 +206,9 @@
"sw": {
"name": "סוו×ַהיליש"
},
+ "sd": {
+ "name": "סינדהי"
+ },
"si": {
"name": "סינה×ַליש"
},
@@ -353,9 +359,6 @@
"brx": {
"name": "Bodo"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -590,6 +593,9 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
@@ -623,6 +629,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/yo-BJ.json b/vendor/commerceguys/intl/resources/language/yo-BJ.json
index b9f3f8ad2..8d21e74f5 100644
--- a/vendor/commerceguys/intl/resources/language/yo-BJ.json
+++ b/vendor/commerceguys/intl/resources/language/yo-BJ.json
@@ -26,9 +26,6 @@
"brx": {
"name": "Bodo"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -128,6 +125,9 @@
"fo": {
"name": "Èdè Faroesi"
},
+ "fil": {
+ "name": "Èdè Filipino"
+ },
"fi": {
"name": "Èdè Finisi"
},
@@ -287,6 +287,9 @@
"zu": {
"name": "Èdè Shulu"
},
+ "sd": {
+ "name": "Èdè Sindhi"
+ },
"si": {
"name": "Èdè Sinhalese"
},
@@ -311,9 +314,6 @@
"sw-CD": {
"name": "Èdè Swahili (OrilÉ›Ìède Kóngò)"
},
- "fil": {
- "name": "Èdè Tagalogi"
- },
"th": {
"name": "Èdè Tai"
},
@@ -590,9 +590,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"teo": {
"name": "Teso"
},
@@ -623,6 +629,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/yo.json b/vendor/commerceguys/intl/resources/language/yo.json
index ee7fd2d0c..659fc4f79 100644
--- a/vendor/commerceguys/intl/resources/language/yo.json
+++ b/vendor/commerceguys/intl/resources/language/yo.json
@@ -26,9 +26,6 @@
"brx": {
"name": "Bodo"
},
- "yue": {
- "name": "Cantonese"
- },
"tzm": {
"name": "Central Atlas Tamazight"
},
@@ -128,6 +125,9 @@
"fo": {
"name": "Èdè Faroesi"
},
+ "fil": {
+ "name": "Èdè Filipino"
+ },
"fi": {
"name": "Èdè Finisi"
},
@@ -284,6 +284,9 @@
"sr": {
"name": "Èdè Serbia"
},
+ "sd": {
+ "name": "Èdè Sindhi"
+ },
"si": {
"name": "Èdè Sinhalese"
},
@@ -311,9 +314,6 @@
"zu": {
"name": "Èdè Ṣulu"
},
- "fil": {
- "name": "Èdè Tagalogi"
- },
"th": {
"name": "Èdè Tai"
},
@@ -590,9 +590,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"teo": {
"name": "Teso"
},
@@ -623,6 +629,9 @@
"wae": {
"name": "Walser"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/yue.json b/vendor/commerceguys/intl/resources/language/yue.json
deleted file mode 100644
index 2c1e3eb45..000000000
--- a/vendor/commerceguys/intl/resources/language/yue.json
+++ /dev/null
@@ -1,635 +0,0 @@
-{
- "hsb": {
- "name": "上索布文"
- },
- "dsb": {
- "name": "下索布文"
- },
- "eo": {
- "name": "世界文"
- },
- "zh": {
- "name": "中文"
- },
- "da": {
- "name": "丹麥文"
- },
- "az": {
- "name": "亞塞拜然文"
- },
- "agq": {
- "name": "亞罕文"
- },
- "hy": {
- "name": "亞美尼亞文"
- },
- "ig": {
- "name": "伊布文"
- },
- "smn": {
- "name": "伊ç´è£¡è–©ç±³æ–‡"
- },
- "nds": {
- "name": "低地德文"
- },
- "nds-NL": {
- "name": "低地薩克éœæ–‡"
- },
- "nl-BE": {
- "name": "佛蘭芒文"
- },
- "ewo": {
- "name": "ä¾æ±ªéƒ½æ–‡"
- },
- "ru": {
- "name": "ä¿„æ–‡"
- },
- "bg": {
- "name": "ä¿åŠ åˆ©äºžæ–‡"
- },
- "si": {
- "name": "僧伽羅文"
- },
- "hr": {
- "name": "克羅埃西亞文"
- },
- "mfe": {
- "name": "克里奧文(模里西斯)"
- },
- "is": {
- "name": "冰島文"
- },
- "bem": {
- "name": "別姆巴文"
- },
- "gl": {
- "name": "加利西亞文"
- },
- "ca": {
- "name": "加泰羅尼亞文"
- },
- "nus": {
- "name": "努埃爾文"
- },
- "hu": {
- "name": "匈牙利文"
- },
- "hi": {
- "name": "北å°åº¦æ–‡"
- },
- "nd": {
- "name": "北地畢列文"
- },
- "se": {
- "name": "北方薩米文"
- },
- "twq": {
- "name": "北桑海文"
- },
- "lrc": {
- "name": "北盧爾文"
- },
- "af": {
- "name": "å—éžè·è˜­æ–‡"
- },
- "brx": {
- "name": "åšå¤šæ–‡"
- },
- "kln": {
- "name": "å¡å€«é‡‘æ–‡"
- },
- "kam": {
- "name": "å¡å§†å·´æ–‡"
- },
- "kea": {
- "name": "å¡å¸ƒå¨çˆ¾ç¬¬æ–‡"
- },
- "kkj": {
- "name": "å¡åº«æ–‡"
- },
- "kab": {
- "name": "å¡æ¯”爾文"
- },
- "id": {
- "name": "å°å°¼æ–‡"
- },
- "gu": {
- "name": "å¤å‰æ‹‰ç‰¹æ–‡"
- },
- "guz": {
- "name": "å¤è¥¿æ–‡"
- },
- "dav": {
- "name": "å°å¡”æ–‡"
- },
- "sw": {
- "name": "å²ç“¦å¸Œé‡Œæ–‡"
- },
- "sw-CD": {
- "name": "å²ç“¦å¸Œé‡Œæ–‡ï¼ˆå‰›æžœï¼‰"
- },
- "ki": {
- "name": "å‰åº«å°¤æ–‡"
- },
- "ky": {
- "name": "å‰çˆ¾å‰æ–¯æ–‡"
- },
- "kk": {
- "name": "哈薩克文"
- },
- "ks": {
- "name": "喀什米爾文"
- },
- "ka": {
- "name": "喬治亞文"
- },
- "ii": {
- "name": "å››å·å½æ–‡"
- },
- "tk": {
- "name": "土庫曼文"
- },
- "tr": {
- "name": "土耳其文"
- },
- "kn": {
- "name": "åŽé‚£é”æ–‡"
- },
- "ta": {
- "name": "å¦ç±³çˆ¾æ–‡"
- },
- "ee": {
- "name": "埃維文"
- },
- "tzm": {
- "name": "塔馬齊格特文"
- },
- "sn": {
- "name": "塞內加爾文"
- },
- "sr": {
- "name": "塞爾維亞文"
- },
- "haw": {
- "name": "å¤å¨å¤·æ–‡"
- },
- "nmg": {
- "name": "夸西奧文"
- },
- "cgg": {
- "name": "奇加文"
- },
- "os": {
- "name": "奧塞ææ–‡"
- },
- "om": {
- "name": "奧羅莫文"
- },
- "cy": {
- "name": "å¨çˆ¾æ–¯æ–‡"
- },
- "bn": {
- "name": "孟加拉文"
- },
- "dz": {
- "name": "å®—å¡æ–‡"
- },
- "cu": {
- "name": "宗教斯拉夫文"
- },
- "ff": {
- "name": "富拉文"
- },
- "lo": {
- "name": "寮文"
- },
- "ksb": {
- "name": "尚巴拉文"
- },
- "nyn": {
- "name": "å°¼æšç§‘èŠæ–‡"
- },
- "ne": {
- "name": "尼泊爾文"
- },
- "nb": {
- "name": "巴克摩挪å¨æ–‡"
- },
- "eu": {
- "name": "巴斯克文"
- },
- "ksf": {
- "name": "å·´è²äºžæ–‡"
- },
- "bas": {
- "name": "å·´è–©æ–‡"
- },
- "br": {
- "name": "布列塔尼文"
- },
- "he": {
- "name": "希伯來文"
- },
- "shi": {
- "name": "希爾哈文"
- },
- "el": {
- "name": "希臘文"
- },
- "lg": {
- "name": "å¹²é”æ–‡"
- },
- "kw": {
- "name": "康瓦耳文"
- },
- "fur": {
- "name": "弗留利文"
- },
- "de": {
- "name": "å¾·æ–‡"
- },
- "de-AT": {
- "name": "德文 (奧地利)"
- },
- "gsw": {
- "name": "德文(瑞士)"
- },
- "ebu": {
- "name": "æ©å¸ƒæ–‡"
- },
- "jgo": {
- "name": "æ©æ ¼å§†å·´æ–‡"
- },
- "nnh": {
- "name": "æ©ç”˜æ¾Žæ–‡"
- },
- "yi": {
- "name": "æ„第緒文"
- },
- "et": {
- "name": "愛沙尼亞文"
- },
- "ga": {
- "name": "愛爾蘭文"
- },
- "dje": {
- "name": "扎爾馬文"
- },
- "lkt": {
- "name": "拉科塔文"
- },
- "lv": {
- "name": "拉脫維亞文"
- },
- "cs": {
- "name": "æ·å…‹æ–‡"
- },
- "ti": {
- "name": "æ格利尼亞文"
- },
- "ro-MD": {
- "name": "摩爾多瓦文"
- },
- "sk": {
- "name": "斯洛ä¼å…‹æ–‡"
- },
- "sl": {
- "name": "斯洛維尼亞文"
- },
- "pa": {
- "name": "æ—é®æ™®æ–‡"
- },
- "ja": {
- "name": "日文"
- },
- "ps": {
- "name": "普什圖文"
- },
- "prg": {
- "name": "普魯士文"
- },
- "gv": {
- "name": "曼島文"
- },
- "lag": {
- "name": "朗å‰æ–‡"
- },
- "dyo": {
- "name": "朱拉文"
- },
- "dua": {
- "name": "æœäºžæ‹‰æ–‡"
- },
- "to": {
- "name": "æ±åŠ æ–‡"
- },
- "ses": {
- "name": "æ±æ¡‘æµ·æ–‡"
- },
- "ln": {
- "name": "林加拉文"
- },
- "chr": {
- "name": "柴羅基文"
- },
- "kl": {
- "name": "格陵蘭文"
- },
- "sbp": {
- "name": "æ¡‘å¤æ–‡"
- },
- "sg": {
- "name": "桑戈文"
- },
- "mer": {
- "name": "梅魯文"
- },
- "zgh": {
- "name": "標準摩洛哥塔馬塞特文"
- },
- "or": {
- "name": "æ­åˆ©äºžæ–‡"
- },
- "vo": {
- "name": "沃拉普克文"
- },
- "fr": {
- "name": "法文"
- },
- "fr-CA": {
- "name": "法文 (加拿大)"
- },
- "fr-CH": {
- "name": "法文 (瑞士)"
- },
- "fo": {
- "name": "法羅文"
- },
- "bs": {
- "name": "波士尼亞文"
- },
- "fa": {
- "name": "波斯文"
- },
- "pl": {
- "name": "波蘭文"
- },
- "th": {
- "name": "æ³°æ–‡"
- },
- "te": {
- "name": "泰盧固文"
- },
- "yav": {
- "name": "æ´‹åžæ–‡"
- },
- "vun": {
- "name": "溫舊文"
- },
- "uk": {
- "name": "çƒå…‹è˜­æ–‡"
- },
- "uz": {
- "name": "çƒèŒ²åˆ¥å…‹æ–‡"
- },
- "ur": {
- "name": "çƒéƒ½æ–‡"
- },
- "teo": {
- "name": "特索文"
- },
- "bm": {
- "name": "ç­å·´æ‹‰æ–‡"
- },
- "sv": {
- "name": "瑞典文"
- },
- "vai": {
- "name": "瓦伊文"
- },
- "wae": {
- "name": "瓦瑟文"
- },
- "be": {
- "name": "白俄羅斯文"
- },
- "luo": {
- "name": "盧奧文"
- },
- "rw": {
- "name": "盧安é”æ–‡"
- },
- "lb": {
- "name": "盧森堡文"
- },
- "luy": {
- "name": "盧雅文"
- },
- "zu": {
- "name": "祖魯文"
- },
- "ksh": {
- "name": "科隆文"
- },
- "lt": {
- "name": "立陶宛文"
- },
- "zh-Hans": {
- "name": "簡體中文"
- },
- "yue": {
- "name": "粵語"
- },
- "yo": {
- "name": "約魯巴文"
- },
- "naq": {
- "name": "ç´é¦¬æ–‡"
- },
- "xog": {
- "name": "索加文"
- },
- "ckb": {
- "name": "索拉尼庫爾德文"
- },
- "so": {
- "name": "索馬利文"
- },
- "ug": {
- "name": "維å¾çˆ¾æ–‡"
- },
- "my": {
- "name": "緬甸文"
- },
- "zh-Hant": {
- "name": "ç¹é«”中文"
- },
- "rm": {
- "name": "羅曼斯文"
- },
- "rwk": {
- "name": "羅瓦文"
- },
- "ro": {
- "name": "羅馬尼亞文"
- },
- "mgo": {
- "name": "美塔文"
- },
- "it": {
- "name": "義大利文"
- },
- "nn": {
- "name": "è€è«¾æ–¯å…‹æŒªå¨æ–‡"
- },
- "fi": {
- "name": "芬蘭文"
- },
- "en": {
- "name": "英文"
- },
- "en-CA": {
- "name": "英文 (加拿大)"
- },
- "en-AU": {
- "name": "英文 (澳洲)"
- },
- "en-GB": {
- "name": "英文 (英國)"
- },
- "nl": {
- "name": "è·è˜­æ–‡"
- },
- "fil": {
- "name": "è²å¾‹è³“æ–‡"
- },
- "pt": {
- "name": "è‘¡è„牙文"
- },
- "pt-PT": {
- "name": "è‘¡è„牙文 (è‘¡è„牙)"
- },
- "mn": {
- "name": "è’™å¤æ–‡"
- },
- "mua": {
- "name": "蒙當文"
- },
- "qu": {
- "name": "蓋楚瓦文"
- },
- "saq": {
- "name": "薩布魯文"
- },
- "bo": {
- "name": "è—æ–‡"
- },
- "gd": {
- "name": "蘇格蘭蓋爾文"
- },
- "rof": {
- "name": "蘭åšæ–‡"
- },
- "fy": {
- "name": "西弗里西亞文"
- },
- "khq": {
- "name": "西桑海文"
- },
- "es": {
- "name": "西ç­ç‰™æ–‡"
- },
- "es-MX": {
- "name": "西ç­ç‰™æ–‡ (墨西哥)"
- },
- "ha": {
- "name": "豪撒文"
- },
- "bez": {
- "name": "è²ç´æ–‡"
- },
- "kok": {
- "name": "貢根文"
- },
- "seh": {
- "name": "è³½ç´æ–‡"
- },
- "vi": {
- "name": "越å—æ–‡"
- },
- "ce": {
- "name": "車臣文"
- },
- "ak": {
- "name": "阿åŽæ–‡"
- },
- "am": {
- "name": "阿姆哈拉文"
- },
- "ar": {
- "name": "阿拉伯文"
- },
- "ast": {
- "name": "阿斯圖里亞文"
- },
- "sq": {
- "name": "阿爾巴尼亞文"
- },
- "as": {
- "name": "阿薩姆文"
- },
- "asa": {
- "name": "阿蘇文"
- },
- "rn": {
- "name": "隆迪文"
- },
- "sah": {
- "name": "雅庫特文"
- },
- "ko": {
- "name": "韓文"
- },
- "ml": {
- "name": "馬來亞拉姆文"
- },
- "ms": {
- "name": "馬來文"
- },
- "mk": {
- "name": "馬其頓文"
- },
- "mgh": {
- "name": "馬夸文"
- },
- "kde": {
- "name": "馬孔德文"
- },
- "jmc": {
- "name": "馬æ°ç¾Žæ–‡"
- },
- "mg": {
- "name": "馬拉加什文"
- },
- "mr": {
- "name": "馬拉地文"
- },
- "mt": {
- "name": "馬爾他文"
- },
- "mas": {
- "name": "馬賽文"
- },
- "mzn": {
- "name": "馬贊德蘭文"
- },
- "de-CH": {
- "name": "高地德文(瑞士)"
- },
- "km": {
- "name": "高棉文"
- },
- "lu": {
- "name": "魯巴加丹加文"
- }
-} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zgh.json b/vendor/commerceguys/intl/resources/language/zgh.json
index 0e7e0f2df..dc0051635 100644
--- a/vendor/commerceguys/intl/resources/language/zgh.json
+++ b/vendor/commerceguys/intl/resources/language/zgh.json
@@ -50,9 +50,6 @@
"br": {
"name": "Breton"
},
- "yue": {
- "name": "Cantonese"
- },
"ca": {
"name": "Catalan"
},
@@ -374,6 +371,9 @@
"ii": {
"name": "Sichuan Yi"
},
+ "sd": {
+ "name": "Sindhi"
+ },
"si": {
"name": "Sinhala"
},
@@ -401,9 +401,15 @@
"dav": {
"name": "Taita"
},
+ "tg": {
+ "name": "Tajik"
+ },
"twq": {
"name": "Tasawaq"
},
+ "tt": {
+ "name": "Tatar"
+ },
"te": {
"name": "Telugu"
},
@@ -449,6 +455,9 @@
"fy": {
"name": "Western Frisian"
},
+ "wo": {
+ "name": "Wolof"
+ },
"yav": {
"name": "Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
index ad25a7625..4bc506f7d 100644
--- a/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant-HK.json
@@ -176,6 +176,9 @@
"nds": {
"name": "低地德文"
},
+ "nds-NL": {
+ "name": "低地薩克éœæ–‡"
+ },
"hr": {
"name": "克羅地亞文"
},
@@ -203,6 +206,9 @@
"vo": {
"name": "沃拉普克文"
},
+ "wo": {
+ "name": "沃洛夫文"
+ },
"bez": {
"name": "è²ç´æ–‡"
},
@@ -293,6 +299,9 @@
"bg": {
"name": "ä¿åŠ åˆ©äºžæ–‡"
},
+ "sd": {
+ "name": "信德語"
+ },
"af": {
"name": "å—éžè·è˜­æ–‡"
},
@@ -455,9 +464,6 @@
"nl": {
"name": "è·è˜­æ–‡"
},
- "nds-NL": {
- "name": "è·è˜­ä½Žåœ°å¾·æ–‡"
- },
"brx": {
"name": "åšå¤šæ–‡"
},
@@ -497,6 +503,9 @@
"sah": {
"name": "雅庫特文"
},
+ "tg": {
+ "name": "å¡”å‰å…‹æ–‡"
+ },
"sr": {
"name": "塞爾維亞文"
},
@@ -560,9 +569,6 @@
"ha": {
"name": "豪撒文"
},
- "yue": {
- "name": "廣æ±è©±"
- },
"de": {
"name": "å¾·æ–‡"
},
@@ -631,5 +637,8 @@
},
"rof": {
"name": "蘭åšæ–‡"
+ },
+ "tt": {
+ "name": "韃é¼æ–‡"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant-MO.json b/vendor/commerceguys/intl/resources/language/zh-Hant-MO.json
index ad25a7625..4bc506f7d 100644
--- a/vendor/commerceguys/intl/resources/language/zh-Hant-MO.json
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant-MO.json
@@ -176,6 +176,9 @@
"nds": {
"name": "低地德文"
},
+ "nds-NL": {
+ "name": "低地薩克éœæ–‡"
+ },
"hr": {
"name": "克羅地亞文"
},
@@ -203,6 +206,9 @@
"vo": {
"name": "沃拉普克文"
},
+ "wo": {
+ "name": "沃洛夫文"
+ },
"bez": {
"name": "è²ç´æ–‡"
},
@@ -293,6 +299,9 @@
"bg": {
"name": "ä¿åŠ åˆ©äºžæ–‡"
},
+ "sd": {
+ "name": "信德語"
+ },
"af": {
"name": "å—éžè·è˜­æ–‡"
},
@@ -455,9 +464,6 @@
"nl": {
"name": "è·è˜­æ–‡"
},
- "nds-NL": {
- "name": "è·è˜­ä½Žåœ°å¾·æ–‡"
- },
"brx": {
"name": "åšå¤šæ–‡"
},
@@ -497,6 +503,9 @@
"sah": {
"name": "雅庫特文"
},
+ "tg": {
+ "name": "å¡”å‰å…‹æ–‡"
+ },
"sr": {
"name": "塞爾維亞文"
},
@@ -560,9 +569,6 @@
"ha": {
"name": "豪撒文"
},
- "yue": {
- "name": "廣æ±è©±"
- },
"de": {
"name": "å¾·æ–‡"
},
@@ -631,5 +637,8 @@
},
"rof": {
"name": "蘭åšæ–‡"
+ },
+ "tt": {
+ "name": "韃é¼æ–‡"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh-Hant.json b/vendor/commerceguys/intl/resources/language/zh-Hant.json
index c5d0827d7..d73fc629a 100644
--- a/vendor/commerceguys/intl/resources/language/zh-Hant.json
+++ b/vendor/commerceguys/intl/resources/language/zh-Hant.json
@@ -203,6 +203,9 @@
"vo": {
"name": "沃拉普克文"
},
+ "wo": {
+ "name": "沃洛夫文"
+ },
"bez": {
"name": "è²ç´æ–‡"
},
@@ -305,6 +308,9 @@
"bg": {
"name": "ä¿åŠ åˆ©äºžæ–‡"
},
+ "sd": {
+ "name": "ä¿¡å¾·æ–‡"
+ },
"af": {
"name": "å—éžè·è˜­æ–‡"
},
@@ -425,15 +431,15 @@
"mk": {
"name": "馬其頓文"
},
- "mg": {
- "name": "馬拉加什文"
- },
"mr": {
"name": "馬拉地文"
},
"jmc": {
"name": "馬æ°ç¾Žæ–‡"
},
+ "mg": {
+ "name": "馬é”加斯加文"
+ },
"mt": {
"name": "馬爾他文"
},
@@ -506,6 +512,9 @@
"sah": {
"name": "雅庫特文"
},
+ "tg": {
+ "name": "å¡”å‰å…‹æ–‡"
+ },
"sr": {
"name": "塞爾維亞文"
},
@@ -530,9 +539,6 @@
"sv": {
"name": "瑞典文"
},
- "yue": {
- "name": "粵語"
- },
"it": {
"name": "義大利文"
},
@@ -631,5 +637,8 @@
},
"rof": {
"name": "蘭åšæ–‡"
+ },
+ "tt": {
+ "name": "韃é¼æ–‡"
}
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/language/zh.json b/vendor/commerceguys/intl/resources/language/zh.json
index 27d01436e..5aff7ec0d 100644
--- a/vendor/commerceguys/intl/resources/language/zh.json
+++ b/vendor/commerceguys/intl/resources/language/zh.json
@@ -1,30 +1,27 @@
{
"sq": {
- "name": "阿尔巴尼亚文"
+ "name": "阿尔巴尼亚语"
},
"ak": {
- "name": "阿肯文"
+ "name": "阿肯语"
},
"ar": {
"name": "阿拉伯语"
},
"am": {
- "name": "阿姆哈拉文"
+ "name": "阿姆哈拉语"
},
"as": {
- "name": "阿è¨å§†æ–‡"
+ "name": "阿è¨å§†è¯­"
},
"az": {
"name": "阿塞拜疆语"
},
"ast": {
- "name": "阿斯图里亚斯文"
- },
- "asa": {
- "name": "阿è‹æ–‡"
+ "name": "阿斯图里亚斯语"
},
"ee": {
- "name": "埃维文"
+ "name": "埃维语"
},
"ga": {
"name": "爱尔兰语"
@@ -33,128 +30,122 @@
"name": "爱沙尼亚语"
},
"de-AT": {
- "name": "奥地利德文"
+ "name": "奥地利德语"
},
"or": {
- "name": "奥里亚文"
+ "name": "奥里亚语"
},
"om": {
- "name": "奥洛莫文"
+ "name": "奥罗莫语"
},
"os": {
- "name": "奥塞梯文"
+ "name": "奥塞梯语"
+ },
+ "en-AU": {
+ "name": "澳大利亚英语"
},
"ksf": {
- "name": "å·´è²äºšæ–‡"
+ "name": "å·´è²äºšè¯­"
},
"bas": {
- "name": "å·´è¨æ–‡"
+ "name": "å·´è¨è¯­"
},
"eu": {
- "name": "巴斯克文"
+ "name": "巴斯克语"
},
"be": {
"name": "白俄罗斯语"
},
"bm": {
- "name": "ç­å·´æ‹‰æ–‡"
+ "name": "ç­å·´æ‹‰è¯­"
},
"bg": {
"name": "ä¿åŠ åˆ©äºšè¯­"
},
"nd": {
- "name": "北æ©å¾·è´å‹’æ–‡"
- },
- "lrc": {
- "name": "北å¢å°”æ–‡"
+ "name": "北æ©å¾·è´å‹’语"
},
"se": {
- "name": "北è¨ç±³æ–‡"
+ "name": "北方è¨ç±³è¯­"
+ },
+ "lrc": {
+ "name": "北å¢å°”语"
},
"twq": {
- "name": "北桑海文"
+ "name": "北桑海语"
},
"bez": {
- "name": "è´çº³æ–‡"
- },
- "zgh": {
- "name": "标准摩洛哥塔马塞特文"
+ "name": "è´çº³è¯­"
},
"bem": {
- "name": "别姆巴文"
+ "name": "本巴语"
+ },
+ "zgh": {
+ "name": "标准摩洛哥塔马塞特语"
},
"is": {
"name": "冰岛语"
},
"pl": {
- "name": "波兰文"
+ "name": "波兰语"
},
"bs": {
"name": "波斯尼亚语"
},
"fa": {
- "name": "波斯文"
+ "name": "波斯语"
},
"brx": {
- "name": "åšå¤šæ–‡"
+ "name": "åšå¤šè¯­"
},
"br": {
- "name": "布列塔尼文"
+ "name": "布列塔尼语"
},
"bo": {
"name": "è—语"
},
"ce": {
- "name": "车臣文"
+ "name": "车臣语"
},
- "chr": {
- "name": "彻罗基文"
+ "tt": {
+ "name": "éž‘é¼è¯­"
},
"da": {
"name": "丹麦语"
},
"de": {
- "name": "å¾·æ–‡"
- },
- "gsw": {
- "name": "德语(瑞士)"
+ "name": "德语"
},
"nds": {
- "name": "低地德文"
+ "name": "低地德语"
},
"nds-NL": {
- "name": "低è¨å…‹æ£®æ–‡"
+ "name": "低è¨å…‹æ£®è¯­"
},
"ses": {
- "name": "东桑海文"
+ "name": "东桑海语"
},
"dua": {
- "name": "都阿拉文"
+ "name": "都阿拉语"
},
"ru": {
- "name": "ä¿„æ–‡"
+ "name": "俄语"
},
"ebu": {
- "name": "æ©å¸ƒæ–‡"
+ "name": "æ©å¸ƒè¯­"
},
"nnh": {
- "name": "æ©ç”˜æ¾Žæ–‡"
+ "name": "æ©ç”˜æ¾Žè¯­"
},
"jgo": {
- "name": "æ©è‰®å·´"
+ "name": "æ©è‰®å·´è¯­"
},
"fo": {
- "name": "法罗文"
+ "name": "法罗语"
},
"fr": {
"name": "法语"
},
- "fr-CA": {
- "name": "法语(加拿大)"
- },
- "fr-CH": {
- "name": "法语(瑞士)"
- },
"zh-Hant": {
"name": "ç¹ä½“中文"
},
@@ -164,29 +155,23 @@
"fi": {
"name": "芬兰语"
},
- "fur": {
- "name": "弗留利文"
- },
"nl-BE": {
- "name": "佛兰德文"
+ "name": "弗拉芒语"
},
- "ff": {
- "name": "富拉文"
+ "fur": {
+ "name": "弗留利语"
},
- "qu": {
- "name": "盖丘亚文"
+ "ff": {
+ "name": "富拉语"
},
"sw-CD": {
- "name": "刚果斯瓦希里文"
- },
- "kok": {
- "name": "刚å¡å°¼æ–‡"
+ "name": "刚果斯瓦希里语"
},
"km": {
- "name": "高棉文"
+ "name": "高棉语"
},
"kl": {
- "name": "格陵兰文"
+ "name": "格陵兰语"
},
"ka": {
"name": "æ ¼é²å‰äºšè¯­"
@@ -195,29 +180,32 @@
"name": "å¤å‰æ‹‰ç‰¹è¯­"
},
"guz": {
- "name": "å¤è¥¿æ–‡"
+ "name": "å¤è¥¿è¯­"
},
"kk": {
"name": "哈è¨å…‹è¯­"
},
"ko": {
- "name": "韩文"
+ "name": "韩语"
},
"ha": {
- "name": "豪è¨æ–‡"
+ "name": "豪è¨è¯­"
},
"nl": {
"name": "è·å…°è¯­"
},
- "ky": {
- "name": "å‰å°”å‰æ–¯æ–‡"
- },
"ki": {
- "name": "å‰åº“尤文"
+ "name": "å‰åº“尤语"
},
"gl": {
"name": "加利西亚语"
},
+ "fr-CA": {
+ "name": "加拿大法语"
+ },
+ "en-CA": {
+ "name": "加拿大英语"
+ },
"ca": {
"name": "加泰罗尼亚语"
},
@@ -225,55 +213,64 @@
"name": "简体中文"
},
"cu": {
- "name": "教会斯拉夫文"
+ "name": "教会斯拉夫语"
},
"cs": {
"name": "æ·å…‹è¯­"
},
"kab": {
- "name": "å¡æ¯”尔文"
+ "name": "å¡æ‹œå°”语"
},
"kea": {
- "name": "å¡å¸ƒä½›å¾—é²æ–‡"
+ "name": "å¡å¸ƒä½›å¾—é²è¯­"
},
"kkj": {
- "name": "å¡åº“æ–‡"
+ "name": "å¡åº“语"
},
"kln": {
- "name": "å¡ä¼¦é‡‘æ–‡"
+ "name": "å¡ä¼¦é‡‘语"
},
"kam": {
- "name": "å¡å§†å·´æ–‡"
+ "name": "å¡å§†å·´è¯­"
},
"kn": {
- "name": "å¡çº³è¾¾æ–‡"
+ "name": "å¡çº³è¾¾è¯­"
},
"kw": {
- "name": "凯尔特文"
+ "name": "康沃尔语"
+ },
+ "ky": {
+ "name": "柯尔克孜语"
},
"ksh": {
- "name": "科隆文"
+ "name": "科隆语"
},
"hr": {
"name": "克罗地亚语"
},
+ "qu": {
+ "name": "克丘亚语"
+ },
"ks": {
- "name": "克什米尔文"
+ "name": "克什米尔语"
+ },
+ "kok": {
+ "name": "å­”å¡å°¼è¯­"
},
"nmg": {
- "name": "夸西奥文"
+ "name": "夸西奥语"
},
"lkt": {
- "name": "拉科塔文"
+ "name": "拉科塔语"
},
"lv": {
"name": "拉脱维亚语"
},
"rof": {
- "name": "å…°åšæ–‡"
+ "name": "å…°åšè¯­"
},
"lag": {
- "name": "朗å‰æ–‡"
+ "name": "朗å‰è¯­"
},
"lo": {
"name": "è€æŒè¯­"
@@ -282,16 +279,16 @@
"name": "立陶宛语"
},
"ln": {
- "name": "林加拉文"
+ "name": "林加拉语"
},
"rn": {
- "name": "隆迪文"
- },
- "luo": {
- "name": "å¢å¥¥æ–‡"
+ "name": "隆迪语"
},
"lg": {
- "name": "å¢å¹²è¾¾æ–‡"
+ "name": "å¢å¹²è¾¾è¯­"
+ },
+ "luo": {
+ "name": "å¢æ¬§è¯­"
},
"lb": {
"name": "å¢æ£®å ¡è¯­"
@@ -300,37 +297,37 @@
"name": "å¢æ—ºè¾¾è¯­"
},
"luy": {
- "name": "å¢é›…æ–‡"
+ "name": "å¢é›…语"
},
"lu": {
- "name": "é²å·´åŠ ä¸¹åŠ æ–‡"
+ "name": "é²å·´åŠ ä¸¹åŠ è¯­"
},
"ro": {
- "name": "罗马尼亚文"
+ "name": "罗马尼亚语"
},
"rm": {
- "name": "罗曼什文"
+ "name": "罗曼什语"
},
"rwk": {
- "name": "罗瓦文"
+ "name": "罗瓦语"
},
"gv": {
- "name": "马æ©å²›æ–‡"
- },
- "mg": {
- "name": "马尔加什文"
+ "name": "马æ©è¯­"
},
"mt": {
- "name": "马耳他文"
+ "name": "马耳他语"
},
"kde": {
- "name": "马孔德文"
+ "name": "马孔德语"
},
"mgh": {
- "name": "马库阿文"
+ "name": "马库阿语"
},
"mr": {
- "name": "马拉地文"
+ "name": "马拉地语"
+ },
+ "mg": {
+ "name": "马拉加斯语"
},
"ml": {
"name": "马拉雅拉姆语"
@@ -339,28 +336,31 @@
"name": "马æ¥è¯­"
},
"mk": {
- "name": "马其顿文"
+ "name": "马其顿语"
},
"jmc": {
- "name": "马切姆文"
+ "name": "马切姆语"
+ },
+ "mas": {
+ "name": "马赛语"
},
"mzn": {
- "name": "马赞德兰文"
+ "name": "马赞德兰语"
},
"mfe": {
- "name": "毛里求斯克里奥尔文"
+ "name": "毛里求斯克里奥尔语"
},
"mer": {
- "name": "梅é²æ–‡"
+ "name": "梅é²è¯­"
},
"mgo": {
- "name": "梅塔文"
+ "name": "梅塔语"
},
"mua": {
- "name": "蒙当文"
+ "name": "蒙当语"
},
"mn": {
- "name": "è’™å¤æ–‡"
+ "name": "è’™å¤è¯­"
},
"bn": {
"name": "孟加拉语"
@@ -369,49 +369,52 @@
"name": "缅甸语"
},
"ro-MD": {
- "name": "摩尔多瓦文"
+ "name": "摩尔多瓦语"
},
"es-MX": {
- "name": "墨西哥西ç­ç‰™æ–‡"
+ "name": "墨西哥西ç­ç‰™è¯­"
},
"naq": {
- "name": "纳马文"
+ "name": "纳马语"
},
"af": {
"name": "å—éžè·å…°è¯­"
},
"nyn": {
- "name": "尼昂科勒文"
+ "name": "尼昂科勒语"
},
"ne": {
"name": "尼泊尔语"
},
"nus": {
- "name": "努埃尔文"
- },
- "nb": {
- "name": "挪å¨åšå…‹é©¬å°”语"
+ "name": "努埃尔语"
},
"nn": {
- "name": "挪å¨å°¼è¯ºæ–¯å…‹æ–‡"
+ "name": "挪å¨å°¼è¯ºæ–¯å…‹è¯­"
},
"pt-PT": {
- "name": "欧洲葡è„牙文"
+ "name": "欧洲葡è„牙语"
+ },
+ "asa": {
+ "name": "帕雷语"
},
"pa": {
- "name": "æ—é®æ™®æ–‡"
+ "name": "æ—é®æ™®è¯­"
},
"pt": {
- "name": "è‘¡è„牙文"
+ "name": "è‘¡è„牙语"
},
"prg": {
- "name": "æ™®é²å£«æ–‡"
+ "name": "æ™®é²å£«è¯­"
},
"ps": {
- "name": "普什图文"
+ "name": "普什图语"
},
"cgg": {
- "name": "奇加文"
+ "name": "奇加语"
+ },
+ "chr": {
+ "name": "切罗基语"
},
"ja": {
"name": "日语"
@@ -419,68 +422,77 @@
"sv": {
"name": "瑞典语"
},
+ "gsw": {
+ "name": "瑞士德语"
+ },
+ "fr-CH": {
+ "name": "瑞士法语"
+ },
"de-CH": {
- "name": "瑞士高地德文"
+ "name": "瑞士高地德语"
},
"sah": {
- "name": "è¨å“ˆæ–‡"
- },
- "mas": {
- "name": "è¨ä¼Šæ–‡"
+ "name": "è¨å“ˆè¯­"
},
"sr": {
- "name": "塞尔维亚文"
+ "name": "塞尔维亚语"
},
"seh": {
- "name": "塞纳文"
+ "name": "塞纳语"
},
"saq": {
- "name": "桑布é²æ–‡"
+ "name": "桑布é²è¯­"
},
"sg": {
- "name": "桑戈文"
+ "name": "桑戈语"
},
"sbp": {
- "name": "æ¡‘å¤æ–‡"
+ "name": "æ¡‘å¤è¯­"
},
"si": {
- "name": "僧伽罗文"
+ "name": "僧伽罗语"
},
"hsb": {
- "name": "上索布文"
+ "name": "上索布语"
},
"sn": {
- "name": "ç»çº³æ–‡"
+ "name": "ç»çº³è¯­"
},
"eo": {
"name": "世界语"
},
+ "nb": {
+ "name": "书é¢æŒªå¨è¯­"
+ },
"sk": {
- "name": "斯洛ä¼å…‹æ–‡"
+ "name": "斯洛ä¼å…‹è¯­"
},
"sl": {
- "name": "斯洛文尼亚文"
+ "name": "斯洛文尼亚语"
},
"sw": {
- "name": "斯瓦希里文"
+ "name": "斯瓦希里语"
},
"ii": {
- "name": "å››å·å½æ–‡"
+ "name": "å››å·å½è¯­"
},
"gd": {
- "name": "è‹æ ¼å…°ç›–尔文"
+ "name": "è‹æ ¼å…°ç›–尔语"
},
"xog": {
- "name": "索加文"
+ "name": "索加语"
},
"so": {
- "name": "索马里文"
+ "name": "索马里语"
+ },
+ "tg": {
+ "name": "å¡”å‰å…‹è¯­"
},
"tzm": {
- "name": "塔马é½æ ¼ç‰¹æ–‡"
+ "name": "塔马é½æ ¼ç‰¹è¯­"
},
"dav": {
- "name": "å°å¡”æ–‡"
+ "name": "å°å¡”语"
},
"te": {
"name": "æ³°å¢å›ºè¯­"
@@ -492,28 +504,28 @@
"name": "泰语"
},
"to": {
- "name": "汤加文"
+ "name": "汤加语"
},
"teo": {
- "name": "特索文"
+ "name": "特索语"
},
"ti": {
- "name": "æ格利尼亚文"
+ "name": "æ格利尼亚语"
},
"tr": {
- "name": "土耳其文"
+ "name": "土耳其语"
},
"tk": {
- "name": "土库曼文"
+ "name": "土库曼语"
},
"wae": {
- "name": "瓦尔瑟文"
+ "name": "瓦尔瑟语"
},
"vai": {
- "name": "瓦伊文"
+ "name": "瓦伊语"
},
"ewo": {
- "name": "æ—ºæœæ–‡"
+ "name": "æ—ºæœè¯­"
},
"cy": {
"name": "å¨å°”士语"
@@ -522,10 +534,13 @@
"name": "ç»´å¾å°”语"
},
"vun": {
- "name": "温旧文"
+ "name": "温旧语"
},
"vo": {
- "name": "沃拉普克文"
+ "name": "沃拉普克语"
+ },
+ "wo": {
+ "name": "沃洛夫语"
},
"ur": {
"name": "乌尔都语"
@@ -536,56 +551,59 @@
"uz": {
"name": "乌兹别克语"
},
+ "es": {
+ "name": "西ç­ç‰™è¯­"
+ },
+ "fy": {
+ "name": "西弗里西亚语"
+ },
+ "khq": {
+ "name": "西桑海语"
+ },
"he": {
"name": "希伯æ¥è¯­"
},
"shi": {
- "name": "希尔哈文"
+ "name": "希尔哈语"
},
"el": {
"name": "希腊语"
},
- "es": {
- "name": "西ç­ç‰™æ–‡"
- },
- "fy": {
- "name": "西弗里西亚文"
- },
- "khq": {
- "name": "西桑海文"
- },
"dsb": {
- "name": "下索布文"
+ "name": "下索布语"
},
"haw": {
- "name": "å¤å¨å¤·æ–‡"
+ "name": "å¤å¨å¤·è¯­"
},
"ksb": {
- "name": "香巴拉文"
+ "name": "香巴拉语"
+ },
+ "sd": {
+ "name": "信德语"
},
"hu": {
"name": "匈牙利语"
},
"agq": {
- "name": "亚罕文"
+ "name": "亚罕语"
},
"hy": {
"name": "亚美尼亚语"
},
"yav": {
- "name": "æ´‹åžæ–‡"
+ "name": "æ´‹åžè¯­"
},
"ig": {
- "name": "伊布文"
+ "name": "伊åšè¯­"
},
"smn": {
- "name": "伊纳里è¨ç±³æ–‡"
+ "name": "伊纳里è¨ç±³è¯­"
},
"it": {
"name": "æ„大利语"
},
"yi": {
- "name": "æ„第绪文"
+ "name": "æ„第绪语"
},
"hi": {
"name": "å°åœ°è¯­"
@@ -593,41 +611,32 @@
"id": {
"name": "å°åº¦å°¼è¥¿äºšè¯­"
},
+ "en-GB": {
+ "name": "英国英语"
+ },
"en": {
"name": "英语"
},
- "en-AU": {
- "name": "英语(澳大利亚)"
- },
- "en-CA": {
- "name": "英语(加拿大)"
- },
- "en-GB": {
- "name": "英语(英国)"
- },
"yo": {
- "name": "约é²å·´æ–‡"
- },
- "yue": {
- "name": "粤语"
+ "name": "约é²å·´è¯­"
},
"vi": {
"name": "越å—语"
},
"dje": {
- "name": "哲尔马文"
+ "name": "哲尔马语"
},
"ckb": {
- "name": "中库尔德文"
+ "name": "中库尔德语"
},
"zh": {
"name": "中文"
},
"dyo": {
- "name": "朱拉文"
+ "name": "朱拉语"
},
"dz": {
- "name": "å®—å¡æ–‡"
+ "name": "å®—å¡è¯­"
},
"zu": {
"name": "祖é²è¯­"
diff --git a/vendor/commerceguys/intl/resources/language/zu.json b/vendor/commerceguys/intl/resources/language/zu.json
index 53310e00c..f6d2916bf 100644
--- a/vendor/commerceguys/intl/resources/language/zu.json
+++ b/vendor/commerceguys/intl/resources/language/zu.json
@@ -116,9 +116,6 @@
"my": {
"name": "isi-Burmese"
},
- "yue": {
- "name": "isi-Cantonese"
- },
"ca": {
"name": "isi-Catalan"
},
@@ -515,6 +512,9 @@
"ii": {
"name": "isi-Sichuan Yi"
},
+ "sd": {
+ "name": "isi-Sindhi"
+ },
"sk": {
"name": "isi-Slovak"
},
@@ -542,12 +542,18 @@
"dav": {
"name": "isi-Taita"
},
+ "tg": {
+ "name": "isi-Tajik"
+ },
"ta": {
"name": "isi-Tamil"
},
"twq": {
"name": "isi-Tasawaq"
},
+ "tt": {
+ "name": "isi-Tatar"
+ },
"te": {
"name": "isi-Telugu"
},
@@ -605,6 +611,9 @@
"fy": {
"name": "isi-Western Frisian"
},
+ "wo": {
+ "name": "isi-Wolof"
+ },
"yav": {
"name": "isi-Yangben"
},
diff --git a/vendor/commerceguys/intl/resources/number_format/bg.json b/vendor/commerceguys/intl/resources/number_format/bg.json
index db5594973..e7e048d67 100644
--- a/vendor/commerceguys/intl/resources/number_format/bg.json
+++ b/vendor/commerceguys/intl/resources/number_format/bg.json
@@ -2,8 +2,8 @@
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
- "currency_pattern": "#0.00 ¤",
- "accounting_currency_pattern": "#0.00 ¤;(#0.00 ¤)",
+ "currency_pattern": "0.00 ¤",
+ "accounting_currency_pattern": "0.00 ¤;(0.00 ¤)",
"decimal_separator": ",",
"grouping_separator": " "
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/bs-Cyrl.json b/vendor/commerceguys/intl/resources/number_format/bs-Cyrl.json
new file mode 100644
index 000000000..fe7da1e1a
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/bs-Cyrl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ckb.json b/vendor/commerceguys/intl/resources/number_format/ckb.json
index 536e7e1d4..10b888cbc 100644
--- a/vendor/commerceguys/intl/resources/number_format/ckb.json
+++ b/vendor/commerceguys/intl/resources/number_format/ckb.json
@@ -6,7 +6,7 @@
"accounting_currency_pattern": "#,##0.00 ¤",
"decimal_separator": "Ù«",
"grouping_separator": "Ù¬",
- "plus_sign": "؜+",
- "minus_sign": "؜-",
+ "plus_sign": "â€+",
+ "minus_sign": "â€-",
"percent_sign": "Ùª"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/de-CH.json b/vendor/commerceguys/intl/resources/number_format/de-CH.json
index 71149a173..845578f9a 100644
--- a/vendor/commerceguys/intl/resources/number_format/de-CH.json
+++ b/vendor/commerceguys/intl/resources/number_format/de-CH.json
@@ -4,5 +4,5 @@
"percent_pattern": "#,##0%",
"currency_pattern": "¤ #,##0.00;¤-#,##0.00",
"accounting_currency_pattern": "#,##0.00 ¤",
- "grouping_separator": "'"
+ "grouping_separator": "’"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/de-LI.json b/vendor/commerceguys/intl/resources/number_format/de-LI.json
index c48f86bec..f788741c8 100644
--- a/vendor/commerceguys/intl/resources/number_format/de-LI.json
+++ b/vendor/commerceguys/intl/resources/number_format/de-LI.json
@@ -4,5 +4,5 @@
"percent_pattern": "#,##0%",
"currency_pattern": "¤ #,##0.00",
"accounting_currency_pattern": "#,##0.00 ¤",
- "grouping_separator": "'"
+ "grouping_separator": "’"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/el.json b/vendor/commerceguys/intl/resources/number_format/el.json
index c30bdc3aa..fe7da1e1a 100644
--- a/vendor/commerceguys/intl/resources/number_format/el.json
+++ b/vendor/commerceguys/intl/resources/number_format/el.json
@@ -3,7 +3,7 @@
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
"currency_pattern": "#,##0.00 ¤",
- "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "accounting_currency_pattern": "#,##0.00 ¤",
"decimal_separator": ",",
"grouping_separator": "."
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/yue.json b/vendor/commerceguys/intl/resources/number_format/es-BZ.json
index b3c1634ea..a474daf71 100644
--- a/vendor/commerceguys/intl/resources/number_format/yue.json
+++ b/vendor/commerceguys/intl/resources/number_format/es-BZ.json
@@ -1,7 +1,7 @@
{
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "#,##0%",
+ "percent_pattern": "#,##0 %",
"currency_pattern": "¤#,##0.00",
- "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+ "accounting_currency_pattern": "¤#,##0.00"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-CO.json b/vendor/commerceguys/intl/resources/number_format/es-CO.json
index b366f5e59..9289ceb55 100644
--- a/vendor/commerceguys/intl/resources/number_format/es-CO.json
+++ b/vendor/commerceguys/intl/resources/number_format/es-CO.json
@@ -1,7 +1,7 @@
{
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "#,##0%",
+ "percent_pattern": "#,##0 %",
"currency_pattern": "¤ #,##0.00",
"accounting_currency_pattern": "¤#,##0.00",
"decimal_separator": ",",
diff --git a/vendor/commerceguys/intl/resources/number_format/es-DO.json b/vendor/commerceguys/intl/resources/number_format/es-DO.json
index b3c1634ea..ff98fbc27 100644
--- a/vendor/commerceguys/intl/resources/number_format/es-DO.json
+++ b/vendor/commerceguys/intl/resources/number_format/es-DO.json
@@ -1,7 +1,7 @@
{
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "#,##0%",
+ "percent_pattern": "#,##0 %",
"currency_pattern": "¤#,##0.00",
"accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/es-MX.json b/vendor/commerceguys/intl/resources/number_format/es-MX.json
index a605145a8..a474daf71 100644
--- a/vendor/commerceguys/intl/resources/number_format/es-MX.json
+++ b/vendor/commerceguys/intl/resources/number_format/es-MX.json
@@ -1,7 +1,7 @@
{
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "#,##0%",
+ "percent_pattern": "#,##0 %",
"currency_pattern": "¤#,##0.00",
"accounting_currency_pattern": "¤#,##0.00"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/eu.json b/vendor/commerceguys/intl/resources/number_format/eu.json
index 37104eb26..7f845e5ae 100644
--- a/vendor/commerceguys/intl/resources/number_format/eu.json
+++ b/vendor/commerceguys/intl/resources/number_format/eu.json
@@ -5,5 +5,6 @@
"currency_pattern": "#,##0.00 ¤",
"accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
"decimal_separator": ",",
- "grouping_separator": "."
+ "grouping_separator": ".",
+ "minus_sign": "−"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fa-AF.json b/vendor/commerceguys/intl/resources/number_format/fa-AF.json
index 3c5fdc3b2..c277c3ce1 100644
--- a/vendor/commerceguys/intl/resources/number_format/fa-AF.json
+++ b/vendor/commerceguys/intl/resources/number_format/fa-AF.json
@@ -1,12 +1,12 @@
{
"numbering_system": "arabext",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "% #,##0;% -#,##0",
+ "percent_pattern": "#,##0%",
"currency_pattern": "¤ #,##0.00",
"accounting_currency_pattern": "¤ #,##0.00;‎(¤ #,##0.00)",
"decimal_separator": "Ù«",
"grouping_separator": "Ù¬",
"plus_sign": "‎+",
"minus_sign": "‎−",
- "percent_sign": "‎٪"
+ "percent_sign": "Ùª"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fa.json b/vendor/commerceguys/intl/resources/number_format/fa.json
index e00541db5..da53dbb93 100644
--- a/vendor/commerceguys/intl/resources/number_format/fa.json
+++ b/vendor/commerceguys/intl/resources/number_format/fa.json
@@ -1,12 +1,12 @@
{
"numbering_system": "arabext",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "% #,##0;% -#,##0",
- "currency_pattern": "#,##0.00 ؜¤;؜-#,##0.00 ؜¤",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "‎¤#,##0.00",
"accounting_currency_pattern": "‎¤ #,##0.00;‎(¤ #,##0.00)",
"decimal_separator": "Ù«",
"grouping_separator": "Ù¬",
"plus_sign": "‎+",
"minus_sign": "‎−",
- "percent_sign": "‎٪"
+ "percent_sign": "Ùª"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/fr-CH.json b/vendor/commerceguys/intl/resources/number_format/fr-CH.json
index 5b320ddde..2c5f891ef 100644
--- a/vendor/commerceguys/intl/resources/number_format/fr-CH.json
+++ b/vendor/commerceguys/intl/resources/number_format/fr-CH.json
@@ -2,7 +2,8 @@
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
- "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "currency_pattern": "#,##0.00 ¤ ;-#,##0.00 ¤",
"accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
"grouping_separator": " "
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/hy.json b/vendor/commerceguys/intl/resources/number_format/hy.json
index 28881d5d4..7ec8623e4 100644
--- a/vendor/commerceguys/intl/resources/number_format/hy.json
+++ b/vendor/commerceguys/intl/resources/number_format/hy.json
@@ -2,8 +2,8 @@
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
- "currency_pattern": "¤ #,##0.00",
- "accounting_currency_pattern": "¤ #,##0.00",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
"decimal_separator": ",",
"grouping_separator": " "
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/it-CH.json b/vendor/commerceguys/intl/resources/number_format/it-CH.json
index 71149a173..845578f9a 100644
--- a/vendor/commerceguys/intl/resources/number_format/it-CH.json
+++ b/vendor/commerceguys/intl/resources/number_format/it-CH.json
@@ -4,5 +4,5 @@
"percent_pattern": "#,##0%",
"currency_pattern": "¤ #,##0.00;¤-#,##0.00",
"accounting_currency_pattern": "#,##0.00 ¤",
- "grouping_separator": "'"
+ "grouping_separator": "’"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ka.json b/vendor/commerceguys/intl/resources/number_format/ka.json
index d764f9629..7ec8623e4 100644
--- a/vendor/commerceguys/intl/resources/number_format/ka.json
+++ b/vendor/commerceguys/intl/resources/number_format/ka.json
@@ -1,7 +1,7 @@
{
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "#,##0 %",
+ "percent_pattern": "#,##0%",
"currency_pattern": "#,##0.00 ¤",
"accounting_currency_pattern": "#,##0.00 ¤",
"decimal_separator": ",",
diff --git a/vendor/commerceguys/intl/resources/number_format/or.json b/vendor/commerceguys/intl/resources/number_format/or.json
index a844ebdb7..2ed36233b 100644
--- a/vendor/commerceguys/intl/resources/number_format/or.json
+++ b/vendor/commerceguys/intl/resources/number_format/or.json
@@ -3,5 +3,5 @@
"decimal_pattern": "#,##,##0.###",
"percent_pattern": "#,##,##0%",
"currency_pattern": "¤ #,##,##0.00",
- "accounting_currency_pattern": "¤ #,##,##0.00"
+ "accounting_currency_pattern": "¤#,##,##0.00;(¤#,##,##0.00)"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/pt.json b/vendor/commerceguys/intl/resources/number_format/pt.json
index 55f79831a..481a97b35 100644
--- a/vendor/commerceguys/intl/resources/number_format/pt.json
+++ b/vendor/commerceguys/intl/resources/number_format/pt.json
@@ -2,8 +2,8 @@
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
- "currency_pattern": "¤#,##0.00",
- "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
"decimal_separator": ",",
"grouping_separator": "."
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sd.json b/vendor/commerceguys/intl/resources/number_format/sd.json
new file mode 100644
index 000000000..055e131eb
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/sd.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arab",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
+ "plus_sign": "؜+",
+ "minus_sign": "؜-",
+ "percent_sign": "٪؜"
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/sl.json b/vendor/commerceguys/intl/resources/number_format/sl.json
index 7acfea5e6..0236c4142 100644
--- a/vendor/commerceguys/intl/resources/number_format/sl.json
+++ b/vendor/commerceguys/intl/resources/number_format/sl.json
@@ -6,5 +6,5 @@
"accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
"decimal_separator": ",",
"grouping_separator": ".",
- "minus_sign": "–"
+ "minus_sign": "−"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/tg.json b/vendor/commerceguys/intl/resources/number_format/tg.json
new file mode 100644
index 000000000..7ec8623e4
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/tg.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/tt.json b/vendor/commerceguys/intl/resources/number_format/tt.json
new file mode 100644
index 000000000..d764f9629
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/tt.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ur-IN.json b/vendor/commerceguys/intl/resources/number_format/ur-IN.json
index 0d180566d..d0b2d6ae0 100644
--- a/vendor/commerceguys/intl/resources/number_format/ur-IN.json
+++ b/vendor/commerceguys/intl/resources/number_format/ur-IN.json
@@ -3,7 +3,9 @@
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
"currency_pattern": "¤ #,##,##0.00",
- "accounting_currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
"plus_sign": "‎+‎",
"minus_sign": "‎-‎"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/ur.json b/vendor/commerceguys/intl/resources/number_format/ur.json
index 019972cbc..1f42d1590 100644
--- a/vendor/commerceguys/intl/resources/number_format/ur.json
+++ b/vendor/commerceguys/intl/resources/number_format/ur.json
@@ -1,9 +1,9 @@
{
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
- "percent_pattern": "#,##,##0%",
- "currency_pattern": "¤ #,##,##0.00",
- "accounting_currency_pattern": "¤ #,##,##0.00",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
"plus_sign": "‎+",
"minus_sign": "‎-"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/vi.json b/vendor/commerceguys/intl/resources/number_format/vi.json
index c889e5944..fe7da1e1a 100644
--- a/vendor/commerceguys/intl/resources/number_format/vi.json
+++ b/vendor/commerceguys/intl/resources/number_format/vi.json
@@ -2,7 +2,7 @@
"numbering_system": "latn",
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
- "currency_pattern": "¤ #,##0.00",
+ "currency_pattern": "#,##0.00 ¤",
"accounting_currency_pattern": "#,##0.00 ¤",
"decimal_separator": ",",
"grouping_separator": "."
diff --git a/vendor/commerceguys/intl/resources/number_format/wo.json b/vendor/commerceguys/intl/resources/number_format/wo.json
new file mode 100644
index 000000000..481a97b35
--- /dev/null
+++ b/vendor/commerceguys/intl/resources/number_format/wo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/resources/number_format/zu.json b/vendor/commerceguys/intl/resources/number_format/zu.json
index b3c1634ea..a605145a8 100644
--- a/vendor/commerceguys/intl/resources/number_format/zu.json
+++ b/vendor/commerceguys/intl/resources/number_format/zu.json
@@ -3,5 +3,5 @@
"decimal_pattern": "#,##0.###",
"percent_pattern": "#,##0%",
"currency_pattern": "¤#,##0.00",
- "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+ "accounting_currency_pattern": "¤#,##0.00"
} \ No newline at end of file
diff --git a/vendor/commerceguys/intl/scripts/fetch_data.sh b/vendor/commerceguys/intl/scripts/fetch_data.sh
index df727e758..804ecc1a1 100644
--- a/vendor/commerceguys/intl/scripts/fetch_data.sh
+++ b/vendor/commerceguys/intl/scripts/fetch_data.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-URL="http://www.currency-iso.org/dam/downloads/lists/list_one.xml"
+URL="https://www.currency-iso.org/dam/downloads/lists/list_one.xml"
rm -fR assets
mkdir assets
diff --git a/vendor/commerceguys/intl/scripts/number_format/generate.php b/vendor/commerceguys/intl/scripts/number_format/generate.php
index 0fd8998f1..6809c980f 100644
--- a/vendor/commerceguys/intl/scripts/number_format/generate.php
+++ b/vendor/commerceguys/intl/scripts/number_format/generate.php
@@ -27,7 +27,7 @@ $ignoredLocales = [
// Interlingua is a made up language.
'ia',
// Ignored by other generation scripts, very minor locales.
- 'as', 'asa', 'bem', 'chr', 'dav', 'dua', 'ebu', 'ewo', 'guz', 'gv', 'ii',
+ 'as', 'asa', 'bem', 'ccp', 'chr', 'dav', 'dua', 'ebu', 'ewo', 'guz', 'gv', 'ii',
'jgo', 'jmc', 'kam', 'kde', 'ki', 'kkj', 'kl', 'kln', 'ksb', 'kw', 'lag',
'ln', 'mer', 'mgo', 'nd', 'nmg', 'nnh', 'nus', 'os', 'ps', 'rwk', 'sah',
'saq', 'sbp', 'shi', 'sn', 'teo', 'vai', 'vun', 'xog', 'zgh',
diff --git a/vendor/commerceguys/intl/src/Formatter/NumberFormatter.php b/vendor/commerceguys/intl/src/Formatter/NumberFormatter.php
index 5d36fc89b..9c8979043 100644
--- a/vendor/commerceguys/intl/src/Formatter/NumberFormatter.php
+++ b/vendor/commerceguys/intl/src/Formatter/NumberFormatter.php
@@ -99,7 +99,7 @@ class NumberFormatter implements NumberFormatterInterface
];
/**
- * Creaes a NumberFormatter instance.
+ * Creates a NumberFormatter instance.
*
* @param NumberFormatInterface $numberFormat The number format.
* @param int $style The formatting style.
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index f3b48cd69..26a230615 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -891,6 +891,7 @@ return array(
'Zotlabs\\Module\\Getfile' => $baseDir . '/Zotlabs/Module/Getfile.php',
'Zotlabs\\Module\\Go' => $baseDir . '/Zotlabs/Module/Go.php',
'Zotlabs\\Module\\Group' => $baseDir . '/Zotlabs/Module/Group.php',
+ 'Zotlabs\\Module\\Hashtags' => $baseDir . '/Zotlabs/Module/Hashtags.php',
'Zotlabs\\Module\\Hcard' => $baseDir . '/Zotlabs/Module/Hcard.php',
'Zotlabs\\Module\\Help' => $baseDir . '/Zotlabs/Module/Help.php',
'Zotlabs\\Module\\Home' => $baseDir . '/Zotlabs/Module/Home.php',
@@ -1239,6 +1240,9 @@ return array(
'Zotlabs\\Update\\_1204' => $baseDir . '/Zotlabs/Update/_1204.php',
'Zotlabs\\Update\\_1205' => $baseDir . '/Zotlabs/Update/_1205.php',
'Zotlabs\\Update\\_1206' => $baseDir . '/Zotlabs/Update/_1206.php',
+ 'Zotlabs\\Update\\_1207' => $baseDir . '/Zotlabs/Update/_1207.php',
+ 'Zotlabs\\Update\\_1208' => $baseDir . '/Zotlabs/Update/_1208.php',
+ 'Zotlabs\\Update\\_1209' => $baseDir . '/Zotlabs/Update/_1209.php',
'Zotlabs\\Web\\CheckJS' => $baseDir . '/Zotlabs/Web/CheckJS.php',
'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php',
diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php
index 7d8d3963a..8a46cfcb7 100644
--- a/vendor/composer/autoload_namespaces.php
+++ b/vendor/composer/autoload_namespaces.php
@@ -9,6 +9,5 @@ return array(
'Text' => array($vendorDir . '/pear/text_languagedetect'),
'SimplePie' => array($vendorDir . '/simplepie/simplepie/library'),
'OAuth2' => array($vendorDir . '/bshaffer/oauth2-server-php/src'),
- 'Michelf' => array($vendorDir . '/michelf/php-markdown'),
'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'),
);
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index dcd673b73..e57848647 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -17,6 +17,7 @@ return array(
'Sabre\\CardDAV\\' => array($vendorDir . '/sabre/dav/lib/CardDAV'),
'Sabre\\CalDAV\\' => array($vendorDir . '/sabre/dav/lib/CalDAV'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
+ 'Michelf\\' => array($vendorDir . '/michelf/php-markdown/Michelf'),
'League\\HTMLToMarkdown\\' => array($vendorDir . '/league/html-to-markdown/src'),
'ID3Parser\\' => array($vendorDir . '/lukasreschke/id3parser/src'),
'Hubzilla\\' => array($baseDir . '/include'),
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index aa6a8bce4..d9b5ba2a6 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -39,6 +39,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
array (
'Psr\\Log\\' => 8,
),
+ 'M' =>
+ array (
+ 'Michelf\\' => 8,
+ ),
'L' =>
array (
'League\\HTMLToMarkdown\\' => 22,
@@ -102,6 +106,10 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
array (
0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
),
+ 'Michelf\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/michelf/php-markdown/Michelf',
+ ),
'League\\HTMLToMarkdown\\' =>
array (
0 => __DIR__ . '/..' . '/league/html-to-markdown/src',
@@ -142,13 +150,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
0 => __DIR__ . '/..' . '/bshaffer/oauth2-server-php/src',
),
),
- 'M' =>
- array (
- 'Michelf' =>
- array (
- 0 => __DIR__ . '/..' . '/michelf/php-markdown',
- ),
- ),
'H' =>
array (
'HTMLPurifier' =>
@@ -1044,6 +1045,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Getfile' => __DIR__ . '/../..' . '/Zotlabs/Module/Getfile.php',
'Zotlabs\\Module\\Go' => __DIR__ . '/../..' . '/Zotlabs/Module/Go.php',
'Zotlabs\\Module\\Group' => __DIR__ . '/../..' . '/Zotlabs/Module/Group.php',
+ 'Zotlabs\\Module\\Hashtags' => __DIR__ . '/../..' . '/Zotlabs/Module/Hashtags.php',
'Zotlabs\\Module\\Hcard' => __DIR__ . '/../..' . '/Zotlabs/Module/Hcard.php',
'Zotlabs\\Module\\Help' => __DIR__ . '/../..' . '/Zotlabs/Module/Help.php',
'Zotlabs\\Module\\Home' => __DIR__ . '/../..' . '/Zotlabs/Module/Home.php',
@@ -1392,6 +1394,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Update\\_1204' => __DIR__ . '/../..' . '/Zotlabs/Update/_1204.php',
'Zotlabs\\Update\\_1205' => __DIR__ . '/../..' . '/Zotlabs/Update/_1205.php',
'Zotlabs\\Update\\_1206' => __DIR__ . '/../..' . '/Zotlabs/Update/_1206.php',
+ 'Zotlabs\\Update\\_1207' => __DIR__ . '/../..' . '/Zotlabs/Update/_1207.php',
+ 'Zotlabs\\Update\\_1208' => __DIR__ . '/../..' . '/Zotlabs/Update/_1208.php',
+ 'Zotlabs\\Update\\_1209' => __DIR__ . '/../..' . '/Zotlabs/Update/_1209.php',
'Zotlabs\\Web\\CheckJS' => __DIR__ . '/../..' . '/Zotlabs/Web/CheckJS.php',
'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index f4a2b6278..6ce7bf350 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -61,17 +61,17 @@
},
{
"name": "commerceguys/intl",
- "version": "v0.7.4",
- "version_normalized": "0.7.4.0",
+ "version": "v0.7.5",
+ "version_normalized": "0.7.5.0",
"source": {
"type": "git",
"url": "https://github.com/commerceguys/intl.git",
- "reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00"
+ "reference": "de1435502068393fae4061818e194e4ea61b98d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/commerceguys/intl/zipball/edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
- "reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
+ "url": "https://api.github.com/repos/commerceguys/intl/zipball/de1435502068393fae4061818e194e4ea61b98d6",
+ "reference": "de1435502068393fae4061818e194e4ea61b98d6",
"shasum": ""
},
"require": {
@@ -81,7 +81,7 @@
"mikey179/vfsstream": "1.*",
"phpunit/phpunit": "~4.0"
},
- "time": "2016-12-13T12:33:19+00:00",
+ "time": "2017-12-29T00:13:05+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -107,17 +107,17 @@
},
{
"name": "ezyang/htmlpurifier",
- "version": "v4.9.3",
- "version_normalized": "4.9.3.0",
+ "version": "v4.10.0",
+ "version_normalized": "4.10.0.0",
"source": {
"type": "git",
"url": "https://github.com/ezyang/htmlpurifier.git",
- "reference": "95e1bae3182efc0f3422896a3236e991049dac69"
+ "reference": "d85d39da4576a6934b72480be6978fb10c860021"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
- "reference": "95e1bae3182efc0f3422896a3236e991049dac69",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021",
+ "reference": "d85d39da4576a6934b72480be6978fb10c860021",
"shasum": ""
},
"require": {
@@ -126,7 +126,7 @@
"require-dev": {
"simpletest/simpletest": "^1.1"
},
- "time": "2017-06-03T02:28:16+00:00",
+ "time": "2018-02-23T01:58:20+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -259,33 +259,28 @@
},
{
"name": "michelf/php-markdown",
- "version": "1.7.0",
- "version_normalized": "1.7.0.0",
+ "version": "1.8.0",
+ "version_normalized": "1.8.0.0",
"source": {
"type": "git",
"url": "https://github.com/michelf/php-markdown.git",
- "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220"
+ "reference": "01ab082b355bf188d907b9929cd99b2923053495"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220",
- "reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220",
+ "url": "https://api.github.com/repos/michelf/php-markdown/zipball/01ab082b355bf188d907b9929cd99b2923053495",
+ "reference": "01ab082b355bf188d907b9929cd99b2923053495",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
- "time": "2016-10-29T18:58:20+00:00",
+ "time": "2018-01-15T00:49:33+00:00",
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-lib": "1.4.x-dev"
- }
- },
"installation-source": "dist",
"autoload": {
- "psr-0": {
- "Michelf": ""
+ "psr-4": {
+ "Michelf\\": "Michelf/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -551,17 +546,17 @@
},
{
"name": "sabre/http",
- "version": "4.2.3",
- "version_normalized": "4.2.3.0",
+ "version": "v4.2.4",
+ "version_normalized": "4.2.4.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/http.git",
- "reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93"
+ "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/http/zipball/0295f9a3ee39be97e0898592fc19e42421e0cd93",
- "reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93",
+ "url": "https://api.github.com/repos/sabre-io/http/zipball/acccec4ba863959b2d10c1fa0fb902736c5c8956",
+ "reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956",
"shasum": ""
},
"require": {
@@ -578,7 +573,7 @@
"suggest": {
"ext-curl": " to make http requests with the Client class"
},
- "time": "2017-06-12T07:53:04+00:00",
+ "time": "2018-02-23T11:10:29+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -662,17 +657,17 @@
},
{
"name": "sabre/vobject",
- "version": "4.1.3",
- "version_normalized": "4.1.3.0",
+ "version": "4.1.5",
+ "version_normalized": "4.1.5.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/vobject.git",
- "reference": "df9916813d1d83e4f761c4cba13361ee74196fac"
+ "reference": "0928660e92d46d2d24336a6db320636aa3a75414"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/vobject/zipball/df9916813d1d83e4f761c4cba13361ee74196fac",
- "reference": "df9916813d1d83e4f761c4cba13361ee74196fac",
+ "url": "https://api.github.com/repos/sabre-io/vobject/zipball/0928660e92d46d2d24336a6db320636aa3a75414",
+ "reference": "0928660e92d46d2d24336a6db320636aa3a75414",
"shasum": ""
},
"require": {
@@ -681,13 +676,13 @@
"sabre/xml": ">=1.5 <3.0"
},
"require-dev": {
- "phpunit/phpunit": "> 4.8, <6.0.0",
+ "phpunit/phpunit": "> 4.8.35, <6.0.0",
"sabre/cs": "^1.0.0"
},
"suggest": {
"hoa/bench": "If you would like to run the benchmark scripts"
},
- "time": "2017-10-18T08:29:40+00:00",
+ "time": "2018-03-08T21:06:39+00:00",
"bin": [
"bin/vobject",
"bin/generate_vcards"
diff --git a/vendor/ezyang/htmlpurifier/NEWS b/vendor/ezyang/htmlpurifier/NEWS
index fd5d56cf0..9b6e10232 100644
--- a/vendor/ezyang/htmlpurifier/NEWS
+++ b/vendor/ezyang/htmlpurifier/NEWS
@@ -9,6 +9,20 @@ NEWS ( CHANGELOG and HISTORY ) HTMLPurifier
. Internal change
==========================
+4.10.0, released 2018-02-22
+# PHP 5.3 is no longer officially supported by HTML Purifier
+ (we did not specifically break support, but we are no longer
+ testing on PHP 5.3)
+! Relative CSS length units are now supported
+- A few PHP 7.2 compatibility fixes, thanks John Flatness
+ <john@zerocrates.org>
+- Improve portability with old versions of libxml which don't
+ support accessing the data of a node
+- IDNA2008 is now used for converting domains to ASCII, fixing
+ some rather strange bugs with international domains
+- Fix race condition resulting in E_WARNING when creating
+ directories with Serializer
+
4.9.3, released 2017-06-02
- Workaround PHP 7.1 infinite loop when opcode cache is enabled.
Thanks @Xiphin (#134, #135)
diff --git a/vendor/ezyang/htmlpurifier/README.md b/vendor/ezyang/htmlpurifier/README.md
index b321f2b69..37715c607 100644
--- a/vendor/ezyang/htmlpurifier/README.md
+++ b/vendor/ezyang/htmlpurifier/README.md
@@ -2,7 +2,7 @@ HTML Purifier [![Build Status](https://secure.travis-ci.org/ezyang/htmlpurifier.
=============
HTML Purifier is an HTML filtering solution that uses a unique combination
-of robust whitelists and agressive parsing to ensure that not only are
+of robust whitelists and aggressive parsing to ensure that not only are
XSS attacks thwarted, but the resulting HTML is standards compliant.
HTML Purifier is oriented towards richly formatted documents from
@@ -26,4 +26,4 @@ Package available on [Composer](https://packagist.org/packages/ezyang/htmlpurifi
If you're using Composer to manage dependencies, you can use
- $ composer require "ezyang/htmlpurifier": "dev-master"
+ $ composer require "ezyang/htmlpurifier":"dev-master"
diff --git a/vendor/ezyang/htmlpurifier/VERSION b/vendor/ezyang/htmlpurifier/VERSION
index e94f14fa9..1910ba9d2 100644
--- a/vendor/ezyang/htmlpurifier/VERSION
+++ b/vendor/ezyang/htmlpurifier/VERSION
@@ -1 +1 @@
-4.9.3 \ No newline at end of file
+4.10.0 \ No newline at end of file
diff --git a/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload-legacy.php b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload-legacy.php
new file mode 100644
index 000000000..d1485bf2e
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload-legacy.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * @file
+ * Legacy autoloader for systems lacking spl_autoload_register
+ *
+ * Must be separate to prevent deprecation warning on PHP 7.2
+ */
+
+function __autoload($class)
+{
+ return HTMLPurifierExtras::autoload($class);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php
index de4a8aaaf..69c909538 100644
--- a/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php
+++ b/vendor/ezyang/htmlpurifier/extras/HTMLPurifierExtras.autoload.php
@@ -17,10 +17,7 @@ if (function_exists('spl_autoload_register')) {
spl_autoload_register('__autoload');
}
} elseif (!function_exists('__autoload')) {
- function __autoload($class)
- {
- return HTMLPurifierExtras::autoload($class);
- }
+ require dirname(__FILE__) . '/HTMLPurifierExtras.autoload-legacy.php';
}
// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload-legacy.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload-legacy.php
new file mode 100644
index 000000000..c271cd158
--- /dev/null
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload-legacy.php
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * @file
+ * Legacy autoloader for systems lacking spl_autoload_register
+ *
+ * Must be separate to prevent deprecation warning on PHP 7.2
+ */
+
+function __autoload($class)
+{
+ return HTMLPurifier_Bootstrap::autoload($class);
+}
+
+// vim: et sw=4 sts=4
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php
index c3ea67e81..9d8d29926 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php
@@ -14,10 +14,7 @@ if (function_exists('spl_autoload_register') && function_exists('spl_autoload_un
spl_autoload_register('__autoload');
}
} elseif (!function_exists('__autoload')) {
- function __autoload($class)
- {
- return HTMLPurifier_Bootstrap::autoload($class);
- }
+ require dirname(__FILE__) . '/HTMLPurifier.autoload-legacy.php';
}
if (ini_get('zend.ze1_compatibility_mode')) {
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php
index e8bce5c85..321bdc566 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php
@@ -7,7 +7,7 @@
* primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
* FILE, changes will be overwritten the next time the script is run.
*
- * @version 4.9.3
+ * @version 4.10.0
*
* @warning
* You must *not* include any other HTML Purifier files before this file,
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.php
index b4605ebc6..bada5188b 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier.php
@@ -19,7 +19,7 @@
*/
/*
- HTML Purifier 4.9.3 - Standards Compliant HTML Filtering
+ HTML Purifier 4.10.0 - Standards Compliant HTML Filtering
Copyright (C) 2006-2008 Edward Z. Yang
This library is free software; you can redistribute it and/or
@@ -58,12 +58,12 @@ class HTMLPurifier
* Version of HTML Purifier.
* @type string
*/
- public $version = '4.9.3';
+ public $version = '4.10.0';
/**
* Constant with version of HTML Purifier.
*/
- const VERSION = '4.9.3';
+ const VERSION = '4.10.0';
/**
* Global configuration object.
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php
index 3b4d18674..e54a3344a 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php
@@ -97,7 +97,7 @@ class HTMLPurifier_AttrDef_URI_Host extends HTMLPurifier_AttrDef
// PHP 5.3 and later support this functionality natively
if (function_exists('idn_to_ascii')) {
- $string = idn_to_ascii($string);
+ $string = idn_to_ascii($string, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46);
// If we have Net_IDNA2 support, we can support IRIs by
// punycoding them. (This is the most portable thing to do,
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php
index 3648364b3..f37cf3713 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php
@@ -21,7 +21,7 @@ class HTMLPurifier_Config
* HTML Purifier's version
* @type string
*/
- public $version = '4.9.3';
+ public $version = '4.10.0';
/**
* Whether or not to automatically finalize
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php
index 952e48d47..b82c6bb20 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php
@@ -217,9 +217,14 @@ class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCac
$directory = $this->generateDirectoryPath($config);
$chmod = $config->get('Cache.SerializerPermissions');
if ($chmod === null) {
- // TODO: This races
- if (is_dir($directory)) return true;
- return mkdir($directory);
+ if (!@mkdir($directory) && !is_dir($directory)) {
+ trigger_error(
+ 'Could not create directory ' . $directory . '',
+ E_USER_WARNING
+ );
+ return false;
+ }
+ return true;
}
if (!is_dir($directory)) {
$base = $this->generateBaseDirectoryPath($config);
@@ -233,7 +238,7 @@ class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCac
} elseif (!$this->_testPermissions($base, $chmod)) {
return false;
}
- if (!mkdir($directory, $chmod)) {
+ if (!@mkdir($directory, $chmod) && !is_dir($directory)) {
trigger_error(
'Could not create directory ' . $directory . '',
E_USER_WARNING
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README
index 2e35c1c3d..2e35c1c3d 100755..100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer/README
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php
index 5060eef9e..116b470c3 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php
@@ -157,11 +157,13 @@ abstract class HTMLPurifier_Injector
return false;
}
// check for exclusion
- for ($i = count($this->currentNesting) - 2; $i >= 0; $i--) {
- $node = $this->currentNesting[$i];
- $def = $this->htmlDefinition->info[$node->name];
- if (isset($def->excludes[$name])) {
- return false;
+ if (!empty($this->currentNesting)) {
+ for ($i = count($this->currentNesting) - 2; $i >= 0; $i--) {
+ $node = $this->currentNesting[$i];
+ $def = $this->htmlDefinition->info[$node->name];
+ if (isset($def->excludes[$name])) {
+ return false;
+ }
}
}
return true;
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php
index bbfbe6624..e70da55a9 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php
@@ -26,12 +26,14 @@ class HTMLPurifier_Length
protected $isValid;
/**
- * Array Lookup array of units recognized by CSS 2.1
+ * Array Lookup array of units recognized by CSS 3
* @type array
*/
protected static $allowedUnits = array(
'em' => true, 'ex' => true, 'px' => true, 'in' => true,
- 'cm' => true, 'mm' => true, 'pt' => true, 'pc' => true
+ 'cm' => true, 'mm' => true, 'pt' => true, 'pc' => true,
+ 'ch' => true, 'rem' => true, 'vw' => true, 'vh' => true,
+ 'vmin' => true, 'vmax' => true
);
/**
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php
index 22ab5820c..6238a99e3 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php
@@ -127,6 +127,41 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
}
/**
+ * Portably retrieve the tag name of a node; deals with older versions
+ * of libxml like 2.7.6
+ * @param DOMNode $node
+ */
+ protected function getTagName($node)
+ {
+ if (property_exists($node, 'tagName')) {
+ return $node->tagName;
+ } else if (property_exists($node, 'nodeName')) {
+ return $node->nodeName;
+ } else if (property_exists($node, 'localName')) {
+ return $node->localName;
+ }
+ return null;
+ }
+
+ /**
+ * Portably retrieve the data of a node; deals with older versions
+ * of libxml like 2.7.6
+ * @param DOMNode $node
+ */
+ protected function getData($node)
+ {
+ if (property_exists($node, 'data')) {
+ return $node->data;
+ } else if (property_exists($node, 'nodeValue')) {
+ return $node->nodeValue;
+ } else if (property_exists($node, 'textContent')) {
+ return $node->textContent;
+ }
+ return null;
+ }
+
+
+ /**
* @param DOMNode $node DOMNode to be tokenized.
* @param HTMLPurifier_Token[] $tokens Array-list of already tokenized tokens.
* @param bool $collect Says whether or start and close are collected, set to
@@ -141,7 +176,10 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
// but we're not getting the character reference nodes because
// those should have been preprocessed
if ($node->nodeType === XML_TEXT_NODE) {
- $tokens[] = $this->factory->createText($node->data);
+ $data = $this->getData($node); // Handle variable data property
+ if ($data !== null) {
+ $tokens[] = $this->factory->createText($data);
+ }
return false;
} elseif ($node->nodeType === XML_CDATA_SECTION_NODE) {
// undo libxml's special treatment of <script> and <style> tags
@@ -171,21 +209,20 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
// not-well tested: there may be other nodes we have to grab
return false;
}
-
$attr = $node->hasAttributes() ? $this->transformAttrToAssoc($node->attributes) : array();
-
+ $tag_name = $this->getTagName($node); // Handle variable tagName property
+ if (empty($tag_name)) {
+ return (bool) $node->childNodes->length;
+ }
// We still have to make sure that the element actually IS empty
if (!$node->childNodes->length) {
if ($collect) {
- $tokens[] = $this->factory->createEmpty($node->tagName, $attr);
+ $tokens[] = $this->factory->createEmpty($tag_name, $attr);
}
return false;
} else {
if ($collect) {
- $tokens[] = $this->factory->createStart(
- $tag_name = $node->tagName, // somehow, it get's dropped
- $attr
- );
+ $tokens[] = $this->factory->createStart($tag_name, $attr);
}
return true;
}
@@ -197,10 +234,10 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
*/
protected function createEndNode($node, &$tokens)
{
- $tokens[] = $this->factory->createEnd($node->tagName);
+ $tag_name = $this->getTagName($node); // Handle variable tagName property
+ $tokens[] = $this->factory->createEnd($tag_name);
}
-
/**
* Converts a DOMNamedNodeMap of DOMAttr objects into an assoc array.
*
diff --git a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php
index 0b452d17f..72476ddf3 100644
--- a/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php
+++ b/vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php
@@ -1507,7 +1507,7 @@ class HTML5
$entity = $this->character($start, $this->char);
$cond = strlen($e_name) > 0;
- // The rest of the parsing happens bellow.
+ // The rest of the parsing happens below.
break;
// Anything else
@@ -1535,7 +1535,7 @@ class HTML5
}
$cond = isset($entity);
- // The rest of the parsing happens bellow.
+ // The rest of the parsing happens below.
break;
}
diff --git a/vendor/ezyang/htmlpurifier/maintenance/PH5P.php b/vendor/ezyang/htmlpurifier/maintenance/PH5P.php
index 9d83dcbf5..a04273e01 100644
--- a/vendor/ezyang/htmlpurifier/maintenance/PH5P.php
+++ b/vendor/ezyang/htmlpurifier/maintenance/PH5P.php
@@ -1080,7 +1080,7 @@ class HTML5
$entity = $this->character($start, $this->char);
$cond = strlen($e_name) > 0;
- // The rest of the parsing happens bellow.
+ // The rest of the parsing happens below.
break;
// Anything else
@@ -1102,7 +1102,7 @@ class HTML5
}
$cond = isset($entity);
- // The rest of the parsing happens bellow.
+ // The rest of the parsing happens below.
break;
}
diff --git a/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh b/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh
index ecd1127fd..ecd1127fd 100755..100644
--- a/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh
+++ b/vendor/ezyang/htmlpurifier/maintenance/compile-doxygen.sh
diff --git a/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php b/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php
index 138badb65..138badb65 100755..100644
--- a/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php
+++ b/vendor/ezyang/htmlpurifier/maintenance/flush-definition-cache.php
diff --git a/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php b/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php
index ff1713e39..ff1713e39 100755..100644
--- a/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php
+++ b/vendor/ezyang/htmlpurifier/maintenance/generate-entity-file.php
diff --git a/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php b/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php
index 254d4d83b..254d4d83b 100755..100644
--- a/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php
+++ b/vendor/ezyang/htmlpurifier/maintenance/generate-standalone.php
diff --git a/vendor/ezyang/htmlpurifier/maintenance/merge-library.php b/vendor/ezyang/htmlpurifier/maintenance/merge-library.php
index de2eecdc0..de2eecdc0 100755..100644
--- a/vendor/ezyang/htmlpurifier/maintenance/merge-library.php
+++ b/vendor/ezyang/htmlpurifier/maintenance/merge-library.php
diff --git a/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh b/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh
index 6f4d720ff..6f4d720ff 100755..100644
--- a/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh
+++ b/vendor/ezyang/htmlpurifier/maintenance/regenerate-docs.sh
diff --git a/vendor/michelf/php-markdown/.gitignore b/vendor/michelf/php-markdown/.gitignore
new file mode 100644
index 000000000..5bd6475b7
--- /dev/null
+++ b/vendor/michelf/php-markdown/.gitignore
@@ -0,0 +1,3 @@
+*~
+/composer.lock
+/vendor/
diff --git a/vendor/michelf/php-markdown/License.md b/vendor/michelf/php-markdown/License.md
index c16197b69..b3df08f99 100644
--- a/vendor/michelf/php-markdown/License.md
+++ b/vendor/michelf/php-markdown/License.md
@@ -1,11 +1,11 @@
PHP Markdown Lib
-Copyright (c) 2004-2016 Michel Fortin
+Copyright (c) 2004-2018 Michel Fortin
<https://michelf.ca/>
All rights reserved.
Based on Markdown
-Copyright (c) 2003-2006 John Gruber
-<https://daringfireball.net/>
+Copyright (c) 2003-2006 John Gruber
+<https://daringfireball.net/>
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/vendor/michelf/php-markdown/Michelf/Markdown.php b/vendor/michelf/php-markdown/Michelf/Markdown.php
index c3eaf4464..e4c2c2361 100644
--- a/vendor/michelf/php-markdown/Michelf/Markdown.php
+++ b/vendor/michelf/php-markdown/Michelf/Markdown.php
@@ -4,7 +4,7 @@
*
* @package php-markdown
* @author Michel Fortin <michel.fortin@michelf.com>
- * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/>
+ * @copyright 2004-2018 Michel Fortin <https://michelf.com/projects/php-markdown/>
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
*/
@@ -18,7 +18,7 @@ class Markdown implements MarkdownInterface {
* Define the package version
* @var string
*/
- const MARKDOWNLIB_VERSION = "1.7.0";
+ const MARKDOWNLIB_VERSION = "1.8.0";
/**
* Simple function interface - Initialize the parser and return the result
@@ -61,14 +61,14 @@ class Markdown implements MarkdownInterface {
* @var int
*/
public $tab_width = 4;
-
+
/**
* Change to `true` to disallow markup or entities.
* @var boolean
*/
public $no_markup = false;
public $no_entities = false;
-
+
/**
* Change to `true` to enable line breaks on \n without two trailling spaces
@@ -94,7 +94,7 @@ class Markdown implements MarkdownInterface {
* @var callable
*/
public $header_id_func = null;
-
+
/**
* Optional function for converting code block content to HTML
* @var callable
@@ -111,7 +111,7 @@ class Markdown implements MarkdownInterface {
* Class attribute to toggle "enhanced ordered list" behaviour
* setting this to true will allow ordered lists to start from the index
* number that is defined first.
- *
+ *
* For example:
* 2. List item two
* 3. List item three
@@ -155,17 +155,17 @@ class Markdown implements MarkdownInterface {
public function __construct() {
$this->_initDetab();
$this->prepareItalicsAndBold();
-
- $this->nested_brackets_re =
+
+ $this->nested_brackets_re =
str_repeat('(?>[^\[\]]+|\[', $this->nested_brackets_depth).
str_repeat('\])*', $this->nested_brackets_depth);
-
- $this->nested_url_parenthesis_re =
+
+ $this->nested_url_parenthesis_re =
str_repeat('(?>[^()\s]+|\(', $this->nested_url_parenthesis_depth).
str_repeat('(?>\)))*', $this->nested_url_parenthesis_depth);
-
+
$this->escape_chars_re = '['.preg_quote($this->escape_chars).']';
-
+
// Sort document, block, and span gamut in ascendent priority order.
asort($this->document_gamut);
asort($this->block_gamut);
@@ -180,13 +180,19 @@ class Markdown implements MarkdownInterface {
protected $urls = array();
protected $titles = array();
protected $html_hashes = array();
-
+
/**
* Status flag to avoid invalid nesting.
* @var boolean
*/
protected $in_anchor = false;
-
+
+ /**
+ * Status flag to avoid invalid nesting.
+ * @var boolean
+ */
+ protected $in_emphasis_processing = false;
+
/**
* Called before the transformation process starts to setup parser states.
* @return void
@@ -197,8 +203,9 @@ class Markdown implements MarkdownInterface {
$this->titles = $this->predef_titles;
$this->html_hashes = array();
$this->in_anchor = false;
+ $this->in_emphasis_processing = false;
}
-
+
/**
* Called after the transformation process to clear any variable which may
* be taking up memory unnecessarly.
@@ -221,7 +228,7 @@ class Markdown implements MarkdownInterface {
*/
public function transform($text) {
$this->setup();
-
+
# Remove UTF-8 BOM and marker character in input, if present.
$text = preg_replace('{^\xEF\xBB\xBF|\x1A}', '', $text);
@@ -248,7 +255,7 @@ class Markdown implements MarkdownInterface {
foreach ($this->document_gamut as $method => $priority) {
$text = $this->$method($text);
}
-
+
$this->teardown();
return $text . "\n";
@@ -271,7 +278,7 @@ class Markdown implements MarkdownInterface {
* @return string
*/
protected function stripLinkDefinitions($text) {
-
+
$less_than_tab = $this->tab_width - 1;
// Link defs are in the form: ^[id]: url "optional title"
@@ -338,8 +345,8 @@ class Markdown implements MarkdownInterface {
* for is hard-coded:
*
* * List "a" is made of tags which can be both inline or block-level.
- * These will be treated block-level when the start tag is alone on
- * its line, otherwise they're not matched here and will be taken as
+ * These will be treated block-level when the start tag is alone on
+ * its line, otherwise they're not matched here and will be taken as
* inline later.
* * List "b" is made of tags which are always block-level;
*/
@@ -363,7 +370,7 @@ class Markdown implements MarkdownInterface {
|
\'[^\']*\' # text inside single quotes (tolerate ">")
)*
- )?
+ )?
';
$content =
str_repeat('
@@ -380,7 +387,7 @@ class Markdown implements MarkdownInterface {
str_repeat('
</\2\s*> # closing nested tag
)
- |
+ |
<(?!/\2\s*> # other tags with a different name
)
)*',
@@ -409,9 +416,9 @@ class Markdown implements MarkdownInterface {
)
( # save in $1
- # Match from `\n<tag>` to `</tag>\n`, handling nested tags
+ # Match from `\n<tag>` to `</tag>\n`, handling nested tags
# in between.
-
+
[ ]{0,'.$less_than_tab.'}
<('.$block_tags_b_re.')# start tag = $2
'.$attr.'> # attributes followed by > and \n
@@ -429,28 +436,28 @@ class Markdown implements MarkdownInterface {
</\3> # the matching end tag
[ ]* # trailing spaces/tabs
(?=\n+|\Z) # followed by a newline or end of document
-
- | # Special case just for <hr />. It was easier to make a special
+
+ | # Special case just for <hr />. It was easier to make a special
# case than to make the other regex more complicated.
-
+
[ ]{0,'.$less_than_tab.'}
<(hr) # start tag = $2
'.$attr.' # attributes
/?> # the matching end tag
[ ]*
(?=\n{2,}|\Z) # followed by a blank line or end of document
-
+
| # Special case for standalone HTML comments:
-
+
[ ]{0,'.$less_than_tab.'}
(?s:
<!-- .*? -->
)
[ ]*
(?=\n{2,}|\Z) # followed by a blank line or end of document
-
+
| # PHP and ASP-style processor instructions (<? and <%)
-
+
[ ]{0,'.$less_than_tab.'}
(?s:
<([?%]) # $2
@@ -459,7 +466,7 @@ class Markdown implements MarkdownInterface {
)
[ ]*
(?=\n{2,}|\Z) # followed by a blank line or end of document
-
+
)
)}Sxmi',
array($this, '_hashHTMLBlocks_callback'),
@@ -479,9 +486,9 @@ class Markdown implements MarkdownInterface {
$key = $this->hashBlock($text);
return "\n\n$key\n\n";
}
-
+
/**
- * Called whenever a tag must be hashed when a function insert an atomic
+ * Called whenever a tag must be hashed when a function insert an atomic
* element in the text stream. Passing $text to through this function gives
* a unique text-token which will be reverted back when calling unhash.
*
@@ -498,7 +505,7 @@ class Markdown implements MarkdownInterface {
// Swap back any tag hash found in $text so we do not have to `unhash`
// multiple times at the end.
$text = $this->unhash($text);
-
+
// Then hash the block.
static $i = 0;
$key = "$boundary\x1A" . ++$i . $boundary;
@@ -531,10 +538,10 @@ class Markdown implements MarkdownInterface {
/**
* Run block gamut tranformations.
*
- * We need to escape raw HTML in Markdown source before doing anything
- * else. This need to be done for each block, and not only at the
+ * We need to escape raw HTML in Markdown source before doing anything
+ * else. This need to be done for each block, and not only at the
* begining in the Markdown function since hashed blocks can be part of
- * list items and could have been indented. Indented blocks would have
+ * list items and could have been indented. Indented blocks would have
* been seen as a code block in a previous pass of hashHTMLBlocks.
*
* @param string $text
@@ -546,7 +553,7 @@ class Markdown implements MarkdownInterface {
}
/**
- * Run block gamut tranformations, without hashing HTML blocks. This is
+ * Run block gamut tranformations, without hashing HTML blocks. This is
* useful when HTML blocks are known to be already hashed, like in the first
* whole-document pass.
*
@@ -554,11 +561,11 @@ class Markdown implements MarkdownInterface {
* @return string
*/
protected function runBasicBlockGamut($text) {
-
+
foreach ($this->block_gamut as $method => $priority) {
$text = $this->$method($text);
}
-
+
// Finally form paragraph and restore hashed blocks.
$text = $this->formParagraphs($text);
@@ -582,7 +589,7 @@ class Markdown implements MarkdownInterface {
[ ]* # Tailing spaces
$ # End of line.
}mx',
- "\n".$this->hashBlock("<hr$this->empty_element_suffix")."\n",
+ "\n".$this->hashBlock("<hr$this->empty_element_suffix")."\n",
$text
);
}
@@ -629,10 +636,10 @@ class Markdown implements MarkdownInterface {
*/
protected function doHardBreaks($text) {
if ($this->hard_wrap) {
- return preg_replace_callback('/ *\n/',
+ return preg_replace_callback('/ *\n/',
array($this, '_doHardBreaks_callback'), $text);
} else {
- return preg_replace_callback('/ {2,}\n/',
+ return preg_replace_callback('/ {2,}\n/',
array($this, '_doHardBreaks_callback'), $text);
}
}
@@ -656,7 +663,7 @@ class Markdown implements MarkdownInterface {
return $text;
}
$this->in_anchor = true;
-
+
// First, handle reference-style links: [link text] [id]
$text = preg_replace_callback('{
( # wrap whole match in $1
@@ -729,7 +736,7 @@ class Markdown implements MarkdownInterface {
// for shortcut links like [this][] or [this].
$link_id = $link_text;
}
-
+
// lower-case and turn embedded newlines into spaces
$link_id = strtolower($link_id);
$link_id = preg_replace('{[ ]?\n}', ' ', $link_id);
@@ -737,14 +744,14 @@ class Markdown implements MarkdownInterface {
if (isset($this->urls[$link_id])) {
$url = $this->urls[$link_id];
$url = $this->encodeURLAttribute($url);
-
+
$result = "<a href=\"$url\"";
if ( isset( $this->titles[$link_id] ) ) {
$title = $this->titles[$link_id];
$title = $this->encodeAttribute($title);
$result .= " title=\"$title\"";
}
-
+
$link_text = $this->runSpanGamut($link_text);
$result .= ">$link_text</a>";
$result = $this->hashPart($result);
@@ -779,7 +786,7 @@ class Markdown implements MarkdownInterface {
$title = $this->encodeAttribute($title);
$result .= " title=\"$title\"";
}
-
+
$link_text = $this->runSpanGamut($link_text);
$result .= ">$link_text</a>";
@@ -807,7 +814,7 @@ class Markdown implements MarkdownInterface {
\]
)
- }xs',
+ }xs',
array($this, '_doImages_reference_callback'), $text);
// Next, handle inline images: ![alt text](url "optional title")
@@ -906,7 +913,7 @@ class Markdown implements MarkdownInterface {
* Setext-style headers:
* Header 1
* ========
- *
+ *
* Header 2
* --------
*/
@@ -944,7 +951,7 @@ class Markdown implements MarkdownInterface {
if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1])) {
return $matches[0];
}
-
+
$level = $matches[2]{0} == '=' ? 1 : 2;
// ID attribute generation
@@ -977,7 +984,7 @@ class Markdown implements MarkdownInterface {
* @param string $headerValue
* @return string
*/
- protected function _generateIdFromHeaderValue($headerValue) {
+ protected function _generateIdFromHeaderValue($headerValue) {
if (!is_callable($this->header_id_func)) {
return "";
}
@@ -1035,10 +1042,10 @@ class Markdown implements MarkdownInterface {
)
)
'; // mx
-
+
// We use a different prefix before nested lists than top-level lists.
//See extended comment in _ProcessListItems().
-
+
if ($this->list_level) {
$text = preg_replace_callback('{
^
@@ -1132,7 +1139,7 @@ class Markdown implements MarkdownInterface {
* without resorting to mind-reading. Perhaps the solution is to
* change the syntax rules such that sub-lists must start with a
* starting cardinal number; e.g. "1." or "a.".
- */
+ */
$this->list_level++;
// Trim trailing blank lines:
@@ -1166,7 +1173,7 @@ class Markdown implements MarkdownInterface {
$marker_space = $matches[3];
$tailing_blank_line =& $matches[5];
- if ($leading_line || $tailing_blank_line ||
+ if ($leading_line || $tailing_blank_line ||
preg_match('/\n{2,}/', $item))
{
// Replace marker with the appropriate whitespace indentation
@@ -1273,7 +1280,7 @@ class Markdown implements MarkdownInterface {
* @var array
*/
protected $em_strong_prepared_relist;
-
+
/**
* Prepare regular expressions for searching emphasis tokens in any
* context.
@@ -1289,7 +1296,7 @@ class Markdown implements MarkdownInterface {
}
$token_relist[] = $em_re;
$token_relist[] = $strong_re;
-
+
// Construct master expression from list.
$token_re = '{(' . implode('|', $token_relist) . ')}';
$this->em_strong_prepared_relist["$em$strong"] = $token_re;
@@ -1303,24 +1310,29 @@ class Markdown implements MarkdownInterface {
* @return string
*/
protected function doItalicsAndBold($text) {
+ if ($this->in_emphasis_processing) {
+ return $text; // avoid reentrency
+ }
+ $this->in_emphasis_processing = true;
+
$token_stack = array('');
$text_stack = array('');
$em = '';
$strong = '';
$tree_char_em = false;
-
+
while (1) {
// Get prepared regular expression for seraching emphasis tokens
// in current context.
$token_re = $this->em_strong_prepared_relist["$em$strong"];
-
- // Each loop iteration search for the next emphasis token.
+
+ // Each loop iteration search for the next emphasis token.
// Each token is then passed to handleSpanToken.
$parts = preg_split($token_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE);
$text_stack[0] .= $parts[0];
$token =& $parts[1];
$text =& $parts[2];
-
+
if (empty($token)) {
// Reached end of text span: empty stack without emitting.
// any more emphasis.
@@ -1330,7 +1342,7 @@ class Markdown implements MarkdownInterface {
}
break;
}
-
+
$token_len = strlen($token);
if ($tree_char_em) {
// Reached closing marker while inside a three-char emphasis.
@@ -1369,7 +1381,7 @@ class Markdown implements MarkdownInterface {
$$tag = ''; // $$tag stands for $em or $strong
}
} else {
- // Reached opening three-char emphasis marker. Push on token
+ // Reached opening three-char emphasis marker. Push on token
// stack; will be handled by the special condition above.
$em = $token{0};
$strong = "$em$em";
@@ -1383,6 +1395,7 @@ class Markdown implements MarkdownInterface {
if (strlen($token_stack[0]) == 1) {
$text_stack[1] .= array_shift($token_stack);
$text_stack[0] .= array_shift($text_stack);
+ $em = '';
}
// Closing strong marker:
array_shift($token_stack);
@@ -1417,6 +1430,7 @@ class Markdown implements MarkdownInterface {
}
}
}
+ $this->in_emphasis_processing = false;
return $text_stack[0];
}
@@ -1453,9 +1467,9 @@ class Markdown implements MarkdownInterface {
$bq = $this->runBlockGamut($bq); // recurse
$bq = preg_replace('/^/m', " ", $bq);
- // These leading spaces cause problem with <pre> content,
+ // These leading spaces cause problem with <pre> content,
// so we need to fix that:
- $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx',
+ $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx',
array($this, '_doBlockQuotes_callback2'), $bq);
return "\n" . $this->hashBlock("<blockquote>\n$bq\n</blockquote>") . "\n\n";
@@ -1525,7 +1539,7 @@ class Markdown implements MarkdownInterface {
// // We can't call Markdown(), because that resets the hash;
// // that initialization code should be pulled into its own sub, though.
// $div_content = $this->hashHTMLBlocks($div_content);
-//
+//
// // Run document gamut methods on the content.
// foreach ($this->document_gamut as $method => $priority) {
// $div_content = $this->$method($div_content);
@@ -1582,9 +1596,9 @@ class Markdown implements MarkdownInterface {
return $url;
}
-
+
/**
- * Smart processing for ampersands and angle brackets that need to
+ * Smart processing for ampersands and angle brackets that need to
* be encoded. Valid character entities are left alone unless the
* no-entities mode is set.
* @param string $text
@@ -1596,7 +1610,7 @@ class Markdown implements MarkdownInterface {
} else {
// Ampersand-encoding based entirely on Nat Irons's Amputator
// MT plugin: <http://bumppo.net/projects/amputator/>
- $text = preg_replace('/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/',
+ $text = preg_replace('/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/',
'&amp;', $text);
}
// Encode remaining <'s
@@ -1724,7 +1738,7 @@ class Markdown implements MarkdownInterface {
*/
protected function parseSpan($str) {
$output = '';
-
+
$span_re = '{
(
\\\\'.$this->escape_chars_re.'
@@ -1752,16 +1766,16 @@ class Markdown implements MarkdownInterface {
}xs';
while (1) {
- // Each loop iteration seach for either the next tag, the next
- // openning code span marker, or the next escaped character.
+ // Each loop iteration seach for either the next tag, the next
+ // openning code span marker, or the next escaped character.
// Each token is then passed to handleSpanToken.
$parts = preg_split($span_re, $str, 2, PREG_SPLIT_DELIM_CAPTURE);
-
+
// Create token from text preceding tag.
if ($parts[0] != "") {
$output .= $parts[0];
}
-
+
// Check if we reach the end.
if (isset($parts[1])) {
$output .= $this->handleSpanToken($parts[1], $parts[2]);
@@ -1770,7 +1784,7 @@ class Markdown implements MarkdownInterface {
break;
}
}
-
+
return $output;
}
@@ -1787,7 +1801,7 @@ class Markdown implements MarkdownInterface {
return $this->hashPart("&#". ord($token{1}). ";");
case "`":
// Search for end marker in remaining text.
- if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm',
+ if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm',
$str, $matches))
{
$str = $matches[2];
@@ -1823,11 +1837,11 @@ class Markdown implements MarkdownInterface {
* For each line we separate the line in blocks delemited by tab characters.
* Then we reconstruct every line by adding the appropriate number of space
* between each blocks.
- *
+ *
* @param string $text
* @return string
*/
- protected function detab($text) {
+ protected function detab($text) {
$text = preg_replace_callback('/^.*\t.*$/m',
array($this, '_detab_callback'), $text);
@@ -1842,7 +1856,7 @@ class Markdown implements MarkdownInterface {
protected function _detab_callback($matches) {
$line = $matches[0];
$strlen = $this->utf8_strlen; // strlen function for UTF-8.
-
+
// Split in blocks.
$blocks = explode("\t", $line);
// Add each blocks to the line.
@@ -1850,7 +1864,7 @@ class Markdown implements MarkdownInterface {
unset($blocks[0]); // Do not add first block twice.
foreach ($blocks as $block) {
// Calculate amount of space, insert spaces, insert block.
- $amount = $this->tab_width -
+ $amount = $this->tab_width -
$strlen($line, 'UTF-8') % $this->tab_width;
$line .= str_repeat(" ", $amount) . $block;
}
@@ -1859,20 +1873,20 @@ class Markdown implements MarkdownInterface {
/**
* Check for the availability of the function in the `utf8_strlen` property
- * (initially `mb_strlen`). If the function is not available, create a
+ * (initially `mb_strlen`). If the function is not available, create a
* function that will loosely count the number of UTF-8 characters with a
* regular expression.
* @return void
*/
protected function _initDetab() {
-
+
if (function_exists($this->utf8_strlen)) {
return;
}
- $this->utf8_strlen = create_function('$text', 'return preg_match_all(
- "/[\\\\x00-\\\\xBF]|[\\\\xC0-\\\\xFF][\\\\x80-\\\\xBF]*/",
- $text, $m);');
+ $this->utf8_strlen = function($text) {
+ return preg_match_all('/[\x00-\xBF]|[\xC0-\xFF][\x80-\xBF]*/', $text, $m);
+ };
}
/**
@@ -1881,7 +1895,7 @@ class Markdown implements MarkdownInterface {
* @return string
*/
protected function unhash($text) {
- return preg_replace_callback('/(.)\x1A[0-9]+\1/',
+ return preg_replace_callback('/(.)\x1A[0-9]+\1/',
array($this, '_unhash_callback'), $text);
}
diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php
index ac6b1b4f2..a8f7f2c5d 100644
--- a/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php
+++ b/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php
@@ -4,7 +4,7 @@
*
* @package php-markdown
* @author Michel Fortin <michel.fortin@michelf.com>
- * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/>
+ * @copyright 2004-2018 Michel Fortin <https://michelf.com/projects/php-markdown/>
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
*/
@@ -23,14 +23,14 @@ class MarkdownExtra extends \Michelf\Markdown {
* @var string
*/
public $fn_id_prefix = "";
-
+
/**
* Optional title attribute for footnote links and backlinks.
* @var string
*/
public $fn_link_title = "";
public $fn_backlink_title = "";
-
+
/**
* Optional class attribute for footnote links and backlinks.
* @var string
@@ -74,19 +74,25 @@ class MarkdownExtra extends \Michelf\Markdown {
public $predef_abbr = array();
/**
+ * Only convert atx-style headers if there's a space between the header and #
+ * @var boolean
+ */
+ public $hashtag_protection = false;
+
+ /**
* Parser implementation
*/
-
+
/**
* Constructor function. Initialize the parser object.
* @return void
*/
public function __construct() {
- // Add extra escapable characters before parent constructor
+ // Add extra escapable characters before parent constructor
// initialize the table.
$this->escape_chars .= ':|';
-
- // Insert extra document, block, and span transformations.
+
+ // Insert extra document, block, and span transformations.
// Parent constructor will do the sorting.
$this->document_gamut += array(
"doFencedCodeBlocks" => 5,
@@ -103,12 +109,12 @@ class MarkdownExtra extends \Michelf\Markdown {
"doFootnotes" => 5,
"doAbbreviations" => 70,
);
-
+
$this->enhanced_ordered_list = true;
parent::__construct();
}
-
-
+
+
/**
* Extra variables used during extra transformations.
* @var array
@@ -118,21 +124,21 @@ class MarkdownExtra extends \Michelf\Markdown {
protected $footnotes_ref_count = array();
protected $footnotes_numbers = array();
protected $abbr_desciptions = array();
- /** @var @string */
+ /** @var string */
protected $abbr_word_re = '';
-
+
/**
* Give the current footnote number.
* @var integer
*/
protected $footnote_counter = 1;
-
+
/**
* Setting up Extra-specific variables.
*/
protected function setup() {
parent::setup();
-
+
$this->footnotes = array();
$this->footnotes_ordered = array();
$this->footnotes_ref_count = array();
@@ -140,7 +146,7 @@ class MarkdownExtra extends \Michelf\Markdown {
$this->abbr_desciptions = array();
$this->abbr_word_re = '';
$this->footnote_counter = 1;
-
+
foreach ($this->predef_abbr as $abbr_word => $abbr_desc) {
if ($this->abbr_word_re)
$this->abbr_word_re .= '|';
@@ -159,11 +165,11 @@ class MarkdownExtra extends \Michelf\Markdown {
$this->footnotes_numbers = array();
$this->abbr_desciptions = array();
$this->abbr_word_re = '';
-
+
parent::teardown();
}
-
-
+
+
/**
* Extra attribute parser
*/
@@ -197,7 +203,7 @@ class MarkdownExtra extends \Michelf\Markdown {
*/
protected function doExtraAttributes($tag_name, $attr, $defaultIdValue = null, $classes = array()) {
if (empty($attr) && !$defaultIdValue && empty($classes)) return "";
-
+
// Split on components
preg_match_all('/[#.a-z][-_:a-zA-Z0-9=]+/', $attr, $matches);
$elements = $matches[0];
@@ -288,38 +294,38 @@ class MarkdownExtra extends \Michelf\Markdown {
/**
* HTML block parser
*/
-
+
/**
* Tags that are always treated as block tags
* @var string
*/
protected $block_tags_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend|article|section|nav|aside|hgroup|header|footer|figcaption|figure';
-
+
/**
* Tags treated as block tags only if the opening tag is alone on its line
* @var string
*/
protected $context_block_tags_re = 'script|noscript|style|ins|del|iframe|object|source|track|param|math|svg|canvas|audio|video';
-
+
/**
* Tags where markdown="1" default to span mode:
* @var string
*/
protected $contain_span_tags_re = 'p|h[1-6]|li|dd|dt|td|th|legend|address';
-
+
/**
* Tags which must not have their contents modified, no matter where
* they appear
* @var string
*/
protected $clean_tags_re = 'script|style|math|svg';
-
+
/**
* Tags that do not need to be closed.
* @var string
*/
protected $auto_close_tags_re = 'hr|img|param|source|track';
-
+
/**
* Hashify HTML Blocks and "clean tags".
*
@@ -330,7 +336,7 @@ class MarkdownExtra extends \Michelf\Markdown {
* hard-coded.
*
* This works by calling _HashHTMLBlocks_InMarkdown, which then calls
- * _HashHTMLBlocks_InHTML when it encounter block tags. When the markdown="1"
+ * _HashHTMLBlocks_InHTML when it encounter block tags. When the markdown="1"
* attribute is found within a tag, _HashHTMLBlocks_InHTML calls back
* _HashHTMLBlocks_InMarkdown to handle the Markdown syntax within the tag.
* These two functions are calling each other. It's recursive!
@@ -344,15 +350,15 @@ class MarkdownExtra extends \Michelf\Markdown {
// Call the HTML-in-Markdown hasher.
list($text, ) = $this->_hashHTMLBlocks_inMarkdown($text);
-
+
return $text;
}
/**
* Parse markdown text, calling _HashHTMLBlocks_InHTML for block tags.
*
- * * $indent is the number of space to be ignored when checking for code
- * blocks. This is important because if we don't take the indent into
+ * * $indent is the number of space to be ignored when checking for code
+ * blocks. This is important because if we don't take the indent into
* account, something like this (which looks right) won't work as expected:
*
* <div>
@@ -364,11 +370,11 @@ class MarkdownExtra extends \Michelf\Markdown {
* If you don't like this, just don't indent the tag on which
* you apply the markdown="1" attribute.
*
- * * If $enclosing_tag_re is not empty, stops at the first unmatched closing
+ * * If $enclosing_tag_re is not empty, stops at the first unmatched closing
* tag with that name. Nested tags supported.
*
- * * If $span is true, text inside must treated as span. So any double
- * newline will be replaced by a single newline so that it does not create
+ * * If $span is true, text inside must treated as span. So any double
+ * newline will be replaced by a single newline so that it does not create
* paragraphs.
*
* Returns an array of that form: ( processed text , remaining text )
@@ -382,18 +388,18 @@ class MarkdownExtra extends \Michelf\Markdown {
protected function _hashHTMLBlocks_inMarkdown($text, $indent = 0,
$enclosing_tag_re = '', $span = false)
{
-
+
if ($text === '') return array('', '');
// Regex to check for the presense of newlines around a block tag.
$newline_before_re = '/(?:^\n?|\n\n)*$/';
- $newline_after_re =
+ $newline_after_re =
'{
^ # Start of text following the tag.
(?>[ ]*<!--.*?-->)? # Optional comment.
[ ]*\n # Must be followed by newline.
}xs';
-
+
// Regex to match any tag.
$block_tag_re =
'{
@@ -448,7 +454,7 @@ class MarkdownExtra extends \Michelf\Markdown {
)
}xs';
-
+
$depth = 0; // Current depth inside the tag tree.
$parsed = ""; // Parsed text that will be returned.
@@ -457,31 +463,31 @@ class MarkdownExtra extends \Michelf\Markdown {
do {
// Split the text using the first $tag_match pattern found.
// Text before pattern will be first in the array, text after
- // pattern will be at the end, and between will be any catches made
+ // pattern will be at the end, and between will be any catches made
// by the pattern.
- $parts = preg_split($block_tag_re, $text, 2,
+ $parts = preg_split($block_tag_re, $text, 2,
PREG_SPLIT_DELIM_CAPTURE);
-
- // If in Markdown span mode, add a empty-string span-level hash
+
+ // If in Markdown span mode, add a empty-string span-level hash
// after each newline to prevent triggering any block element.
if ($span) {
$void = $this->hashPart("", ':');
$newline = "\n$void";
$parts[0] = $void . str_replace("\n", $newline, $parts[0]) . $void;
}
-
+
$parsed .= $parts[0]; // Text before current tag.
-
+
// If end of $text has been reached. Stop loop.
if (count($parts) < 3) {
$text = "";
break;
}
-
+
$tag = $parts[1]; // Tag to handle.
$text = $parts[2]; // Remaining text after current tag.
$tag_re = preg_quote($tag); // For use in a regular expression.
-
+
// Check for: Fenced code block marker.
// Note: need to recheck the whole tag to disambiguate backtick
// fences from code spans
@@ -490,7 +496,7 @@ class MarkdownExtra extends \Michelf\Markdown {
$fence_indent = strlen($capture[1]); // use captured indent in re
$fence_re = $capture[2]; // use captured fence in re
if (preg_match('{^(?>.*\n)*?[ ]{' . ($fence_indent) . '}' . $fence_re . '[ ]*(?:\n|$)}', $text,
- $matches))
+ $matches))
{
// End marker found: pass text unchanged until marker.
$parsed .= $tag . $matches[0];
@@ -503,7 +509,7 @@ class MarkdownExtra extends \Michelf\Markdown {
}
// Check for: Indented code block.
else if ($tag{0} == "\n" || $tag{0} == " ") {
- // Indented code block: pass it unchanged, will be handled
+ // Indented code block: pass it unchanged, will be handled
// later.
$parsed .= $tag;
}
@@ -525,7 +531,7 @@ class MarkdownExtra extends \Michelf\Markdown {
}
}
// Check for: Opening Block level tag or
- // Opening Context Block tag (like ins and del)
+ // Opening Context Block tag (like ins and del)
// used as a block tag (tag is alone on it's line).
else if (preg_match('{^<(?:' . $this->block_tags_re . ')\b}', $tag) ||
( preg_match('{^<(?:' . $this->context_block_tags_re . ')\b}', $tag) &&
@@ -534,9 +540,9 @@ class MarkdownExtra extends \Michelf\Markdown {
)
{
// Need to parse tag and following text using the HTML parser.
- list($block_text, $text) =
+ list($block_text, $text) =
$this->_hashHTMLBlocks_inHTML($tag . $text, "hashBlock", true);
-
+
// Make sure it stays outside of any paragraph by adding newlines.
$parsed .= "\n\n$block_text\n\n";
}
@@ -547,9 +553,9 @@ class MarkdownExtra extends \Michelf\Markdown {
{
// Need to parse tag and following text using the HTML parser.
// (don't check for markdown attribute)
- list($block_text, $text) =
+ list($block_text, $text) =
$this->_hashHTMLBlocks_inHTML($tag . $text, "hashClean", false);
-
+
$parsed .= $block_text;
}
// Check for: Tag with same name as enclosing tag.
@@ -567,14 +573,14 @@ class MarkdownExtra extends \Michelf\Markdown {
$text = $tag . $text;
break;
}
-
+
$parsed .= $tag;
}
else {
$parsed .= $tag;
}
} while ($depth >= 0);
-
+
return array($parsed, $text);
}
@@ -594,7 +600,7 @@ class MarkdownExtra extends \Michelf\Markdown {
*/
protected function _hashHTMLBlocks_inHTML($text, $hash_method, $md_attr) {
if ($text === '') return array('', '');
-
+
// Regex to match `markdown` attribute inside of a tag.
$markdown_attr_re = '
{
@@ -602,15 +608,15 @@ class MarkdownExtra extends \Michelf\Markdown {
markdown
\s*=\s*
(?>
- (["\']) # $1: quote delimiter
+ (["\']) # $1: quote delimiter
(.*?) # $2: attribute value
- \1 # matching delimiter
+ \1 # matching delimiter
|
([^\s>]*) # $3: unquoted attribute value
)
() # $4: make $3 always defined (avoid warnings)
}xs';
-
+
// Regex to match any tag.
$tag_re = '{
( # $2: Capture whole tag.
@@ -633,9 +639,9 @@ class MarkdownExtra extends \Michelf\Markdown {
<!\[CDATA\[.*?\]\]> # CData Block
)
}xs';
-
+
$original_text = $text; // Save original text in case of faliure.
-
+
$depth = 0; // Current depth inside the tag tree.
$block_text = ""; // Temporary text holder for current text.
$parsed = ""; // Parsed text that will be returned.
@@ -649,22 +655,22 @@ class MarkdownExtra extends \Michelf\Markdown {
do {
// Split the text using the first $tag_match pattern found.
// Text before pattern will be first in the array, text after
- // pattern will be at the end, and between will be any catches made
+ // pattern will be at the end, and between will be any catches made
// by the pattern.
$parts = preg_split($tag_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE);
-
+
if (count($parts) < 3) {
// End of $text reached with unbalenced tag(s).
// In that case, we return original text unchanged and pass the
- // first character as filtered to prevent an infinite loop in the
+ // first character as filtered to prevent an infinite loop in the
// parent function.
return array($original_text{0}, substr($original_text, 1));
}
-
+
$block_text .= $parts[0]; // Text before current tag.
$tag = $parts[1]; // Tag to handle.
$text = $parts[2]; // Remaining text after current tag.
-
+
// Check for: Auto-close tag (like <hr/>)
// Comments and Processing Instructions.
if (preg_match('{^</?(?:' . $this->auto_close_tags_re . ')\b}', $tag) ||
@@ -680,20 +686,20 @@ class MarkdownExtra extends \Michelf\Markdown {
if ($tag{1} == '/') $depth--;
else if ($tag{strlen($tag)-2} != '/') $depth++;
}
-
+
// Check for `markdown="1"` attribute and handle it.
- if ($md_attr &&
+ if ($md_attr &&
preg_match($markdown_attr_re, $tag, $attr_m) &&
preg_match('/^1|block|span$/', $attr_m[2] . $attr_m[3]))
{
// Remove `markdown` attribute from opening tag.
$tag = preg_replace($markdown_attr_re, '', $tag);
-
+
// Check if text inside this tag must be parsed in span mode.
$this->mode = $attr_m[2] . $attr_m[3];
$span_mode = $this->mode == 'span' || $this->mode != 'block' &&
preg_match('{^<(?:' . $this->contain_span_tags_re . ')\b}', $tag);
-
+
// Calculate indent before tag.
if (preg_match('/(?:^|\n)( *?)(?! ).*?$/', $block_text, $matches)) {
$strlen = $this->utf8_strlen;
@@ -701,48 +707,48 @@ class MarkdownExtra extends \Michelf\Markdown {
} else {
$indent = 0;
}
-
+
// End preceding block with this tag.
$block_text .= $tag;
$parsed .= $this->$hash_method($block_text);
-
+
// Get enclosing tag name for the ParseMarkdown function.
// (This pattern makes $tag_name_re safe without quoting.)
preg_match('/^<([\w:$]*)\b/', $tag, $matches);
$tag_name_re = $matches[1];
-
+
// Parse the content using the HTML-in-Markdown parser.
list ($block_text, $text)
- = $this->_hashHTMLBlocks_inMarkdown($text, $indent,
+ = $this->_hashHTMLBlocks_inMarkdown($text, $indent,
$tag_name_re, $span_mode);
-
+
// Outdent markdown text.
if ($indent > 0) {
- $block_text = preg_replace("/^[ ]{1,$indent}/m", "",
+ $block_text = preg_replace("/^[ ]{1,$indent}/m", "",
$block_text);
}
-
+
// Append tag content to parsed text.
if (!$span_mode) $parsed .= "\n\n$block_text\n\n";
else $parsed .= "$block_text";
-
+
// Start over with a new block.
$block_text = "";
}
else $block_text .= $tag;
}
-
+
} while ($depth > 0);
-
+
// Hash last block text that wasn't processed inside the loop.
$parsed .= $this->$hash_method($block_text);
-
+
return array($parsed, $text);
}
/**
* Called whenever a tag must be hashed when a function inserts a "clean" tag
- * in $text, it passes through this function and is automaticaly escaped,
+ * in $text, it passes through this function and is automaticaly escaped,
* blocking invalid nested overlap.
* @param string $text
* @return string
@@ -835,7 +841,7 @@ class MarkdownExtra extends \Michelf\Markdown {
// for shortcut links like [this][] or [this].
$link_id = $link_text;
}
-
+
// lower-case and turn embedded newlines into spaces
$link_id = strtolower($link_id);
$link_id = preg_replace('{[ ]?\n}', ' ', $link_id);
@@ -843,7 +849,7 @@ class MarkdownExtra extends \Michelf\Markdown {
if (isset($this->urls[$link_id])) {
$url = $this->urls[$link_id];
$url = $this->encodeURLAttribute($url);
-
+
$result = "<a href=\"$url\"";
if ( isset( $this->titles[$link_id] ) ) {
$title = $this->titles[$link_id];
@@ -852,7 +858,7 @@ class MarkdownExtra extends \Michelf\Markdown {
}
if (isset($this->ref_attr[$link_id]))
$result .= $this->ref_attr[$link_id];
-
+
$link_text = $this->runSpanGamut($link_text);
$result .= ">$link_text</a>";
$result = $this->hashPart($result);
@@ -889,7 +895,7 @@ class MarkdownExtra extends \Michelf\Markdown {
$result .= " title=\"$title\"";
}
$result .= $attr;
-
+
$link_text = $this->runSpanGamut($link_text);
$result .= ">$link_text</a>";
@@ -917,7 +923,7 @@ class MarkdownExtra extends \Michelf\Markdown {
\]
)
- }xs',
+ }xs',
array($this, '_doImages_reference_callback'), $text);
// Next, handle inline images: ![alt text](url "optional title")
@@ -1021,7 +1027,7 @@ class MarkdownExtra extends \Michelf\Markdown {
// Setext-style headers:
// Header 1 {#header1}
// ========
- //
+ //
// Header 2 {#header2 .class1 .class2}
// --------
//
@@ -1042,7 +1048,7 @@ class MarkdownExtra extends \Michelf\Markdown {
//
$text = preg_replace_callback('{
^(\#{1,6}) # $1 = string of #\'s
- [ ]*
+ [ ]'.($this->hashtag_protection ? '+' : '*').'
(.+?) # $2 = Header text
[ ]*
\#* # optional closing #\'s (not counted)
@@ -1107,10 +1113,10 @@ class MarkdownExtra extends \Michelf\Markdown {
[ ]{0,' . $less_than_tab . '} # Allowed whitespace.
[|] # Optional leading pipe (present)
(.+) \n # $1: Header row (at least one pipe)
-
+
[ ]{0,' . $less_than_tab . '} # Allowed whitespace.
[|] ([ ]*[-:]+[-| :]*) \n # $2: Header underline
-
+
( # $3: Cells
(?>
[ ]* # Allowed whitespace.
@@ -1132,10 +1138,10 @@ class MarkdownExtra extends \Michelf\Markdown {
^ # Start of a line
[ ]{0,' . $less_than_tab . '} # Allowed whitespace.
(\S.*[|].*) \n # $1: Header row (at least one pipe)
-
+
[ ]{0,' . $less_than_tab . '} # Allowed whitespace.
([-:]+[ ]*[|][-| :]*) \n # $2: Header underline
-
+
( # $3: Cells
(?>
.* [|] .* \n # Row content
@@ -1159,7 +1165,7 @@ class MarkdownExtra extends \Michelf\Markdown {
$content = $matches[3];
$content = preg_replace('/^ *[|]/m', '', $content);
-
+
return $this->_doTable_callback(array($matches[0], $head, $underline, $content));
}
@@ -1192,7 +1198,7 @@ class MarkdownExtra extends \Michelf\Markdown {
$head = preg_replace('/[|] *$/m', '', $head);
$underline = preg_replace('/[|] *$/m', '', $underline);
$content = preg_replace('/[|] *$/m', '', $content);
-
+
// Reading alignement from header underline.
$separators = preg_split('/ *[|] */', $underline);
foreach ($separators as $n => $s) {
@@ -1205,14 +1211,14 @@ class MarkdownExtra extends \Michelf\Markdown {
else
$attr[$n] = '';
}
-
- // Parsing span elements, including code spans, character escapes,
+
+ // Parsing span elements, including code spans, character escapes,
// and inline HTML tags, so that pipes inside those gets ignored.
$head = $this->parseSpan($head);
$headers = preg_split('/ *[|] */', $head);
$col_count = count($headers);
$attr = array_pad($attr, $col_count, '');
-
+
// Write column headers.
$text = "<table>\n";
$text .= "<thead>\n";
@@ -1221,20 +1227,20 @@ class MarkdownExtra extends \Michelf\Markdown {
$text .= " <th$attr[$n]>" . $this->runSpanGamut(trim($header)) . "</th>\n";
$text .= "</tr>\n";
$text .= "</thead>\n";
-
+
// Split content by row.
$rows = explode("\n", trim($content, "\n"));
-
+
$text .= "<tbody>\n";
foreach ($rows as $row) {
- // Parsing span elements, including code spans, character escapes,
+ // Parsing span elements, including code spans, character escapes,
// and inline HTML tags, so that pipes inside those gets ignored.
$row = $this->parseSpan($row);
-
+
// Split row by cell.
$row_cells = preg_split('/ *[|] */', $row, $col_count);
$row_cells = array_pad($row_cells, $col_count, '');
-
+
$text .= "<tr>\n";
foreach ($row_cells as $n => $cell)
$text .= " <td$attr[$n]>" . $this->runSpanGamut(trim($cell)) . "</td>\n";
@@ -1242,7 +1248,7 @@ class MarkdownExtra extends \Michelf\Markdown {
}
$text .= "</tbody>\n";
$text .= "</table>";
-
+
return $this->hashBlock($text) . "\n";
}
@@ -1299,7 +1305,7 @@ class MarkdownExtra extends \Michelf\Markdown {
protected function _doDefLists_callback($matches) {
// Re-usable patterns to match list item bullets and number markers:
$list = $matches[1];
-
+
// Turn double returns into triple returns, so that we can make a
// paragraph for the last item in a list, if necessary:
$result = trim($this->processDefListItems($list));
@@ -1314,9 +1320,9 @@ class MarkdownExtra extends \Michelf\Markdown {
* @return string
*/
protected function processDefListItems($list_str) {
-
+
$less_than_tab = $this->tab_width - 1;
-
+
// Trim trailing blank lines:
$list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str);
@@ -1327,9 +1333,9 @@ class MarkdownExtra extends \Michelf\Markdown {
[ ]{0,' . $less_than_tab . '} # leading whitespace
(?!\:[ ]|[ ]) # negative lookahead for a definition
# mark (colon) or more whitespace.
- (?> \S.* \n)+? # actual term (not whitespace).
- )
- (?=\n?[ ]{0,3}:[ ]) # lookahead for following line feed
+ (?> \S.* \n)+? # actual term (not whitespace).
+ )
+ (?=\n?[ ]{0,3}:[ ]) # lookahead for following line feed
# with a definition mark.
}xm',
array($this, '_processDefListItems_callback_dt'), $list_str);
@@ -1346,8 +1352,8 @@ class MarkdownExtra extends \Michelf\Markdown {
(?: # next term or end of text
[ ]{0,' . $less_than_tab . '} \:[ ] |
<dt> | \z
- )
- )
+ )
+ )
}xm',
array($this, '_processDefListItems_callback_dd'), $list_str);
@@ -1399,14 +1405,14 @@ class MarkdownExtra extends \Michelf\Markdown {
* ~~~
* Code block
* ~~~
- *
+ *
* @param string $text
* @return string
*/
protected function doFencedCodeBlocks($text) {
-
+
$less_than_tab = $this->tab_width;
-
+
$text = preg_replace_callback('{
(?:\n|\A)
# 1: Opening marker
@@ -1422,7 +1428,7 @@ class MarkdownExtra extends \Michelf\Markdown {
' . $this->id_class_attr_catch_re . ' # 3: Extra attributes
)?
[ ]* \n # Whitespace and newline following marker.
-
+
# 4: Content
(
(?>
@@ -1430,7 +1436,7 @@ class MarkdownExtra extends \Michelf\Markdown {
.*\n+
)+
)
-
+
# Closing marker.
\1 [ ]* (?= \n )
}xm',
@@ -1468,7 +1474,7 @@ class MarkdownExtra extends \Michelf\Markdown {
$pre_attr_str = $this->code_attr_on_pre ? $attr_str : '';
$code_attr_str = $this->code_attr_on_pre ? '' : $attr_str;
$codeblock = "<pre$pre_attr_str><code$code_attr_str>$codeblock</code></pre>";
-
+
return "\n\n".$this->hashBlock($codeblock)."\n\n";
}
@@ -1478,7 +1484,7 @@ class MarkdownExtra extends \Michelf\Markdown {
* @return string
*/
protected function _doFencedCodeBlocks_newlines($matches) {
- return str_repeat("<br$this->empty_element_suffix",
+ return str_repeat("<br$this->empty_element_suffix",
strlen($matches[0]));
}
@@ -1518,27 +1524,27 @@ class MarkdownExtra extends \Michelf\Markdown {
// Wrap <p> tags and unhashify HTML blocks
foreach ($grafs as $key => $value) {
$value = trim($this->runSpanGamut($value));
-
+
// Check if this should be enclosed in a paragraph.
// Clean tag hashes & block tag hashes are left alone.
$is_p = $wrap_in_p && !preg_match('/^B\x1A[0-9]+B|^C\x1A[0-9]+C$/', $value);
-
+
if ($is_p) {
$value = "<p>$value</p>";
}
$grafs[$key] = $value;
}
-
- // Join grafs in one text, then unhash HTML tags.
+
+ // Join grafs in one text, then unhash HTML tags.
$text = implode("\n\n", $grafs);
-
+
// Finish by removing any tag hashes still present in $text.
$text = $this->unhash($text);
-
+
return $text;
}
-
-
+
+
/**
* Footnotes - Strips link definitions from text, stores the URLs and
* titles in hash references.
@@ -1554,15 +1560,15 @@ class MarkdownExtra extends \Michelf\Markdown {
[ ]*
\n? # maybe *one* newline
( # text = $2 (no blank lines allowed)
- (?:
+ (?:
.+ # actual text
|
- \n # newlines but
+ \n # newlines but
(?!\[.+?\][ ]?:\s)# negative lookahead for footnote or link definition marker.
- (?!\n+[ ]{0,3}\S)# ensure line is not blank and followed
+ (?!\n+[ ]{0,3}\S)# ensure line is not blank and followed
# by non-indented content
)*
- )
+ )
}xm',
array($this, '_stripFootnotes_callback'),
$text);
@@ -1581,7 +1587,7 @@ class MarkdownExtra extends \Michelf\Markdown {
}
/**
- * Replace footnote references in $text [^id] with a special text-token
+ * Replace footnote references in $text [^id] with a special text-token
* which will be replaced by the actual footnote marker in appendFootnotes.
* @param string $text
* @return string
@@ -1599,12 +1605,12 @@ class MarkdownExtra extends \Michelf\Markdown {
* @return string
*/
protected function appendFootnotes($text) {
- $text = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}',
+ $text = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}',
array($this, '_appendFootnotes_callback'), $text);
-
+
if (!empty($this->footnotes_ordered)) {
$text .= "\n\n";
- $text .= "<div class=\"footnotes\">\n";
+ $text .= "<div class=\"footnotes\" role=\"doc-endnotes\">\n";
$text .= "<hr" . $this->empty_element_suffix . "\n";
$text .= "<ol>\n\n";
@@ -1618,10 +1624,12 @@ class MarkdownExtra extends \Michelf\Markdown {
$title = $this->fn_backlink_title;
$title = $this->encodeAttribute($title);
$attr .= " title=\"$title\"";
+ $attr .= " aria-label=\"$title\"";
}
+ $attr .= " role=\"doc-backlink\"";
$backlink_text = $this->fn_backlink_html;
$num = 0;
-
+
while (!empty($this->footnotes_ordered)) {
$footnote = reset($this->footnotes_ordered);
$note_id = key($this->footnotes_ordered);
@@ -1629,12 +1637,12 @@ class MarkdownExtra extends \Michelf\Markdown {
$ref_count = $this->footnotes_ref_count[$note_id];
unset($this->footnotes_ref_count[$note_id]);
unset($this->footnotes[$note_id]);
-
+
$footnote .= "\n"; // Need to append newline before parsing.
- $footnote = $this->runBlockGamut("$footnote\n");
- $footnote = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}',
+ $footnote = $this->runBlockGamut("$footnote\n");
+ $footnote = preg_replace_callback('{F\x1Afn:(.*?)\x1A:}',
array($this, '_appendFootnotes_callback'), $footnote);
-
+
$attr = str_replace("%%", ++$num, $attr);
$note_id = $this->encodeAttribute($note_id);
@@ -1649,12 +1657,12 @@ class MarkdownExtra extends \Michelf\Markdown {
} else {
$footnote .= "\n\n<p>$backlink</p>";
}
-
- $text .= "<li id=\"fn:$note_id\">\n";
+
+ $text .= "<li id=\"fn:$note_id\" role=\"doc-endnote\">\n";
$text .= $footnote . "\n";
$text .= "</li>\n\n";
}
-
+
$text .= "</ol>\n";
$text .= "</div>";
}
@@ -1668,7 +1676,7 @@ class MarkdownExtra extends \Michelf\Markdown {
*/
protected function _appendFootnotes_callback($matches) {
$node_id = $this->fn_id_prefix . $matches[1];
-
+
// Create footnote marker only if it has a corresponding footnote *and*
// the footnote hasn't been used by another marker.
if (isset($this->footnotes[$node_id])) {
@@ -1695,20 +1703,21 @@ class MarkdownExtra extends \Michelf\Markdown {
$title = $this->encodeAttribute($title);
$attr .= " title=\"$title\"";
}
-
+ $attr .= " role=\"doc-noteref\"";
+
$attr = str_replace("%%", $num, $attr);
$node_id = $this->encodeAttribute($node_id);
-
+
return
"<sup id=\"fnref$ref_count_mark:$node_id\">".
"<a href=\"#fn:$node_id\"$attr>$num</a>".
"</sup>";
}
-
+
return "[^" . $matches[1] . "]";
}
-
-
+
+
/**
* Abbreviations - strips abbreviations from text, stores titles in hash
* references.
@@ -1721,7 +1730,7 @@ class MarkdownExtra extends \Michelf\Markdown {
// Link defs are in the form: [id]*: url "optional title"
$text = preg_replace_callback('{
^[ ]{0,' . $less_than_tab . '}\*\[(.+?)\][ ]?: # abbr_id = $1
- (.*) # text = $2 (no blank lines allowed)
+ (.*) # text = $2 (no blank lines allowed)
}xm',
array($this, '_stripAbbreviations_callback'),
$text);
@@ -1751,7 +1760,7 @@ class MarkdownExtra extends \Michelf\Markdown {
*/
protected function doAbbreviations($text) {
if ($this->abbr_word_re) {
- // cannot use the /x modifier because abbr_word_re may
+ // cannot use the /x modifier because abbr_word_re may
// contain significant spaces:
$text = preg_replace_callback('{' .
'(?<![\w\x1A])' .
diff --git a/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php
index 8512e3753..7fc0da06e 100644
--- a/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php
+++ b/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php
@@ -4,14 +4,14 @@
*
* @package php-markdown
* @author Michel Fortin <michel.fortin@michelf.com>
- * @copyright 2004-2016 Michel Fortin <https://michelf.com/projects/php-markdown/>
+ * @copyright 2004-2018 Michel Fortin <https://michelf.com/projects/php-markdown/>
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
*/
namespace Michelf;
/**
- * Markdown Parser Interface
+ * Markdown Parser Interface
*/
interface MarkdownInterface {
/**
diff --git a/vendor/michelf/php-markdown/Readme.md b/vendor/michelf/php-markdown/Readme.md
index 044407106..c05cd93d4 100644
--- a/vendor/michelf/php-markdown/Readme.md
+++ b/vendor/michelf/php-markdown/Readme.md
@@ -1,7 +1,7 @@
PHP Markdown
============
-PHP Markdown Lib 1.7.0 - 29 Oct 2016
+PHP Markdown Lib 1.8.0 - 14 Jan 2018
by Michel Fortin
<https://michelf.ca/>
@@ -13,16 +13,16 @@ based on Markdown by John Gruber
Introduction
------------
-This is a library package that includes the PHP Markdown parser and its
+This is a library package that includes the PHP Markdown parser and its
sibling PHP Markdown Extra with additional features.
Markdown is a text-to-HTML conversion tool for web writers. Markdown
allows you to write using an easy-to-read, easy-to-write plain text
format, then convert it to structurally valid XHTML (or HTML).
-"Markdown" is actually two things: a plain text markup syntax, and a
-software tool, originally written in Perl, that converts the plain text
-markup to HTML. PHP Markdown is a port to PHP of the original Markdown
+"Markdown" is actually two things: a plain text markup syntax, and a
+software tool, originally written in Perl, that converts the plain text
+markup to HTML. PHP Markdown is a port to PHP of the original Markdown
program by John Gruber.
* [Full documentation of the Markdown syntax](<https://daringfireball.net/projects/markdown/>)
@@ -37,68 +37,77 @@ Requirement
This library package requires PHP 5.3 or later.
Note: The older plugin/library hybrid package for PHP Markdown and
-PHP Markdown Extra is still maintained and will work with PHP 4.0.5 and later.
+PHP Markdown Extra is no longer maintained but will work with PHP 4.0.5 and
+later.
Before PHP 5.3.7, pcre.backtrack_limit defaults to 100 000, which is too small
-in many situations. You might need to set it to higher values. Later PHP
+in many situations. You might need to set it to higher values. Later PHP
releases defaults to 1 000 000, which is usually fine.
Usage
-----
-This library package is meant to be used with class autoloading. For autoloading
-to work, your project needs have setup a PSR-0-compatible autoloader. See the
-included Readme.php file for a minimal autoloader setup. (If you cannot use
-autoloading, see below.)
+To use this library with Composer, first install it with:
-With class autoloading in place, putting the 'Michelf' folder in your
-include path should be enough for this to work:
+ $ composer require michelf/php-markdown
- use \Michelf\Markdown;
+Then include Composer's generated vendor/autoload.php to [enable autoloading]:
+
+ require 'vendor/autoload.php';
+
+Without Composer, for autoloading to work, your project needs an autoloader
+compatible with PSR-4 or PSR-0. See the included Readme.php file for a minimal
+autoloader setup. (If you cannot use autoloading, see below.)
+
+With class autoloading in place:
+
+ use Michelf\Markdown;
$my_html = Markdown::defaultTransform($my_text);
Markdown Extra syntax is also available the same way:
- use \Michelf\MarkdownExtra;
+ use Michelf\MarkdownExtra;
$my_html = MarkdownExtra::defaultTransform($my_text);
-If you wish to use PHP Markdown with another text filter function
+If you wish to use PHP Markdown with another text filter function
built to parse HTML, you should filter the text *after* the `transform`
-function call. This is an example with [PHP SmartyPants][psp]:
+function call. This is an example with [PHP SmartyPants]:
- use \Michelf\Markdown, \Michelf\SmartyPants;
+ use Michelf\Markdown, Michelf\SmartyPants;
$my_html = Markdown::defaultTransform($my_text);
$my_html = SmartyPants::defaultTransform($my_html);
-All these examples are using the static `defaultTransform` static function
-found inside the parser class. If you want to customize the parser
-configuration, you can also instantiate it directly and change some
+All these examples are using the static `defaultTransform` static function
+found inside the parser class. If you want to customize the parser
+configuration, you can also instantiate it directly and change some
configuration variables:
- use \Michelf\MarkdownExtra;
+ use Michelf\MarkdownExtra;
$parser = new MarkdownExtra;
$parser->fn_id_prefix = "post22-";
$my_html = $parser->transform($my_text);
To learn more, see the full list of [configuration variables].
+ [enable autoloading]: https://getcomposer.org/doc/01-basic-usage.md#autoloading
+ [PHP SmartyPants]: https://michelf.ca/projects/php-smartypants/
[configuration variables]: https://michelf.ca/projects/php-markdown/configuration/
### Usage without an autoloader
-If you cannot use class autoloading, you can still use `include` or `require`
-to access the parser. To load the `\Michelf\Markdown` parser, do it this way:
+If you cannot use class autoloading, you can still use `include` or `require`
+to access the parser. To load the `Michelf\Markdown` parser, do it this way:
require_once 'Michelf/Markdown.inc.php';
-Or, if you need the `\Michelf\MarkdownExtra` parser:
+Or, if you need the `Michelf\MarkdownExtra` parser:
require_once 'Michelf/MarkdownExtra.inc.php';
While the plain `.php` files depend on autoloading to work correctly, using the
-`.inc.php` files instead will eagerly load the dependencies that would be
+`.inc.php` files instead will eagerly load the dependencies that would be
loaded on demand if you were using autoloading.
@@ -113,19 +122,19 @@ functions and their configuration variables. The public API is stable for
a given major version number. It might get additions when the minor version
number increments.
-**Protected members are not considered public API.** This is unconventional
-and deserves an explanation. Incrementing the major version number every time
+**Protected members are not considered public API.** This is unconventional
+and deserves an explanation. Incrementing the major version number every time
the underlying implementation of something changes is going to give
nonessential version numbers for the vast majority of people who just use the
parser. Protected members are meant to create parser subclasses that behave in
-different ways. Very few people create parser subclasses. I don't want to
-discourage it by making everything private, but at the same time I can't
+different ways. Very few people create parser subclasses. I don't want to
+discourage it by making everything private, but at the same time I can't
guarantee any stable hook between versions if you use protected members.
-**Syntax changes** will increment the minor number for new features, and the
-patch number for small corrections. A *new feature* is something that needs a
+**Syntax changes** will increment the minor number for new features, and the
+patch number for small corrections. A *new feature* is something that needs a
change in the syntax documentation. Note that since PHP Markdown Lib includes
-two parsers, a syntax change for either of them will increment the minor
+two parsers, a syntax change for either of them will increment the minor
number. Also note that there is nothing perfectly backward-compatible with the
Markdown syntax: all inputs are always valid, so new features always replace
something that was previously legal, although generally nonsensical to do.
@@ -140,7 +149,7 @@ To file bug reports please send email to:
Please include with your report: (1) the example input; (2) the output you
expected; (3) the output PHP Markdown actually produced.
-If you have a problem where Markdown gives you an empty result, first check
+If you have a problem where Markdown gives you an empty result, first check
that the backtrack limit is not too low by running `php --info | grep pcre`.
See Installation and Requirement above for details.
@@ -149,12 +158,12 @@ Development and Testing
-----------------------
Pull requests for fixing bugs are welcome. Proposed new features are
-going to be meticulously reviewed -- taking into account backward compatibility,
+going to be meticulously reviewed -- taking into account backward compatibility,
potential side effects, and future extensibility -- before deciding on
acceptance or rejection.
-If you make a pull request that includes changes to the parser please add
-tests for what is being changed to [MDTest][] and make a pull request there
+If you make a pull request that includes changes to the parser please add
+tests for what is being changed to [MDTest][] and make a pull request there
too.
[MDTest]: https://github.com/michelf/mdtest/
@@ -163,7 +172,7 @@ too.
Donations
---------
-If you wish to make a donation that will help me devote more time to
+If you wish to make a donation that will help me devote more time to
PHP Markdown, please visit [michelf.ca/donate] or send Bitcoin to
[1HiuX34czvVPPdhXbUAsAu7pZcesniDCGH].
@@ -174,56 +183,72 @@ PHP Markdown, please visit [michelf.ca/donate] or send Bitcoin to
Version History
---------------
+PHP Markdown Lib 1.8.0 (14 Jan 2018)
+
+* Autoloading with Composer now uses PSR-4.
+
+* HTML output for Markdown Extra footnotes now include `role` attributes
+ with values from [WAI-ARIA](https://www.w3.org/TR/dpub-aria/) to
+ make them more accessible.
+ (Thanks to Tobias Bengfort)
+
+* In Markdown Extra, added the `hashtag_protection` configuration variable.
+ When set to `true` it prevents ATX-style headers with no space after the initial
+ hash from being interpreted as headers. This way your precious hashtags
+ are preserved.
+ (Thanks to Jaussoin Timothée for the implementation.)
+
+
PHP Markdown Lib 1.7.0 (29 Oct 2016)
-* Added a `hard_wrap` configuration variable to make all newline characters
- in the text become `<br>` tags in the HTML output. By default, according
- to the standard Markdown syntax these newlines are ignored unless they a
+* Added a `hard_wrap` configuration variable to make all newline characters
+ in the text become `<br>` tags in the HTML output. By default, according
+ to the standard Markdown syntax these newlines are ignored unless they a
preceded by two spaces. Thanks to Jonathan Cohlmeyer for the implementation.
-* Improved the parsing of list items to fix problematic cases that came to
- light with the addition of `hard_wrap`. This should have no effect on the
- output except span-level list items that ended with two spaces (and thus
+* Improved the parsing of list items to fix problematic cases that came to
+ light with the addition of `hard_wrap`. This should have no effect on the
+ output except span-level list items that ended with two spaces (and thus
ended with a line break).
-* Added a `code_span_content_func` configuration variable which takes a
+* Added a `code_span_content_func` configuration variable which takes a
function that will convert the content of the code span to HTML. This can
- be useful to implement syntax highlighting. Although contrary to its
- code block equivalent, there is no syntax for specifying a language.
+ be useful to implement syntax highlighting. Although contrary to its
+ code block equivalent, there is no syntax for specifying a language.
Credits to styxit for the implementation.
-* Fixed a Markdwon Extra issue where two-space-at-end-of-line hard breaks
- wouldn't work inside of HTML block elements such as `<p markdown="1">`
+* Fixed a Markdown Extra issue where two-space-at-end-of-line hard breaks
+ wouldn't work inside of HTML block elements such as `<p markdown="1">`
where the element expects only span-level content.
-* In the parser code, switched to PHPDoc comment format. Thanks to
+* In the parser code, switched to PHPDoc comment format. Thanks to
Robbie Averill for the help.
-PHP Markdown Lib 1.6.0 (23 Dec 2015)
+PHP Markdown Lib 1.6.0 (23 Dec 2015)
-Note: this version was incorrectly released as 1.5.1 on Dec 22, a number
+Note: this version was incorrectly released as 1.5.1 on Dec 22, a number
that contradicted the versioning policy.
-* For fenced code blocks in Markdown Extra, can now set a class name for the
- code block's language before the special attribute block. Previously, this
+* For fenced code blocks in Markdown Extra, can now set a class name for the
+ code block's language before the special attribute block. Previously, this
class name was only allowed in the absence of the special attribute block.
-* Added a `code_block_content_func` configuration variable which takes a
- function that will convert the content of the code block to HTML. This is
- most useful for syntax highlighting. For fenced code blocks in Markdown
- Extra, the function has access to the language class name (the one outside
- of the special attribute block). Credits to Mario Konrad for providing the
+* Added a `code_block_content_func` configuration variable which takes a
+ function that will convert the content of the code block to HTML. This is
+ most useful for syntax highlighting. For fenced code blocks in Markdown
+ Extra, the function has access to the language class name (the one outside
+ of the special attribute block). Credits to Mario Konrad for providing the
implementation.
* The curled arrow character for the backlink in footnotes is now followed
by a Unicode variant selector to prevent it from being displayed in emoji
form on iOS.
- Note that in older browsers the variant selector is often interpreted as a
- separate character, making it visible after the arrow. So there is now a
- also a `fn_backlink_html` configuration variable that can be used to set
- the link text to something else. Credits to Dana for providing the
+ Note that in older browsers the variant selector is often interpreted as a
+ separate character, making it visible after the arrow. So there is now a
+ also a `fn_backlink_html` configuration variable that can be used to set
+ the link text to something else. Credits to Dana for providing the
implementation.
* Fixed an issue in MarkdownExtra where long header lines followed by a
@@ -235,13 +260,13 @@ PHP Markdown Lib 1.5.0 (1 Mar 2015)
* Added the ability start ordered lists with a number different from 1 and
and have that reflected in the HTML output. This can be enabled with
- the `enhanced_ordered_lists` configuration variable for the Markdown
+ the `enhanced_ordered_lists` configuration variable for the Markdown
parser; it is enabled by default for Markdown Extra.
Credits to Matt Gorle for providing the implementation.
-* Added the ability to insert custom HTML attributes with simple values
+* Added the ability to insert custom HTML attributes with simple values
everywhere an extra attribute block is allowed (links, images, headers).
- The value must be unquoted, cannot contains spaces and is limited to
+ The value must be unquoted, cannot contains spaces and is limited to
alphanumeric ASCII characters.
Credits to Peter Droogmans for providing the implementation.
@@ -256,7 +281,7 @@ PHP Markdown Lib 1.5.0 (1 Mar 2015)
PHP Markdown Lib 1.4.1 (4 May 2014)
* The HTML block parser will now treat `<figure>` as a block-level element
- (as it should) and no longer wrap it in `<p>` or parse it's content with
+ (as it should) and no longer wrap it in `<p>` or parse it's content with
the as Markdown syntax (although with Extra you can use `markdown="1"`
if you wish to use the Markdown syntax inside it).
@@ -265,7 +290,7 @@ PHP Markdown Lib 1.4.1 (4 May 2014)
* Corrected an bug where some inline links with spaces in them would not
work even when surounded with angle brackets:
-
+
[link](<s p a c e s>)
* Fixed an issue where email addresses with quotes in them would not always
@@ -281,9 +306,9 @@ PHP Markdown Lib 1.4.0 (29 Nov 2013)
* Added support for the `tel:` URL scheme in automatic links.
<tel:+1-111-111-1111>
-
+
It gets converted to this (note the `tel:` prefix becomes invisible):
-
+
<a href="tel:+1-111-111-1111">+1-111-111-1111</a>
* Added backtick fenced code blocks to MarkdownExtra, originally from
@@ -294,16 +319,16 @@ PHP Markdown Lib 1.4.0 (29 Nov 2013)
you want to create a mockup parser object for unit testing.
* For those of you who cannot use class autoloading, you can now
- include `Michelf/Markdown.inc.php` or `Michelf/MarkdownExtra.inc.php` (note
+ include `Michelf/Markdown.inc.php` or `Michelf/MarkdownExtra.inc.php` (note
the `.inc.php` extension) to automatically include other files required
by the parser.
PHP Markdown Lib 1.3 (11 Apr 2013)
-This is the first release of PHP Markdown Lib. This package requires PHP
-version 5.3 or later and is designed to work with PSR-0 autoloading and,
-optionally with Composer. Here is a list of the changes since
+This is the first release of PHP Markdown Lib. This package requires PHP
+version 5.3 or later and is designed to work with PSR-0 autoloading and,
+optionally with Composer. Here is a list of the changes since
PHP Markdown Extra 1.2.6:
* Plugin interface for WordPress and other systems is no longer present in
@@ -323,22 +348,22 @@ PHP Markdown Extra 1.2.6:
* Added optional class and id attributes to images and links using the same
syntax as for headers:
- [link](url){#id .class}
+ [link](url){#id .class}
![img](url){#id .class}
-
+
It work too for reference-style links and images. In this case you need
to put those attributes at the reference definition:
- [link][linkref] or [linkref]
+ [link][linkref] or [linkref]
![img][linkref]
-
+
[linkref]: url "optional title" {#id .class}
-* Fixed a PHP notice message triggered when some table column separator
+* Fixed a PHP notice message triggered when some table column separator
markers are missing on the separator line below column headers.
* Fixed a small mistake that could cause the parser to retain an invalid
- state related to parsing links across multiple runs. This was never
+ state related to parsing links across multiple runs. This was never
observed (that I know of), but it's still worth fixing.
@@ -351,20 +376,20 @@ Copyright (c) 2004-2016 Michel Fortin
All rights reserved.
Based on Markdown
-Copyright (c) 2003-2005 John Gruber
-<https://daringfireball.net/>
+Copyright (c) 2003-2005 John Gruber
+<https://daringfireball.net/>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
-* Redistributions of source code must retain the above copyright
+* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the
+ documentation and/or other materials provided with the
distribution.
* Neither the name "Markdown" nor the names of its contributors may
diff --git a/vendor/michelf/php-markdown/Readme.php b/vendor/michelf/php-markdown/Readme.php
index 89449dea4..e473d7336 100644
--- a/vendor/michelf/php-markdown/Readme.php
+++ b/vendor/michelf/php-markdown/Readme.php
@@ -4,13 +4,15 @@
// through the Markdown filter. You can adapt this sample code in any way
// you like.
-// Install PSR-0-compatible class autoloader
+// Install PSR-4-compatible class autoloader
spl_autoload_register(function($class){
- require preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php';
+ require str_replace('\\', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php';
});
+// If using Composer, use this instead:
+//require 'vendor/autoloader.php';
// Get Markdown class
-use \Michelf\Markdown;
+use Michelf\Markdown;
// Read file and pass content through the Markdown parser
$text = file_get_contents('Readme.md');
diff --git a/vendor/michelf/php-markdown/composer.json b/vendor/michelf/php-markdown/composer.json
index 36a4f744a..6b1993d65 100644
--- a/vendor/michelf/php-markdown/composer.json
+++ b/vendor/michelf/php-markdown/composer.json
@@ -21,11 +21,6 @@
"php": ">=5.3.0"
},
"autoload": {
- "psr-0": { "Michelf": "" }
- },
- "extra": {
- "branch-alias": {
- "dev-lib": "1.4.x-dev"
- }
+ "psr-4": { "Michelf\\": "Michelf/" }
}
}
diff --git a/vendor/sabre/http/.travis.yml b/vendor/sabre/http/.travis.yml
index 8ae84d90f..9e4964b9d 100644
--- a/vendor/sabre/http/.travis.yml
+++ b/vendor/sabre/http/.travis.yml
@@ -9,6 +9,8 @@ php:
matrix:
fast_finish: true
+ allow_failures:
+ - php: hhvm
env:
matrix:
diff --git a/vendor/sabre/http/CHANGELOG.md b/vendor/sabre/http/CHANGELOG.md
index 00be2d887..d3dd8b2d9 100644
--- a/vendor/sabre/http/CHANGELOG.md
+++ b/vendor/sabre/http/CHANGELOG.md
@@ -1,6 +1,13 @@
ChangeLog
=========
+4.2.4 (2018-02-23)
+------------------
+
+* #69: Sending `charset="UTF-8"` on Basic authentication challenges per
+ [rfc7617][rfc7617].
+
+
4.2.3 (2017-06-12)
------------------
@@ -12,7 +19,6 @@ ChangeLog
* #72: Handling clients that send invalid `Content-Length` headers.
-
4.2.1 (2016-01-06)
------------------
@@ -259,4 +265,5 @@ Before 2.0.0, this package was built-into SabreDAV, where it first appeared in
January 2009.
[psr-http]: https://github.com/php-fig/fig-standards/blob/master/proposed/http-message.md
-[rfc-7240]: http://tools.ietf.org/html/rfc7240
+[rfc7240]: http://tools.ietf.org/html/rfc7240
+[rfc7617]: https://tools.ietf.org/html/rfc7617
diff --git a/vendor/sabre/http/lib/Auth/Basic.php b/vendor/sabre/http/lib/Auth/Basic.php
index 60633b957..c263e3f9b 100644
--- a/vendor/sabre/http/lib/Auth/Basic.php
+++ b/vendor/sabre/http/lib/Auth/Basic.php
@@ -55,7 +55,7 @@ class Basic extends AbstractAuth {
*/
function requireLogin() {
- $this->response->addHeader('WWW-Authenticate', 'Basic realm="' . $this->realm . '"');
+ $this->response->addHeader('WWW-Authenticate', 'Basic realm="' . $this->realm . '", charset="UTF-8"');
$this->response->setStatus(401);
}
diff --git a/vendor/sabre/http/lib/Sapi.php b/vendor/sabre/http/lib/Sapi.php
index 6fc6452e4..054380e73 100644
--- a/vendor/sabre/http/lib/Sapi.php
+++ b/vendor/sabre/http/lib/Sapi.php
@@ -77,12 +77,12 @@ class Sapi {
if (is_resource($body) && get_resource_type($body) == 'stream') {
if (PHP_INT_SIZE !== 4){
// use the dedicated function on 64 Bit systems
- stream_copy_to_stream($body, $output, $contentLength);
+ stream_copy_to_stream($body, $output, $contentLength);
} else {
// workaround for 32 Bit systems to avoid stream_copy_to_stream
while (!feof($body)) {
- fwrite($output, fread($body, 8192));
- }
+ fwrite($output, fread($body, 8192));
+ }
}
} else {
fwrite($output, $body, $contentLength);
diff --git a/vendor/sabre/http/lib/Version.php b/vendor/sabre/http/lib/Version.php
index aeb080e93..c40532ae8 100644
--- a/vendor/sabre/http/lib/Version.php
+++ b/vendor/sabre/http/lib/Version.php
@@ -14,6 +14,6 @@ class Version {
/**
* Full version number
*/
- const VERSION = '4.2.3';
+ const VERSION = '4.2.4';
}
diff --git a/vendor/sabre/vobject/CHANGELOG.md b/vendor/sabre/vobject/CHANGELOG.md
index 56a36f99c..269b3dbff 100644
--- a/vendor/sabre/vobject/CHANGELOG.md
+++ b/vendor/sabre/vobject/CHANGELOG.md
@@ -1,6 +1,22 @@
ChangeLog
=========
+4.1.5 (2018-03-08)
+------------------
+
+* Serialization: Performance boost for long properties (@gharlan)
+
+4.1.4 (2017-12-22)
+------------------
+
+* #383: Fix possible infinite loop in RRuleIterator, when the RRule FREQ
+ is YEARLY and it uses BYYEARDAY only (@mvdnes).
+* #392: Improved significant change detection. This should reduce the number of
+ unneeded update emails in scheduling systems. (@alecpl).
+* #395: Removed `Canada/East-Saskatchewan` timezone, as it got removed
+ from PHP as well. (@remicollet).
+
+
4.1.3 (2017-10-18)
------------------
diff --git a/vendor/sabre/vobject/composer.json b/vendor/sabre/vobject/composer.json
index 1f22f6de1..2407cabb1 100644
--- a/vendor/sabre/vobject/composer.json
+++ b/vendor/sabre/vobject/composer.json
@@ -37,7 +37,7 @@
"sabre/xml" : ">=1.5 <3.0"
},
"require-dev" : {
- "phpunit/phpunit" : "> 4.8, <6.0.0",
+ "phpunit/phpunit" : "> 4.8.35, <6.0.0",
"sabre/cs" : "^1.0.0"
},
diff --git a/vendor/sabre/vobject/lib/ITip/Broker.php b/vendor/sabre/vobject/lib/ITip/Broker.php
index effa74317..b9a30611b 100644
--- a/vendor/sabre/vobject/lib/ITip/Broker.php
+++ b/vendor/sabre/vobject/lib/ITip/Broker.php
@@ -849,6 +849,7 @@ class Broker {
$exdate = [];
foreach ($calendar->VEVENT as $vevent) {
+ $rrule = [];
if (is_null($uid)) {
$uid = $vevent->UID->getValue();
@@ -889,6 +890,18 @@ class Broker {
}
sort($exdate);
}
+ if (isset($vevent->RRULE)) {
+ foreach ($vevent->select('RRULE') as $rr) {
+ foreach ($rr->getParts() as $key => $val) {
+ // ignore default values (https://github.com/sabre-io/vobject/issues/126)
+ if ($key === 'INTERVAL' && $val == 1) {
+ continue;
+ }
+ $rrule[] = "$key=$val";
+ }
+ }
+ sort($rrule);
+ }
if (isset($vevent->STATUS)) {
$status = strtoupper($vevent->STATUS->getValue());
}
@@ -953,19 +966,16 @@ class Broker {
$significantChangeHash .= $prop . ':';
if ($prop === 'EXDATE') {
-
$significantChangeHash .= implode(',', $exdate) . ';';
-
+ } elseif ($prop === 'RRULE') {
+ $significantChangeHash .= implode(',', $rrule) . ';';
} else {
-
foreach ($propertyValues as $val) {
$significantChangeHash .= $val->getValue() . ';';
}
-
}
}
}
-
}
$significantChangeHash = md5($significantChangeHash);
diff --git a/vendor/sabre/vobject/lib/Parser/MimeDir.php b/vendor/sabre/vobject/lib/Parser/MimeDir.php
index fa75a1a3b..78e5bf385 100644
--- a/vendor/sabre/vobject/lib/Parser/MimeDir.php
+++ b/vendor/sabre/vobject/lib/Parser/MimeDir.php
@@ -464,13 +464,13 @@ class MimeDir extends Parser {
// vCard 2.1 allows the character set to be specified per property.
$charset = (string)$propObj['CHARSET'];
}
- switch ($charset) {
- case 'UTF-8' :
+ switch (strtolower($charset)) {
+ case 'utf-8' :
break;
- case 'ISO-8859-1' :
+ case 'iso-8859-1' :
$property['value'] = utf8_encode($property['value']);
break;
- case 'Windows-1252' :
+ case 'windows-1252' :
$property['value'] = mb_convert_encoding($property['value'], 'UTF-8', $charset);
break;
default :
diff --git a/vendor/sabre/vobject/lib/Property.php b/vendor/sabre/vobject/lib/Property.php
index 1aaa3ed58..96855f1f7 100644
--- a/vendor/sabre/vobject/lib/Property.php
+++ b/vendor/sabre/vobject/lib/Property.php
@@ -249,8 +249,9 @@ abstract class Property extends Node {
$out = '';
while (strlen($str) > 0) {
if (strlen($str) > 75) {
- $out .= mb_strcut($str, 0, 75, 'utf-8') . "\r\n";
- $str = ' ' . mb_strcut($str, 75, strlen($str), 'utf-8');
+ $part = mb_strcut($str, 0, 75, 'utf-8');
+ $out .= $part . "\r\n";
+ $str = ' ' . substr($str, strlen($part));
} else {
$out .= $str . "\r\n";
$str = '';
diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php
index 476dcde4d..bb7ab34ee 100644
--- a/vendor/sabre/vobject/lib/Property/Text.php
+++ b/vendor/sabre/vobject/lib/Property/Text.php
@@ -275,8 +275,9 @@ class Text extends Property {
$out = '';
while (strlen($str) > 0) {
if (strlen($str) > 75) {
- $out .= mb_strcut($str, 0, 75, 'utf-8') . "\r\n";
- $str = ' ' . mb_strcut($str, 75, strlen($str), 'utf-8');
+ $part = mb_strcut($str, 0, 75, 'utf-8');
+ $out .= $part . "\r\n";
+ $str = ' ' . substr($str, strlen($part));
} else {
$out .= $str . "\r\n";
$str = '';
diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
index 20f34ef42..dbea1155d 100644
--- a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
@@ -592,11 +592,11 @@ class RRuleIterator implements Iterator {
// loop through all YearDay and Days to check all the combinations
foreach ($this->byYearDay as $byYearDay) {
$date = clone $this->currentDate;
- $date->setDate($currentYear, 1, 1);
+ $date = $date->setDate($currentYear, 1, 1);
if ($byYearDay > 0) {
- $date->add(new \DateInterval('P' . $byYearDay . 'D'));
+ $date = $date->add(new \DateInterval('P' . $byYearDay . 'D'));
} else {
- $date->sub(new \DateInterval('P' . abs($byYearDay) . 'D'));
+ $date = $date->sub(new \DateInterval('P' . abs($byYearDay) . 'D'));
}
if ($date > $this->currentDate && in_array($date->format('N'), $dayOffsets)) {
diff --git a/vendor/sabre/vobject/lib/Version.php b/vendor/sabre/vobject/lib/Version.php
index 24c51a604..67e8a4037 100644
--- a/vendor/sabre/vobject/lib/Version.php
+++ b/vendor/sabre/vobject/lib/Version.php
@@ -14,6 +14,6 @@ class Version {
/**
* Full version number.
*/
- const VERSION = '4.1.3';
+ const VERSION = '4.1.5';
}
diff --git a/vendor/sabre/vobject/lib/timezonedata/php-bc.php b/vendor/sabre/vobject/lib/timezonedata/php-bc.php
index 906ccb0e4..83f38f507 100644
--- a/vendor/sabre/vobject/lib/timezonedata/php-bc.php
+++ b/vendor/sabre/vobject/lib/timezonedata/php-bc.php
@@ -68,7 +68,6 @@ return [
'Brazil/West',
'Canada/Atlantic',
'Canada/Central',
- 'Canada/East-Saskatchewan',
'Canada/Eastern',
'Canada/Mountain',
'Canada/Newfoundland',
diff --git a/view/ca/hmessages.po b/view/ca/hmessages.po
index ecb96b8f8..6aa91b16d 100644
--- a/view/ca/hmessages.po
+++ b/view/ca/hmessages.po
@@ -1,19 +1,20 @@
-# Hubzilla Project
-# Copyright (C) 2012-2014 the Hubzilla Project
-# This file is distributed under the same license as the Red package.
+# hubzilla
+# Copyright (C) 2012-2016 hubzilla
+# This file is distributed under the same license as the hubzilla package.
#
# Translators:
-# Espart <ranker72@gmail.com>, 2015
+# fadelkon <fadelkon@posteo.net>, 2015-2016
+# fadelkon <fadelkon@posteo.net>, 2018
# Rafael, 2015
-# Rafael Garau, 2016
+# Rafael Garau, 2016-2017
# Rafael Garau, 2015
msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-06-10 00:02-0700\n"
-"PO-Revision-Date: 2016-06-10 09:14+0000\n"
-"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
+"POT-Creation-Date: 2018-03-01 08:51+0100\n"
+"PO-Revision-Date: 2018-03-17 02:23+0000\n"
+"Last-Translator: fadelkon <fadelkon@posteo.net>\n"
"Language-Team: Catalan (Spain) (http://www.transifex.com/Friendica/red-matrix/language/ca_ES/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,496 +22,2096 @@ msgstr ""
"Language: ca_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
-msgid "parent"
-msgstr "pare"
+#: ../../Zotlabs/Access/Permissions.php:56
+msgid "Can view my channel stream and posts"
+msgstr "Pot veure el flux i entrades del meu canal"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2620
-msgid "Collection"
-msgstr "Col·lecció"
+#: ../../Zotlabs/Access/Permissions.php:57
+msgid "Can send me their channel stream and posts"
+msgstr "Pot enviar-me el flux i entrades del seu canal"
-#: ../../Zotlabs/Storage/Browser.php:134
-msgid "Principal"
-msgstr "Principal"
+#: ../../Zotlabs/Access/Permissions.php:58
+msgid "Can view my default channel profile"
+msgstr "Pot veure el perfil del meu canal per defecte"
-#: ../../Zotlabs/Storage/Browser.php:137
-msgid "Addressbook"
-msgstr "Llista d'Adreçes"
+#: ../../Zotlabs/Access/Permissions.php:59
+msgid "Can view my connections"
+msgstr "Pot veure les meves connexions"
-#: ../../Zotlabs/Storage/Browser.php:140
-msgid "Calendar"
-msgstr "Calendari"
+#: ../../Zotlabs/Access/Permissions.php:60
+msgid "Can view my file storage and photos"
+msgstr "Pot veure les meves fotos i arxius"
-#: ../../Zotlabs/Storage/Browser.php:143
-msgid "Schedule Inbox"
-msgstr "Programació de la bústia d'entrada"
+#: ../../Zotlabs/Access/Permissions.php:61
+msgid "Can upload/modify my file storage and photos"
+msgstr "Pot pujar i modificar els meus fitxers i fotos"
-#: ../../Zotlabs/Storage/Browser.php:146
-msgid "Schedule Outbox"
-msgstr "Programació de la bústia de sortida"
+#: ../../Zotlabs/Access/Permissions.php:62
+msgid "Can view my channel webpages"
+msgstr "Pot veure les pàgines web del meu canal"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:798
-#: ../../Zotlabs/Module/Photos.php:1243 ../../Zotlabs/Lib/Apps.php:486
-#: ../../Zotlabs/Lib/Apps.php:561 ../../include/widgets.php:1505
-#: ../../include/conversation.php:1032
-msgid "Unknown"
-msgstr "Desconegut"
+#: ../../Zotlabs/Access/Permissions.php:63
+msgid "Can view my wiki pages"
+msgstr "Por veure les meves pàgines wiki"
-#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:93
-#: ../../include/conversation.php:1639
-msgid "Files"
-msgstr "Arxius"
+#: ../../Zotlabs/Access/Permissions.php:64
+msgid "Can create/edit my channel webpages"
+msgstr "Pot crear i modificar les pàgines web del meu canal"
-#: ../../Zotlabs/Storage/Browser.php:227
-msgid "Total"
-msgstr "Total"
+#: ../../Zotlabs/Access/Permissions.php:65
+msgid "Can write to my wiki pages"
+msgstr "Pot escriure a les meves pàgines wiki"
-#: ../../Zotlabs/Storage/Browser.php:229
-msgid "Shared"
-msgstr "Compartit"
+#: ../../Zotlabs/Access/Permissions.php:66
+msgid "Can post on my channel (wall) page"
+msgstr "Pot penjar entrades al mur del meu canal"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
-#: ../../Zotlabs/Module/Blocks.php:156 ../../Zotlabs/Module/Layouts.php:182
-#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
-#: ../../Zotlabs/Module/Webpages.php:186
-msgid "Create"
-msgstr "Crear"
+#: ../../Zotlabs/Access/Permissions.php:67
+msgid "Can comment on or like my posts"
+msgstr "Pot comentar i fer \"m'agrada\" a les meves entrades"
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
-#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:825 ../../Zotlabs/Module/Photos.php:1364
-#: ../../Zotlabs/Module/Profile_photo.php:368 ../../include/widgets.php:1518
-msgid "Upload"
-msgstr "Pujar"
+#: ../../Zotlabs/Access/Permissions.php:68
+msgid "Can send me private mail messages"
+msgstr "Pot enviar-me missatges privats"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
-#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:592
-#: ../../Zotlabs/Module/Settings.php:618
-#: ../../Zotlabs/Module/Sharedwithme.php:99
-msgid "Name"
-msgstr "Nom"
+#: ../../Zotlabs/Access/Permissions.php:69
+msgid "Can like/dislike profiles and profile things"
+msgstr "Pot fer m'agrada i no m'agrada als perfils i coses del perfil"
-#: ../../Zotlabs/Storage/Browser.php:236
-msgid "Type"
-msgstr "Tipus"
+#: ../../Zotlabs/Access/Permissions.php:70
+msgid "Can forward to all my channel connections via @+ mentions in posts"
+msgstr "Pot reenviar a totes les connexions del meu canal fent servir @+ per mencionar"
-#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1344
-msgid "Size"
-msgstr "Mida"
+#: ../../Zotlabs/Access/Permissions.php:71
+msgid "Can chat with me"
+msgstr "Pot xatejar amb mi"
-#: ../../Zotlabs/Storage/Browser.php:238
-#: ../../Zotlabs/Module/Sharedwithme.php:102
-msgid "Last Modified"
-msgstr "Últim Modificat"
+#: ../../Zotlabs/Access/Permissions.php:72
+msgid "Can source my public posts in derived channels"
+msgstr "Pot fer servir les meves entrades per publicar automàticament en altres canals"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Blocks.php:157
-#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Connections.php:290
-#: ../../Zotlabs/Module/Connections.php:310
-#: ../../Zotlabs/Module/Editpost.php:84
-#: ../../Zotlabs/Module/Editlayout.php:113
-#: ../../Zotlabs/Module/Editwebpage.php:146
-#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Settings.php:652
-#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Webpages.php:187
-#: ../../Zotlabs/Lib/Apps.php:337 ../../Zotlabs/Lib/ThreadItem.php:106
-#: ../../include/channel.php:937 ../../include/channel.php:941
-#: ../../include/menu.php:108 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36
-msgid "Edit"
-msgstr "Edita"
+#: ../../Zotlabs/Access/Permissions.php:73
+msgid "Can administer my channel"
+msgstr "Pot administrar el meu canal"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/Connedit.php:572
-#: ../../Zotlabs/Module/Editblock.php:134
-#: ../../Zotlabs/Module/Connections.php:263
-#: ../../Zotlabs/Module/Editlayout.php:136
-#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1173 ../../Zotlabs/Module/Admin.php:1039
-#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
-#: ../../Zotlabs/Module/Settings.php:653 ../../Zotlabs/Module/Thing.php:261
-#: ../../Zotlabs/Module/Webpages.php:189 ../../Zotlabs/Lib/Apps.php:338
-#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:657
-msgid "Delete"
-msgstr "Esborra"
+#: ../../Zotlabs/Access/PermissionRoles.php:265
+msgid "Social Networking"
+msgstr "Xarxes Socials"
-#: ../../Zotlabs/Storage/Browser.php:285
-#, php-format
-msgid "You are using %1$s of your available file storage."
-msgstr "Estàs emprant el %1$s de l'espai d'emmagatzematge disponible"
+#: ../../Zotlabs/Access/PermissionRoles.php:266
+msgid "Social - Mostly Public"
+msgstr "Social - Principalment públic"
-#: ../../Zotlabs/Storage/Browser.php:290
-#, php-format
-msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
-msgstr "Estàs emprant %1$s de %2$s d'emmagatzematge d'arxius disponible.\n(%3$s&#37;)"
+#: ../../Zotlabs/Access/PermissionRoles.php:267
+msgid "Social - Restricted"
+msgstr "Social - Restingit"
-#: ../../Zotlabs/Storage/Browser.php:302
-msgid "WARNING:"
-msgstr "ALERTA:"
+#: ../../Zotlabs/Access/PermissionRoles.php:268
+msgid "Social - Private"
+msgstr "Social - Privat"
-#: ../../Zotlabs/Storage/Browser.php:305
-msgid "Create new folder"
-msgstr "Crea una nova carpeta"
+#: ../../Zotlabs/Access/PermissionRoles.php:271
+msgid "Community Forum"
+msgstr "Fòrum comunitari"
-#: ../../Zotlabs/Storage/Browser.php:307
-msgid "Upload file"
-msgstr "Puja arxiu"
+#: ../../Zotlabs/Access/PermissionRoles.php:272
+msgid "Forum - Mostly Public"
+msgstr "Fòrum - Principalment públic"
-#: ../../Zotlabs/Web/WebServer.php:120 ../../Zotlabs/Module/Dreport.php:10
-#: ../../Zotlabs/Module/Dreport.php:49 ../../Zotlabs/Module/Group.php:72
-#: ../../Zotlabs/Module/Like.php:284 ../../Zotlabs/Module/Import_items.php:112
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:385
-msgid "Permission denied"
-msgstr "Permís denegat"
+#: ../../Zotlabs/Access/PermissionRoles.php:273
+msgid "Forum - Restricted"
+msgstr "Fòrum - Restringit"
-#: ../../Zotlabs/Web/WebServer.php:121 ../../Zotlabs/Web/Router.php:65
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Blocks.php:73
-#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Channel.php:105
-#: ../../Zotlabs/Module/Channel.php:226 ../../Zotlabs/Module/Channel.php:267
-#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
-#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Bookmarks.php:61
-#: ../../Zotlabs/Module/Connedit.php:366 ../../Zotlabs/Module/Editblock.php:67
-#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Connections.php:33
-#: ../../Zotlabs/Module/Cover_photo.php:277
-#: ../../Zotlabs/Module/Cover_photo.php:290
-#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Events.php:265
-#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90
-#: ../../Zotlabs/Module/Editwebpage.php:69
-#: ../../Zotlabs/Module/Editwebpage.php:90
-#: ../../Zotlabs/Module/Editwebpage.php:105
-#: ../../Zotlabs/Module/Editwebpage.php:127 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Api.php:13 ../../Zotlabs/Module/Api.php:18
-#: ../../Zotlabs/Module/Filestorage.php:24
-#: ../../Zotlabs/Module/Filestorage.php:79
-#: ../../Zotlabs/Module/Filestorage.php:94
-#: ../../Zotlabs/Module/Filestorage.php:121 ../../Zotlabs/Module/Item.php:210
-#: ../../Zotlabs/Module/Item.php:218 ../../Zotlabs/Module/Item.php:1070
-#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Id.php:76
-#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Invite.php:17
-#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
-#: ../../Zotlabs/Module/Mail.php:129 ../../Zotlabs/Module/Manage.php:10
-#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Message.php:18
-#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Network.php:17
-#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
-#: ../../Zotlabs/Module/New_channel.php:104
-#: ../../Zotlabs/Module/Notifications.php:70
-#: ../../Zotlabs/Module/Photos.php:75 ../../Zotlabs/Module/Page.php:35
-#: ../../Zotlabs/Module/Page.php:90 ../../Zotlabs/Module/Pdledit.php:26
-#: ../../Zotlabs/Module/Poke.php:137 ../../Zotlabs/Module/Profile.php:68
-#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Profiles.php:203
-#: ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Profile_photo.php:256
-#: ../../Zotlabs/Module/Profile_photo.php:269
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Appman.php:75
-#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
-#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Settings.php:572 ../../Zotlabs/Module/Setup.php:215
-#: ../../Zotlabs/Module/Sharedwithme.php:11
-#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
-#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
-#: ../../Zotlabs/Module/Thing.php:331
-#: ../../Zotlabs/Module/Viewconnections.php:25
-#: ../../Zotlabs/Module/Viewconnections.php:30
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Webpages.php:74
-#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/items.php:3438
-#: ../../include/attach.php:141 ../../include/attach.php:189
-#: ../../include/attach.php:252 ../../include/attach.php:266
-#: ../../include/attach.php:273 ../../include/attach.php:338
-#: ../../include/attach.php:352 ../../include/attach.php:359
-#: ../../include/attach.php:437 ../../include/attach.php:895
-#: ../../include/attach.php:966 ../../include/attach.php:1118
-#: ../../include/photos.php:27
-msgid "Permission denied."
-msgstr "Permís denegat."
+#: ../../Zotlabs/Access/PermissionRoles.php:274
+msgid "Forum - Private"
+msgstr "Fòrum - Privat"
-#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
-msgid "Not Found"
-msgstr "No s'ha pogut trobar la pàgina"
+#: ../../Zotlabs/Access/PermissionRoles.php:277
+msgid "Feed Republish"
+msgstr "Republicador"
-#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Block.php:79
-#: ../../Zotlabs/Module/Display.php:117 ../../Zotlabs/Module/Help.php:97
-#: ../../Zotlabs/Module/Page.php:93
-msgid "Page not found."
-msgstr "Pàgina no trobada."
+#: ../../Zotlabs/Access/PermissionRoles.php:278
+msgid "Feed - Mostly Public"
+msgstr "Republicador - Principalment públic"
-#: ../../Zotlabs/Zot/Auth.php:138
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar."
+#: ../../Zotlabs/Access/PermissionRoles.php:279
+msgid "Feed - Restricted"
+msgstr "Republicador - Restringit"
-#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
-#: ../../Zotlabs/Module/Openid.php:183
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Benvingut %s. Autenticació remota reeixida."
+#: ../../Zotlabs/Access/PermissionRoles.php:282
+msgid "Special Purpose"
+msgstr "Objectiu Especial"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:283
+msgid "Special - Celebrity/Soapbox"
+msgstr "Especial - Personatge públic / Plataforma"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:284
+msgid "Special - Group Repository"
+msgstr "Especial - Repositori d'un Grup"
-#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Blocks.php:33
-#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editblock.php:31
-#: ../../Zotlabs/Module/Editlayout.php:31
-#: ../../Zotlabs/Module/Editwebpage.php:33
-#: ../../Zotlabs/Module/Filestorage.php:60 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Profile.php:20
-#: ../../Zotlabs/Module/Webpages.php:34 ../../include/channel.php:837
+#: ../../Zotlabs/Access/PermissionRoles.php:287
+#: ../../Zotlabs/Module/Cdav.php:1182 ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Settings/Channel.php:473
+#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Register.php:224 ../../include/selectors.php:49
+#: ../../include/selectors.php:66 ../../include/selectors.php:104
+#: ../../include/selectors.php:140 ../../include/event.php:1315
+#: ../../include/event.php:1322 ../../include/connections.php:689
+#: ../../include/connections.php:696
+msgid "Other"
+msgstr "Altres"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:288
+msgid "Custom/Expert Mode"
+msgstr "Personalitzat, mode expert"
+
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Articles.php:29
+#: ../../Zotlabs/Module/Editlayout.php:31 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Editwebpage.php:32
+#: ../../Zotlabs/Module/Cards.php:33 ../../Zotlabs/Module/Webpages.php:33
+#: ../../Zotlabs/Module/Filestorage.php:51 ../../include/channel.php:1198
msgid "Requested profile is not available."
msgstr "El perfil demanat no està disponible."
-#: ../../Zotlabs/Module/Achievements.php:38
-msgid "Some blurb about what to do when you're new here"
-msgstr "Algunes propostes sobre el que cal fer quan ets nou aquí"
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:94
+#: ../../Zotlabs/Module/Articles.php:68 ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Channel.php:110
+#: ../../Zotlabs/Module/Channel.php:248 ../../Zotlabs/Module/Channel.php:288
+#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Events.php:271
+#: ../../Zotlabs/Module/Appman.php:86 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Article_edit.php:51
+#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/New_channel.php:102
+#: ../../Zotlabs/Module/Sharedwithme.php:16 ../../Zotlabs/Module/Setup.php:209
+#: ../../Zotlabs/Module/Moderate.php:13
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:275
+#: ../../Zotlabs/Module/Thing.php:295 ../../Zotlabs/Module/Thing.php:336
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Profile.php:85 ../../Zotlabs/Module/Profile.php:101
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Connections.php:29
+#: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Bookmarks.php:64
+#: ../../Zotlabs/Module/Photos.php:69 ../../Zotlabs/Module/Wiki.php:50
+#: ../../Zotlabs/Module/Wiki.php:273 ../../Zotlabs/Module/Wiki.php:400
+#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Poke.php:149
+#: ../../Zotlabs/Module/Profile_photo.php:302
+#: ../../Zotlabs/Module/Profile_photo.php:315
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Item.php:229
+#: ../../Zotlabs/Module/Item.php:246 ../../Zotlabs/Module/Item.php:256
+#: ../../Zotlabs/Module/Item.php:1099 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Connedit.php:389
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Layouts.php:71
+#: ../../Zotlabs/Module/Layouts.php:78 ../../Zotlabs/Module/Layouts.php:89
+#: ../../Zotlabs/Module/Defperms.php:173 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Profiles.php:198 ../../Zotlabs/Module/Profiles.php:635
+#: ../../Zotlabs/Module/Editwebpage.php:68
+#: ../../Zotlabs/Module/Editwebpage.php:89
+#: ../../Zotlabs/Module/Editwebpage.php:107
+#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Cards.php:72 ../../Zotlabs/Module/Webpages.php:118
+#: ../../Zotlabs/Module/Block.php:24 ../../Zotlabs/Module/Block.php:74
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Sources.php:74
+#: ../../Zotlabs/Module/Like.php:185 ../../Zotlabs/Module/Suggest.php:28
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mail.php:146
+#: ../../Zotlabs/Module/Register.php:77
+#: ../../Zotlabs/Module/Cover_photo.php:281
+#: ../../Zotlabs/Module/Cover_photo.php:294
+#: ../../Zotlabs/Module/Display.php:406 ../../Zotlabs/Module/Network.php:15
+#: ../../Zotlabs/Module/Filestorage.php:15
+#: ../../Zotlabs/Module/Filestorage.php:70
+#: ../../Zotlabs/Module/Filestorage.php:85
+#: ../../Zotlabs/Module/Filestorage.php:117 ../../Zotlabs/Module/Common.php:38
+#: ../../Zotlabs/Module/Viewconnections.php:28
+#: ../../Zotlabs/Module/Viewconnections.php:33
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Card_edit.php:51
+#: ../../Zotlabs/Module/Notifications.php:11
+#: ../../Zotlabs/Lib/Chatroom.php:133 ../../Zotlabs/Web/WebServer.php:123
+#: ../../addon/keepout/keepout.php:36 ../../addon/openid/Mod_Id.php:53
+#: ../../addon/gitwiki/Mod_Gitwiki.php:196
+#: ../../addon/gitwiki/Mod_Gitwiki.php:292 ../../addon/pumpio/pumpio.php:40
+#: ../../include/attach.php:150 ../../include/attach.php:197
+#: ../../include/attach.php:270 ../../include/attach.php:284
+#: ../../include/attach.php:293 ../../include/attach.php:366
+#: ../../include/attach.php:380 ../../include/attach.php:387
+#: ../../include/attach.php:469 ../../include/attach.php:1019
+#: ../../include/attach.php:1093 ../../include/attach.php:1258
+#: ../../include/items.php:3656 ../../include/photos.php:27
+msgid "Permission denied."
+msgstr "S'ha denegat el permís."
-#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:152
-#: ../../Zotlabs/Module/Editblock.php:108
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
+#: ../../Zotlabs/Module/Editblock.php:113
msgid "Block Name"
-msgstr "Nom del Bloc"
+msgstr "Nom del bloc"
-#: ../../Zotlabs/Module/Blocks.php:151 ../../include/text.php:2265
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2402
msgid "Blocks"
-msgstr "Bloc"
+msgstr "Blocs"
-#: ../../Zotlabs/Module/Blocks.php:153
+#: ../../Zotlabs/Module/Blocks.php:156
msgid "Block Title"
msgstr "Títol del bloc"
-#: ../../Zotlabs/Module/Blocks.php:154 ../../Zotlabs/Module/Layouts.php:188
-#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:198
-#: ../../include/page_widgets.php:44
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:114
+#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:251
msgid "Created"
msgstr "Creat"
-#: ../../Zotlabs/Module/Blocks.php:155 ../../Zotlabs/Module/Layouts.php:189
-#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:199
-#: ../../include/page_widgets.php:45
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:115
+#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Webpages.php:252
msgid "Edited"
msgstr "Editat"
-#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
-#: ../../Zotlabs/Module/Photos.php:1072 ../../Zotlabs/Module/Webpages.php:188
-#: ../../include/conversation.php:1208
+#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Articles.php:96
+#: ../../Zotlabs/Module/Cdav.php:1185 ../../Zotlabs/Module/New_channel.php:146
+#: ../../Zotlabs/Module/Connedit.php:921 ../../Zotlabs/Module/Menu.php:118
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Module/Profiles.php:801
+#: ../../Zotlabs/Module/Cards.php:100 ../../Zotlabs/Module/Webpages.php:239
+#: ../../Zotlabs/Storage/Browser.php:276 ../../Zotlabs/Storage/Browser.php:382
+#: ../../Zotlabs/Widget/Cdav.php:128 ../../Zotlabs/Widget/Cdav.php:165
+msgid "Create"
+msgstr "Crea"
+
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
+#: ../../Zotlabs/Module/Article_edit.php:99
+#: ../../Zotlabs/Module/Admin/Profs.php:154
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:265
+#: ../../Zotlabs/Module/Connections.php:303
+#: ../../Zotlabs/Module/Connections.php:323 ../../Zotlabs/Module/Wiki.php:202
+#: ../../Zotlabs/Module/Wiki.php:358 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Editwebpage.php:142
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:85
+#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Lib/Apps.php:409
+#: ../../Zotlabs/Lib/ThreadItem.php:121 ../../Zotlabs/Storage/Browser.php:288
+#: ../../Zotlabs/Widget/Cdav.php:126 ../../Zotlabs/Widget/Cdav.php:162
+#: ../../addon/gitwiki/Mod_Gitwiki.php:151
+#: ../../addon/gitwiki/Mod_Gitwiki.php:252 ../../include/channel.php:1297
+#: ../../include/channel.php:1301 ../../include/menu.php:113
+msgid "Edit"
+msgstr "Edita"
+
+#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1102
+#: ../../Zotlabs/Module/Layouts.php:194 ../../Zotlabs/Module/Webpages.php:241
+#: ../../Zotlabs/Widget/Cdav.php:124 ../../include/conversation.php:1363
msgid "Share"
msgstr "Compartir"
-#: ../../Zotlabs/Module/Blocks.php:163 ../../Zotlabs/Module/Layouts.php:195
-#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Webpages.php:193
-#: ../../include/page_widgets.php:39
+#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editlayout.php:138
+#: ../../Zotlabs/Module/Cdav.php:897 ../../Zotlabs/Module/Cdav.php:1187
+#: ../../Zotlabs/Module/Article_edit.php:129
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:155
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Module/Thing.php:262 ../../Zotlabs/Module/Editblock.php:139
+#: ../../Zotlabs/Module/Connections.php:273
+#: ../../Zotlabs/Module/Photos.php:1203 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Group.php:179
+#: ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Editwebpage.php:167
+#: ../../Zotlabs/Module/Webpages.php:242
+#: ../../Zotlabs/Module/Card_edit.php:129 ../../Zotlabs/Lib/Apps.php:410
+#: ../../Zotlabs/Lib/ThreadItem.php:141 ../../Zotlabs/Storage/Browser.php:289
+#: ../../include/conversation.php:690 ../../include/conversation.php:733
+msgid "Delete"
+msgstr "Esborra"
+
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Events.php:694
+#: ../../Zotlabs/Module/Wiki.php:204 ../../Zotlabs/Module/Layouts.php:198
+#: ../../Zotlabs/Module/Webpages.php:246 ../../Zotlabs/Module/Pubsites.php:60
+#: ../../addon/gitwiki/Mod_Gitwiki.php:153
msgid "View"
msgstr "Mostra"
-#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Block.php:43
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
-msgstr "Canal no trobat."
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "S'ha superat el límit total d'invitacions."
-#: ../../Zotlabs/Module/Cal.php:69
-msgid "Permissions denied."
-msgstr "Permís denegat."
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "L'adreça de correu %s no és vàlida."
-#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:588
-msgid "l, F j"
-msgstr "l, F j"
+#: ../../Zotlabs/Module/Invite.php:67
+msgid "Please join us on $Projectname"
+msgstr "Suma't a $Projectname!"
-#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:637
-#: ../../include/text.php:1732
-msgid "Link to Source"
-msgstr "Enllaç a la Font"
+#: ../../Zotlabs/Module/Invite.php:77
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "S'ha superat el límit d'invitacions. Posa't en contacte amb l'administrador del lloc."
-#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
-msgid "Edit Event"
-msgstr "Editar l'Esdeveniment"
+#: ../../Zotlabs/Module/Invite.php:82
+#: ../../addon/notifyadmin/notifyadmin.php:40
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "No s'ha pogut lliurar la invitació a %s"
-#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:665
-msgid "Create Event"
-msgstr "Crear Esdeveniment"
+#: ../../Zotlabs/Module/Invite.php:86
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "S'ha enviat %d invitació."
+msgstr[1] "S'han enviat %d invitacions."
-#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
-#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:673
-#: ../../Zotlabs/Module/Photos.php:949
-msgid "Previous"
-msgstr "Anterior"
+#: ../../Zotlabs/Module/Invite.php:107
+msgid "You have no more invitations available"
+msgstr "No pots enviar més invitacions"
-#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
-#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Events.php:674
-#: ../../Zotlabs/Module/Photos.php:958 ../../Zotlabs/Module/Setup.php:267
-msgid "Next"
-msgstr "Pròxim"
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "Send invitations"
+msgstr "Envia invitacions"
-#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:668
-#: ../../include/widgets.php:755
-msgid "Export"
-msgstr "Exporta"
+#: ../../Zotlabs/Module/Invite.php:139
+msgid "Enter email addresses, one per line:"
+msgstr "Introdueix les adreces de correu electrònic, una per línia:"
-#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Events.php:671
-#: ../../include/widgets.php:756
-msgid "Import"
-msgstr "Importar"
+#: ../../Zotlabs/Module/Invite.php:140 ../../Zotlabs/Module/Mail.php:285
+msgid "Your message:"
+msgstr "El teu missatge:"
-#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Chat.php:196
-#: ../../Zotlabs/Module/Chat.php:238 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Connedit.php:731 ../../Zotlabs/Module/Events.php:475
-#: ../../Zotlabs/Module/Events.php:672 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Filestorage.php:162
-#: ../../Zotlabs/Module/Import.php:550
-#: ../../Zotlabs/Module/Import_items.php:120
-#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Mail.php:378 ../../Zotlabs/Module/Mood.php:139
-#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Photos.php:677
-#: ../../Zotlabs/Module/Photos.php:1052 ../../Zotlabs/Module/Photos.php:1092
-#: ../../Zotlabs/Module/Photos.php:1210 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Pdledit.php:66 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Rate.php:170
-#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
-#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
-#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
-#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
-#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Appman.php:126
-#: ../../Zotlabs/Module/Settings.php:590 ../../Zotlabs/Module/Settings.php:703
-#: ../../Zotlabs/Module/Settings.php:731 ../../Zotlabs/Module/Settings.php:754
-#: ../../Zotlabs/Module/Settings.php:842
-#: ../../Zotlabs/Module/Settings.php:1034 ../../Zotlabs/Module/Setup.php:312
-#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Thing.php:316
-#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:757
-#: ../../include/widgets.php:769 ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:99
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "Please join my community on $Projectname."
+msgstr "Vols sumar-te a la meva comunitat a $Projectname?"
+
+#: ../../Zotlabs/Module/Invite.php:143
+msgid "You will need to supply this invitation code:"
+msgstr "Hauràs de facilitar aquest codi d'invitació:"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Pots registrar-te a qualsevol node de $Projectname (estan tots interconnectats)"
+
+#: ../../Zotlabs/Module/Invite.php:146
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Escriu a la barra de cerca la meva adreça de la xarxa $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:147
+msgid "or visit"
+msgstr "o bé visita"
+
+#: ../../Zotlabs/Module/Invite.php:149
+msgid "3. Click [Connect]"
+msgstr "3. Clica [connecta]"
+
+#: ../../Zotlabs/Module/Invite.php:151 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Events.php:493
+#: ../../Zotlabs/Module/Appman.php:152
+#: ../../Zotlabs/Module/Import_items.php:129
+#: ../../Zotlabs/Module/Setup.php:308 ../../Zotlabs/Module/Setup.php:349
+#: ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Plugins.php:438
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Channels.php:147
+#: ../../Zotlabs/Module/Admin/Themes.php:158
+#: ../../Zotlabs/Module/Admin/Site.php:289
+#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Account_edit.php:74
+#: ../../Zotlabs/Module/Admin/Security.php:104
+#: ../../Zotlabs/Module/Settings/Permcats.php:110
+#: ../../Zotlabs/Module/Settings/Channel.php:488
+#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Tokens.php:168
+#: ../../Zotlabs/Module/Settings/Account.php:118
+#: ../../Zotlabs/Module/Settings/Featured.php:54
+#: ../../Zotlabs/Module/Settings/Display.php:192
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
+#: ../../Zotlabs/Module/Import.php:529 ../../Zotlabs/Module/Cal.php:345
+#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Photos.php:1082
+#: ../../Zotlabs/Module/Photos.php:1122 ../../Zotlabs/Module/Photos.php:1240
+#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Module/Pdledit.php:98
+#: ../../Zotlabs/Module/Poke.php:200 ../../Zotlabs/Module/Connedit.php:887
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:242
+#: ../../Zotlabs/Module/Email_validation.php:40
+#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Defperms.php:249
+#: ../../Zotlabs/Module/Group.php:87 ../../Zotlabs/Module/Profiles.php:726
+#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
+#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Mail.php:431
+#: ../../Zotlabs/Module/Filestorage.php:160 ../../Zotlabs/Module/Rate.php:166
+#: ../../Zotlabs/Lib/ThreadItem.php:750
+#: ../../Zotlabs/Widget/Eventstools.php:16
+#: ../../Zotlabs/Widget/Wiki_pages.php:40
+#: ../../Zotlabs/Widget/Wiki_pages.php:97
+#: ../../view/theme/redbasic_c/php/config.php:95
+#: ../../view/theme/redbasic/php/config.php:93
+#: ../../addon/skeleton/skeleton.php:65 ../../addon/gnusoc/gnusoc.php:273
+#: ../../addon/planets/planets.php:153
+#: ../../addon/openclipatar/openclipatar.php:53
+#: ../../addon/wppost/wppost.php:113 ../../addon/nsfw/nsfw.php:92
+#: ../../addon/ijpost/ijpost.php:89 ../../addon/dwpost/dwpost.php:89
+#: ../../addon/likebanner/likebanner.php:57
+#: ../../addon/redphotos/redphotos.php:136 ../../addon/irc/irc.php:53
+#: ../../addon/ljpost/ljpost.php:86 ../../addon/startpage/startpage.php:113
+#: ../../addon/diaspora/diaspora.php:822
+#: ../../addon/gitwiki/Mod_Gitwiki.php:155
+#: ../../addon/rainbowtag/rainbowtag.php:85 ../../addon/hzfiles/hzfiles.php:84
+#: ../../addon/visage/visage.php:170 ../../addon/nsabait/nsabait.php:161
+#: ../../addon/mailtest/mailtest.php:100
+#: ../../addon/openstreetmap/openstreetmap.php:168
+#: ../../addon/rtof/rtof.php:101 ../../addon/jappixmini/jappixmini.php:371
+#: ../../addon/superblock/superblock.php:120 ../../addon/nofed/nofed.php:80
+#: ../../addon/redred/redred.php:119 ../../addon/logrot/logrot.php:35
+#: ../../addon/frphotos/frphotos.php:96 ../../addon/pubcrawl/pubcrawl.php:1053
+#: ../../addon/chords/Mod_Chords.php:60 ../../addon/libertree/libertree.php:85
+#: ../../addon/flattrwidget/flattrwidget.php:124
+#: ../../addon/statusnet/statusnet.php:322
+#: ../../addon/statusnet/statusnet.php:380
+#: ../../addon/statusnet/statusnet.php:432
+#: ../../addon/statusnet/statusnet.php:900 ../../addon/twitter/twitter.php:218
+#: ../../addon/twitter/twitter.php:265
+#: ../../addon/smileybutton/smileybutton.php:219
+#: ../../addon/piwik/piwik.php:95 ../../addon/pageheader/pageheader.php:48
+#: ../../addon/authchoose/authchoose.php:71 ../../addon/xmpp/xmpp.php:69
+#: ../../addon/pumpio/pumpio.php:237 ../../addon/redfiles/redfiles.php:124
+#: ../../addon/hubwall/hubwall.php:95 ../../include/js_strings.php:22
msgid "Submit"
-msgstr "Enviar"
+msgstr "Envia"
+
+#: ../../Zotlabs/Module/Articles.php:38 ../../Zotlabs/Module/Articles.php:179
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/features.php:124
+#: ../../include/nav.php:469
+msgid "Articles"
+msgstr "Articles"
+
+#: ../../Zotlabs/Module/Articles.php:95
+msgid "Add Article"
+msgstr "Afegeix un article"
+
+#: ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Article_edit.php:17
+#: ../../Zotlabs/Module/Article_edit.php:33
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editwebpage.php:80
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Card_edit.php:17
+#: ../../Zotlabs/Module/Card_edit.php:33
+msgid "Item not found"
+msgstr "No s'ha trobat l'element"
+
+#: ../../Zotlabs/Module/Editlayout.php:128
+#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189
+msgid "Layout Name"
+msgstr "Nom del disseny"
+
+#: ../../Zotlabs/Module/Editlayout.php:129
+#: ../../Zotlabs/Module/Layouts.php:132
+msgid "Layout Description (Optional)"
+msgstr "Descripció del disseny (opcional)"
+
+#: ../../Zotlabs/Module/Editlayout.php:137
+msgid "Edit Layout"
+msgstr "Edita el disseny"
+
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:86
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Cloud.php:111 ../../Zotlabs/Module/Group.php:74
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:68
+#: ../../Zotlabs/Module/Like.php:296 ../../Zotlabs/Web/WebServer.php:122
+#: ../../addon/redphotos/redphotos.php:119 ../../addon/hzfiles/hzfiles.php:73
+#: ../../addon/frphotos/frphotos.php:81 ../../addon/redfiles/redfiles.php:109
+#: ../../include/items.php:358
+msgid "Permission denied"
+msgstr "S'ha denegat el permís"
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "L'identificador de perfil no és vàlid."
+
+#: ../../Zotlabs/Module/Profperm.php:111
+msgid "Profile Visibility Editor"
+msgstr "Editor de la visibilitat del perfil"
+
+#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1634
+msgid "Profile"
+msgstr "Perfil"
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Click on a contact to add or remove."
+msgstr "Clica sobre un contacte per afegir-lo o esborrar-lo."
+
+#: ../../Zotlabs/Module/Profperm.php:124
+msgid "Visible To"
+msgstr "Visible per"
+
+#: ../../Zotlabs/Module/Profperm.php:140
+#: ../../Zotlabs/Module/Connections.php:140
+msgid "All Connections"
+msgstr "Totes les connexions"
+
+#: ../../Zotlabs/Module/Cdav.php:785
+msgid "INVALID EVENT DISMISSED!"
+msgstr "S'HA DESCARTAT UN ESDEVENIMENT INVÀLID."
+
+#: ../../Zotlabs/Module/Cdav.php:786
+msgid "Summary: "
+msgstr "Resum:"
+
+#: ../../Zotlabs/Module/Cdav.php:786 ../../Zotlabs/Module/Cdav.php:787
+#: ../../Zotlabs/Module/Cdav.php:794 ../../Zotlabs/Module/Embedphotos.php:146
+#: ../../Zotlabs/Module/Photos.php:817 ../../Zotlabs/Module/Photos.php:1273
+#: ../../Zotlabs/Lib/Apps.php:754 ../../Zotlabs/Lib/Apps.php:832
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Widget/Portfolio.php:95
+#: ../../Zotlabs/Widget/Album.php:84 ../../addon/pubcrawl/as.php:853
+#: ../../include/conversation.php:1160
+msgid "Unknown"
+msgstr "Desconegut"
+
+#: ../../Zotlabs/Module/Cdav.php:787
+msgid "Date: "
+msgstr "Data:"
+
+#: ../../Zotlabs/Module/Cdav.php:788 ../../Zotlabs/Module/Cdav.php:795
+msgid "Reason: "
+msgstr "Motiu:"
+
+#: ../../Zotlabs/Module/Cdav.php:793
+msgid "INVALID CARD DISMISSED!"
+msgstr "S'HA DESCARTAT UNA TARGETA INVÀLIDA."
+
+#: ../../Zotlabs/Module/Cdav.php:794
+msgid "Name: "
+msgstr "Nom:"
+
+#: ../../Zotlabs/Module/Cdav.php:868 ../../Zotlabs/Module/Events.php:460
+msgid "Event title"
+msgstr "Títol de l'esdeveniment"
+
+#: ../../Zotlabs/Module/Cdav.php:869 ../../Zotlabs/Module/Events.php:466
+msgid "Start date and time"
+msgstr "Data i hora d'inici"
+
+#: ../../Zotlabs/Module/Cdav.php:869 ../../Zotlabs/Module/Cdav.php:870
+msgid "Example: YYYY-MM-DD HH:mm"
+msgstr "Exemple: AAAA-MM-DD HH:mm"
+
+#: ../../Zotlabs/Module/Cdav.php:870
+msgid "End date and time"
+msgstr "Data i hora de fi"
+
+#: ../../Zotlabs/Module/Cdav.php:871 ../../Zotlabs/Module/Events.php:473
+#: ../../Zotlabs/Module/Appman.php:142 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../addon/rendezvous/rendezvous.php:173
+msgid "Description"
+msgstr "Descripció"
+
+#: ../../Zotlabs/Module/Cdav.php:872 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Profiles.php:509
+#: ../../Zotlabs/Module/Profiles.php:737 ../../Zotlabs/Module/Pubsites.php:52
+#: ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Ubicació"
-#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:675
+#: ../../Zotlabs/Module/Cdav.php:879 ../../Zotlabs/Module/Events.php:689
+#: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Cal.php:346 ../../Zotlabs/Module/Photos.php:971
+msgid "Previous"
+msgstr "Anterior"
+
+#: ../../Zotlabs/Module/Cdav.php:880 ../../Zotlabs/Module/Events.php:690
+#: ../../Zotlabs/Module/Events.php:699 ../../Zotlabs/Module/Setup.php:263
+#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Cal.php:347
+#: ../../Zotlabs/Module/Photos.php:980
+msgid "Next"
+msgstr "Següent"
+
+#: ../../Zotlabs/Module/Cdav.php:881 ../../Zotlabs/Module/Events.php:700
+#: ../../Zotlabs/Module/Cal.php:348
msgid "Today"
msgstr "Avui"
-#: ../../Zotlabs/Module/Channel.php:29 ../../Zotlabs/Module/Chat.php:25
+#: ../../Zotlabs/Module/Cdav.php:882 ../../Zotlabs/Module/Events.php:695
+msgid "Month"
+msgstr "mes"
+
+#: ../../Zotlabs/Module/Cdav.php:883 ../../Zotlabs/Module/Events.php:696
+msgid "Week"
+msgstr "setmana"
+
+#: ../../Zotlabs/Module/Cdav.php:884 ../../Zotlabs/Module/Events.php:697
+msgid "Day"
+msgstr "dia"
+
+#: ../../Zotlabs/Module/Cdav.php:885
+msgid "List month"
+msgstr "Mes en llista"
+
+#: ../../Zotlabs/Module/Cdav.php:886
+msgid "List week"
+msgstr "Setmana en llista"
+
+#: ../../Zotlabs/Module/Cdav.php:887
+msgid "List day"
+msgstr "Dia en llista"
+
+#: ../../Zotlabs/Module/Cdav.php:894
+msgid "More"
+msgstr "Mostra més"
+
+#: ../../Zotlabs/Module/Cdav.php:895
+msgid "Less"
+msgstr "Mostra menys"
+
+#: ../../Zotlabs/Module/Cdav.php:896
+msgid "Select calendar"
+msgstr "Tria un calendari"
+
+#: ../../Zotlabs/Module/Cdav.php:898
+msgid "Delete all"
+msgstr "Esborra'ls tots"
+
+#: ../../Zotlabs/Module/Cdav.php:899 ../../Zotlabs/Module/Cdav.php:1188
+#: ../../Zotlabs/Module/Admin/Plugins.php:423
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../Zotlabs/Module/Wiki.php:345 ../../Zotlabs/Module/Wiki.php:375
+#: ../../Zotlabs/Module/Profile_photo.php:464
+#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Fbrowser.php:66
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:804
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:365
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../addon/gitwiki/Mod_Gitwiki.php:244
+#: ../../addon/gitwiki/Mod_Gitwiki.php:267 ../../include/conversation.php:1386
+#: ../../include/conversation.php:1435
+msgid "Cancel"
+msgstr "Cancel·la"
+
+#: ../../Zotlabs/Module/Cdav.php:900
+msgid "Sorry! Editing of recurrent events is not yet implemented."
+msgstr "Malauradament encara no es poden editar esdeveniments periòdics."
+
+#: ../../Zotlabs/Module/Cdav.php:1170
+#: ../../Zotlabs/Module/Sharedwithme.php:105
+#: ../../Zotlabs/Module/Admin/Channels.php:159
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
+#: ../../Zotlabs/Module/Wiki.php:209 ../../Zotlabs/Module/Connedit.php:906
+#: ../../Zotlabs/Module/Chat.php:251 ../../Zotlabs/Lib/NativeWikiPage.php:558
+#: ../../Zotlabs/Storage/Browser.php:283
+#: ../../Zotlabs/Widget/Wiki_page_history.php:22
+#: ../../addon/rendezvous/rendezvous.php:172
+#: ../../addon/gitwiki/Mod_Gitwiki.php:158
+msgid "Name"
+msgstr "Nom"
+
+#: ../../Zotlabs/Module/Cdav.php:1171 ../../Zotlabs/Module/Connedit.php:907
+msgid "Organisation"
+msgstr "Organització"
+
+#: ../../Zotlabs/Module/Cdav.php:1172 ../../Zotlabs/Module/Connedit.php:908
+msgid "Title"
+msgstr "Títol"
+
+#: ../../Zotlabs/Module/Cdav.php:1173 ../../Zotlabs/Module/Connedit.php:909
+#: ../../Zotlabs/Module/Profiles.php:789
+msgid "Phone"
+msgstr "Telèfon"
+
+#: ../../Zotlabs/Module/Cdav.php:1174
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
+#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:790
+#: ../../addon/openid/MysqlProvider.php:56
+#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
+#: ../../addon/redred/redred.php:107 ../../include/network.php:1775
+msgid "Email"
+msgstr "Correu electrònic"
+
+#: ../../Zotlabs/Module/Cdav.php:1175 ../../Zotlabs/Module/Connedit.php:911
+#: ../../Zotlabs/Module/Profiles.php:791
+msgid "Instant messenger"
+msgstr "Missatgeria instantània"
+
+#: ../../Zotlabs/Module/Cdav.php:1176 ../../Zotlabs/Module/Connedit.php:912
+#: ../../Zotlabs/Module/Profiles.php:792
+msgid "Website"
+msgstr "Lloc web"
+
+#: ../../Zotlabs/Module/Cdav.php:1177 ../../Zotlabs/Module/Locs.php:118
+#: ../../Zotlabs/Module/Admin/Channels.php:160
+#: ../../Zotlabs/Module/Connedit.php:913 ../../Zotlabs/Module/Profiles.php:502
+#: ../../Zotlabs/Module/Profiles.php:793
+msgid "Address"
+msgstr "Adreça"
+
+#: ../../Zotlabs/Module/Cdav.php:1178 ../../Zotlabs/Module/Connedit.php:914
+#: ../../Zotlabs/Module/Profiles.php:794
+msgid "Note"
+msgstr "Nota"
+
+#: ../../Zotlabs/Module/Cdav.php:1179 ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Profiles.php:795 ../../include/event.php:1308
+#: ../../include/connections.php:682
+msgid "Mobile"
+msgstr "Mòbil"
+
+#: ../../Zotlabs/Module/Cdav.php:1180 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Profiles.php:796 ../../include/event.php:1309
+#: ../../include/connections.php:683
+msgid "Home"
+msgstr "Inici"
+
+#: ../../Zotlabs/Module/Cdav.php:1181 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Profiles.php:797 ../../include/event.php:1312
+#: ../../include/connections.php:686
+msgid "Work"
+msgstr "Feina"
+
+#: ../../Zotlabs/Module/Cdav.php:1183 ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Profiles.php:799
+#: ../../addon/jappixmini/jappixmini.php:368
+msgid "Add Contact"
+msgstr "Afegeix un contacte"
+
+#: ../../Zotlabs/Module/Cdav.php:1184 ../../Zotlabs/Module/Connedit.php:920
+#: ../../Zotlabs/Module/Profiles.php:800
+msgid "Add Field"
+msgstr "Afegeix un camp"
+
+#: ../../Zotlabs/Module/Cdav.php:1186
+#: ../../Zotlabs/Module/Admin/Plugins.php:453
+#: ../../Zotlabs/Module/Settings/Oauth.php:42
+#: ../../Zotlabs/Module/Settings/Oauth.php:113
+#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Lib/Apps.php:393
+msgid "Update"
+msgstr "Actualitza"
+
+#: ../../Zotlabs/Module/Cdav.php:1189 ../../Zotlabs/Module/Connedit.php:925
+msgid "P.O. Box"
+msgstr "Apartat de correus"
+
+#: ../../Zotlabs/Module/Cdav.php:1190 ../../Zotlabs/Module/Connedit.php:926
+msgid "Additional"
+msgstr "Addicional"
+
+#: ../../Zotlabs/Module/Cdav.php:1191 ../../Zotlabs/Module/Connedit.php:927
+msgid "Street"
+msgstr "Carrer"
+
+#: ../../Zotlabs/Module/Cdav.php:1192 ../../Zotlabs/Module/Connedit.php:928
+msgid "Locality"
+msgstr "Localitat"
+
+#: ../../Zotlabs/Module/Cdav.php:1193 ../../Zotlabs/Module/Connedit.php:929
+msgid "Region"
+msgstr "Regió"
+
+#: ../../Zotlabs/Module/Cdav.php:1194 ../../Zotlabs/Module/Connedit.php:930
+msgid "ZIP Code"
+msgstr "Codi postal"
+
+#: ../../Zotlabs/Module/Cdav.php:1195 ../../Zotlabs/Module/Connedit.php:931
+#: ../../Zotlabs/Module/Profiles.php:760
+msgid "Country"
+msgstr "País"
+
+#: ../../Zotlabs/Module/Cdav.php:1242
+msgid "Default Calendar"
+msgstr "Calendari per defecte"
+
+#: ../../Zotlabs/Module/Cdav.php:1252
+msgid "Default Addressbook"
+msgstr "Llibreta d'adreces per defecte"
+
+#: ../../Zotlabs/Module/Regdir.php:49 ../../Zotlabs/Module/Dirsearch.php:25
+msgid "This site is not a directory server"
+msgstr "Aquest hub no és un servidor de directori"
+
+#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25
+#: ../../addon/gitwiki/Mod_Gitwiki.php:28 ../../addon/chess/chess.php:508
msgid "You must be logged in to see this page."
-msgstr "Has d'estar identificat per a veure aquesta pàgina."
+msgstr "Has de tenir una sessió iniciada per a veure aquesta pàgina."
-#: ../../Zotlabs/Module/Channel.php:41
+#: ../../Zotlabs/Module/Channel.php:47 ../../Zotlabs/Module/Hcard.php:37
+#: ../../Zotlabs/Module/Profile.php:45
msgid "Posts and comments"
msgstr "Entrades i comentaris"
-#: ../../Zotlabs/Module/Channel.php:42
+#: ../../Zotlabs/Module/Channel.php:54 ../../Zotlabs/Module/Hcard.php:44
+#: ../../Zotlabs/Module/Profile.php:52
msgid "Only posts"
msgstr "Només entrades"
-#: ../../Zotlabs/Module/Channel.php:102
+#: ../../Zotlabs/Module/Channel.php:107
msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permisos insuficients. Petició redirigida a la pàgina del perfil."
+msgstr "S'ha denegat el permís. La petició s'ha redirigit a la pàgina de perfil."
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
-msgstr "No s'ha trobat la sala"
+#: ../../Zotlabs/Module/Uexport.php:57 ../../Zotlabs/Module/Uexport.php:58
+msgid "Export Channel"
+msgstr "Exporta un canal"
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
-msgstr "Abandona la sala"
+#: ../../Zotlabs/Module/Uexport.php:59
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr "Exporta la informació bàsica del canal a un arxiu. Això serveix com a còpia de seguretat de les teves connexions, permisos, perfil i dades bàsiques, i pots emprar-la per a importar aquestes dades des d'un altre hub. No conté el contingut del canal."
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
-msgstr "Esborra Sala"
+#: ../../Zotlabs/Module/Uexport.php:60
+msgid "Export Content"
+msgstr "Exporta'n el contingut"
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
-msgstr "Absent"
+#: ../../Zotlabs/Module/Uexport.php:61
+msgid ""
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr "Exporta la informació del canal i tot el contingut recent a una còpia de seguretat en format JSON. Pot ser restaurada o importada des d'un altre hub. Això desa totes les teves connexions, permisos, dades de perfil i diversos mesos de publicacions. L'arxiu pot ser MOLT gran. Si et plau, sigues pacient ja que la preparació de l'arxiu pot trigar una estona, abans que el puguis començar a baixar."
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
-msgstr "Estic connectat/da"
+#: ../../Zotlabs/Module/Uexport.php:63
+msgid "Export your posts from a given year."
+msgstr "Exporta les entrades d'un any determinat."
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
-msgstr "Fes favorit aquest xat"
+#: ../../Zotlabs/Module/Uexport.php:65
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Adjust the date in your browser location bar to select other dates. "
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr "Pots també exportar les entrades i converses d'un any o un mes en particular. Ajusta la data a la barra d'adreces del navegador per seleccionar altres dates. Si l'exportació falla (possiblement degut a l'esgotament de la memòria RAM del servidor), prova de nou amb un interval de dates més petit."
-#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:205
-#: ../../Zotlabs/Module/Mail.php:314 ../../include/conversation.php:1176
-msgid "Please enter a link URL:"
-msgstr "Si us plau entra l'enllaç URL:"
+#: ../../Zotlabs/Module/Uexport.php:66
+#, php-format
+msgid ""
+"To select all posts for a given year, such as this year, visit <a "
+"href=\"%1$s\">%2$s</a>"
+msgstr "Per exemple, per seleccionar totes les entrades d'aquest any, ves a <a href=\"%1$s\">%2$s</a>"
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:258
-#: ../../Zotlabs/Module/Mail.php:383 ../../Zotlabs/Lib/ThreadItem.php:722
-#: ../../include/conversation.php:1256
-msgid "Encrypt text"
-msgstr "Text encriptat"
+#: ../../Zotlabs/Module/Uexport.php:67
+#, php-format
+msgid ""
+"To select all posts for a given month, such as January of this year, visit "
+"<a href=\"%1$s\">%2$s</a>"
+msgstr "Per exemple, per seleccionar totes les entrades del mes de gener d'aquest any, ves a <a href=\"%1$s\">%2$s</a>"
+
+#: ../../Zotlabs/Module/Uexport.php:68
+#, php-format
+msgid ""
+"These content files may be imported or restored by visiting <a "
+"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results"
+" please import or restore these in date order (oldest first)."
+msgstr "Les còpies de seguretat amb contingut es poden importar o restaurar des d'aquesta adreça <a href=\"%1$s\">%2$s</a>. En aquest cas és aquest servidor, però també serviria en un altre hub que allotgés un clon del teu canal. Si vols restaurar més d'un arxiu de contingut, per evitar problemes importa'ls en ordre cronològic."
+
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "Welcome to Hubzilla!"
+msgstr "Benvingut/da a Hubzilla!"
-#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:147 ../../Zotlabs/Module/Mail.php:252
-#: ../../Zotlabs/Module/Mail.php:377 ../../include/conversation.php:1143
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "You have got no unseen posts..."
+msgstr "No tens entrades pendents de veure..."
+
+#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Photos.php:540
+#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Directory.php:63
+#: ../../Zotlabs/Module/Directory.php:68 ../../Zotlabs/Module/Display.php:30
+#: ../../Zotlabs/Module/Viewconnections.php:23
+msgid "Public access denied."
+msgstr "L'accés públic no està permès."
+
+#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:319
+#: ../../Zotlabs/Lib/Apps.php:256 ../../Zotlabs/Widget/Sitesearch.php:31
+#: ../../include/text.php:1051 ../../include/text.php:1063
+#: ../../include/acl_selectors.php:118 ../../include/nav.php:179
+msgid "Search"
+msgstr "Cerca"
+
+#: ../../Zotlabs/Module/Search.php:226
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Elements etiquetats amb: %s"
+
+#: ../../Zotlabs/Module/Search.php:228
+#, php-format
+msgid "Search results for: %s"
+msgstr "Resultats de cerca per: %s"
+
+#: ../../Zotlabs/Module/Pubstream.php:93
+#: ../../Zotlabs/Widget/Notifications.php:131
+msgid "Public Stream"
+msgstr "Flux públic"
+
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
+msgid "Location not found."
+msgstr "No s'ha trobat la ubicació."
+
+#: ../../Zotlabs/Module/Locs.php:62
+msgid "Location lookup failed."
+msgstr "Ha fallat la cerca d'ubicació."
+
+#: ../../Zotlabs/Module/Locs.php:66
+msgid ""
+"Please select another location to become primary before removing the primary"
+" location."
+msgstr "Abans d'esborrar la ubicació principal actual, fes-ne principal una altra."
+
+#: ../../Zotlabs/Module/Locs.php:95
+msgid "Syncing locations"
+msgstr "S'estan sincronitzant les ubicacions"
+
+#: ../../Zotlabs/Module/Locs.php:105
+msgid "No locations found."
+msgstr "No s'ha trobat cap ubicació."
+
+#: ../../Zotlabs/Module/Locs.php:116
+msgid "Manage Channel Locations"
+msgstr "Gestiona les ubicacions del canal"
+
+#: ../../Zotlabs/Module/Locs.php:119 ../../Zotlabs/Module/Admin.php:111
+msgid "Primary"
+msgstr "Primària"
+
+#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
+msgid "Drop"
+msgstr "Esborra"
+
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr "Sincronitza ara"
+
+#: ../../Zotlabs/Module/Locs.php:123
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Espera uns minuts entre operacions consecutives."
+
+#: ../../Zotlabs/Module/Locs.php:124
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Si pots, és preferible esborrar la ubicació esborrant el canal des del servidor on està copiat."
+
+#: ../../Zotlabs/Module/Locs.php:125
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Fes servir aquest formulari per a esborrar la ubicació del lloc si el hub ja no està operatiu."
+
+#: ../../Zotlabs/Module/Apporder.php:44
+msgid "Change Order of Pinned Navbar Apps"
+msgstr "Canvia l'ordre de les aplicacions fixades a la barra de navegació"
+
+#: ../../Zotlabs/Module/Apporder.php:44
+msgid "Change Order of App Tray Apps"
+msgstr "Canvia l'ordre de les aplicacions de la safata d'aplicacions"
+
+#: ../../Zotlabs/Module/Apporder.php:45
+msgid ""
+"Use arrows to move the corresponding app left (top) or right (bottom) in the"
+" navbar"
+msgstr "Fes servir les fletxes per moure l'aplicació cap a l'esquerra (amunt) o cap a la dreta (avall)"
+
+#: ../../Zotlabs/Module/Apporder.php:45
+msgid "Use arrows to move the corresponding app up or down in the app tray"
+msgstr "Fes servir les fletxes per moure l'aplicació amunt o avall en la safata"
+
+#: ../../Zotlabs/Module/Mitem.php:28 ../../Zotlabs/Module/Menu.php:144
+msgid "Menu not found."
+msgstr "No s'ha trobat el menú."
+
+#: ../../Zotlabs/Module/Mitem.php:52
+msgid "Unable to create element."
+msgstr "Incapaç de crear l'element."
+
+#: ../../Zotlabs/Module/Mitem.php:76
+msgid "Unable to update menu element."
+msgstr "Incapaç d'actualitzar un element del menú."
+
+#: ../../Zotlabs/Module/Mitem.php:92
+msgid "Unable to add menu element."
+msgstr "No s'ha pogut afegir l'element de menú."
+
+#: ../../Zotlabs/Module/Mitem.php:120 ../../Zotlabs/Module/Menu.php:166
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "No s'ha trobat."
+
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
+msgid "Menu Item Permissions"
+msgstr "Permisos dels ítems de menú"
+
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid "(click to open/close)"
+msgstr "(clica per obrir/tancar)"
+
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176
+msgid "Link Name"
+msgstr "Nom de l'enllaç"
+
+#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239
+msgid "Link or Submenu Target"
+msgstr "Destí de l'enllaç o del submenú"
+
+#: ../../Zotlabs/Module/Mitem.php:161
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Introdueix la URL de l'enllaç o tria un nom de menú per crear un submenú"
+
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240
+msgid "Use magic-auth if available"
+msgstr "Empra la magic-auth si està disponible"
+
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:163
+#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
+#: ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Admin/Site.php:252
+#: ../../Zotlabs/Module/Settings/Channel.php:305
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
+#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Connedit.php:779
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Defperms.php:180 ../../Zotlabs/Module/Profiles.php:681
+#: ../../Zotlabs/Module/Filestorage.php:155
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic_c/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:98
+#: ../../addon/planets/planets.php:149 ../../addon/wppost/wppost.php:82
+#: ../../addon/wppost/wppost.php:105 ../../addon/wppost/wppost.php:109
+#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
+#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
+#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
+#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
+#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
+#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/jappixmini/jappixmini.php:313
+#: ../../addon/jappixmini/jappixmini.php:343
+#: ../../addon/jappixmini/jappixmini.php:351
+#: ../../addon/jappixmini/jappixmini.php:355
+#: ../../addon/jappixmini/jappixmini.php:359 ../../addon/nofed/nofed.php:72
+#: ../../addon/nofed/nofed.php:76 ../../addon/redred/redred.php:95
+#: ../../addon/redred/redred.php:99 ../../addon/libertree/libertree.php:69
+#: ../../addon/libertree/libertree.php:81
+#: ../../addon/flattrwidget/flattrwidget.php:120
+#: ../../addon/statusnet/statusnet.php:389
+#: ../../addon/statusnet/statusnet.php:411
+#: ../../addon/statusnet/statusnet.php:415
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
+#: ../../addon/smileybutton/smileybutton.php:211
+#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
+#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
+#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+msgid "No"
+msgstr "No"
+
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:163
+#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
+#: ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Admin/Site.php:254
+#: ../../Zotlabs/Module/Settings/Channel.php:305
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
+#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Defperms.php:180
+#: ../../Zotlabs/Module/Profiles.php:681
+#: ../../Zotlabs/Module/Filestorage.php:155
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic_c/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:98
+#: ../../addon/planets/planets.php:149 ../../addon/wppost/wppost.php:82
+#: ../../addon/wppost/wppost.php:105 ../../addon/wppost/wppost.php:109
+#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
+#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
+#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
+#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
+#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
+#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/jappixmini/jappixmini.php:313
+#: ../../addon/jappixmini/jappixmini.php:343
+#: ../../addon/jappixmini/jappixmini.php:351
+#: ../../addon/jappixmini/jappixmini.php:355
+#: ../../addon/jappixmini/jappixmini.php:359 ../../addon/nofed/nofed.php:72
+#: ../../addon/nofed/nofed.php:76 ../../addon/redred/redred.php:95
+#: ../../addon/redred/redred.php:99 ../../addon/libertree/libertree.php:69
+#: ../../addon/libertree/libertree.php:81
+#: ../../addon/flattrwidget/flattrwidget.php:120
+#: ../../addon/statusnet/statusnet.php:389
+#: ../../addon/statusnet/statusnet.php:411
+#: ../../addon/statusnet/statusnet.php:415
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
+#: ../../addon/smileybutton/smileybutton.php:211
+#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
+#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
+#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+msgid "Yes"
+msgstr "Sí"
+
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241
+msgid "Open link in new window"
+msgstr "Obre l'enllaç en una nova finestra"
+
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Order in list"
+msgstr "Ordre de la llista"
+
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Els números més alts al final de la llista"
+
+#: ../../Zotlabs/Module/Mitem.php:165
+msgid "Submit and finish"
+msgstr "Envia i acaba"
+
+#: ../../Zotlabs/Module/Mitem.php:166
+msgid "Submit and continue"
+msgstr "Envia i continua"
+
+#: ../../Zotlabs/Module/Mitem.php:174
+msgid "Menu:"
+msgstr "Menú:"
+
+#: ../../Zotlabs/Module/Mitem.php:177
+msgid "Link Target"
+msgstr "Destí de l'enllaç"
+
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Edit menu"
+msgstr "Edita el menú"
+
+#: ../../Zotlabs/Module/Mitem.php:183
+msgid "Edit element"
+msgstr "Edita l'element"
+
+#: ../../Zotlabs/Module/Mitem.php:184
+msgid "Drop element"
+msgstr "Esborra l'element"
+
+#: ../../Zotlabs/Module/Mitem.php:185
+msgid "New element"
+msgstr "Element nou"
+
+#: ../../Zotlabs/Module/Mitem.php:186
+msgid "Edit this menu container"
+msgstr "Edita el contenidor de menú"
+
+#: ../../Zotlabs/Module/Mitem.php:187
+msgid "Add menu element"
+msgstr "Afegeix un element de menú"
+
+#: ../../Zotlabs/Module/Mitem.php:188
+msgid "Delete this menu item"
+msgstr "Esborra aquest article del menú"
+
+#: ../../Zotlabs/Module/Mitem.php:189
+msgid "Edit this menu item"
+msgstr "Edita aquest article del menú"
+
+#: ../../Zotlabs/Module/Mitem.php:206
+msgid "Menu item not found."
+msgstr "No s'ha trobat l'element de menú."
+
+#: ../../Zotlabs/Module/Mitem.php:219
+msgid "Menu item deleted."
+msgstr "S'ha esborrat l'element de menú."
+
+#: ../../Zotlabs/Module/Mitem.php:221
+msgid "Menu item could not be deleted."
+msgstr "No s'ha pogut esborrar l'element de menú."
+
+#: ../../Zotlabs/Module/Mitem.php:228
+msgid "Edit Menu Element"
+msgstr "Editar elements del menú"
+
+#: ../../Zotlabs/Module/Mitem.php:238
+msgid "Link text"
+msgstr "Text de l'enllaç"
+
+#: ../../Zotlabs/Module/Events.php:25
+msgid "Calendar entries imported."
+msgstr "S'han importat les entrades de calendari."
+
+#: ../../Zotlabs/Module/Events.php:27
+msgid "No calendar entries found."
+msgstr "No s'ha trobat cap entrada de calendari."
+
+#: ../../Zotlabs/Module/Events.php:110
+msgid "Event can not end before it has started."
+msgstr "L'esdeveniment no pot acabar abans de començar."
+
+#: ../../Zotlabs/Module/Events.php:112 ../../Zotlabs/Module/Events.php:121
+#: ../../Zotlabs/Module/Events.php:143
+msgid "Unable to generate preview."
+msgstr "No s'ha pogut generar la vista prèvia."
+
+#: ../../Zotlabs/Module/Events.php:119
+msgid "Event title and start time are required."
+msgstr "Cal indicar l'inici i el final de l'esdeveniment."
+
+#: ../../Zotlabs/Module/Events.php:141 ../../Zotlabs/Module/Events.php:265
+msgid "Event not found."
+msgstr "No s'ha trobat l'esdeveniment."
+
+#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Tagger.php:73
+#: ../../Zotlabs/Module/Like.php:385 ../../include/conversation.php:119
+#: ../../include/text.php:2007 ../../include/event.php:1153
+msgid "event"
+msgstr "esdeveniment"
+
+#: ../../Zotlabs/Module/Events.php:460
+msgid "Edit event title"
+msgstr "Edita el títol de l'esdeveniment"
+
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465
+#: ../../Zotlabs/Module/Appman.php:140 ../../Zotlabs/Module/Appman.php:141
+#: ../../Zotlabs/Module/Profiles.php:748 ../../Zotlabs/Module/Profiles.php:752
+#: ../../include/datetime.php:205
+msgid "Required"
+msgstr "Obligatori"
+
+#: ../../Zotlabs/Module/Events.php:462
+msgid "Categories (comma-separated list)"
+msgstr "Categories (llista separada per comes)"
+
+#: ../../Zotlabs/Module/Events.php:463
+msgid "Edit Category"
+msgstr "Edita la categoria"
+
+#: ../../Zotlabs/Module/Events.php:463
+msgid "Category"
+msgstr "Categoria"
+
+#: ../../Zotlabs/Module/Events.php:466
+msgid "Edit start date and time"
+msgstr "Edita la data i hora d'inici"
+
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:470
+msgid "Finish date and time are not known or not relevant"
+msgstr "L'hora d'acabar és desconeguda o irrellevant"
+
+#: ../../Zotlabs/Module/Events.php:469
+msgid "Edit finish date and time"
+msgstr "Edita la data i hora de finalització"
+
+#: ../../Zotlabs/Module/Events.php:469
+msgid "Finish date and time"
+msgstr "Data i hora de finalització"
+
+#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Events.php:472
+msgid "Adjust for viewer timezone"
+msgstr "Ajusta a la zona horària de l'usuari/a"
+
+#: ../../Zotlabs/Module/Events.php:471
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "És important per esdeveniments locals, però pels globals no és pràctic."
+
+#: ../../Zotlabs/Module/Events.php:473
+msgid "Edit Description"
+msgstr "Edita la descripció"
+
+#: ../../Zotlabs/Module/Events.php:475
+msgid "Edit Location"
+msgstr "Edita la ubicació"
+
+#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Photos.php:1123
+#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/ThreadItem.php:760
+#: ../../include/conversation.php:1330
+msgid "Preview"
+msgstr "Vista prèvia"
+
+#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1402
+msgid "Permission settings"
+msgstr "Configuració de permisos"
+
+#: ../../Zotlabs/Module/Events.php:489
+msgid "Timezone:"
+msgstr "Zona horària:"
+
+#: ../../Zotlabs/Module/Events.php:494
+msgid "Advanced Options"
+msgstr "Opcions avançades"
+
+#: ../../Zotlabs/Module/Events.php:605 ../../Zotlabs/Module/Cal.php:266
+msgid "l, F j"
+msgstr "l, j \\d\\e F"
+
+#: ../../Zotlabs/Module/Events.php:633
+msgid "Edit event"
+msgstr "Edita l'esdeveniment"
+
+#: ../../Zotlabs/Module/Events.php:635
+msgid "Delete event"
+msgstr "Esborra l'esdeveniment"
+
+#: ../../Zotlabs/Module/Events.php:660 ../../Zotlabs/Module/Cal.php:315
+#: ../../include/text.php:1826
+msgid "Link to Source"
+msgstr "Enllaç a la font"
+
+#: ../../Zotlabs/Module/Events.php:669
+msgid "calendar"
+msgstr "calendari"
+
+#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:338
+msgid "Edit Event"
+msgstr "Edita l'esdeveniment"
+
+#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:338
+msgid "Create Event"
+msgstr "Crear un esdeveniment nou"
+
+#: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Cal.php:341
+#: ../../include/channel.php:1637
+msgid "Export"
+msgstr "Exporta"
+
+#: ../../Zotlabs/Module/Events.php:731
+msgid "Event removed"
+msgstr "S'ha eliminat l'esdeveniment"
+
+#: ../../Zotlabs/Module/Events.php:734
+msgid "Failed to remove event"
+msgstr "No s'ha pogut esborrar l'esdeveniment"
+
+#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:55
+msgid "App installed."
+msgstr "S'ha instaŀlat l'aplicació."
+
+#: ../../Zotlabs/Module/Appman.php:48
+msgid "Malformed app."
+msgstr "L'aplicació conté errors."
+
+#: ../../Zotlabs/Module/Appman.php:129
+msgid "Embed code"
+msgstr "Codi embegut"
+
+#: ../../Zotlabs/Module/Appman.php:135
+msgid "Edit App"
+msgstr "Edita una aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:135
+msgid "Create App"
+msgstr "Crea una aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:140
+msgid "Name of app"
+msgstr "Nom de l'aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:141
+msgid "Location (URL) of app"
+msgstr "Adreça URL de l'aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:143
+msgid "Photo icon URL"
+msgstr "Adreça URL de la icona de l'aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:143
+msgid "80 x 80 pixels - optional"
+msgstr "80x80 píxels (opcional)"
+
+#: ../../Zotlabs/Module/Appman.php:144
+msgid "Categories (optional, comma separated list)"
+msgstr "Categories (opcional, llista separada per comes)"
+
+#: ../../Zotlabs/Module/Appman.php:145
+msgid "Version ID"
+msgstr "Identificador o número de versió"
+
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "Price of app"
+msgstr "Preu de l'aplicació"
+
+#: ../../Zotlabs/Module/Appman.php:147
+msgid "Location (URL) to purchase app"
+msgstr "Adreça URL de compra de l'aplicació"
+
+#: ../../Zotlabs/Module/Regmod.php:15
+msgid "Please login."
+msgstr "Inicia sessió."
+
+#: ../../Zotlabs/Module/Magic.php:72
+msgid "Hub not found."
+msgstr "No s'ha trobat el hub."
+
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Tagger.php:69
+#: ../../Zotlabs/Module/Like.php:383
+#: ../../addon/redphotos/redphotohelper.php:71
+#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
+#: ../../include/conversation.php:116 ../../include/text.php:2004
+msgid "photo"
+msgstr "foto"
+
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Like.php:383
+#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
+#: ../../include/conversation.php:144 ../../include/text.php:2010
+msgid "status"
+msgstr "estat"
+
+#: ../../Zotlabs/Module/Subthread.php:142
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s segueix %3$s de %2$s"
+
+#: ../../Zotlabs/Module/Subthread.php:144
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr "%1$s ha deixat de seguir %3$s de %2$s"
+
+#: ../../Zotlabs/Module/Article_edit.php:44 ../../Zotlabs/Module/Cal.php:62
+#: ../../Zotlabs/Module/Chanview.php:96 ../../Zotlabs/Module/Page.php:75
+#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Block.php:41
+#: ../../Zotlabs/Module/Card_edit.php:44
+msgid "Channel not found."
+msgstr "No s'ha trobat el canal."
+
+#: ../../Zotlabs/Module/Article_edit.php:101
+#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:207
+#: ../../Zotlabs/Module/Editwebpage.php:143 ../../Zotlabs/Module/Mail.php:288
+#: ../../Zotlabs/Module/Mail.php:430 ../../Zotlabs/Module/Card_edit.php:101
+#: ../../include/conversation.php:1278
msgid "Insert web link"
-msgstr "Insereix enllaç web"
+msgstr "Insereix un enllaç web"
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
-msgstr "Funcionalitat desactivada."
+#: ../../Zotlabs/Module/Article_edit.php:117
+#: ../../Zotlabs/Module/Editblock.php:129
+#: ../../Zotlabs/Module/Card_edit.php:117 ../../include/conversation.php:1398
+msgid "Title (optional)"
+msgstr "Títol (opcional)"
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "New Chatroom"
-msgstr "Nova sala per a Xerrar"
+#: ../../Zotlabs/Module/Article_edit.php:128
+msgid "Edit Article"
+msgstr "Edita l'article"
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Chatroom name"
-msgstr "Nom de la sala de xat"
+#: ../../Zotlabs/Module/Import_items.php:48 ../../Zotlabs/Module/Import.php:64
+msgid "Nothing to import."
+msgstr "No s'ha trobat res per importar."
-#: ../../Zotlabs/Module/Chat.php:234
-msgid "Expiration of chats (minutes)"
-msgstr "Expiració dels chats (minuts)"
+#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:79
+#: ../../Zotlabs/Module/Import.php:95
+msgid "Unable to download data from old server"
+msgstr "No s'han pogut descarregar les dades del servidor antic"
-#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:153
-#: ../../Zotlabs/Module/Photos.php:671 ../../Zotlabs/Module/Photos.php:1045
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
-#: ../../include/acl_selectors.php:283
-msgid "Permissions"
-msgstr "Permisos "
+#: ../../Zotlabs/Module/Import_items.php:77
+#: ../../Zotlabs/Module/Import.php:102
+msgid "Imported file is empty."
+msgstr "El fitxer importat està buit."
-#: ../../Zotlabs/Module/Chat.php:246
+#: ../../Zotlabs/Module/Import_items.php:93
+#: ../../Zotlabs/Module/Import.php:121
#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "%1$s de Xats"
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Atenció: Les versions de les bases de dades difereixen de %1$d actualitzacions."
-#: ../../Zotlabs/Module/Chat.php:251
-msgid "No chatrooms available"
-msgstr "No hi ha sales de xat disponibles"
+#: ../../Zotlabs/Module/Import_items.php:108
+msgid "Import completed"
+msgstr "S'ha completat la importació"
-#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
-#: ../../Zotlabs/Module/Profiles.php:778
-msgid "Create New"
-msgstr "Crear Nou"
+#: ../../Zotlabs/Module/Import_items.php:125
+msgid "Import Items"
+msgstr "Importa articles"
-#: ../../Zotlabs/Module/Chat.php:255
-msgid "Expiration"
-msgstr "Expiració"
+#: ../../Zotlabs/Module/Import_items.php:126
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Empra aquest formulari per importar entrades existents i contingut d'un arxiu d'exportació."
-#: ../../Zotlabs/Module/Chat.php:256
-msgid "min"
-msgstr "min"
+#: ../../Zotlabs/Module/Import_items.php:127
+#: ../../Zotlabs/Module/Import.php:516
+msgid "File to Upload"
+msgstr "Fitxer per pujar"
-#: ../../Zotlabs/Module/Chatsvc.php:117
-msgid "Away"
-msgstr "Absent"
+#: ../../Zotlabs/Module/New_channel.php:119
+#: ../../Zotlabs/Module/Manage.php:138
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Has creat %1$.0f canals dels %2$.0f totals permesos."
-#: ../../Zotlabs/Module/Chatsvc.php:122
-msgid "Online"
-msgstr "En connexió"
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:254
+msgid "Name or caption"
+msgstr "Nom o llegenda"
-#: ../../Zotlabs/Module/Block.php:31 ../../Zotlabs/Module/Page.php:40
-msgid "Invalid item."
-msgstr "Article invàlid."
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:254
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
+msgstr "Exemples: \"Paula Gomila\", \"Manel i els seus cavalls\", \"Assemblea de veïnes del barri\", \"Filosofia\""
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Favorit afegit"
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:256
+msgid "Choose a short nickname"
+msgstr "Tria un àlies curt"
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "Els Meus Favorits"
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:256
+#, php-format
+msgid ""
+"Your nickname will be used to create an easy to remember channel address "
+"e.g. nickname%s"
+msgstr "El teu àlies servirà per crear un nom fàcil per recordar l'adreça del canal. Per exemple, àlies%s"
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "Les connexions dels meus Favorits"
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Channel role and privacy"
+msgstr "Rol i privacitat del canal"
+
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Select a channel role with your privacy requirements."
+msgstr "Tria un rol pel canal segons les teves necessitats de privacitat."
+
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Read more about roles"
+msgstr "Llegix més sobre els rols"
+
+#: ../../Zotlabs/Module/New_channel.php:138
+msgid "Create Channel"
+msgstr "Crea un canal"
+
+#: ../../Zotlabs/Module/New_channel.php:139
+msgid ""
+"A channel is your identity on this network. It can represent a person, a "
+"blog, or a forum to name a few. Channels can make connections with other "
+"channels to share information with highly detailed permissions."
+msgstr "El canal és la teva identitat en aquesta xarxa. Pot representar una persona, un bloc, o un fòrum, entre molts altres. Els canals poden connectar-se amb altres canals per compartir informació amb permisos molt detallats."
+
+#: ../../Zotlabs/Module/New_channel.php:140
+msgid ""
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr "o bé <a href=\"import\">importa un canal existent</a> des d'una altra ubicació."
+
+#: ../../Zotlabs/Module/New_channel.php:145
+msgid "Validate"
+msgstr "Valida-ho"
+
+#: ../../Zotlabs/Module/Removeme.php:35
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "No es permet esborrar un canal fins a 48 hores més tard d'haver canviant la contrasenya del compte al qual pertany."
+
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
+msgstr "Esborra aquest canal"
+
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "WARNING: "
+msgstr "ALERTA:"
+
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
+msgstr "Aquest canal serà esborrat de la xarxa completament."
+
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr "Aquesta acció és irreversible!"
+
+#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:59
+#: ../../Zotlabs/Module/Changeaddr.php:79
+msgid "Please enter your password for verification:"
+msgstr "Per seguretat, torna a introduir la contrasenya per a confirmar aquesta acció:"
+
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid "Remove this channel and all its clones from the network"
+msgstr "Elimina aquest canal i els seus clons de la xarxa"
+
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Per defecte, només es pot esborrar la instància del canal ubicada en aquest hub."
+
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:592
+msgid "Remove Channel"
+msgstr "Elimina el canal"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:104
+msgid "Files: shared with me"
+msgstr "Arxius: compartits amb mi"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:106
+msgid "NEW"
+msgstr "NOU"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:107
+#: ../../Zotlabs/Storage/Browser.php:285 ../../include/text.php:1434
+msgid "Size"
+msgstr "Mida"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../Zotlabs/Storage/Browser.php:286
+msgid "Last Modified"
+msgstr "Última modificació"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:109
+msgid "Remove all files"
+msgstr "Esborra tots els arxius"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:110
+msgid "Remove this file"
+msgstr "Esborra l'arxiu"
+
+#: ../../Zotlabs/Module/Setup.php:170
+msgid "$Projectname Server - Setup"
+msgstr "Servidor de $Projectname - Instaŀlació"
+
+#: ../../Zotlabs/Module/Setup.php:174
+msgid "Could not connect to database."
+msgstr "No s'ha pogut establir una connexió amb la base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:178
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "No s'ha pogut connectar amb la URL del lloc especificat. Comprova si hi ha un problema amb el certificat TLS o amb el registre DNS."
+
+#: ../../Zotlabs/Module/Setup.php:185
+msgid "Could not create table."
+msgstr "No s'ha pogut crear la taula."
+
+#: ../../Zotlabs/Module/Setup.php:191
+msgid "Your site database has been installed."
+msgstr "S'ha instaŀlat la base de dades del teu node."
+
+#: ../../Zotlabs/Module/Setup.php:197
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades."
+
+#: ../../Zotlabs/Module/Setup.php:198 ../../Zotlabs/Module/Setup.php:262
+#: ../../Zotlabs/Module/Setup.php:745
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Consulta el fitxer \"install/INSTALL.txt\"."
+
+#: ../../Zotlabs/Module/Setup.php:259
+msgid "System check"
+msgstr "Comprovació del sistema"
+
+#: ../../Zotlabs/Module/Setup.php:264
+msgid "Check again"
+msgstr "Comprova de nou"
+
+#: ../../Zotlabs/Module/Setup.php:286
+msgid "Database connection"
+msgstr "Connexió amb la base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:287
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Per tal d'instaŀlar $Projectname cal configurar la connexió amb la base de dades."
+
+#: ../../Zotlabs/Module/Setup.php:288
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Si tens dubtes sobre aquests paràmetres, posa't en contacte amb la proveïdora d'allotjament web o la persona que administradora del lloc."
+
+#: ../../Zotlabs/Module/Setup.php:289
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "La base de dades que especifiquis a continuació ja ha d'existir. Si no és així, crea-la abans de continuar."
+
+#: ../../Zotlabs/Module/Setup.php:293
+msgid "Database Server Name"
+msgstr "Nom del servidor de base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:293
+msgid "Default is 127.0.0.1"
+msgstr "Per defecte és 127.0.0.1"
+
+#: ../../Zotlabs/Module/Setup.php:294
+msgid "Database Port"
+msgstr "Port per a la base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:294
+msgid "Communication port number - use 0 for default"
+msgstr "Número del port. Posa 0 per fer servir el valor predeterminat"
+
+#: ../../Zotlabs/Module/Setup.php:295
+msgid "Database Login Name"
+msgstr "Nom d'usuari/a a la base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:296
+msgid "Database Login Password"
+msgstr "Contrasenya d'usuari/a a la base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:297
+msgid "Database Name"
+msgstr "Nom de la base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:298
+msgid "Database Type"
+msgstr "Tipus de base de dades"
+
+#: ../../Zotlabs/Module/Setup.php:300 ../../Zotlabs/Module/Setup.php:341
+msgid "Site administrator email address"
+msgstr "Adreça de correu de l'administrador/a del lloc"
+
+#: ../../Zotlabs/Module/Setup.php:300 ../../Zotlabs/Module/Setup.php:341
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "El teu compte de correu ha de coincidir-hi per poder emprar el panell web d'administració."
+
+#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:343
+msgid "Website URL"
+msgstr "Adreça URL del lloc web"
+
+#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:343
+msgid "Please use SSL (https) URL if available."
+msgstr "Si us plau, fes servir l'adreça amb TLS (https) si està disponible."
+
+#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:345
+msgid "Please select a default timezone for your website"
+msgstr "Escull la zona horària per defecte del teu lloc web"
+
+#: ../../Zotlabs/Module/Setup.php:330
+msgid "Site settings"
+msgstr "Configuració del lloc"
+
+#: ../../Zotlabs/Module/Setup.php:384
+msgid "PHP version 5.5 or greater is required."
+msgstr "Es necessita una versió de PHP igual o superior a la 5.5."
+
+#: ../../Zotlabs/Module/Setup.php:385
+msgid "PHP version"
+msgstr "Versió del PHP"
+
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "No s'ha pogut trobar una versió de consola del PHP en la ruta del servidor web."
+
+#: ../../Zotlabs/Module/Setup.php:402
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Si no tens una versió de línia de comandes de PHP instaŀlada al servidor, no es podran fer sondejos periòdics en segon pla, fent servir el cron."
+
+#: ../../Zotlabs/Module/Setup.php:406
+msgid "PHP executable path"
+msgstr "Ruta al binari de PHP"
+
+#: ../../Zotlabs/Module/Setup.php:406
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Introdueix la ruta al binari de php. Pots deixar-ho en blanc i continuar l'instaŀlació."
+
+#: ../../Zotlabs/Module/Setup.php:411
+msgid "Command line PHP"
+msgstr "Línia de comandes de PHP"
+
+#: ../../Zotlabs/Module/Setup.php:421
+msgid ""
+"Unable to check command line PHP, as shell_exec() is disabled. This is "
+"required."
+msgstr "No s'ha pogut fer servir PHP per línia de comandes perquè shell_exec() està deshabilitat. Cal habilitar-ho."
+
+#: ../../Zotlabs/Module/Setup.php:424
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versió de línia de comandes de PHP al teu sistema no té el \"register_argc_argv\" activat."
+
+#: ../../Zotlabs/Module/Setup.php:425
+msgid "This is required for message delivery to work."
+msgstr "Això és necessari per poder lliurar missatges."
+
+#: ../../Zotlabs/Module/Setup.php:428
+msgid "PHP register_argc_argv"
+msgstr "register_argc_argv de PHP"
+
+#: ../../Zotlabs/Module/Setup.php:446
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr "El límit màxim de pujada està establerta en %s. El límit de pujada per arxiu de pujada és de %s. Es permeten pujar %d arxius alhora."
+
+#: ../../Zotlabs/Module/Setup.php:451
+msgid "You can adjust these settings in the server php.ini file."
+msgstr "Pots modificar la configuració en l'arxiu de configuració php.ini del servidor."
+
+#: ../../Zotlabs/Module/Setup.php:453
+msgid "PHP upload limits"
+msgstr "Límits de pujada de PHP"
+
+#: ../../Zotlabs/Module/Setup.php:476
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Error: la funció \"openssl_pkey_new\" en aquest sistema no és capaç de generar claus de xifratge"
+
+#: ../../Zotlabs/Module/Setup.php:477
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Si estàs fent servir un sistema operatiu Windows, consulta \"http://www.php.net/manual/en/openssl.installation.php\"."
+
+#: ../../Zotlabs/Module/Setup.php:480
+msgid "Generate encryption keys"
+msgstr "Generar claus de xifratge"
+
+#: ../../Zotlabs/Module/Setup.php:497
+msgid "libCurl PHP module"
+msgstr "mòdul de PHP \"libCurl\""
+
+#: ../../Zotlabs/Module/Setup.php:498
+msgid "GD graphics PHP module"
+msgstr "mòdul de PHP \"GD graphics\""
+
+#: ../../Zotlabs/Module/Setup.php:499
+msgid "OpenSSL PHP module"
+msgstr "mòdul de PHP \"OpenSSL\""
+
+#: ../../Zotlabs/Module/Setup.php:500
+msgid "PDO database PHP module"
+msgstr "Mòdul PHP per la base de dades PDO"
+
+#: ../../Zotlabs/Module/Setup.php:501
+msgid "mb_string PHP module"
+msgstr "mòdul de PHP \"mb_string\""
+
+#: ../../Zotlabs/Module/Setup.php:502
+msgid "xml PHP module"
+msgstr "mòdul de PHP \"xml\""
+
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "zip PHP module"
+msgstr "Mòdul PHP per als comprimits zip"
+
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:509
+msgid "Apache mod_rewrite module"
+msgstr "mòdul d'Apache: \"mod_rewrite\""
+
+#: ../../Zotlabs/Module/Setup.php:507
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Error: es necessita el mòdul \"mod-rewrite\" del servidor web Apache, però no està instal·lat."
+
+#: ../../Zotlabs/Module/Setup.php:513 ../../Zotlabs/Module/Setup.php:516
+msgid "exec"
+msgstr "exec"
+
+#: ../../Zotlabs/Module/Setup.php:513
+msgid ""
+"Error: exec is required but is either not installed or has been disabled in "
+"php.ini"
+msgstr "Error: no s'ha pogut fer servir exec. Cal instaŀlar-lo o bé habilitar-lo al php.ini"
+
+#: ../../Zotlabs/Module/Setup.php:519 ../../Zotlabs/Module/Setup.php:522
+msgid "shell_exec"
+msgstr "shell_exec"
+
+#: ../../Zotlabs/Module/Setup.php:519
+msgid ""
+"Error: shell_exec is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Error: no s'ha pogut fer servir shell_exec. Cal instaŀlar-lo o bé habilitar-lo al php.ini"
+
+#: ../../Zotlabs/Module/Setup.php:527
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Error: es necessita el mòdul PHP \"libCURL\", però no està instal·lat."
+
+#: ../../Zotlabs/Module/Setup.php:531
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Error: es necessita el mòdul PHP \"GD graphics\" amb support JPEG, però no està instal·lat."
+
+#: ../../Zotlabs/Module/Setup.php:535
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Error: es necessita el mòdul PHP \"OpenSSL\", però no està instal·lat."
+
+#: ../../Zotlabs/Module/Setup.php:539
+msgid "Error: PDO database PHP module required but not installed."
+msgstr "Error: no s'ha trobat el mòdul PHP per a la base de dades PDO. Cal instaŀlar-lo."
+
+#: ../../Zotlabs/Module/Setup.php:543
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Error: es necessita el mòdul PHP \"mb_string\", però no està instal·lat."
+
+#: ../../Zotlabs/Module/Setup.php:547
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Error: es necessita el mòdul PHP \"xml\" per al DAV, però no està instal·lat."
+
+#: ../../Zotlabs/Module/Setup.php:551
+msgid "Error: zip PHP module required but not installed."
+msgstr "Error: no s'ha trobat el mòdul PHP per als fitxers zip. Cal instaŀlar-lo."
+
+#: ../../Zotlabs/Module/Setup.php:569
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer."
+
+#: ../../Zotlabs/Module/Setup.php:570
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els permisos de modificació."
+
+#: ../../Zotlabs/Module/Setup.php:571
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Aquest procés generarà un text que hauràs de desar en un arxiu. Ha de quedar en la carpeta arrel del servidor i, amb el nom «.htconfig.php»."
+
+#: ../../Zotlabs/Module/Setup.php:572
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "No obstant això, aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\"."
+
+#: ../../Zotlabs/Module/Setup.php:575
+msgid ".htconfig.php is writable"
+msgstr "L'arxiu «.htconfig.php» es pot modificar"
+
+#: ../../Zotlabs/Module/Setup.php:589
+msgid ""
+"This software uses the Smarty3 template engine to render its web views. "
+"Smarty3 compiles templates to PHP to speed up rendering."
+msgstr "Aquest software fa servir el motor de plantilles Smarty3 per a renderitzar les vistes web. Smarty3 compila plantilles a PHP per a agilitzar-ne el renderitzat."
+
+#: ../../Zotlabs/Module/Setup.php:590
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
+msgstr "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir permís d'escriptura en el directori %s sota la carpeta principal."
+
+#: ../../Zotlabs/Module/Setup.php:591 ../../Zotlabs/Module/Setup.php:612
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta."
+
+#: ../../Zotlabs/Module/Setup.php:592
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Nota: com a mesura de seguretat, l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté."
+
+#: ../../Zotlabs/Module/Setup.php:595
+#, php-format
+msgid "%s is writable"
+msgstr "Es pot escriure a %s"
+
+#: ../../Zotlabs/Module/Setup.php:611
+msgid ""
+"This software uses the store directory to save uploaded files. The web "
+"server needs to have write access to the store directory under the top level"
+" web folder"
+msgstr "Aquest software fa servir la carpeta \"store\" per a desar els arxius pujats. El servidor web necessita permís d'escriptura per a accedir-hi. Es troba a la carpeta arrel del servidor web."
+
+#: ../../Zotlabs/Module/Setup.php:615
+msgid "store is writable"
+msgstr "Es pot escriure al magatzem (store)"
+
+#: ../../Zotlabs/Module/Setup.php:647
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "No s'ha pogut validar el certificat TLS. Arregla-ho o deshabilita l'accés https a aquest lloc."
+
+#: ../../Zotlabs/Module/Setup.php:648
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Si tens accés per https al teu lloc web o permets connexions pel port TCP 443 (port https), has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!"
+
+#: ../../Zotlabs/Module/Setup.php:649
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi node."
+
+#: ../../Zotlabs/Module/Setup.php:650
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Si el teu certificat no és vàlid, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu."
+
+#: ../../Zotlabs/Module/Setup.php:651
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat vàlid és molt important."
+
+#: ../../Zotlabs/Module/Setup.php:652
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts."
+
+#: ../../Zotlabs/Module/Setup.php:654
+msgid ""
+"If you are confident that the certificate is valid and signed by a trusted "
+"authority, check to see if you have failed to install an intermediate cert. "
+"These are not normally required by browsers, but are required for server-to-"
+"server communications."
+msgstr "Si no tens cap dubte que el certificat és vàlid i signat per una autoritat de confiança, comprova si has instaŀlat malament un certificat intermedi. Tot i que els navegadors no en demanen, són necessaris per les connexions entre servidors."
+
+#: ../../Zotlabs/Module/Setup.php:656
+msgid "SSL certificate validation"
+msgstr "Validació del certificat TLS"
+
+#: ../../Zotlabs/Module/Setup.php:662
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:"
+
+#: ../../Zotlabs/Module/Setup.php:665
+msgid "Url rewrite is working"
+msgstr "Es poden reescriure les URL a «.htaccess»"
+
+#: ../../Zotlabs/Module/Setup.php:679
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. L'hauràs de modificar manualment amb el text de la caixa de text, i desar-lo a l'arrel del servidor web."
+
+#: ../../Zotlabs/Module/Setup.php:703
+#: ../../addon/rendezvous/rendezvous.php:401
+msgid "Errors encountered creating database tables."
+msgstr "S'han produït errors en crear taules a la base de dades."
+
+#: ../../Zotlabs/Module/Setup.php:743
+msgid "<h1>What next?</h1>"
+msgstr "<h1>I ara què</h1>"
+
+#: ../../Zotlabs/Module/Setup.php:744
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANT! Cal que configuris manualment una execució periòdica de l'enquestador (poller en anglès)."
#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
msgid "Continue"
@@ -518,17 +2119,17 @@ msgstr "Continua"
#: ../../Zotlabs/Module/Connect.php:90
msgid "Premium Channel Setup"
-msgstr "Configuració de Canals Premium"
+msgstr "Configuració dels canals prèmium"
#: ../../Zotlabs/Module/Connect.php:92
msgid "Enable premium channel connection restrictions"
-msgstr "Habilita les restriccions de connexió del canal premium"
+msgstr "Activa l'opció de restringir les connexions dels canals prèmium"
#: ../../Zotlabs/Module/Connect.php:93
msgid ""
"Please enter your restrictions or conditions, such as paypal receipt, usage "
"guidelines, etc."
-msgstr "Si us plau, introdueixi les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc."
+msgstr "Si us plau, introdueix les restriccions o condicions, com ara el rebut de PayPal, les pautes d'ús, etc."
#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
msgid ""
@@ -539,7 +2140,7 @@ msgstr "Aquest canal pot requerir passos addicionals o reconeixement de les segÃ
#: ../../Zotlabs/Module/Connect.php:96
msgid ""
"Potential connections will then see the following text before proceeding:"
-msgstr "Connexions potencials veuran el següent text abans de continuar:"
+msgstr "Les possibles connexions veuran el següent text abans de continuar:"
#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
msgid ""
@@ -549,2023 +2150,2297 @@ msgstr "En continuar, certifico que he complert amb totes les instruccions propo
#: ../../Zotlabs/Module/Connect.php:106
msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(No s'han proporcionat instruccions específiques pel propietari del canal.)"
+msgstr "(No s'han proporcionat instruccions específiques per la persona propietària del canal.)"
#: ../../Zotlabs/Module/Connect.php:114
msgid "Restricted or Premium Channel"
-msgstr "Canal Restringit o Premium"
+msgstr "Canal restringit o prèmium"
-#: ../../Zotlabs/Module/Connedit.php:80
-msgid "Could not access contact record."
-msgstr "No s'ha pogut accedir al llibre de contactes."
+#: ../../Zotlabs/Module/Admin/Queue.php:35
+msgid "Queue Statistics"
+msgstr "Estadístiques de la cua"
-#: ../../Zotlabs/Module/Connedit.php:104
-msgid "Could not locate selected profile."
-msgstr "No s'ha trobat el perfil indicat."
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Total Entries"
+msgstr "Total d'entrades"
-#: ../../Zotlabs/Module/Connedit.php:227
-msgid "Connection updated."
-msgstr "S'ha actualitzat la connexió."
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Priority"
+msgstr "Prioritat"
-#: ../../Zotlabs/Module/Connedit.php:229
-msgid "Failed to update connection record."
-msgstr "No s'ha pogut actualitzar el registre de connexió."
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Destination URL"
+msgstr "Adreça URL de Destí"
-#: ../../Zotlabs/Module/Connedit.php:276
-msgid "is now connected to"
-msgstr "Ara està conectat amb"
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Mark hub permanently offline"
+msgstr "Marca el node com a permanentment fora de línia"
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Connedit.php:654
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Api.php:89
-#: ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:459
-#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
-msgid "No"
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Empty queue for this hub"
+msgstr "Buida la cua per aquest node"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Last known contact"
+msgstr "Últim contacte conegut"
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "Off"
msgstr "No"
-#: ../../Zotlabs/Module/Connedit.php:379 ../../Zotlabs/Module/Events.php:459
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Api.php:88 ../../Zotlabs/Module/Filestorage.php:157
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Photos.php:666
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Admin.php:461
-#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Settings.php:581
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1707
-msgid "Yes"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "On"
msgstr "Sí"
-#: ../../Zotlabs/Module/Connedit.php:411
-msgid "Could not access address book record."
-msgstr "No puc accedir al registre del contacte"
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr "Bloqueja l'opció «%s»"
-#: ../../Zotlabs/Module/Connedit.php:425
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Ha fallat la recàrrega - el canal es actualment inaccesible."
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr "Gestiona les funcionalitats addicionals"
-#: ../../Zotlabs/Module/Connedit.php:440 ../../Zotlabs/Module/Connedit.php:449
-#: ../../Zotlabs/Module/Connedit.php:458 ../../Zotlabs/Module/Connedit.php:467
-#: ../../Zotlabs/Module/Connedit.php:480
-msgid "Unable to set address book parameters."
-msgstr "No es poden ajustar els paràmetres dels contactes."
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+msgid "Update has been marked successful"
+msgstr "S'ha marcat l'actualització com a exitosa"
-#: ../../Zotlabs/Module/Connedit.php:503
-msgid "Connection has been removed."
-msgstr "S'han eliminat les conexions."
+#: ../../Zotlabs/Module/Admin/Dbsync.php:31
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Ha fallat l'execució de %s. Comprova el registre del sistema."
-#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/nav.php:86 ../../include/conversation.php:954
-msgid "View Profile"
-msgstr "Veure Perfil"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:34
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "S'ha aplicat amb èxit l'actualització %s."
-#: ../../Zotlabs/Module/Connedit.php:522
+#: ../../Zotlabs/Module/Admin/Dbsync.php:38
#, php-format
-msgid "View %s's profile"
-msgstr "Mostra el perfil de %s"
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Es desconeix si l'actualització %s s'ha aplicat amb èxit, ja que no ha retornat cap resultat."
-#: ../../Zotlabs/Module/Connedit.php:526
-msgid "Refresh Permissions"
-msgstr "Recarrega els Permissos"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:41
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "No s'ha pogut trobar la funció d'actualització %s."
-#: ../../Zotlabs/Module/Connedit.php:529
-msgid "Fetch updated permissions"
-msgstr "Obté els permisos actualitzats"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Failed Updates"
+msgstr "Actualitzacions fallides"
-#: ../../Zotlabs/Module/Connedit.php:533
-msgid "Recent Activity"
-msgstr "Activitat Recent"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:61
+msgid "Mark success (if update was manually applied)"
+msgstr "Marca com a exitosa. Fes-ho només si l'actualització s'ha aplicat de forma manual i saps del cert que ha estat així."
-#: ../../Zotlabs/Module/Connedit.php:536
-msgid "View recent posts and comments"
-msgstr "Mostra les entrades i comentaris recents"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:62
+msgid "Attempt to execute this update step automatically"
+msgstr "Prova a fer automàticament aquesta actualització"
-#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1041
-msgid "Unblock"
-msgstr "Desbloquejat"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:67
+msgid "No failed updates."
+msgstr "No hi ha actualitzacions fallides."
-#: ../../Zotlabs/Module/Connedit.php:540 ../../Zotlabs/Module/Admin.php:1040
-msgid "Block"
-msgstr "Bloquejat"
+#: ../../Zotlabs/Module/Admin/Plugins.php:259
+#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:46
+#: ../../Zotlabs/Module/Display.php:410
+#: ../../Zotlabs/Module/Filestorage.php:24 ../../Zotlabs/Module/Admin.php:62
+#: ../../include/items.php:3569
+msgid "Item not found."
+msgstr "No s'ha trobat l'element."
-#: ../../Zotlabs/Module/Connedit.php:543
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió"
+#: ../../Zotlabs/Module/Admin/Plugins.php:289
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "S'ha desactivat l'extensió %s."
-#: ../../Zotlabs/Module/Connedit.php:544
-msgid "This connection is blocked!"
-msgstr "Aquesta connexió està bloquejada!"
+#: ../../Zotlabs/Module/Admin/Plugins.php:294
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "S'ha activat l'extensió %s."
-#: ../../Zotlabs/Module/Connedit.php:548
-msgid "Unignore"
-msgstr "Inhabilita"
+#: ../../Zotlabs/Module/Admin/Plugins.php:310
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+msgid "Disable"
+msgstr "Desactiva"
-#: ../../Zotlabs/Module/Connedit.php:548
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr "Ignora"
+#: ../../Zotlabs/Module/Admin/Plugins.php:313
+#: ../../Zotlabs/Module/Admin/Themes.php:97
+msgid "Enable"
+msgstr "Activa"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:341
+#: ../../Zotlabs/Module/Admin/Plugins.php:436
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Channels.php:145
+#: ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin/Themes.php:156
+#: ../../Zotlabs/Module/Admin/Site.php:287
+#: ../../Zotlabs/Module/Admin/Security.php:86
+#: ../../Zotlabs/Module/Admin.php:136
+msgid "Administration"
+msgstr "Administració"
-#: ../../Zotlabs/Module/Connedit.php:551
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Ignora (o Considera) les communicacions entrants d'aquesta connexió"
+#: ../../Zotlabs/Module/Admin/Plugins.php:342
+#: ../../Zotlabs/Module/Admin/Plugins.php:437
+#: ../../Zotlabs/Widget/Admin.php:27
+msgid "Plugins"
+msgstr "Extensions"
-#: ../../Zotlabs/Module/Connedit.php:552
-msgid "This connection is ignored!"
-msgstr "Aquesta connexió es ignorada!"
+#: ../../Zotlabs/Module/Admin/Plugins.php:343
+#: ../../Zotlabs/Module/Admin/Themes.php:124
+msgid "Toggle"
+msgstr "Commuta'n l'estat"
-#: ../../Zotlabs/Module/Connedit.php:556
-msgid "Unarchive"
-msgstr "Desarxiva"
+#: ../../Zotlabs/Module/Admin/Plugins.php:344
+#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:242
+#: ../../Zotlabs/Widget/Newmember.php:55
+#: ../../Zotlabs/Widget/Settings_menu.php:133 ../../include/nav.php:105
+#: ../../include/nav.php:192
+msgid "Settings"
+msgstr "Configuració"
-#: ../../Zotlabs/Module/Connedit.php:556
-msgid "Archive"
-msgstr "Arxiva"
+#: ../../Zotlabs/Module/Admin/Plugins.php:351
+#: ../../Zotlabs/Module/Admin/Themes.php:134
+msgid "Author: "
+msgstr "Autor/a:"
-#: ../../Zotlabs/Module/Connedit.php:559
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut "
+#: ../../Zotlabs/Module/Admin/Plugins.php:352
+#: ../../Zotlabs/Module/Admin/Themes.php:135
+msgid "Maintainer: "
+msgstr "Persona mantenidora:"
-#: ../../Zotlabs/Module/Connedit.php:560
-msgid "This connection is archived!"
-msgstr "Aquesta connexió està arxivada!"
+#: ../../Zotlabs/Module/Admin/Plugins.php:353
+msgid "Minimum project version: "
+msgstr "Versió mínima del projecte:"
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Unhide"
-msgstr "Mostra"
+#: ../../Zotlabs/Module/Admin/Plugins.php:354
+msgid "Maximum project version: "
+msgstr "Versió màxima del projecte:"
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Hide"
-msgstr "Amaga"
+#: ../../Zotlabs/Module/Admin/Plugins.php:355
+msgid "Minimum PHP version: "
+msgstr "Versió mínima de PHP:"
-#: ../../Zotlabs/Module/Connedit.php:567
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Amaga (o Mostra) aquesta connexió de les altres connexions teves"
+#: ../../Zotlabs/Module/Admin/Plugins.php:356
+msgid "Compatible Server Roles: "
+msgstr "Rols de servidor compatibles"
-#: ../../Zotlabs/Module/Connedit.php:568
-msgid "This connection is hidden!"
-msgstr "Aquesta connexió està amagada!"
+#: ../../Zotlabs/Module/Admin/Plugins.php:357
+msgid "Requires: "
+msgstr "Demana:"
-#: ../../Zotlabs/Module/Connedit.php:575
-msgid "Delete this connection"
-msgstr "Elimina aquesta connexió"
+#: ../../Zotlabs/Module/Admin/Plugins.php:358
+#: ../../Zotlabs/Module/Admin/Plugins.php:442
+msgid "Disabled - version incompatibility"
+msgstr "Desactivada - versions incompatibles"
-#: ../../Zotlabs/Module/Connedit.php:590 ../../include/widgets.php:493
-msgid "Me"
-msgstr "Jo"
+#: ../../Zotlabs/Module/Admin/Plugins.php:411
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Introdueix la URL del repositori git d'extensions. Ha de ser un repositori públic."
-#: ../../Zotlabs/Module/Connedit.php:591 ../../include/widgets.php:494
-msgid "Family"
-msgstr "Família"
+#: ../../Zotlabs/Module/Admin/Plugins.php:412
+msgid "Plugin repo git URL"
+msgstr "Adreça URL del repositori d'extensions."
-#: ../../Zotlabs/Module/Connedit.php:592 ../../Zotlabs/Module/Settings.php:342
-#: ../../Zotlabs/Module/Settings.php:346 ../../Zotlabs/Module/Settings.php:347
-#: ../../Zotlabs/Module/Settings.php:350 ../../Zotlabs/Module/Settings.php:361
-#: ../../include/widgets.php:495 ../../include/selectors.php:123
-#: ../../include/channel.php:389 ../../include/channel.php:390
-#: ../../include/channel.php:397
-msgid "Friends"
-msgstr "Amics"
+#: ../../Zotlabs/Module/Admin/Plugins.php:413
+msgid "Custom repo name"
+msgstr "Nom personalitzat pel repositori"
-#: ../../Zotlabs/Module/Connedit.php:593 ../../include/widgets.php:496
-msgid "Acquaintances"
-msgstr "Coneguts"
+#: ../../Zotlabs/Module/Admin/Plugins.php:413
+msgid "(optional)"
+msgstr "(opcional)"
-#: ../../Zotlabs/Module/Connedit.php:594
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
-msgid "All"
-msgstr "Tots"
+#: ../../Zotlabs/Module/Admin/Plugins.php:414
+msgid "Download Plugin Repo"
+msgstr "Descarrega el repositori"
-#: ../../Zotlabs/Module/Connedit.php:654
-msgid "Approve this connection"
-msgstr "Apccepta aquesta connexió"
+#: ../../Zotlabs/Module/Admin/Plugins.php:421
+msgid "Install new repo"
+msgstr "Instal·la un nou repositori"
-#: ../../Zotlabs/Module/Connedit.php:654
-msgid "Accept connection to allow communication"
-msgstr "Accepta la connexió per permetre la comunicació"
+#: ../../Zotlabs/Module/Admin/Plugins.php:422 ../../Zotlabs/Lib/Apps.php:393
+msgid "Install"
+msgstr "Instal·la"
-#: ../../Zotlabs/Module/Connedit.php:659
-msgid "Set Affinity"
-msgstr "Ajusta l'Afinitat"
+#: ../../Zotlabs/Module/Admin/Plugins.php:445
+msgid "Manage Repos"
+msgstr "Gestiona els repositoris"
-#: ../../Zotlabs/Module/Connedit.php:662
-msgid "Set Profile"
-msgstr "Ajusta el Perfil"
+#: ../../Zotlabs/Module/Admin/Plugins.php:446
+msgid "Installed Plugin Repositories"
+msgstr "Repositoris instaŀlats"
-#: ../../Zotlabs/Module/Connedit.php:665
-msgid "Set Affinity & Profile"
-msgstr "Ajusta Afinitat i Perfil"
+#: ../../Zotlabs/Module/Admin/Plugins.php:447
+msgid "Install a New Plugin Repository"
+msgstr "Instal·la un nou repositori"
-#: ../../Zotlabs/Module/Connedit.php:698
-msgid "none"
-msgstr "res"
+#: ../../Zotlabs/Module/Admin/Plugins.php:454
+msgid "Switch branch"
+msgstr "Canvia de branca"
-#: ../../Zotlabs/Module/Connedit.php:702 ../../include/widgets.php:614
-msgid "Connection Default Permissions"
-msgstr "Permisos per Defecte de la Connexió"
+#: ../../Zotlabs/Module/Admin/Plugins.php:455
+#: ../../Zotlabs/Module/Photos.php:1020 ../../Zotlabs/Module/Tagrm.php:137
+#: ../../addon/superblock/superblock.php:116
+msgid "Remove"
+msgstr "Esborra"
-#: ../../Zotlabs/Module/Connedit.php:702 ../../include/items.php:3926
+#: ../../Zotlabs/Module/Admin/Accounts.php:37
#, php-format
-msgid "Connection: %s"
-msgstr "Connexió: %s"
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "S'ha [des]bloquejat %s compte"
+msgstr[1] "S'han [des]bloquejat %s comptes"
-#: ../../Zotlabs/Module/Connedit.php:703
-msgid "Apply these permissions automatically"
-msgstr "Aplica aquests permissos automaticament"
+#: ../../Zotlabs/Module/Admin/Accounts.php:44
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "S'ha esborrat el compte %s"
+msgstr[1] "S'han esborrat %s comptes"
-#: ../../Zotlabs/Module/Connedit.php:703
-msgid "Connection requests will be approved without your interaction"
-msgstr "Les peticions de connexió seran aprovades sense la teva interacció"
+#: ../../Zotlabs/Module/Admin/Accounts.php:80
+msgid "Account not found"
+msgstr "No s'ha trobat el compte"
-#: ../../Zotlabs/Module/Connedit.php:705
-msgid "This connection's primary address is"
-msgstr "La primera adreça d'aqueste connexió es"
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2462
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "S'ha esborrat el compte '%s'"
-#: ../../Zotlabs/Module/Connedit.php:706
-msgid "Available locations:"
-msgstr "Localització disponible:"
+#: ../../Zotlabs/Module/Admin/Accounts.php:99
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "S'ha bloquejat el compte '%s'"
-#: ../../Zotlabs/Module/Connedit.php:710
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions."
+#: ../../Zotlabs/Module/Admin/Accounts.php:107
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "S'ha desbloquejat el compte '%s'"
-#: ../../Zotlabs/Module/Connedit.php:711
-msgid "Connection Tools"
-msgstr "Eines de Connexió"
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:179
+#: ../../Zotlabs/Module/Admin.php:96 ../../Zotlabs/Widget/Admin.php:23
+msgid "Accounts"
+msgstr "Comptes"
-#: ../../Zotlabs/Module/Connedit.php:713
-msgid "Slide to adjust your degree of friendship"
-msgstr "Llisca per ajustar el nivell d'amistat"
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Channels.php:148
+msgid "select all"
+msgstr "sel·leciona-ho tot"
-#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Module/Rate.php:159
-#: ../../include/js_strings.php:20
-msgid "Rating"
-msgstr "Valora"
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+msgid "Registrations waiting for confirm"
+msgstr "Inscripcions esperant confirmació"
-#: ../../Zotlabs/Module/Connedit.php:715
-msgid "Slide to adjust your rating"
-msgstr "Llisca per ajustar la valoració"
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Request date"
+msgstr "Data de la petició"
-#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Module/Connedit.php:721
-msgid "Optionally explain your rating"
-msgstr "Opcionalment pots explicar la teva valoració"
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "No registrations."
+msgstr "Sense inscripcions."
-#: ../../Zotlabs/Module/Connedit.php:718
-msgid "Custom Filter"
-msgstr "Filtre a mida"
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Connections.php:287 ../../include/conversation.php:732
+msgid "Approve"
+msgstr "Aprova"
-#: ../../Zotlabs/Module/Connedit.php:719
-msgid "Only import posts with this text"
-msgstr "Importa exclusivament entrades amb aquest text"
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+msgid "Deny"
+msgstr "Denega"
-#: ../../Zotlabs/Module/Connedit.php:719 ../../Zotlabs/Module/Connedit.php:720
-msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
-"all posts"
-msgstr "paraules una per línia o #etiquetes o /patrons/ o idioma=xx, deixar en blanc per importar totes les entrades"
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Connedit.php:622
+msgid "Block"
+msgstr "Bloqueja"
-#: ../../Zotlabs/Module/Connedit.php:720
-msgid "Do not import posts with this text"
-msgstr "No importar entrades amb aquest text"
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Connedit.php:622
+msgid "Unblock"
+msgstr "Desbloqueja"
-#: ../../Zotlabs/Module/Connedit.php:722
-msgid "This information is public!"
-msgstr "Aquesta informació es pública!"
+#: ../../Zotlabs/Module/Admin/Accounts.php:181
+msgid "ID"
+msgstr "Identificador"
-#: ../../Zotlabs/Module/Connedit.php:727
-msgid "Connection Pending Approval"
-msgstr "Connexió Pendent d'Aprovació"
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:284
+msgid "All Channels"
+msgstr "Tots els canals"
-#: ../../Zotlabs/Module/Connedit.php:730
-msgid "inherited"
-msgstr "heretat"
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "Register date"
+msgstr "Data d'inscripció"
-#: ../../Zotlabs/Module/Connedit.php:732
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur."
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Last login"
+msgstr "Últim inici de sessió"
-#: ../../Zotlabs/Module/Connedit.php:734
-msgid "Their Settings"
-msgstr "Els seus Ajustos"
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Expires"
+msgstr "Caduca"
-#: ../../Zotlabs/Module/Connedit.php:735
-msgid "My Settings"
-msgstr "Els Meus Ajustos"
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Service Class"
+msgstr "Classe de servei"
-#: ../../Zotlabs/Module/Connedit.php:737
-msgid "Individual Permissions"
-msgstr "Permisos Individuals"
+#: ../../Zotlabs/Module/Admin/Accounts.php:189
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "S'esborraran tots els comptes seleccionats!\\n\\nTot el que hagin publicat en aquest lloc també serà esborrat permanentment!\\n\\nN'estàs segur/a de continuar?"
-#: ../../Zotlabs/Module/Connedit.php:738
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí."
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "El compte {0} serà eliminat!\\n\\nTot el que hagi publicat en aquest lloc serà esborrat permanentment!\\n\\nN'estàs segur/a?"
-#: ../../Zotlabs/Module/Connedit.php:739
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr "S'ha actualitzat la configuració del registre."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48
+#: ../../Zotlabs/Widget/Admin.php:58
+msgid "Logs"
+msgstr "Registre"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr "Neteja"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr "Depuració"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr "Arxiu de registre"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats."
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "El servidor web l'ha de poder modificar. Escriu la ruta relativa respecte a la carpeta arrel del servidor web."
-#: ../../Zotlabs/Module/Connedit.php:740
-msgid "Last update:"
-msgstr "Darrera actualització:"
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr "Nivell de registre"
-#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
-#: ../../Zotlabs/Module/Photos.php:522 ../../Zotlabs/Module/Ratings.php:86
-#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:20
-msgid "Public access denied."
-msgstr "Accés públic denegat."
+#: ../../Zotlabs/Module/Admin/Channels.php:31
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s canal censurat/no censurat"
+msgstr[1] "S'han [des]censurat %s canals"
-#: ../../Zotlabs/Module/Directory.php:243
+#: ../../Zotlabs/Module/Admin/Channels.php:40
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valoració"
-msgstr[1] "%d valoracions"
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "%s codi permes/no permes al canal"
+msgstr[1] "S'han [des]activat %s codis de canal"
-#: ../../Zotlabs/Module/Directory.php:254
-msgid "Gender: "
-msgstr "Gènere:"
+#: ../../Zotlabs/Module/Admin/Channels.php:46
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s canal esborrat"
+msgstr[1] "S'han esborrat %s canals"
-#: ../../Zotlabs/Module/Directory.php:256
-msgid "Status: "
-msgstr "Estatus:"
+#: ../../Zotlabs/Module/Admin/Channels.php:65
+msgid "Channel not found"
+msgstr "No s'ha trobat el canal"
-#: ../../Zotlabs/Module/Directory.php:258
-msgid "Homepage: "
-msgstr "Pàgina Personal:"
+#: ../../Zotlabs/Module/Admin/Channels.php:75
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "S'ha esborrat el canal «%s»"
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1183
-msgid "Age:"
-msgstr "Edat:"
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "S'ha censurat el canal «%s»"
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
-#: ../../include/event.php:84 ../../include/channel.php:1027
-#: ../../include/bb2diaspora.php:507
-msgid "Location:"
-msgstr "Localització:"
+#: ../../Zotlabs/Module/Admin/Channels.php:87
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "S'ha descensurat el canal «%s»"
-#: ../../Zotlabs/Module/Directory.php:317
-msgid "Description:"
-msgstr "Descripció:"
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "S'ha activat un codi pel canal «%s»"
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1199
-msgid "Hometown:"
-msgstr "Ciutat Natal:"
+#: ../../Zotlabs/Module/Admin/Channels.php:98
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "S'ha desactivat un codi pel canal «%s»"
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1207
-msgid "About:"
-msgstr "Sobre:"
+#: ../../Zotlabs/Module/Admin/Channels.php:146
+#: ../../Zotlabs/Module/Admin.php:110 ../../Zotlabs/Widget/Admin.php:24
+msgid "Channels"
+msgstr "Canals"
-#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/widgets.php:147
-#: ../../include/widgets.php:184 ../../include/connections.php:78
-#: ../../include/conversation.php:956 ../../include/channel.php:1012
-msgid "Connect"
-msgstr "Connecta "
+#: ../../Zotlabs/Module/Admin/Channels.php:150
+msgid "Censor"
+msgstr "Censura"
-#: ../../Zotlabs/Module/Directory.php:326
-msgid "Public Forum:"
-msgstr "Forum Públic:"
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+msgid "Uncensor"
+msgstr "Descensura"
-#: ../../Zotlabs/Module/Directory.php:329
-msgid "Keywords: "
-msgstr "Paraules Clau:"
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "Allow Code"
+msgstr "Activa el codi"
-#: ../../Zotlabs/Module/Directory.php:332
-msgid "Don't suggest"
-msgstr "No suggerir"
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+msgid "Disallow Code"
+msgstr "Desactiva el codi"
-#: ../../Zotlabs/Module/Directory.php:334
-msgid "Common connections:"
-msgstr "Connexions en comú:"
+#: ../../Zotlabs/Module/Admin/Channels.php:154
+#: ../../include/conversation.php:1808 ../../include/nav.php:378
+msgid "Channel"
+msgstr "Canal"
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Global Directory"
-msgstr "Directori Global"
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+msgid "UID"
+msgstr "Identificador"
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Local Directory"
-msgstr "Directori Local"
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Els canals seleccionats estan a punt de ser esborrats\\n\\nTotes les seves publicacions en aquest lloc s'eliminaran de forma permanent!\\n\\nN'estàs segur/a? "
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../include/contact_widgets.php:23
-msgid "Find"
-msgstr "Troba"
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "El canal {0} està a punt de ser esborrat!\\n\\nTotes les seves publicacions d'aquest en aquest lloc s'eliminaran de forma permanent!\\n\\nN'estàs segur/a?"
-#: ../../Zotlabs/Module/Directory.php:389
-msgid "Finding:"
-msgstr "Cercant:"
+#: ../../Zotlabs/Module/Admin/Themes.php:26
+msgid "Theme settings updated."
+msgstr "S'ha actualitzat la configuració de tema."
-#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
-#: ../../include/contact_widgets.php:24
-msgid "Channel Suggestions"
-msgstr "Canals Suggerits"
+#: ../../Zotlabs/Module/Admin/Themes.php:61
+msgid "No themes found."
+msgstr "No s'ha trobat cap tema."
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "next page"
-msgstr "pàgina següent"
+#: ../../Zotlabs/Module/Admin/Themes.php:116
+msgid "Screenshot"
+msgstr "Captura de pantalla"
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "previous page"
-msgstr "pàgina anterior"
+#: ../../Zotlabs/Module/Admin/Themes.php:123
+#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28
+msgid "Themes"
+msgstr "Temes"
-#: ../../Zotlabs/Module/Directory.php:395
-msgid "Sort options"
-msgstr "Opcions per ordenar"
+#: ../../Zotlabs/Module/Admin/Themes.php:162
+msgid "[Experimental]"
+msgstr "[Experimental]"
-#: ../../Zotlabs/Module/Directory.php:396
-msgid "Alphabetic"
-msgstr "Alfabètic"
+#: ../../Zotlabs/Module/Admin/Themes.php:163
+msgid "[Unsupported]"
+msgstr "[Incompatible]"
-#: ../../Zotlabs/Module/Directory.php:397
-msgid "Reverse Alphabetic"
-msgstr "Alfabètic Invers"
+#: ../../Zotlabs/Module/Admin/Site.php:158
+msgid "Site settings updated."
+msgstr "S'ha actualitzat la configuració del lloc"
-#: ../../Zotlabs/Module/Directory.php:398
-msgid "Newest to Oldest"
-msgstr "De més Nou a més Vell"
+#: ../../Zotlabs/Module/Admin/Site.php:184
+#: ../../view/theme/redbasic_c/php/config.php:15
+#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3082
+msgid "Default"
+msgstr "Predeterminat"
-#: ../../Zotlabs/Module/Directory.php:399
-msgid "Oldest to Newest"
-msgstr "De més Antic a més Nou"
+#: ../../Zotlabs/Module/Admin/Site.php:195
+#: ../../Zotlabs/Module/Settings/Display.php:130
+#, php-format
+msgid "%s - (Incompatible)"
+msgstr "%s - (Incompatible)"
-#: ../../Zotlabs/Module/Directory.php:416
-msgid "No entries (some entries may be hidden)."
-msgstr "Sense entrades (algunes podrien estar amagades)."
+#: ../../Zotlabs/Module/Admin/Site.php:202
+msgid "mobile"
+msgstr "mòbil"
-#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:33
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
-#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3359
-msgid "Item not found."
-msgstr "Element no trobat."
+#: ../../Zotlabs/Module/Admin/Site.php:204
+msgid "experimental"
+msgstr "experimental"
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
-#: ../../Zotlabs/Module/Editwebpage.php:81
-msgid "Item not found"
-msgstr "No s'ha trobat l'element"
+#: ../../Zotlabs/Module/Admin/Site.php:206
+msgid "unsupported"
+msgstr "incompatible"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1228
-msgid "Title (optional)"
-msgstr "Títol (opcional)"
+#: ../../Zotlabs/Module/Admin/Site.php:253
+msgid "Yes - with approval"
+msgstr "Sí - amb aprovació"
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
-msgstr "Editar Bloc"
+#: ../../Zotlabs/Module/Admin/Site.php:259
+msgid "My site is not a public server"
+msgstr "El meu node no es un servidor públic"
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
-msgstr "No s'ha trobat el canal"
+#: ../../Zotlabs/Module/Admin/Site.php:260
+msgid "My site has paid access only"
+msgstr "El meu node només ofereix accés de pagament"
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr "Connexions en comú"
+#: ../../Zotlabs/Module/Admin/Site.php:261
+msgid "My site has free access only"
+msgstr "El meu node només ofereix accés gratuït"
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
-msgstr "No hi ha connexions en comú."
+#: ../../Zotlabs/Module/Admin/Site.php:262
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "El meu node ofereix comptes gratuïts i millores de pagament"
-#: ../../Zotlabs/Module/Connections.php:56
-#: ../../Zotlabs/Module/Connections.php:161
-#: ../../Zotlabs/Module/Connections.php:242
-msgid "Blocked"
-msgstr "Bloquejades"
+#: ../../Zotlabs/Module/Admin/Site.php:274
+msgid "Beginner/Basic"
+msgstr "Principiant/bàsica"
-#: ../../Zotlabs/Module/Connections.php:61
-#: ../../Zotlabs/Module/Connections.php:168
-#: ../../Zotlabs/Module/Connections.php:241
-msgid "Ignored"
-msgstr "Ignorades"
+#: ../../Zotlabs/Module/Admin/Site.php:275
+msgid "Novice - not skilled but willing to learn"
+msgstr "Aprenent - amb poca experiència però amb ganes d'aprendre"
-#: ../../Zotlabs/Module/Connections.php:66
-#: ../../Zotlabs/Module/Connections.php:182
-#: ../../Zotlabs/Module/Connections.php:240
-msgid "Hidden"
-msgstr "Amagades"
+#: ../../Zotlabs/Module/Admin/Site.php:276
+msgid "Intermediate - somewhat comfortable"
+msgstr "Intermedi - còmode en entorns informàtics"
-#: ../../Zotlabs/Module/Connections.php:71
-#: ../../Zotlabs/Module/Connections.php:175
-#: ../../Zotlabs/Module/Connections.php:239
-msgid "Archived"
-msgstr "Arxivades"
+#: ../../Zotlabs/Module/Admin/Site.php:277
+msgid "Advanced - very comfortable"
+msgstr "Avançat - molt còmode en entorns informàtics"
-#: ../../Zotlabs/Module/Connections.php:76
-#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1535
-msgid "New"
-msgstr "Nou"
+#: ../../Zotlabs/Module/Admin/Site.php:278
+msgid "Expert - I can write computer code"
+msgstr "Expert - Sé programar"
-#: ../../Zotlabs/Module/Connections.php:138
-msgid "New Connections"
-msgstr "Noves Connexions"
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Wizard - I probably know more than you do"
+msgstr "Bruixot - Segurament en sé més que tu"
-#: ../../Zotlabs/Module/Connections.php:141
-msgid "Show pending (new) connections"
-msgstr "Mostra les connexions pendents (noves)"
+#: ../../Zotlabs/Module/Admin/Site.php:288 ../../Zotlabs/Widget/Admin.php:22
+msgid "Site"
+msgstr "Node"
-#: ../../Zotlabs/Module/Connections.php:145
-#: ../../Zotlabs/Module/Profperm.php:144
-msgid "All Connections"
-msgstr "Totes les Connexions"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+#: ../../Zotlabs/Module/Register.php:269
+msgid "Registration"
+msgstr "Inscripcions"
-#: ../../Zotlabs/Module/Connections.php:148
-msgid "Show all connections"
-msgstr "Mostra totes les connexions"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "File upload"
+msgstr "Pujada d'arxius"
-#: ../../Zotlabs/Module/Connections.php:164
-msgid "Only show blocked connections"
-msgstr "Mostra només les connexions bloquejades"
+#: ../../Zotlabs/Module/Admin/Site.php:292
+msgid "Policies"
+msgstr "Polítiques"
-#: ../../Zotlabs/Module/Connections.php:171
-msgid "Only show ignored connections"
-msgstr "Mostra només les connexions ignorades"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avançat"
-#: ../../Zotlabs/Module/Connections.php:178
-msgid "Only show archived connections"
-msgstr "Mostra només les connexions arxivades"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+#: ../../addon/statusnet/statusnet.php:891
+msgid "Site name"
+msgstr "Nom del node"
-#: ../../Zotlabs/Module/Connections.php:185
-msgid "Only show hidden connections"
-msgstr "Mostra només les connexions amagades"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Site default technical skill level"
+msgstr "Nivell per defecte del lloc de competències tècniques"
-#: ../../Zotlabs/Module/Connections.php:238
-msgid "Pending approval"
-msgstr "Pendent d'aprovació"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Used to provide a member experience matched to technical comfort level"
+msgstr "Es fa servir per oferir una experiència ajustada al nivell tècnic de cadascú"
-#: ../../Zotlabs/Module/Connections.php:254
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Lock the technical skill level setting"
+msgstr "Bloqueja el paràmetre de nivell tècnic"
-#: ../../Zotlabs/Module/Connections.php:255
-msgid "Edit connection"
-msgstr "Modifica la connexió"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Members can set their own technical comfort level by default"
+msgstr "Per defecte, els/les membres poden modificar el paràmetre de nivell tècnic"
-#: ../../Zotlabs/Module/Connections.php:256
-msgid "Delete connection"
-msgstr "Elimina la connexió"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Banner/Logo"
+msgstr "Cartell i logotip"
-#: ../../Zotlabs/Module/Connections.php:265
-msgid "Channel address"
-msgstr "Adreça del canal"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Unfiltered HTML/CSS/JS is allowed"
+msgstr "Es permet contingut HTML, CSS i JS, sense filtrar"
-#: ../../Zotlabs/Module/Connections.php:267
-msgid "Network"
-msgstr "Xarxa"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Administrator Information"
+msgstr "Informació de l'administració"
-#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
-msgid "Status"
-msgstr "Estat"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Informació per contactar amb les persones administradores del node. Es mostra a la pàgina d'informació del node. S'hi pot emprar BBCode."
-#: ../../Zotlabs/Module/Connections.php:272
-msgid "Connected"
-msgstr "Connectat"
+#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Siteinfo.php:21
+msgid "Site Information"
+msgstr "Informació del node"
-#: ../../Zotlabs/Module/Connections.php:274
-msgid "Approve connection"
-msgstr "Aprovar la Connexió "
+#: ../../Zotlabs/Module/Admin/Site.php:305
+msgid ""
+"Publicly visible description of this site. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Descripció del node visible públicament. Es mostra a la pàgina d'informació del node. S'hi pot emprar BBCode."
-#: ../../Zotlabs/Module/Connections.php:275
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Approve"
-msgstr "Aprovat"
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "System language"
+msgstr "Llengua del sistema"
-#: ../../Zotlabs/Module/Connections.php:276
-msgid "Ignore connection"
-msgstr "Ignorar connexió"
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid "System theme"
+msgstr "Tema del sistema"
-#: ../../Zotlabs/Module/Connections.php:278
-msgid "Recent activity"
-msgstr "Activitat recent"
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Tema del sistema per defecte. Les persones usuàries poden sobreescriure'l a la configuració de perfil: <a href='#' id='cnftheme'>canvia la configuració de tema</a>"
-#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:208
-#: ../../include/text.php:875 ../../include/nav.php:186
-msgid "Connections"
-msgstr "Connexions"
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Mobile system theme"
+msgstr "Tema del sistema per a mòbils"
-#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:228 ../../include/text.php:945
-#: ../../include/text.php:957 ../../include/nav.php:165
-#: ../../include/acl_selectors.php:276
-msgid "Search"
-msgstr "Cerca"
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Theme for mobile devices"
+msgstr "Tema per a aparells mòbils"
-#: ../../Zotlabs/Module/Connections.php:307
-msgid "Search your connections"
-msgstr "Cerca entre les teves connexions"
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Allow Feeds as Connections"
+msgstr "Permet connectar-se a fluxos RSS"
-#: ../../Zotlabs/Module/Connections.php:308
-msgid "Connections search"
-msgstr "Cerca connexions"
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "(Heavy system resource usage)"
+msgstr "(Demana molts recursos de sistema)"
-#: ../../Zotlabs/Module/Cover_photo.php:58
-#: ../../Zotlabs/Module/Profile_photo.php:79
-msgid "Image uploaded but image cropping failed."
-msgstr "S'ha pujat la imatge però no s'ha pogut retallar."
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Maximum image size"
+msgstr "Mida màxima d'imatge"
-#: ../../Zotlabs/Module/Cover_photo.php:134
-#: ../../Zotlabs/Module/Cover_photo.php:181
-msgid "Cover Photos"
-msgstr "Fotos de Portada"
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Mida màxima total per les imatges pujades, en bytes. Per defecte és 0, que vol dir iŀlimitada."
-#: ../../Zotlabs/Module/Cover_photo.php:154
-#: ../../Zotlabs/Module/Profile_photo.php:133
-msgid "Image resize failed."
-msgstr "No s'ha pogut escalar la imatge."
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Does this site allow new member registration?"
+msgstr "Aquest node està obert a la inscripció de nous membres?"
-#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:192 ../../include/photos.php:144
-msgid "Unable to process image"
-msgstr "incapaç de processar la imatge"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Invitation only"
+msgstr "Només per invitació"
-#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:217
-msgid "Image upload failed."
-msgstr "La pujada de la imatge va fracassar."
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "Només permet nous membres només a través d'invitacions. Perquè tingui efecte, les inscripcions han d'estar obertes a nous membres."
-#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:236
-msgid "Unable to process image."
-msgstr "Incapaç de processar l'imatge."
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age"
+msgstr "Edat mínima"
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4270
-msgid "female"
-msgstr "femení"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age (in years) for who may register on this site."
+msgstr "Edat mínima en anys per a poder crear un compte en aquest lloc."
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4271
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "%1$s actualitzà el seu %2$s"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Quina descripció s'acosta més al tipus de comptes oferts en aquest node?"
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4272
-msgid "male"
-msgstr "masculí"
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Register text"
+msgstr "Text d'inscripció"
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4273
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "%1$s actualitzà el seu %2$s"
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Will be displayed prominently on the registration page."
+msgstr "Es mostrarà en gran a la pàgina d'inscripció"
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4275
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "%1$s actualitzà els seus %2$s"
+#: ../../Zotlabs/Module/Admin/Site.php:317
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Pàgina d'inici a mostrar als visitants (per defecte: la pàgina d'inici de sessió)"
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1661
-msgid "cover photo"
-msgstr "Foto de la portada"
+#: ../../Zotlabs/Module/Admin/Site.php:317
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "exemple: 'public' per a mostrar el flux públic, 'page/sys/home' per a mostrar una pàgina web de sistema de nom 'home', o 'include:home.html' per a incloure un arxiu."
-#: ../../Zotlabs/Module/Cover_photo.php:303
-#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:283
-#: ../../Zotlabs/Module/Profile_photo.php:324
-msgid "Photo not available."
-msgstr "Foto no disponible."
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid "Preserve site homepage URL"
+msgstr "Preserva l'adreça URL de la pàgina d'inici"
-#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:365
-msgid "Upload File:"
-msgstr "Puja Arxiu:"
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Presenta la pàgina d'inici del node en un marc en el lloc original enlloc de redirigir-hi"
-#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:366
-msgid "Select a profile:"
-msgstr "Tria un perfil:"
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid "Accounts abandoned after x days"
+msgstr "Els comptes es consideren abandonats després de X dies"
-#: ../../Zotlabs/Module/Cover_photo.php:356
-msgid "Upload Cover Photo"
-msgstr "Puja Foto de Portada"
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Estalviarà recursos del sistema en no sondejar nodes externs per a comptes abandonats. Un 0 vol dir \"mai\"."
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-#: ../../Zotlabs/Module/Settings.php:985
-msgid "or"
-msgstr "o"
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid "Allowed friend domains"
+msgstr "Dominis amb permisos de connexió"
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "skip this step"
-msgstr "salta aquest pas"
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Llista separada per comes de dominis en els quals està permès establir relacions d'amistat amb aquest node. S'accepten comodins (*). Deixa-ho buit per a acceptar qualsevol domini"
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:374
-msgid "select a photo from your photo albums"
-msgstr "tria una foto del teu àlbum de fotos"
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid "Verify Email Addresses"
+msgstr "Verifica les adreces de correu electrònic"
-#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:390
-msgid "Crop Image"
-msgstr "Retalla Imatge"
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Activa per a comprovar l'adreça de correu emprada durant la inscripció d'un nou compte (recomanat)."
-#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:391
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Si us plau, retalla la imatge per a una optima visualització"
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid "Force publish"
+msgstr "Força la publicació"
-#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:393
-msgid "Done Editing"
-msgstr "Edició Feta"
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Activa per a forçar que tots el perfils en aquest node siguin llistats en el directori del lloc."
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
-msgstr "Article no editable"
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid "Import Public Streams"
+msgstr "Importar fluxos públics"
-#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:135
-msgid "Edit post"
-msgstr "Modifica l'entrada"
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Importa i permet l'accés a contingut públic sondejat d'altres llocs. Avís: aquest contingut no estarà moderat."
-#: ../../Zotlabs/Module/Events.php:26
-msgid "Calendar entries imported."
-msgstr "Entrades de Calendari importades."
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid "Site only Public Streams"
+msgstr "Fluxos públics només locals"
-#: ../../Zotlabs/Module/Events.php:28
-msgid "No calendar entries found."
-msgstr "No es troben entrades decalendari."
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid ""
+"Allow access to public content originating only from this site if Imported "
+"Public Streams are disabled."
+msgstr "Permet accedir a aquell contingut públic que s'hagi originat en aquest lloc, suposant que no s'estan important fluxos públics d'altres nodes."
-#: ../../Zotlabs/Module/Events.php:105
-msgid "Event can not end before it has started."
-msgstr "L'esdeveniment ha de començar abans d'acabar."
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid "Allow anybody on the internet to access the Public streams"
+msgstr "Permet a qualsevol persona d'internet d'accedir els fluxos públics"
-#: ../../Zotlabs/Module/Events.php:107 ../../Zotlabs/Module/Events.php:116
-#: ../../Zotlabs/Module/Events.php:136
-msgid "Unable to generate preview."
-msgstr "No s'ha pogut generar la vista prèvia."
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid ""
+"Disable to require authentication before viewing. Warning: this content is "
+"unmoderated."
+msgstr "Desabilita-ho per a demanar iniciar sessió per poder-ho veure. Alerta: el contingut no estarà moderat."
-#: ../../Zotlabs/Module/Events.php:114
-msgid "Event title and start time are required."
-msgstr "Cal indicar l'inici i el final de l'esdeveniment."
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid "Login on Homepage"
+msgstr "Accés a la Pàgina d'inici"
-#: ../../Zotlabs/Module/Events.php:134 ../../Zotlabs/Module/Events.php:259
-msgid "Event not found."
-msgstr "No s'ha trobat l'esdeveniment."
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Presenta una casella d'identificació a la pàgina d'inici als visitants si no s'ha configurat altre contingut."
-#: ../../Zotlabs/Module/Events.php:254 ../../Zotlabs/Module/Like.php:373
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:949
-#: ../../include/text.php:1943 ../../include/conversation.php:123
-msgid "event"
-msgstr "succés"
+#: ../../Zotlabs/Module/Admin/Site.php:327
+msgid "Enable context help"
+msgstr "Activar l'ajuda contextual"
-#: ../../Zotlabs/Module/Events.php:449
-msgid "Edit event title"
-msgstr "Edita el títol d'esdeveniment"
+#: ../../Zotlabs/Module/Admin/Site.php:327
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Mostra l'ajuda contextual per la pàgina actual quan el botó d'ajuda es pressionat."
-#: ../../Zotlabs/Module/Events.php:449
-msgid "Event title"
-msgstr "Títol esdeveniment"
+#: ../../Zotlabs/Module/Admin/Site.php:329
+msgid "Reply-to email address for system generated email."
+msgstr "Adreça de correu de resposta per als correus generats."
-#: ../../Zotlabs/Module/Events.php:449 ../../Zotlabs/Module/Events.php:454
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../include/datetime.php:245
-msgid "Required"
-msgstr "Requerit"
+#: ../../Zotlabs/Module/Admin/Site.php:330
+msgid "Sender (From) email address for system generated email."
+msgstr "Adreça de correu de remitent per als correus generats."
-#: ../../Zotlabs/Module/Events.php:451
-msgid "Categories (comma-separated list)"
-msgstr "Categories (llista separada per comes)"
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid "Name of email sender for system generated email."
+msgstr "Nom visible de remitent per als correus generats."
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Edit Category"
-msgstr "Editar Categoria"
+#: ../../Zotlabs/Module/Admin/Site.php:333
+msgid "Directory Server URL"
+msgstr "URL del Servidor de Directoris"
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Category"
-msgstr "Categoria"
+#: ../../Zotlabs/Module/Admin/Site.php:333
+msgid "Default directory server"
+msgstr "Servidor de directori per defecte"
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Edit start date and time"
-msgstr "Editar data i hora d'inici"
+#: ../../Zotlabs/Module/Admin/Site.php:335
+msgid "Proxy user"
+msgstr "Usuari Proxy"
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Start date and time"
-msgstr "Data i hora d'inici"
+#: ../../Zotlabs/Module/Admin/Site.php:336
+msgid "Proxy URL"
+msgstr "URL del Proxy"
-#: ../../Zotlabs/Module/Events.php:456 ../../Zotlabs/Module/Events.php:459
-msgid "Finish date and time are not known or not relevant"
-msgstr "L'ora de finalització no es coneix o es irrelevant."
+#: ../../Zotlabs/Module/Admin/Site.php:337
+msgid "Network timeout"
+msgstr "Temps d'espera de la xarxa"
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Edit finish date and time"
-msgstr "Editar la data i hora de finalització"
+#: ../../Zotlabs/Module/Admin/Site.php:337
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Valor en segons. Ajusta a 0 per a sense límits (no recomanat)"
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Finish date and time"
-msgstr "Data i hora de finalització"
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Delivery interval"
+msgstr "Interval de lliurament"
-#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:461
-msgid "Adjust for viewer timezone"
-msgstr "Ajusta a la zona horària del visitant."
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Retarda en segon plà l'interval de lliurament per aquests segons per reduir la càrrega del sistema. Recomanat: 4-5 per a hostes compartits, 2-3 per a servidors privats virtuals. 0-1 per a servidors dedicats."
-#: ../../Zotlabs/Module/Events.php:460
+#: ../../Zotlabs/Module/Admin/Site.php:339
+msgid "Deliveries per process"
+msgstr "Entregues per processar"
+
+#: ../../Zotlabs/Module/Admin/Site.php:339
msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "És important per esdeveniments locals, però pels globals no és pràctic."
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Nombre de entregues a intentar processar en un únic procèss del sistema operatiu. Ajustar si es necessari per millorar el rendiment. Es recomana: 1-5."
-#: ../../Zotlabs/Module/Events.php:462
-msgid "Edit Description"
-msgstr "Editar la Descripció"
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid "Queue Threshold"
+msgstr "Llindar de la cua"
-#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Appman.php:117
-#: ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
-msgstr "Descripció"
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid ""
+"Always defer immediate delivery if queue contains more than this number of "
+"entries."
+msgstr "Posposa el lliurament immediat si la cua conté més d'aquest nombre d'entrades."
-#: ../../Zotlabs/Module/Events.php:464
-msgid "Edit Location"
-msgstr "Editar la localització"
+#: ../../Zotlabs/Module/Admin/Site.php:341
+msgid "Poll interval"
+msgstr "interval de sondeig"
-#: ../../Zotlabs/Module/Events.php:464 ../../Zotlabs/Module/Locs.php:117
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
-#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
-msgid "Location"
-msgstr "Localització"
+#: ../../Zotlabs/Module/Admin/Site.php:341
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Retarda en segon pla el sondeig en aquesta quantitat de segons per a reduir la càrrega dels sistema. Si es 0 , empra l'interval de lliurament."
-#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:469
-msgid "Share this event"
-msgstr "Comparteix aquest esdeveniment"
+#: ../../Zotlabs/Module/Admin/Site.php:342
+msgid "Path to ImageMagick convert program"
+msgstr "Ruta al programa de conversió d'imatges ImageMagick"
-#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Photos.php:1093
-#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/ThreadItem.php:719
-#: ../../include/conversation.php:1187 ../../include/page_widgets.php:40
-msgid "Preview"
-msgstr "Avanç"
+#: ../../Zotlabs/Module/Admin/Site.php:342
+msgid ""
+"If set, use this program to generate photo thumbnails for huge images ( > "
+"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
+"Example: /usr/bin/convert"
+msgstr "Si se n'indica la ruta, es farà servir aquest programa per a generar miniatures per a imatges enormes (més de 4000 píxels d'ample o alt). En cas contrari es pot esgotar la memòria del servidor. Ruta d'exemple: /usr/bin/convert"
-#: ../../Zotlabs/Module/Events.php:471 ../../include/conversation.php:1232
-msgid "Permission settings"
-msgstr "Ajustos de permisos"
+#: ../../Zotlabs/Module/Admin/Site.php:343
+msgid "Allow SVG thumbnails in file browser"
+msgstr "Permet miniatures en SVG a l'explorador de fitxers"
-#: ../../Zotlabs/Module/Events.php:476
-msgid "Advanced Options"
-msgstr "Opcions Avançades"
+#: ../../Zotlabs/Module/Admin/Site.php:343
+msgid "WARNING: SVG images may contain malicious code."
+msgstr "Alerta: Les imatges SVG poden contenir codi maliciós."
-#: ../../Zotlabs/Module/Events.php:610
-msgid "Edit event"
-msgstr "Edita l'esdeveniment"
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Maximum Load Average"
+msgstr "Càrrega Mitja Màxima"
-#: ../../Zotlabs/Module/Events.php:612
-msgid "Delete event"
-msgstr "Esborra l'esdeveniment"
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Càrrega màxima del sistema, abans que els processos de lliurament i sondeig es difereixin - 50 per defecte."
-#: ../../Zotlabs/Module/Events.php:646
-msgid "calendar"
-msgstr "calendari"
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Període d'expiració en dies per contingut importat (malla/xarxa)"
-#: ../../Zotlabs/Module/Events.php:706
-msgid "Event removed"
-msgstr "S'ha eliminat l'esdeveniment"
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid "0 for no expiration of imported content"
+msgstr "0 vol dir sense temps d'expiració pel contingut importat"
-#: ../../Zotlabs/Module/Events.php:709
-msgid "Failed to remove event"
-msgstr "No s'ha pogut esborrar l'esdeveniment"
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
+msgstr "Servidors públics: Pàgina d'arribada promocional per a nous usuaris o usuàries."
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:220
-#: ../../include/nav.php:92 ../../include/conversation.php:1632
-msgid "Photos"
-msgstr "Fotos"
+#: ../../Zotlabs/Module/Admin/Site.php:347
+#, php-format
+msgid "Create this page first. Default is %s/register"
+msgstr "Crea primer aquesta pàgina. Per defecte és %s/register"
-#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:591
-#: ../../Zotlabs/Module/Settings.php:617 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1259
-msgid "Cancel"
-msgstr "Cancel·la"
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Page to display after creating a new channel"
+msgstr "Pàgina que es mostrarà després d'haver creat un canal nou"
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Aquest lloc web no és un servidor de directori"
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Recommend: profiles, go, or settings"
+msgstr "Recomanat: profiles (perfils), go (mostra diverses opcions), settings (configuració)"
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "Aquest servidor de directori requereix un token de accès"
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Optional: site location"
+msgstr "Opcional: ubicació del node"
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "Save to Folder:"
-msgstr "Guardar en la Carpeta"
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Region or country"
+msgstr "Regió o país"
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "- select -"
-msgstr "- selecciona -"
+#: ../../Zotlabs/Module/Admin/Profs.php:69
+msgid "New Profile Field"
+msgstr "Camp de Perfil Nou"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "Field nickname"
+msgstr "Àlies de Camp"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "System name of field"
+msgstr "nOM DEL SISTEMA DEL CAMP"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:71
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+msgid "Input type"
+msgstr "Tipus d'entrada"
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:946
-#: ../../include/text.php:958 ../../include/widgets.php:201
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Field Name"
+msgstr "Nom de Camp"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Label on profile pages"
+msgstr "Etiqueta a les pàgines de perfil"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Help text"
+msgstr "Text d'ajuda"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Additional info (optional)"
+msgstr "Informació adicional (opcional)"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:74
+#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Widget/Notes.php:18 ../../include/text.php:1052
+#: ../../include/text.php:1064
msgid "Save"
msgstr "Guardar"
-#: ../../Zotlabs/Module/Dreport.php:27
-msgid "Invalid message"
-msgstr "Missatge invàlid."
+#: ../../Zotlabs/Module/Admin/Profs.php:83
+msgid "Field definition not found"
+msgstr "No es troba la definició del camp"
-#: ../../Zotlabs/Module/Dreport.php:59
-msgid "no results"
-msgstr "sense resultats"
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "Edit Profile Field"
+msgstr "Camp d'Edició del Perfil"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../Zotlabs/Widget/Admin.php:30
+msgid "Profile Fields"
+msgstr "Camps del Perfil"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:148
+msgid "Basic Profile Fields"
+msgstr "Camps Bàsics del Perfil"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "Advanced Profile Fields"
+msgstr "Camps Avançats del Perfil"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "(In addition to basic fields)"
+msgstr "( addicionalment als camps bàsics)"
-#: ../../Zotlabs/Module/Dreport.php:64
+#: ../../Zotlabs/Module/Admin/Profs.php:151
+msgid "All available fields"
+msgstr "Tots els camps disponibles"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:152
+msgid "Custom Fields"
+msgstr "Camps Personalitzats"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:156
+msgid "Create Custom Field"
+msgstr "Crear un Camp Personalitzat"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:29
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Informe de lliurament per %1$s"
+msgid "Password changed for account %d."
+msgstr "S'ha modificat la contrasenya pel compte %d."
-#: ../../Zotlabs/Module/Dreport.php:78
-msgid "channel sync processed"
-msgstr "sincronització del canal processada"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:46
+msgid "Account settings updated."
+msgstr "S'han actualitzat els paràmetres del compte."
-#: ../../Zotlabs/Module/Dreport.php:82
-msgid "queued"
-msgstr "Posat en cua"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:61
+msgid "Account not found."
+msgstr "No s'ha trobat el compte."
-#: ../../Zotlabs/Module/Dreport.php:86
-msgid "posted"
-msgstr "enviat"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:68
+msgid "Account Edit"
+msgstr "Edita el compte"
-#: ../../Zotlabs/Module/Dreport.php:90
-msgid "accepted for delivery"
-msgstr "acceptat per entregar"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:69
+msgid "New Password"
+msgstr "Introdueix la nova contrasenya"
-#: ../../Zotlabs/Module/Dreport.php:94
-msgid "updated"
-msgstr "actualitzat"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:70
+msgid "New Password again"
+msgstr "Repeteix la nova contrasenya"
-#: ../../Zotlabs/Module/Dreport.php:97
-msgid "update ignored"
-msgstr "actualització ignorada"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:71
+msgid "Technical skill level"
+msgstr "Nivell de competències tècniques"
-#: ../../Zotlabs/Module/Dreport.php:100
-msgid "permission denied"
-msgstr "permís denegat"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:72
+msgid "Account language (for emails)"
+msgstr "Idioma pel compte (pels correus)"
-#: ../../Zotlabs/Module/Dreport.php:104
-msgid "recipient not found"
-msgstr "Contenidor no trobat"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:73
+msgid "Service class"
+msgstr "Classe de servei"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "mail recalled"
-msgstr "Recupera el correu"
+#: ../../Zotlabs/Module/Admin/Security.php:77
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "Per defecte, HTML no filtrat està permés als media embeguts. Això es inherentment no segur."
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "duplicate mail received"
-msgstr "rebut correu duplicat"
+#: ../../Zotlabs/Module/Admin/Security.php:80
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "L'ajust recomanat és només permetre HTML sense filtrar dels següents llocs:"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "mail delivered"
-msgstr "correu entregat"
+#: ../../Zotlabs/Module/Admin/Security.php:81
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-#: ../../Zotlabs/Module/Editlayout.php:126
-#: ../../Zotlabs/Module/Layouts.php:127 ../../Zotlabs/Module/Layouts.php:186
-msgid "Layout Name"
-msgstr "Nom del Format Gràfic"
+#: ../../Zotlabs/Module/Admin/Security.php:82
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Tota la resta de contingut embegut seà filtrat, <strong>excepte</strong> contingut embegut d'aquest lloc que està blocat explícitament."
-#: ../../Zotlabs/Module/Editlayout.php:127
-#: ../../Zotlabs/Module/Layouts.php:130
-msgid "Layout Description (Optional)"
-msgstr "Descripció del Format (Opcional)"
+#: ../../Zotlabs/Module/Admin/Security.php:87
+#: ../../Zotlabs/Widget/Admin.php:25
+msgid "Security"
+msgstr "Seguretat"
-#: ../../Zotlabs/Module/Editlayout.php:135
-msgid "Edit Layout"
-msgstr "Edita Format Gràfic"
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid "Block public"
+msgstr "Bloca que sigui públic"
-#: ../../Zotlabs/Module/Editwebpage.php:143
-msgid "Page link"
-msgstr "Enllaç de la pàgina"
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "activa per blocar l'accés a les pàgines personals públiques a tothom excepte aquells/es que s'hagin autenticat en aquest node."
-#: ../../Zotlabs/Module/Editwebpage.php:169
-msgid "Edit Webpage"
-msgstr "Edita la Pàgina Web"
+#: ../../Zotlabs/Module/Admin/Security.php:90
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Set \"Transport Security\" HTTP header"
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
-msgstr "S'ha afegit el canal."
+#: ../../Zotlabs/Module/Admin/Security.php:91
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Set \"Content Security Policy\" HTTP header"
-#: ../../Zotlabs/Module/Acl.php:227
-msgid "network"
-msgstr "xarxa"
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid "Allowed email domains"
+msgstr "Dominis de correu electonic acceptats"
-#: ../../Zotlabs/Module/Acl.php:237
-msgid "RSS"
-msgstr "RSS"
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "llista separada per comes de dominis d'adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
-#: ../../Zotlabs/Module/Group.php:24
-msgid "Privacy group created."
-msgstr "Creat grup privat."
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid "Not allowed email domains"
+msgstr "Dominis de correu electrònic no acceptats"
-#: ../../Zotlabs/Module/Group.php:30
-msgid "Could not create privacy group."
-msgstr "No es pot crear el grup privat."
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "llista separada per comes de dominis d'adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats."
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3893
-msgid "Privacy group not found."
-msgstr "No es troben grups privats."
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid "Allow communications only from these sites"
+msgstr "Permetre comunicacions únicament des de aquests llocs"
-#: ../../Zotlabs/Module/Group.php:58
-msgid "Privacy group updated."
-msgstr "Grup privat actualitzat."
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Un lloc per línia. Deixar en blanc per permetre, per defecte, la comunicació amb tothom."
-#: ../../Zotlabs/Module/Group.php:90
-msgid "Create a group of channels."
-msgstr "Crear un grup de canals."
+#: ../../Zotlabs/Module/Admin/Security.php:95
+msgid "Block communications from these sites"
+msgstr "Bloca comunicacions que venen d'aquests llocs"
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
-msgid "Privacy group name: "
-msgstr "Nom del grup privat:"
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid "Allow communications only from these channels"
+msgstr "Permet la comunicació només per aquests canals"
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
-msgid "Members are visible to other channels"
-msgstr "Els membres son visibles en altres canals"
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Un canal (hash) per línia. Deixa en blanc per permetre, per defecte, la comunicació qualsevol canal."
-#: ../../Zotlabs/Module/Group.php:111
-msgid "Privacy group removed."
-msgstr "Grup privat eliminat."
+#: ../../Zotlabs/Module/Admin/Security.php:97
+msgid "Block communications from these channels"
+msgstr "Bloca les comunicacions que venen d'aquests canals"
-#: ../../Zotlabs/Module/Group.php:113
-msgid "Unable to remove privacy group."
-msgstr "No puc eliminar el grup privat."
+#: ../../Zotlabs/Module/Admin/Security.php:98
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Permetre embeguts només de llocs web i enllaços segurs (SSL)."
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group editor"
-msgstr "Editor del grup privat"
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Permetre HTML embegut sense filtrar només d'aquests dominis."
-#: ../../Zotlabs/Module/Group.php:197
-msgid "Members"
-msgstr "Membres"
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Un lloc per línia. Per defecte el contingut embegut es filtrat."
-#: ../../Zotlabs/Module/Group.php:199
-msgid "All Connected Channels"
-msgstr "Tots els Canals Connectats"
+#: ../../Zotlabs/Module/Admin/Security.php:100
+msgid "Block embedded HTML from these domains"
+msgstr "Bloca HTML embegut d'aquests dominis"
-#: ../../Zotlabs/Module/Group.php:231
-msgid "Click on a channel to add or remove."
-msgstr "Clic sobre el canal per afegir o esborrar."
+#: ../../Zotlabs/Module/Lockview.php:75
+msgid "Remote privacy information not available."
+msgstr "informació privada remota no disponible."
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Compartir contingut des de Firefox a $Projectname"
+#: ../../Zotlabs/Module/Lockview.php:96
+msgid "Visible to:"
+msgstr "Visible per:"
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Activar el proveïdor de $Projectname a Firefox"
+#: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153
+#: ../../Zotlabs/Module/Acl.php:121 ../../include/acl_selectors.php:88
+msgctxt "acl"
+msgid "Profile"
+msgstr "Perfil"
-#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
-msgid "Authorize application connection"
-msgstr "Autoritza la connexió de l'aplicació"
+#: ../../Zotlabs/Module/Moderate.php:55
+msgid "Comment approved"
+msgstr "S'ha aprovat el comentari"
-#: ../../Zotlabs/Module/Api.php:62
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Torna a la teva aplicació i insereix aquest Codi de Seguretat:"
+#: ../../Zotlabs/Module/Moderate.php:59
+msgid "Comment deleted"
+msgstr "S'ha esborrat el comentari"
-#: ../../Zotlabs/Module/Api.php:72
-msgid "Please login to continue."
-msgstr "Si et plau, identifica't per continuar."
+#: ../../Zotlabs/Module/Settings/Permcats.php:37
+msgid "Permission category saved."
+msgstr "S'ha desat la categoria de permisos."
-#: ../../Zotlabs/Module/Api.php:87
+#: ../../Zotlabs/Module/Settings/Permcats.php:61
msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix."
+"Use this form to create permission rules for various classes of people or "
+"connections."
+msgstr "Pots crear regles de permisos segons classe de persona o de connexió."
-#: ../../Zotlabs/Module/Help.php:26
-msgid "Documentation Search"
-msgstr "Cerca de Documentació"
+#: ../../Zotlabs/Module/Settings/Permcats.php:94
+msgid "Permission Categories"
+msgstr "Categories de permisos"
-#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
-#: ../../Zotlabs/Module/Help.php:79
-msgid "Help:"
-msgstr "Ajuda:"
+#: ../../Zotlabs/Module/Settings/Permcats.php:102
+msgid "Permission Name"
+msgstr "Nom de permís"
-#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:183 ../../Zotlabs/Lib/Apps.php:223
-#: ../../include/nav.php:159
-msgid "Help"
-msgstr "Ajuda"
+#: ../../Zotlabs/Module/Settings/Permcats.php:103
+#: ../../Zotlabs/Module/Settings/Tokens.php:161
+#: ../../Zotlabs/Module/Connedit.php:891 ../../Zotlabs/Module/Defperms.php:250
+msgid "My Settings"
+msgstr "Els Meus Ajustos"
-#: ../../Zotlabs/Module/Help.php:120
-msgid "$Projectname Documentation"
-msgstr "$Projectname Documentació"
+#: ../../Zotlabs/Module/Settings/Permcats.php:105
+#: ../../Zotlabs/Module/Settings/Tokens.php:163
+#: ../../Zotlabs/Module/Connedit.php:886 ../../Zotlabs/Module/Defperms.php:248
+msgid "inherited"
+msgstr "heretat"
-#: ../../Zotlabs/Module/Filestorage.php:88
-msgid "Permission Denied."
-msgstr "Permisos Denegats."
+#: ../../Zotlabs/Module/Settings/Permcats.php:108
+#: ../../Zotlabs/Module/Settings/Tokens.php:166
+#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Defperms.php:253
+msgid "Individual Permissions"
+msgstr "Permisos Individuals"
-#: ../../Zotlabs/Module/Filestorage.php:104
-msgid "File not found."
-msgstr "Arxiu no torbat."
+#: ../../Zotlabs/Module/Settings/Permcats.php:109
+#: ../../Zotlabs/Module/Settings/Tokens.php:167
+#: ../../Zotlabs/Module/Connedit.php:894
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>No</strong> pots canviar aquests ajustos aquí."
-#: ../../Zotlabs/Module/Filestorage.php:147
-msgid "Edit file permissions"
-msgstr "Edita els permisos d'arxiu"
+#: ../../Zotlabs/Module/Settings/Channel.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:68
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:72
+#: ../../Zotlabs/Module/Settings/Channel.php:83
+#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:24
+#: ../../include/selectors.php:123 ../../include/channel.php:437
+#: ../../include/channel.php:438 ../../include/channel.php:445
+msgid "Friends"
+msgstr "Amics"
-#: ../../Zotlabs/Module/Filestorage.php:156
-msgid "Set/edit permissions"
-msgstr "Canvia/edita permisos"
+#: ../../Zotlabs/Module/Settings/Channel.php:262
+#: ../../Zotlabs/Module/Defperms.php:103
+#: ../../addon/rendezvous/rendezvous.php:82
+#: ../../addon/openstreetmap/openstreetmap.php:184
+#: ../../addon/msgfooter/msgfooter.php:54 ../../addon/logrot/logrot.php:54
+#: ../../addon/twitter/twitter.php:772 ../../addon/piwik/piwik.php:116
+#: ../../addon/xmpp/xmpp.php:102
+msgid "Settings updated."
+msgstr "Ajustes actualizados."
-#: ../../Zotlabs/Module/Filestorage.php:157
-msgid "Include all files and sub folders"
-msgstr "Inclou tots als arxius i subdirectoris"
+#: ../../Zotlabs/Module/Settings/Channel.php:323
+msgid "Nobody except yourself"
+msgstr "Ningú excepte tú"
-#: ../../Zotlabs/Module/Filestorage.php:158
-msgid "Return to file list"
-msgstr "Tornar al llistat d'arxius"
+#: ../../Zotlabs/Module/Settings/Channel.php:324
+msgid "Only those you specifically allow"
+msgstr "Només allò que específicament permetis"
-#: ../../Zotlabs/Module/Filestorage.php:160
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada"
+#: ../../Zotlabs/Module/Settings/Channel.php:325
+msgid "Approved connections"
+msgstr "Connexions aprovades"
-#: ../../Zotlabs/Module/Filestorage.php:161
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web"
+#: ../../Zotlabs/Module/Settings/Channel.php:326
+msgid "Any connections"
+msgstr "Qualsevol connexió"
-#: ../../Zotlabs/Module/Filestorage.php:163
-msgid "Share this file"
-msgstr "Comparteix l'arxiu"
+#: ../../Zotlabs/Module/Settings/Channel.php:327
+msgid "Anybody on this website"
+msgstr "Qualsevol en aquest lloc"
-#: ../../Zotlabs/Module/Filestorage.php:164
-msgid "Show URL to this file"
-msgstr "Mostra la URL d'aquest arxiu"
+#: ../../Zotlabs/Module/Settings/Channel.php:328
+msgid "Anybody in this network"
+msgstr "Qualsevol en aquesta xarxa"
-#: ../../Zotlabs/Module/Filestorage.php:165
-msgid "Notify your contacts about this file"
-msgstr "Notifica als teus contactes aquest arxiu"
+#: ../../Zotlabs/Module/Settings/Channel.php:329
+msgid "Anybody authenticated"
+msgstr "Qualsevol autenticat"
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
-#: ../../include/nav.php:163
-msgid "Apps"
-msgstr "Aplicatius"
+#: ../../Zotlabs/Module/Settings/Channel.php:330
+msgid "Anybody on the internet"
+msgstr "Qualsevol a internet"
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
-msgstr "Article no disponible."
+#: ../../Zotlabs/Module/Settings/Channel.php:405
+msgid "Publish your default profile in the network directory"
+msgstr "Publica el teu perfil per defecte al directori de la xarxa"
-#: ../../Zotlabs/Module/Import.php:32
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "El teu paquet de serveis només admet %d canals."
+#: ../../Zotlabs/Module/Settings/Channel.php:410
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Ens permets suggerir-te com a potencial amic als nous membres?"
-#: ../../Zotlabs/Module/Import.php:70 ../../Zotlabs/Module/Import_items.php:42
-msgid "Nothing to import."
-msgstr "No hi ha res a importar."
+#: ../../Zotlabs/Module/Settings/Channel.php:414
+msgid "or"
+msgstr "o"
-#: ../../Zotlabs/Module/Import.php:94 ../../Zotlabs/Module/Import_items.php:66
-msgid "Unable to download data from old server"
-msgstr "No s'han pogut descarregar les dades del servidor antic"
+#: ../../Zotlabs/Module/Settings/Channel.php:419
+msgid "Your channel address is"
+msgstr "La teva adreça del canal es"
-#: ../../Zotlabs/Module/Import.php:100
-#: ../../Zotlabs/Module/Import_items.php:72
-msgid "Imported file is empty."
-msgstr "El fitxer importat està buit."
+#: ../../Zotlabs/Module/Settings/Channel.php:422
+msgid "Your files/photos are accessible via WebDAV at"
+msgstr "Les teves fotos i arxius estan disponibles mitjançant WebDAV a"
-#: ../../Zotlabs/Module/Import.php:122
-#: ../../Zotlabs/Module/Import_items.php:86
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Atenció: Les versions de la Base de Dades difereixen en %1$d actualitzacions."
+#: ../../Zotlabs/Module/Settings/Channel.php:486
+msgid "Channel Settings"
+msgstr "Ajustos del Canal"
-#: ../../Zotlabs/Module/Import.php:150 ../../include/import.php:86
-msgid "Cloned channel not found. Import failed."
-msgstr "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat."
+#: ../../Zotlabs/Module/Settings/Channel.php:493
+msgid "Basic Settings"
+msgstr "Ajustos Bàsics"
-#: ../../Zotlabs/Module/Import.php:160
-msgid "No channel. Import failed."
-msgstr "Sense canal. No s'ha pogut importar."
+#: ../../Zotlabs/Module/Settings/Channel.php:494
+#: ../../include/channel.php:1522
+msgid "Full Name:"
+msgstr "Nom Complet:"
-#: ../../Zotlabs/Module/Import.php:510
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
-msgstr "S'ha completat la importació."
+#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Account.php:119
+msgid "Email Address:"
+msgstr "Adreça de E-Correu:"
-#: ../../Zotlabs/Module/Import.php:532
-msgid "You must be logged in to use this feature."
-msgstr "Has d'estar registrat per fer servir aquesta funcionalitat."
+#: ../../Zotlabs/Module/Settings/Channel.php:496
+msgid "Your Timezone:"
+msgstr "La teva Franja Horària"
-#: ../../Zotlabs/Module/Import.php:537
-msgid "Import Channel"
-msgstr "Importa un canal"
+#: ../../Zotlabs/Module/Settings/Channel.php:497
+msgid "Default Post Location:"
+msgstr "Localització Predeterminada de les Entrades:"
-#: ../../Zotlabs/Module/Import.php:538
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file."
-msgstr "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació"
+#: ../../Zotlabs/Module/Settings/Channel.php:497
+msgid "Geographical location to display on your posts"
+msgstr "Posició geogràfica a mostrar a les teves entrades"
-#: ../../Zotlabs/Module/Import.php:539
-#: ../../Zotlabs/Module/Import_items.php:119
-msgid "File to Upload"
-msgstr "Fitxer a pujar"
+#: ../../Zotlabs/Module/Settings/Channel.php:498
+msgid "Use Browser Location:"
+msgstr "Empra la Localització del Navegador:"
-#: ../../Zotlabs/Module/Import.php:540
-msgid "Or provide the old server/hub details"
-msgstr "O proveeix els detalls de l'antic servidor/node"
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Adult Content"
+msgstr "Contingut per a Adults"
-#: ../../Zotlabs/Module/Import.php:541
-msgid "Your old identity address (xyz@example.com)"
-msgstr "La teva adreça de canal antiga. El format és canal@exemple.org"
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Aquest canal publica freqúentment o amb regularitat contingut per a adults. (Si us plau, etiqueti qualsevol material per a adults amb #NSFW)"
-#: ../../Zotlabs/Module/Import.php:542
-msgid "Your old login email address"
-msgstr "La teva adreça de correu electrònic antiga"
+#: ../../Zotlabs/Module/Settings/Channel.php:502
+msgid "Security and Privacy Settings"
+msgstr "Ajustos de Seguretat i Privacitat"
-#: ../../Zotlabs/Module/Import.php:543
-msgid "Your old login password"
-msgstr "La teva contrasenya antiga"
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Els teus permisos estan configurats. Clic per veure/ajustar"
-#: ../../Zotlabs/Module/Import.php:544
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest node o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària."
+#: ../../Zotlabs/Module/Settings/Channel.php:506
+msgid "Hide my online presence"
+msgstr "Amaga la meva presencia en línia"
-#: ../../Zotlabs/Module/Import.php:545
-msgid "Make this hub my primary location"
-msgstr "Fes d'aquest node la meva ubicació primària"
+#: ../../Zotlabs/Module/Settings/Channel.php:506
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Evita mostrar en el teu perfil, que estàs en línia"
-#: ../../Zotlabs/Module/Import.php:546
+#: ../../Zotlabs/Module/Settings/Channel.php:508
+msgid "Simple Privacy Settings:"
+msgstr "Ajustos simples de privacitat:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importa les entrades existents si es possible (experimental - limitat per la memòria disponible"
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Molt públic - <em>extremadament permissiu (s'ha d'anar en compte)</em>"
-#: ../../Zotlabs/Module/Import.php:547
+#: ../../Zotlabs/Module/Settings/Channel.php:510
msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi."
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Normal - <em>públic per defecte, privat quan es desitgi (similar als permisos de xarxa social, però amb millor privacitat)"
-#: ../../Zotlabs/Module/Item.php:178
-msgid "Unable to locate original post."
-msgstr "No s'ha pogut trobar l'entrada original."
+#: ../../Zotlabs/Module/Settings/Channel.php:511
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privat - <em>privat per defecte, mai públic o obert</em>"
-#: ../../Zotlabs/Module/Item.php:427
-msgid "Empty post discarded."
-msgstr "S'ha descartat l'entrada perquè no té contingut."
+#: ../../Zotlabs/Module/Settings/Channel.php:512
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Bloquejat - <em>tothom bloquejat per defecte</em>"
-#: ../../Zotlabs/Module/Item.php:467
-msgid "Executable content type not permitted to this channel."
-msgstr "No està permès el contingut de tipus executable en aquest canal."
+#: ../../Zotlabs/Module/Settings/Channel.php:514
+msgid "Allow others to tag your posts"
+msgstr "Permet a altres etiquetar les teves entrades"
-#: ../../Zotlabs/Module/Item.php:847
-msgid "Duplicate post suppressed."
-msgstr "Publicació duplicada s'ha suprimit."
+#: ../../Zotlabs/Module/Settings/Channel.php:514
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Sovint emprat per la comunitat per marcar retroactivament contingut inapropiat"
-#: ../../Zotlabs/Module/Item.php:977
-msgid "System error. Post not saved."
-msgstr "Hi ha hagut un error del sistema. L'entrada no s'ha desat."
+#: ../../Zotlabs/Module/Settings/Channel.php:516
+msgid "Channel Permission Limits"
+msgstr "Límits dels permisos del canal"
-#: ../../Zotlabs/Module/Item.php:1241
-msgid "Unable to obtain post information from database."
-msgstr "No s'ha pogut obtenir informació de l'entrada a la base de dades."
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "Expire other channel content after this many days"
+msgstr "El contingut d'altes canals caduca després d'aquests dies"
-#: ../../Zotlabs/Module/Item.php:1248
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris)."
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "0 or blank to use the website limit."
+msgstr "0 o en blanc per emprar el limit del lloc web."
-#: ../../Zotlabs/Module/Item.php:1255
+#: ../../Zotlabs/Module/Settings/Channel.php:518
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Has assolit el teu limit de %1$.0f pàgines web."
+msgid "This website expires after %d days."
+msgstr "Aquest lloc web expira després de %d dies."
-#: ../../Zotlabs/Module/Layouts.php:181 ../../include/text.php:2267
-msgid "Layouts"
-msgstr "Format Gràfic"
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "This website does not expire imported content."
+msgstr "A aquest lloc web no expira el contingut importat"
-#: ../../Zotlabs/Module/Layouts.php:183
-msgid "Comanche page description language help"
-msgstr "Pgina d'ajuda del llenguatge Comanche"
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "The website limit takes precedence if lower than your limit."
+msgstr "El límit del lloc web pren la preferència si es inferior al teu límit."
-#: ../../Zotlabs/Module/Layouts.php:187
-msgid "Layout Description"
-msgstr "Descripció del Disseny de la Pàgina"
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "Maximum Friend Requests/Day:"
+msgstr "Nombre màxim de peticions d'amistat per dia"
-#: ../../Zotlabs/Module/Layouts.php:192
-msgid "Download PDL file"
-msgstr "Descarrega l'arxiu PDL"
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "May reduce spam activity"
+msgstr "Pot reduir l'SPAM"
-#: ../../Zotlabs/Module/Home.php:61 ../../Zotlabs/Module/Home.php:69
-#: ../../Zotlabs/Module/Siteinfo.php:65
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../Zotlabs/Module/Settings/Channel.php:520
+msgid "Default Privacy Group"
+msgstr "Grup de privacitat per defecte"
-#: ../../Zotlabs/Module/Home.php:79
-#, php-format
-msgid "Welcome to %s"
-msgstr "Benvingut a %s"
+#: ../../Zotlabs/Module/Settings/Channel.php:522
+msgid "Use my default audience setting for the type of object published"
+msgstr "Empra els meus ajustos per defecte segons el tipus de entrada publicada"
-#: ../../Zotlabs/Module/Id.php:13
-msgid "First Name"
-msgstr "Nom"
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+msgid "Profile to assign new connections"
+msgstr "Perfil al qual assignar les connexions noves"
-#: ../../Zotlabs/Module/Id.php:14
-msgid "Last Name"
-msgstr "Cognoms"
+#: ../../Zotlabs/Module/Settings/Channel.php:532
+msgid "Channel permissions category:"
+msgstr "Categoria de permisos de canal:"
-#: ../../Zotlabs/Module/Id.php:15
-msgid "Nickname"
-msgstr "Àlies"
+#: ../../Zotlabs/Module/Settings/Channel.php:533
+msgid "Default Permissions Group"
+msgstr "Grup de permisos per defecte"
-#: ../../Zotlabs/Module/Id.php:16
-msgid "Full Name"
-msgstr "Nom Sencer"
+#: ../../Zotlabs/Module/Settings/Channel.php:539
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Nombre màxim de missatges privats de desconeguts al dia:"
-#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
-#: ../../include/network.php:2151 ../../boot.php:1705
-msgid "Email"
-msgstr "Correu electrónic"
+#: ../../Zotlabs/Module/Settings/Channel.php:539
+msgid "Useful to reduce spamming"
+msgstr "Útil per a reduir l'spam"
-#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
-#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:236
-msgid "Profile Photo"
-msgstr "Foto del Perfil"
+#: ../../Zotlabs/Module/Settings/Channel.php:542
+#: ../../Zotlabs/Lib/Enotify.php:68
+msgid "Notification Settings"
+msgstr "Ajustos de notificacions"
-#: ../../Zotlabs/Module/Id.php:22
-msgid "Profile Photo 16px"
-msgstr "Foto del Perfil 16px"
+#: ../../Zotlabs/Module/Settings/Channel.php:543
+msgid "By default post a status message when:"
+msgstr "Per defecte envia un missatge d'estat quan:"
-#: ../../Zotlabs/Module/Id.php:23
-msgid "Profile Photo 32px"
-msgstr "Foto del Perfil 32px"
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "accepting a friend request"
+msgstr "S'accepta una sol·licitud d'amistat"
-#: ../../Zotlabs/Module/Id.php:24
-msgid "Profile Photo 48px"
-msgstr "Foto del Perfil 48px"
+#: ../../Zotlabs/Module/Settings/Channel.php:545
+msgid "joining a forum/community"
+msgstr "Apuntar-se a un fòrum o comunitat"
-#: ../../Zotlabs/Module/Id.php:25
-msgid "Profile Photo 64px"
-msgstr "Foto del Perfil 64px"
+#: ../../Zotlabs/Module/Settings/Channel.php:546
+msgid "making an <em>interesting</em> profile change"
+msgstr "Faci un canvi <em>interesant</em> al perfil"
-#: ../../Zotlabs/Module/Id.php:26
-msgid "Profile Photo 80px"
-msgstr "Foto del Perfil 80px"
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+msgid "Send a notification email when:"
+msgstr "Notifica per correu quan:"
-#: ../../Zotlabs/Module/Id.php:27
-msgid "Profile Photo 128px"
-msgstr "Foto del Perfil 128px"
+#: ../../Zotlabs/Module/Settings/Channel.php:548
+msgid "You receive a connection request"
+msgstr "Rebi una petició de connexió"
-#: ../../Zotlabs/Module/Id.php:28
-msgid "Timezone"
-msgstr "Zona horària"
+#: ../../Zotlabs/Module/Settings/Channel.php:549
+msgid "Your connections are confirmed"
+msgstr "Es confirma una connexió"
-#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
-msgid "Homepage URL"
-msgstr "URL de la pàgina d'inici"
+#: ../../Zotlabs/Module/Settings/Channel.php:550
+msgid "Someone writes on your profile wall"
+msgstr "Algú ha escrit al mur del teu perfil"
-#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:234
-msgid "Language"
-msgstr "Idioma"
+#: ../../Zotlabs/Module/Settings/Channel.php:551
+msgid "Someone writes a followup comment"
+msgstr "Algú ha escrit un comentari de resposta"
-#: ../../Zotlabs/Module/Id.php:31
-msgid "Birth Year"
-msgstr "Any de Naixement"
+#: ../../Zotlabs/Module/Settings/Channel.php:552
+msgid "You receive a private message"
+msgstr "Rebi un missatge privat"
-#: ../../Zotlabs/Module/Id.php:32
-msgid "Birth Month"
-msgstr "Mes de Naixement"
+#: ../../Zotlabs/Module/Settings/Channel.php:553
+msgid "You receive a friend suggestion"
+msgstr "Rebi una suggerència d'amistat"
-#: ../../Zotlabs/Module/Id.php:33
-msgid "Birth Day"
-msgstr "Dia de Naixement"
+#: ../../Zotlabs/Module/Settings/Channel.php:554
+msgid "You are tagged in a post"
+msgstr "Estàs etiquetat a l'entrada"
-#: ../../Zotlabs/Module/Id.php:34
-msgid "Birthdate"
-msgstr "Aniversari"
+#: ../../Zotlabs/Module/Settings/Channel.php:555
+msgid "You are poked/prodded/etc. in a post"
+msgstr "S'enfoten/te piquen/etc. en una entrada"
-#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
-msgid "Gender"
-msgstr "Gènere"
+#: ../../Zotlabs/Module/Settings/Channel.php:557
+msgid "Someone likes your post/comment"
+msgstr "A algú li ha agradat la teva entrada o comentari"
-#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Male"
-msgstr "Masculí"
+#: ../../Zotlabs/Module/Settings/Channel.php:560
+msgid "Show visual notifications including:"
+msgstr "Mostra notificacion visuals, com ara:"
-#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Female"
-msgstr "Femení"
+#: ../../Zotlabs/Module/Settings/Channel.php:562
+msgid "Unseen grid activity"
+msgstr "Activitat de malla no vista"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "pàgina web"
+#: ../../Zotlabs/Module/Settings/Channel.php:563
+msgid "Unseen channel activity"
+msgstr "Activitat no vista del canal"
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "bloc"
+#: ../../Zotlabs/Module/Settings/Channel.php:564
+msgid "Unseen private messages"
+msgstr "Missatges privats no llegits"
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "disposició"
+#: ../../Zotlabs/Module/Settings/Channel.php:564
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+#: ../../Zotlabs/Module/Settings/Channel.php:570
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+#: ../../addon/jappixmini/jappixmini.php:343
+msgid "Recommended"
+msgstr "Recomanat"
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "menú"
+#: ../../Zotlabs/Module/Settings/Channel.php:565
+msgid "Upcoming events"
+msgstr "Esdeveniments propers"
-#: ../../Zotlabs/Module/Impel.php:196
-#, php-format
-msgid "%s element installed"
-msgstr "%s element instal·lat"
+#: ../../Zotlabs/Module/Settings/Channel.php:566
+msgid "Events today"
+msgstr "Esdeveniments d'avui"
-#: ../../Zotlabs/Module/Impel.php:199
-#, php-format
-msgid "%s element installation failed"
-msgstr "%s instal·lació d'element va fallar"
+#: ../../Zotlabs/Module/Settings/Channel.php:567
+msgid "Upcoming birthdays"
+msgstr "Aniversaris propers"
-#: ../../Zotlabs/Module/Like.php:19
-msgid "Like/Dislike"
-msgstr "M'agrada / No m'agrada"
+#: ../../Zotlabs/Module/Settings/Channel.php:567
+msgid "Not available in all themes"
+msgstr "No està disponible en tots els temes"
-#: ../../Zotlabs/Module/Like.php:24
-msgid "This action is restricted to members."
-msgstr "Aquesta acció està restringida als membres."
+#: ../../Zotlabs/Module/Settings/Channel.php:568
+msgid "System (personal) notifications"
+msgstr "Notificacions (personals) del sistema"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+msgid "System info messages"
+msgstr "Missatges d'informació del sistema"
-#: ../../Zotlabs/Module/Like.php:25
+#: ../../Zotlabs/Module/Settings/Channel.php:570
+msgid "System critical alerts"
+msgstr "Alertes crítiques del sistema"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+msgid "New connections"
+msgstr "Noves connexions"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "System Registrations"
+msgstr "Inscripcions del Sistema"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:573
+msgid "Unseen shared files"
+msgstr "Fitxers compartits nous"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+msgid "Unseen public activity"
+msgstr "Activitat pública nova"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+msgid "Email notification hub (hostname)"
+msgstr "Hub per a notificacions per correu (nom de domini)"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+#, php-format
msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "<a href=\"rmagic\">Entra amb la teva identitat $Projectname</a> o <a href=\"register\">registra't a $Projectname</a> per continuar."
+"If your channel is mirrored to multiple hubs, set this to your preferred "
+"location. This will prevent duplicate email notifications. Example: %s"
+msgstr "En cas que el teu canal estigui repicat en diversos hubs, habilita aquesta opció al teu hub preferit. Això evita notificacions duplicades. Exemple: %s"
-#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
-msgid "Invalid request."
-msgstr "Sol·licitud invàlida."
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Mostra també les entrades de mur noves, les entrades privades i les connexions a \"Notícies\""
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
-msgid "channel"
-msgstr "canal"
+#: ../../Zotlabs/Module/Settings/Channel.php:578
+msgid "Notify me of events this many days in advance"
+msgstr "Notifica'm dels esdeveniments amb aquests dies d'antelació"
-#: ../../Zotlabs/Module/Like.php:146
-msgid "thing"
-msgstr "cosa"
+#: ../../Zotlabs/Module/Settings/Channel.php:578
+msgid "Must be greater than 0"
+msgstr "Ha de ser més gran que 0"
-#: ../../Zotlabs/Module/Like.php:192
-msgid "Channel unavailable."
-msgstr "El canal està inactiu."
+#: ../../Zotlabs/Module/Settings/Channel.php:584
+msgid "Advanced Account/Page Type Settings"
+msgstr "Ajustos avançats de compte i tipus de pàgina"
-#: ../../Zotlabs/Module/Like.php:240
-msgid "Previous action reversed."
-msgstr "S'ha desfet l'acció anterior."
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Change the behaviour of this account for special situations"
+msgstr "Modifica el comportament d'aquest compte en situacions especials"
-#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1940
-#: ../../include/conversation.php:120
-msgid "photo"
-msgstr "foto"
+#: ../../Zotlabs/Module/Settings/Channel.php:587
+msgid "Miscellaneous Settings"
+msgstr "Ajustos diversos"
-#: ../../Zotlabs/Module/Like.php:371 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/text.php:1946 ../../include/conversation.php:148
-msgid "status"
-msgstr "estat"
+#: ../../Zotlabs/Module/Settings/Channel.php:588
+msgid "Default photo upload folder"
+msgstr "Carpeta per defecte de fotos pujades"
-#: ../../Zotlabs/Module/Like.php:420 ../../include/conversation.php:164
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s agrada %2$s de %3$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:588
+#: ../../Zotlabs/Module/Settings/Channel.php:589
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - any en curs, %m - mes corrent"
-#: ../../Zotlabs/Module/Like.php:422 ../../include/conversation.php:167
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s no agrada %2$s de %3$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:589
+msgid "Default file upload folder"
+msgstr "Carpeta per defecte d'arxius pujats"
-#: ../../Zotlabs/Module/Like.php:424
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%1$s està d'acord amb %3$s de %2$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:591
+msgid "Personal menu to display in your channel pages"
+msgstr "Menú personal per mostrar en les teves pàgines de canal"
-#: ../../Zotlabs/Module/Like.php:426
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%1$s no està d'acord amb %3$s de %2$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:593
+msgid "Remove this channel."
+msgstr "Elimina aquest canal."
-#: ../../Zotlabs/Module/Like.php:428
-#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%1$s s'abstén en %3$s de %2$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+msgid "Firefox Share $Projectname provider"
+msgstr "Firefox Share $Projectname provider"
-#: ../../Zotlabs/Module/Like.php:430
-#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr "%1$s assistirà a %3$s de %2$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "Start calendar week on Monday"
+msgstr "Comença la setmana en dilluns"
-#: ../../Zotlabs/Module/Like.php:432
-#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr "%1$s no assistirà a %3$s de %2$s"
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr "Característiques Addicionals"
-#: ../../Zotlabs/Module/Like.php:434
+#: ../../Zotlabs/Module/Settings/Tokens.php:31
#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr "%1$s potser assistirà a %3$s de %2$s"
-
-#: ../../Zotlabs/Module/Like.php:537
-msgid "Action completed."
-msgstr "S'ha completat l'acció."
+msgid "This channel is limited to %d tokens"
+msgstr "Aquest canal té un límit de %d tokens"
-#: ../../Zotlabs/Module/Like.php:538
-msgid "Thank you."
-msgstr "Gràcies."
+#: ../../Zotlabs/Module/Settings/Tokens.php:37
+msgid "Name and Password are required."
+msgstr "El nom i la contrasenya són necessaris."
-#: ../../Zotlabs/Module/Import_items.php:102
-msgid "Import completed"
-msgstr "S'ha completat la importació"
+#: ../../Zotlabs/Module/Settings/Tokens.php:77
+msgid "Token saved."
+msgstr "S'ha desat el token."
-#: ../../Zotlabs/Module/Import_items.php:117
-msgid "Import Items"
-msgstr "Importa Articles"
+#: ../../Zotlabs/Module/Settings/Tokens.php:113
+msgid ""
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
+msgstr "Fes servir aquest formulari per a crear identificadors d'accés temporal per tal de compartir coses amb persones no membres. Aquestes identitats són reconegudes a \"Control d'accés\" i poden ser usades per iniciar sessió i accedir a contingut privat."
-#: ../../Zotlabs/Module/Import_items.php:118
+#: ../../Zotlabs/Module/Settings/Tokens.php:115
msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Empra aquest formulari per importar entrades existents i contingut d'un arxiu d'exportació."
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
+msgstr "Si vols donar enllaços que no requereixin dos passos, pots afegir la contrasenya d'accés a la URL per compartir. Per exemple:"
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "El límit total invitacions s'ha superat."
+#: ../../Zotlabs/Module/Settings/Tokens.php:150
+#: ../../Zotlabs/Widget/Settings_menu.php:92
+msgid "Guest Access Tokens"
+msgstr "Tokens d'accés de convidat"
-#: ../../Zotlabs/Module/Invite.php:53
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: adreça de correu electrònic no vàlida."
+#: ../../Zotlabs/Module/Settings/Tokens.php:157
+msgid "Login Name"
+msgstr "Nom d'usuari"
-#: ../../Zotlabs/Module/Invite.php:63
-msgid "Please join us on $Projectname"
-msgstr "Si us plau uneix-te a nosaltres a $Projectname."
+#: ../../Zotlabs/Module/Settings/Tokens.php:158
+msgid "Login Password"
+msgstr "Contrasenya d'usuari"
-#: ../../Zotlabs/Module/Invite.php:74
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Límit d'invitacions excedit. Si us plau, poseu-vos en contacte amb l'administrador del lloc."
+#: ../../Zotlabs/Module/Settings/Tokens.php:159
+msgid "Expires (yyyy-mm-dd)"
+msgstr "Data de caducitat (aaaa-mm-dd)"
-#: ../../Zotlabs/Module/Invite.php:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Entrega del Missatge fallida."
+#: ../../Zotlabs/Module/Settings/Tokens.php:160
+#: ../../Zotlabs/Module/Connedit.php:890
+msgid "Their Settings"
+msgstr "Els seus Ajustos"
-#: ../../Zotlabs/Module/Invite.php:83
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d missatge enviat."
-msgstr[1] "%d missatges enviats."
+#: ../../Zotlabs/Module/Settings/Account.php:20
+msgid "Not valid email."
+msgstr "E-correu no vàlid."
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "No té més invitacions disponibles"
+#: ../../Zotlabs/Module/Settings/Account.php:23
+msgid "Protected email address. Cannot change to that email."
+msgstr "Adreça d'e-correu protegida. No es pot canviar a aquest e-correu."
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Enviar invitacions"
+#: ../../Zotlabs/Module/Settings/Account.php:32
+msgid "System failure storing new email. Please try again."
+msgstr "Fallada del sistema al guardar un nou correu. Si us plau, proba de nou."
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Introduïu les adreces de correu electrònic, una per línia:"
+#: ../../Zotlabs/Module/Settings/Account.php:40
+msgid "Technical skill level updated"
+msgstr "S'ha actualitzat el nivell de competències tècniques"
-#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:249
-msgid "Your message:"
-msgstr "El teu missatge:"
+#: ../../Zotlabs/Module/Settings/Account.php:56
+msgid "Password verification failed."
+msgstr "La verificació de la contrasenya ha fallat."
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Si us plau uneix-te la meva comunitat en $Projectname."
+#: ../../Zotlabs/Module/Settings/Account.php:63
+msgid "Passwords do not match. Password unchanged."
+msgstr "Les contrasenyes no coincideixen. Contrasenya sense canvis."
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Hauràs de facilitar aquest codi d'invitació:"
+#: ../../Zotlabs/Module/Settings/Account.php:67
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Les contrasenyes en blanc no estan permesas. Contrasenya sense canvis."
-#: ../../Zotlabs/Module/Invite.php:139
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Pots registrar-te a qualsevol node de $Projectname (estàn tots interconnectats)"
+#: ../../Zotlabs/Module/Settings/Account.php:81
+msgid "Password changed."
+msgstr "Contrasenya canviada."
-#: ../../Zotlabs/Module/Invite.php:141
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Escriu la meva adreça de xarxa al $Projectname, a la barra de cerca del lloc."
+#: ../../Zotlabs/Module/Settings/Account.php:83
+msgid "Password update failed. Please try again."
+msgstr "L'actualització de la contrasenya va fallar. Si us plau, torneu a intentar-ho."
-#: ../../Zotlabs/Module/Invite.php:142
-msgid "or visit"
-msgstr "o visitar"
+#: ../../Zotlabs/Module/Settings/Account.php:112
+msgid "Account Settings"
+msgstr "Ajustos de Compte"
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Clicar [Conectar]"
+#: ../../Zotlabs/Module/Settings/Account.php:113
+msgid "Current Password"
+msgstr "Contrasenya Actual"
-#: ../../Zotlabs/Module/Lockview.php:61
-msgid "Remote privacy information not available."
-msgstr "informació privada remota no disponible."
+#: ../../Zotlabs/Module/Settings/Account.php:114
+msgid "Enter New Password"
+msgstr "Entra la Nova Contrasenya"
-#: ../../Zotlabs/Module/Lockview.php:82
-msgid "Visible to:"
-msgstr "Visible per:"
+#: ../../Zotlabs/Module/Settings/Account.php:115
+msgid "Confirm New Password"
+msgstr "Confirma la Nova Contrasenya"
-#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
-msgid "Location not found."
-msgstr "Situació que no es troba."
+#: ../../Zotlabs/Module/Settings/Account.php:115
+msgid "Leave password fields blank unless changing"
+msgstr "Deixa els camps de contrasenya en blanc llevat que la vulguis canviar"
-#: ../../Zotlabs/Module/Locs.php:62
-msgid "Location lookup failed."
-msgstr "Ha fallat la cerca d'ubicació."
+#: ../../Zotlabs/Module/Settings/Account.php:116
+msgid "Your technical skill level"
+msgstr "El teu nivell tècnic"
-#: ../../Zotlabs/Module/Locs.php:66
+#: ../../Zotlabs/Module/Settings/Account.php:116
msgid ""
-"Please select another location to become primary before removing the primary"
-" location."
-msgstr "Seleccioneu una altra ubicació per esdevenir primària abans de retirar la ubicació principal."
+"Used to provide a member experience and additional features consistent with "
+"your comfort level"
+msgstr "Es fa servir per a oferir-te una experiència i un seguit de funcionalitats addicionals d'acord amb la complexitat que desitgis."
-#: ../../Zotlabs/Module/Locs.php:95
-msgid "Syncing locations"
-msgstr "Sincronitza ubicacions"
+#: ../../Zotlabs/Module/Settings/Account.php:120
+#: ../../Zotlabs/Module/Removeaccount.php:61
+msgid "Remove Account"
+msgstr "Esborra el Compte"
-#: ../../Zotlabs/Module/Locs.php:105
-msgid "No locations found."
-msgstr "No es troben els llocs."
+#: ../../Zotlabs/Module/Settings/Account.php:121
+msgid "Remove this account including all its channels"
+msgstr "Esborra aquest compte inclosos tots els seus canals"
-#: ../../Zotlabs/Module/Locs.php:116
-msgid "Manage Channel Locations"
-msgstr "Gestionar Ubicacions de Canal"
+#: ../../Zotlabs/Module/Settings/Featured.php:23
+msgid "Affinity Slider settings updated."
+msgstr "S'ha actualitzat la configuració de la barra d'afinitat"
-#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
-#: ../../Zotlabs/Module/Admin.php:1224
-msgid "Address"
-msgstr "Adreça"
+#: ../../Zotlabs/Module/Settings/Featured.php:38
+msgid "No feature settings configured"
+msgstr "No hi ha opcions de les funcions configurades"
-#: ../../Zotlabs/Module/Locs.php:119
-msgid "Primary"
-msgstr "Primari"
+#: ../../Zotlabs/Module/Settings/Featured.php:45
+msgid "Default maximum affinity level"
+msgstr "Nivell màxim d'afinitat predeterminat"
-#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
-msgid "Drop"
-msgstr "Menysprea"
+#: ../../Zotlabs/Module/Settings/Featured.php:45
+msgid "0-99 default 99"
+msgstr "0-99 (per defecte 99)"
-#: ../../Zotlabs/Module/Locs.php:122
-msgid "Sync Now"
-msgstr "Sincronitza Ara"
+#: ../../Zotlabs/Module/Settings/Featured.php:50
+msgid "Default minimum affinity level"
+msgstr "Nivell mínim d'afinitat predeterminat"
-#: ../../Zotlabs/Module/Locs.php:123
-msgid "Please wait several minutes between consecutive operations."
-msgstr "Si us plau espera diversos minuts entre operacions consecutives."
+#: ../../Zotlabs/Module/Settings/Featured.php:50
+msgid "0-99 - default 0"
+msgstr "0-99 (per defecte 0)"
-#: ../../Zotlabs/Module/Locs.php:124
+#: ../../Zotlabs/Module/Settings/Featured.php:54
+msgid "Affinity Slider Settings"
+msgstr "Configuració de la barra d'afinitat"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:64
+msgid "Addon Settings"
+msgstr "Configuració de les extensions"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:65
+msgid "Please save/submit changes to any panel before opening another."
+msgstr "Desa els canvis en un panell abans d'obrir-ne un altre."
+
+#: ../../Zotlabs/Module/Settings/Display.php:139
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s - (Experimental)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:187
+msgid "Display Settings"
+msgstr "Ajustos de Pantalla"
+
+#: ../../Zotlabs/Module/Settings/Display.php:188
+msgid "Theme Settings"
+msgstr "Ajustos de Tema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:189
+msgid "Custom Theme Settings"
+msgstr "Ajustos Personals de Tema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:190
+msgid "Content Settings"
+msgstr "Ajustos de Contingut"
+
+#: ../../Zotlabs/Module/Settings/Display.php:196
+msgid "Display Theme:"
+msgstr "Ajustos de Tema:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Select scheme"
+msgstr "Tria esquema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Preload images before rendering the page"
+msgstr "Precarrega les imatges abans de dibuixar la pàgina"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
msgid ""
-"When possible, drop a location by logging into that website/hub and removing"
-" your channel."
-msgstr "Quan sigui possible, per desapareixer d'un lloc, accedeix a aquest lloc web/node i elimina el teu canal."
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "El temps subjectiu per carregar la pàgina pot ser llarg però la pàgina estarà preparada quan es mostri"
-#: ../../Zotlabs/Module/Locs.php:125
-msgid "Use this form to drop the location if the hub is no longer operating."
-msgstr "Empra aquest formulari per desapareixer del lloc si el node ja no està operatiu."
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Enable user zoom on mobile devices"
+msgstr "Zoom d'usuari en dispositius mòbils"
-#: ../../Zotlabs/Module/Magic.php:71
-msgid "Hub not found."
-msgstr "Node no trobat."
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Update browser every xx seconds"
+msgstr "Actualitza el navegador cada xx segons"
-#: ../../Zotlabs/Module/Mail.php:38
-msgid "Unable to lookup recipient."
-msgstr "Incapaç de trobar el destinatari."
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Mínim de 10 segons, sense màxim"
-#: ../../Zotlabs/Module/Mail.php:45
-msgid "Unable to communicate with requested channel."
-msgstr "Incapaç de comunicar amb el canal demanat."
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Nombre màxim de conversacions a càrregar cada vegada"
-#: ../../Zotlabs/Module/Mail.php:52
-msgid "Cannot verify requested channel."
-msgstr "No puc verificar el canal demanat."
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Maximum of 100 items"
+msgstr "Màxim de 100 elements"
-#: ../../Zotlabs/Module/Mail.php:78
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat."
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Show emoticons (smilies) as images"
+msgstr "Mostra emoticons (smilies) com a imatges"
-#: ../../Zotlabs/Module/Mail.php:143
-msgid "Messages"
-msgstr "Missatges"
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Provide channel menu in navigation bar"
+msgstr "Mostra el menú de canal a la barra de navegació"
-#: ../../Zotlabs/Module/Mail.php:178
-msgid "Message recalled."
-msgstr "Recupera el missatge."
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Default: channel menu located in app menu"
+msgstr "Per defecte, el menú de canal es troba al menú d'aplicacions"
-#: ../../Zotlabs/Module/Mail.php:191
-msgid "Conversation removed."
-msgstr "Conversació eliminada."
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Manual conversation updates"
+msgstr "Actualitza les converses manualment"
-#: ../../Zotlabs/Module/Mail.php:206 ../../Zotlabs/Module/Mail.php:315
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Expira YYYY-MM-DD HH:MM"
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Default is on, turning this off may increase screen jumping"
+msgstr "Per defecte està habilitada perquè evita que la pàgina salti cap avall en actualitzar-se."
-#: ../../Zotlabs/Module/Mail.php:234
-msgid "Requested channel is not in this network"
-msgstr "El canal demanat no hi es en questa xarxa"
+#: ../../Zotlabs/Module/Settings/Display.php:206
+msgid "Link post titles to source"
+msgstr "Enllaça a l'origen els títols de l'entrada"
-#: ../../Zotlabs/Module/Mail.php:242
-msgid "Send Private Message"
-msgstr "Envia Missatge Privat"
+#: ../../Zotlabs/Module/Settings/Display.php:207
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Editor de dissenys de pàgines de sistema (avançat)"
-#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
-msgid "To:"
-msgstr "Per:"
+#: ../../Zotlabs/Module/Settings/Display.php:210
+msgid "Use blog/list mode on channel page"
+msgstr "Empra el mode blog/llista a la pàgina del canal"
-#: ../../Zotlabs/Module/Mail.php:246 ../../Zotlabs/Module/Mail.php:370
-msgid "Subject:"
-msgstr "Assumpte:"
+#: ../../Zotlabs/Module/Settings/Display.php:210
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "(comments displayed separately)"
+msgstr "(Observacions es mostren per separat)"
-#: ../../Zotlabs/Module/Mail.php:251 ../../Zotlabs/Module/Mail.php:376
-#: ../../include/conversation.php:1220
-msgid "Attach file"
-msgstr "Adjunta arxiu"
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "Use blog/list mode on grid page"
+msgstr "Empra el mode de blog/llista a la pàgina de la malla"
-#: ../../Zotlabs/Module/Mail.php:253
-msgid "Send"
-msgstr "Envia"
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "Channel page max height of content (in pixels)"
+msgstr "Alçada màxima de contingut (en píxels) de la pàgina de Canal"
-#: ../../Zotlabs/Module/Mail.php:256 ../../Zotlabs/Module/Mail.php:381
-#: ../../include/conversation.php:1251
-msgid "Set expiration date"
-msgstr "Ajusta la data d'expiració"
+#: ../../Zotlabs/Module/Settings/Display.php:212
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "click to expand content exceeding this height"
+msgstr "Clic per expandir el contingut que excedeixi aquesta alçada"
-#: ../../Zotlabs/Module/Mail.php:340
-msgid "Delete message"
-msgstr "Elimina el missatge"
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "Grid page max height of content (in pixels)"
+msgstr "Alçada màxima dels continguts (en píxels) de la Pàgina de Malla "
-#: ../../Zotlabs/Module/Mail.php:341
-msgid "Delivery report"
-msgstr "Informe d'entrega"
+#: ../../Zotlabs/Module/Settings/Oauth.php:34
+msgid "Name is required"
+msgstr "Es requereix un Nom"
-#: ../../Zotlabs/Module/Mail.php:342
-msgid "Recall message"
-msgstr "Recupera el missatge"
+#: ../../Zotlabs/Module/Settings/Oauth.php:38
+msgid "Key and Secret are required"
+msgstr "Es requereix Clau (Key) i el Secret (Secret)"
-#: ../../Zotlabs/Module/Mail.php:344
-msgid "Message has been recalled."
-msgstr "El missatge s'ha recuperat."
+#: ../../Zotlabs/Module/Settings/Oauth.php:86
+#: ../../Zotlabs/Module/Settings/Oauth.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
+msgid "Add application"
+msgstr "Afegir aplicatiu"
-#: ../../Zotlabs/Module/Mail.php:361
-msgid "Delete Conversation"
-msgstr "Conversació esborrada"
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+msgid "Name of application"
+msgstr "Nom de l'aplicatiu"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+#: ../../addon/statusnet/statusnet.php:894 ../../addon/twitter/twitter.php:781
+msgid "Consumer Key"
+msgstr "Consumer Key"
-#: ../../Zotlabs/Module/Mail.php:363
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Generat automàticament- Canvia-ho si ho vols. Max. longitud 20"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:117
+#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:782
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+msgid "Redirect"
+msgstr "Redirecciona"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent."
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI redirigida - No canviar excepte perquè el teu aplicatiu ho requereixi."
-#: ../../Zotlabs/Module/Mail.php:367
-msgid "Send Reply"
-msgstr "Envia Resposta"
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Icon url"
+msgstr "Icona de url"
-#: ../../Zotlabs/Module/Mail.php:372
-#, php-format
-msgid "Your message for %s (%s):"
-msgstr "El teu missatge per %s (%s):"
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+msgid "Optional"
+msgstr "Opcional"
-#: ../../Zotlabs/Module/Manage.php:136
-#: ../../Zotlabs/Module/New_channel.php:121
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Has creat %1$.0f de %2$.0f canals permesos."
+#: ../../Zotlabs/Module/Settings/Oauth.php:104
+msgid "Application not found."
+msgstr "Aplicatiu no trobat."
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create a new channel"
-msgstr "Crear un nou canal"
+#: ../../Zotlabs/Module/Settings/Oauth.php:147
+msgid "Connected Apps"
+msgstr "Aplicatius Conectats"
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:213
-#: ../../include/nav.php:206
-msgid "Channel Manager"
-msgstr "Gestor de Canals"
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+msgid "Client key starts with"
+msgstr "La clau del client comença amb"
-#: ../../Zotlabs/Module/Manage.php:165
-msgid "Current Channel"
-msgstr "Canal Actual"
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "No name"
+msgstr "Sin nombre"
-#: ../../Zotlabs/Module/Manage.php:167
-msgid "Switch to one of your channels by selecting it."
-msgstr "Canviar a un altre dels teus canals seleccionant-ho."
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "Remove authorization"
+msgstr "Elimina autorització"
-#: ../../Zotlabs/Module/Manage.php:168
-msgid "Default Channel"
-msgstr "Canal per Defecte"
+#: ../../Zotlabs/Module/Embedphotos.php:140
+#: ../../Zotlabs/Module/Photos.php:811 ../../Zotlabs/Module/Photos.php:1350
+#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78
+msgid "View Photo"
+msgstr "Mostra la imatge"
-#: ../../Zotlabs/Module/Manage.php:169
-msgid "Make Default"
-msgstr "Estableix com a Predeterminat"
+#: ../../Zotlabs/Module/Embedphotos.php:156
+#: ../../Zotlabs/Module/Photos.php:842 ../../Zotlabs/Widget/Portfolio.php:108
+#: ../../Zotlabs/Widget/Album.php:95
+msgid "Edit Album"
+msgstr "Modifica l'àlbum"
-#: ../../Zotlabs/Module/Manage.php:172
-#, php-format
-msgid "%d new messages"
-msgstr "%d missatges nous"
+#: ../../Zotlabs/Module/Embedphotos.php:158
+#: ../../Zotlabs/Module/Photos.php:712 ../../Zotlabs/Module/Photos.php:844
+#: ../../Zotlabs/Module/Photos.php:1381
+#: ../../Zotlabs/Module/Profile_photo.php:458
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Storage/Browser.php:277 ../../Zotlabs/Storage/Browser.php:384
+#: ../../Zotlabs/Widget/Cdav.php:133 ../../Zotlabs/Widget/Cdav.php:169
+#: ../../Zotlabs/Widget/Portfolio.php:110 ../../Zotlabs/Widget/Album.php:97
+msgid "Upload"
+msgstr "Pujar"
-#: ../../Zotlabs/Module/Manage.php:173
-#, php-format
-msgid "%d new introductions"
-msgstr "%d noves presentacions"
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr "Algunes propostes sobre el que cal fer quan ets nou aquí"
-#: ../../Zotlabs/Module/Manage.php:175
-msgid "Delegated Channel"
-msgstr "Canal Delegat"
+#: ../../Zotlabs/Module/Thing.php:115
+msgid "Thing updated"
+msgstr "S'ha actualitzat la cosa"
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
-msgstr "No es troba un compte vàlid."
+#: ../../Zotlabs/Module/Thing.php:167
+msgid "Object store: failed"
+msgstr "No s'ha pogut emmagatzemar l'objecte"
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
-msgstr "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic."
+#: ../../Zotlabs/Module/Thing.php:171
+msgid "Thing added"
+msgstr "S'ha afegit la cosa"
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#: ../../Zotlabs/Module/Thing.php:197
#, php-format
-msgid "Site Member (%s)"
-msgstr "Lloc d'Usuari (%s)"
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "S'ha soŀlicitat restablir la contrasenya al hub %s"
+#: ../../Zotlabs/Module/Thing.php:260
+msgid "Show Thing"
+msgstr "Mostra la cosa"
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans."
+#: ../../Zotlabs/Module/Thing.php:267
+msgid "item not found."
+msgstr "no s'ha trobat l'element."
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1711
-msgid "Password Reset"
-msgstr "Restabliment de contrasenya"
+#: ../../Zotlabs/Module/Thing.php:300
+msgid "Edit Thing"
+msgstr "Edita la cosa"
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
-msgstr "S'ha restablert la vostra contrasenya."
+#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:359
+msgid "Select a profile"
+msgstr "Tria un perfil"
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
-msgstr "La nova contrasenya és"
+#: ../../Zotlabs/Module/Thing.php:306 ../../Zotlabs/Module/Thing.php:362
+msgid "Post an activity"
+msgstr "Publica una activitat"
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
-msgstr "Desa o copia la nova contrasenya, i després"
+#: ../../Zotlabs/Module/Thing.php:306 ../../Zotlabs/Module/Thing.php:362
+msgid "Only sends to viewers of the applicable profile"
+msgstr "S'envia només a visitants del perfil corresponent"
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
-msgstr "fes clic aquí per iniciar sessió"
+#: ../../Zotlabs/Module/Thing.php:308 ../../Zotlabs/Module/Thing.php:364
+msgid "Name of thing e.g. something"
+msgstr "Nom de la cosa. Exemple: patata"
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió."
+#: ../../Zotlabs/Module/Thing.php:310 ../../Zotlabs/Module/Thing.php:365
+msgid "URL of thing (optional)"
+msgstr "Adreça URL de la cosa (opcional)"
+
+#: ../../Zotlabs/Module/Thing.php:312 ../../Zotlabs/Module/Thing.php:366
+msgid "URL for photo of thing (optional)"
+msgstr "Adreça URL de la foto d'una cosa (opcional)"
+
+#: ../../Zotlabs/Module/Thing.php:314 ../../Zotlabs/Module/Thing.php:367
+#: ../../Zotlabs/Module/Photos.php:702 ../../Zotlabs/Module/Photos.php:1071
+#: ../../Zotlabs/Module/Connedit.php:676 ../../Zotlabs/Module/Chat.php:235
+#: ../../Zotlabs/Module/Filestorage.php:147
+#: ../../include/acl_selectors.php:123
+msgid "Permissions"
+msgstr "Permisos "
+
+#: ../../Zotlabs/Module/Thing.php:357
+msgid "Add Thing to your Profile"
+msgstr "Afegeix una cosa al teu perfil"
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:57
+msgid "No more system notifications."
+msgstr "No hi ha més notificacions del sistema."
-#: ../../Zotlabs/Module/Lostpass.php:112
+#: ../../Zotlabs/Module/Notify.php:65
+#: ../../Zotlabs/Module/Notifications.php:61
+msgid "System Notifications"
+msgstr "Notificacions del sistema"
+
+#: ../../Zotlabs/Module/Follow.php:31
+msgid "Channel added."
+msgstr "S'ha afegit el canal."
+
+#: ../../Zotlabs/Module/Import.php:143
#, php-format
-msgid "Your password has changed at %s"
-msgstr "La teva contrasenya a %s ha canviat"
+msgid "Your service plan only allows %d channels."
+msgstr "El teu paquet de serveis només admet %d canals."
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
-msgstr "No recordes la contrasenya?"
+#: ../../Zotlabs/Module/Import.php:157
+msgid "No channel. Import failed."
+msgstr "Sense canal. No s'ha pogut importar."
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions."
+#: ../../Zotlabs/Module/Import.php:481
+#: ../../addon/diaspora/import_diaspora.php:139
+msgid "Import completed."
+msgstr "S'ha completat la importació."
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
-msgstr "Adreça electrònica"
+#: ../../Zotlabs/Module/Import.php:509
+msgid "You must be logged in to use this feature."
+msgstr "Has d'estar registrat per fer servir aquesta funcionalitat."
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr "Reajustar"
+#: ../../Zotlabs/Module/Import.php:514
+msgid "Import Channel"
+msgstr "Importa un canal"
-#: ../../Zotlabs/Module/Menu.php:49
-msgid "Unable to update menu."
-msgstr "No s'ha pogut actualitzar el menú."
+#: ../../Zotlabs/Module/Import.php:515
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr "Empra aquest formulari per importar un canal existent en un altre servidor/concentrador. Pots recuperar el canal des de l'antic servidor/concentrador via la xarxa o mitjançant un fitxer d'exportació"
-#: ../../Zotlabs/Module/Menu.php:60
-msgid "Unable to create menu."
-msgstr "No s'ha pogut crear el menú."
+#: ../../Zotlabs/Module/Import.php:517
+msgid "Or provide the old server/hub details"
+msgstr "O proveeix els detalls de l'antic servidor/node"
-#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
-msgid "Menu Name"
-msgstr "Nom del menú"
+#: ../../Zotlabs/Module/Import.php:518
+msgid "Your old identity address (xyz@example.com)"
+msgstr "La teva adreça de canal antiga. El format és canal@exemple.org"
-#: ../../Zotlabs/Module/Menu.php:98
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Nom únic (no visible a la pàgina web) - requerit"
+#: ../../Zotlabs/Module/Import.php:519
+msgid "Your old login email address"
+msgstr "La teva adreça de correu electrònic antiga"
-#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
-msgid "Menu Title"
-msgstr "Títol del menú"
+#: ../../Zotlabs/Module/Import.php:520
+msgid "Your old login password"
+msgstr "La teva contrasenya antiga"
-#: ../../Zotlabs/Module/Menu.php:99
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Visible a la pàgina web - deixar buit per a no posar títol"
+#: ../../Zotlabs/Module/Import.php:521
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Per a qualsevol de les opcions, escull si vols fer primària l'adreça d'aquest node o mantenir l'anterior com a primària. Podràs penjar entrades des de totes dues adreces, però per als fitxers, imatges i altres en cal una de primària."
-#: ../../Zotlabs/Module/Menu.php:100
-msgid "Allow Bookmarks"
-msgstr "Permetre Marcadors"
+#: ../../Zotlabs/Module/Import.php:522
+msgid "Make this hub my primary location"
+msgstr "Fes d'aquest node la meva ubicació primària"
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-msgid "Menu may be used to store saved bookmarks"
-msgstr "El menú es pot emprar per a guardar marcadors"
+#: ../../Zotlabs/Module/Import.php:523
+msgid "Move this channel (disable all previous locations)"
+msgstr "Moure aquest canal (desactiva totes les prèvies localitzacions)"
-#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
-msgid "Submit and proceed"
-msgstr "Envia i procedeix"
+#: ../../Zotlabs/Module/Import.php:524
+msgid "Import a few months of posts if possible (limited by available memory"
+msgstr "Importa, si es possible, missatges de fa uns quants mesos (limitat per la memòria disponible) "
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2266
-msgid "Menus"
-msgstr "Menús"
+#: ../../Zotlabs/Module/Import.php:525
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Aquest procès pot trigar minuts en completar. Si et plau envia el formulari només una vegada i manté aquesta pàgina oberta fins que finalitzi."
-#: ../../Zotlabs/Module/Menu.php:117
-msgid "Bookmarks allowed"
-msgstr "Marcadors permesos"
+#: ../../Zotlabs/Module/Rmagic.php:35
+msgid "Authentication failed."
+msgstr "Ha fallat l'autentificació."
-#: ../../Zotlabs/Module/Menu.php:119
-msgid "Delete this menu"
-msgstr "Esborra el menú"
+#: ../../Zotlabs/Module/Rmagic.php:75 ../../boot.php:1583
+#: ../../include/channel.php:2307
+msgid "Remote Authentication"
+msgstr "Autentificació Remota"
-#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
-msgid "Edit menu contents"
-msgstr "Edita el contingut del menú"
+#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:2308
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Introdueix la teva adreça del canal (eg canal@exemple.com)"
-#: ../../Zotlabs/Module/Menu.php:121
-msgid "Edit this menu"
-msgstr "Edita el menú"
+#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:2309
+msgid "Authenticate"
+msgstr "Autentica't"
-#: ../../Zotlabs/Module/Menu.php:136
-msgid "Menu could not be deleted."
-msgstr "El menu no es pot esborrar."
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Permís denegat."
-#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
-msgid "Menu not found."
-msgstr "Menú no trobat."
+#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2426
+msgid "Import"
+msgstr "Importar"
-#: ../../Zotlabs/Module/Menu.php:149
-msgid "Edit Menu"
-msgstr "Edita Menú"
+#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
+msgid "Authorize application connection"
+msgstr "Autoritza la connexió de l'aplicació"
-#: ../../Zotlabs/Module/Menu.php:153
-msgid "Add or remove entries to this menu"
-msgstr "Afegeix o esborra entrades a aquest menú"
+#: ../../Zotlabs/Module/Api.php:75
+msgid "Return to your app and insert this Security Code:"
+msgstr "Torna a la teva aplicació i introdueix aquest codi de seguertat"
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Menu name"
-msgstr "Nom del Menú"
+#: ../../Zotlabs/Module/Api.php:85
+msgid "Please login to continue."
+msgstr "Si et plau, identifica't per continuar."
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Must be unique, only seen by you"
-msgstr "Ha de ser únic, nomes vist per tú"
+#: ../../Zotlabs/Module/Api.php:97
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vols autoritzar a aquesta aplicació l'accés a les teves entrades i contactes i/o a crear noves entrades com si fos tu mateix."
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title"
-msgstr "Títol del menú"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Article no disponible."
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title as seen by others"
-msgstr "Títol del menú vist pels altres"
+#: ../../Zotlabs/Module/Editblock.php:138
+msgid "Edit Block"
+msgstr "Editar Bloc"
-#: ../../Zotlabs/Module/Menu.php:157
-msgid "Allow bookmarks"
-msgstr "Marcadors permesos"
+#: ../../Zotlabs/Module/Profile.php:93
+msgid "vcard"
+msgstr "vcard (targeta estàndard de contacte)"
-#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
-#: ../../Zotlabs/Module/Xchan.php:41
-msgid "Not found."
-msgstr "No trobat."
+#: ../../Zotlabs/Module/Apps.php:48 ../../Zotlabs/Lib/Apps.php:228
+msgid "Apps"
+msgstr "Aplicatius"
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#: ../../Zotlabs/Module/Apps.php:51
+msgid "Manage apps"
+msgstr "Gestiona apps"
+
+#: ../../Zotlabs/Module/Apps.php:52
+msgid "Create new app"
+msgstr "Crear una nova app"
+
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:268
#, php-format
msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s es %2$s"
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:225
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:253
msgid "Mood"
msgstr "Ànim"
@@ -2573,565 +4448,918 @@ msgstr "Ànim"
msgid "Set your current mood and tell your friends"
msgstr "Estableix el teu estat d'ànim actual i digues-li als teus amics"
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr "Perfils compatibles"
-
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "No tens paraules clau al perfil principal per poder cercar perfils semblants."
-
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr "té interès en:"
-
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr "No s'han trobat perfils compatibles"
-
-#: ../../Zotlabs/Module/Network.php:96
-msgid "No such group"
-msgstr "No existeix el grup"
-
-#: ../../Zotlabs/Module/Network.php:136
-msgid "No such channel"
-msgstr "No existeix el canal"
-
-#: ../../Zotlabs/Module/Network.php:141
-msgid "forum"
-msgstr "fòrum"
-
-#: ../../Zotlabs/Module/Network.php:153
-msgid "Search Results For:"
-msgstr "Cerca resultats per:"
-
-#: ../../Zotlabs/Module/Network.php:217
-msgid "Privacy group is empty"
-msgstr "el grup privat està vuit"
+#: ../../Zotlabs/Module/Connections.php:54
+#: ../../Zotlabs/Module/Connections.php:156
+#: ../../Zotlabs/Module/Connections.php:245
+msgid "Blocked"
+msgstr "Bloquejades"
-#: ../../Zotlabs/Module/Network.php:226
-msgid "Privacy group: "
-msgstr "Grup privat:"
+#: ../../Zotlabs/Module/Connections.php:59
+#: ../../Zotlabs/Module/Connections.php:163
+#: ../../Zotlabs/Module/Connections.php:244
+msgid "Ignored"
+msgstr "Ignorades"
-#: ../../Zotlabs/Module/Network.php:252
-msgid "Invalid connection."
-msgstr "La connexió és invàlida."
+#: ../../Zotlabs/Module/Connections.php:64
+#: ../../Zotlabs/Module/Connections.php:177
+#: ../../Zotlabs/Module/Connections.php:243
+msgid "Hidden"
+msgstr "Amagades"
-#: ../../Zotlabs/Module/Notify.php:57
-#: ../../Zotlabs/Module/Notifications.php:98
-msgid "No more system notifications."
-msgstr "No hi ha més notificacions del sistema."
+#: ../../Zotlabs/Module/Connections.php:69
+#: ../../Zotlabs/Module/Connections.php:170
+msgid "Archived/Unreachable"
+msgstr "Arxivades o inaccessibles"
-#: ../../Zotlabs/Module/Notify.php:61
-#: ../../Zotlabs/Module/Notifications.php:102
-msgid "System Notifications"
-msgstr "Notificacions del sistema"
+#: ../../Zotlabs/Module/Connections.php:74
+#: ../../Zotlabs/Module/Connections.php:83 ../../Zotlabs/Module/Menu.php:116
+#: ../../Zotlabs/Module/Notifications.php:52
+#: ../../include/conversation.php:1714
+msgid "New"
+msgstr "Nou"
-#: ../../Zotlabs/Module/Mitem.php:52
-msgid "Unable to create element."
-msgstr "Incapaç de crear l'element."
+#: ../../Zotlabs/Module/Connections.php:88
+#: ../../Zotlabs/Module/Connections.php:102
+#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:26
+msgid "All"
+msgstr "Tots"
-#: ../../Zotlabs/Module/Mitem.php:76
-msgid "Unable to update menu element."
-msgstr "Incapaç d'actualitzar un element del menú."
+#: ../../Zotlabs/Module/Connections.php:133
+#: ../../Zotlabs/Widget/Notifications.php:84
+msgid "New Connections"
+msgstr "Noves Connexions"
-#: ../../Zotlabs/Module/Mitem.php:92
-msgid "Unable to add menu element."
-msgstr "Incapaç d'afegir l'element del menú."
+#: ../../Zotlabs/Module/Connections.php:136
+msgid "Show pending (new) connections"
+msgstr "Mostra les connexions pendents (noves)"
-#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
-msgid "Menu Item Permissions"
-msgstr "Permisos de l'Article del Menú"
+#: ../../Zotlabs/Module/Connections.php:143
+msgid "Show all connections"
+msgstr "Mostra totes les connexions"
-#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
-#: ../../Zotlabs/Module/Settings.php:1068
-msgid "(click to open/close)"
-msgstr "(clica per obrir/tancar)"
+#: ../../Zotlabs/Module/Connections.php:159
+msgid "Only show blocked connections"
+msgstr "Mostra només les connexions bloquejades"
-#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
-msgid "Link Name"
-msgstr "Nom de l'Enllaç"
+#: ../../Zotlabs/Module/Connections.php:166
+msgid "Only show ignored connections"
+msgstr "Mostra només les connexions ignorades"
-#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
-msgid "Link or Submenu Target"
-msgstr "Enllaç o Submenú Objectiu"
+#: ../../Zotlabs/Module/Connections.php:173
+msgid "Only show archived/unreachable connections"
+msgstr "Mostra només les connexions arxivades o inaccessibles"
-#: ../../Zotlabs/Module/Mitem.php:157
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Entra la URL de l'enlla´o tria un nom de menú per crear un submenú"
+#: ../../Zotlabs/Module/Connections.php:180
+msgid "Only show hidden connections"
+msgstr "Mostra només les connexions amagades"
-#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
-msgid "Use magic-auth if available"
-msgstr "Empra magic-auth si esta disponible"
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Pending approval"
+msgstr "Pendent d'aprovació"
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
-msgid "Open link in new window"
-msgstr "Obrir l'enllaç en una nova finestra"
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Archived"
+msgstr "Arxivades"
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
-msgid "Order in list"
-msgstr "Ordre per llista"
+#: ../../Zotlabs/Module/Connections.php:246
+msgid "Not connected at this location"
+msgstr "No està connectada des d'aquest aquest hub"
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Els números més alts aniràn al fons de la llista"
+#: ../../Zotlabs/Module/Connections.php:263
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../Zotlabs/Module/Mitem.php:161
-msgid "Submit and finish"
-msgstr "Envia i termina"
+#: ../../Zotlabs/Module/Connections.php:264
+msgid "Edit connection"
+msgstr "Modifica la connexió"
-#: ../../Zotlabs/Module/Mitem.php:162
-msgid "Submit and continue"
-msgstr "Envia i continua"
+#: ../../Zotlabs/Module/Connections.php:266
+msgid "Delete connection"
+msgstr "Elimina la connexió"
-#: ../../Zotlabs/Module/Mitem.php:170
-msgid "Menu:"
-msgstr "Menú:"
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Channel address"
+msgstr "Adreça del canal"
-#: ../../Zotlabs/Module/Mitem.php:173
-msgid "Link Target"
-msgstr "Enllaç Objectiu"
+#: ../../Zotlabs/Module/Connections.php:277
+msgid "Network"
+msgstr "Xarxa"
-#: ../../Zotlabs/Module/Mitem.php:176
-msgid "Edit menu"
-msgstr "Edita menú"
+#: ../../Zotlabs/Module/Connections.php:280
+msgid "Call"
+msgstr "Crida"
-#: ../../Zotlabs/Module/Mitem.php:179
-msgid "Edit element"
-msgstr "Edita element"
+#: ../../Zotlabs/Module/Connections.php:282
+msgid "Status"
+msgstr "Estat"
-#: ../../Zotlabs/Module/Mitem.php:180
-msgid "Drop element"
-msgstr "Deixa anar element"
+#: ../../Zotlabs/Module/Connections.php:284
+msgid "Connected"
+msgstr "Connectat"
-#: ../../Zotlabs/Module/Mitem.php:181
-msgid "New element"
-msgstr "Nou element"
+#: ../../Zotlabs/Module/Connections.php:286
+msgid "Approve connection"
+msgstr "Aprovar la Connexió "
-#: ../../Zotlabs/Module/Mitem.php:182
-msgid "Edit this menu container"
-msgstr "Edita aquest contenidor de menú"
+#: ../../Zotlabs/Module/Connections.php:288
+msgid "Ignore connection"
+msgstr "Ignorar connexió"
-#: ../../Zotlabs/Module/Mitem.php:183
-msgid "Add menu element"
-msgstr "Afegeix element de menú"
+#: ../../Zotlabs/Module/Connections.php:289
+#: ../../Zotlabs/Module/Connedit.php:630
+msgid "Ignore"
+msgstr "Ignora"
-#: ../../Zotlabs/Module/Mitem.php:184
-msgid "Delete this menu item"
-msgstr "Esborra aquest article del menú"
+#: ../../Zotlabs/Module/Connections.php:290
+msgid "Recent activity"
+msgstr "Activitat recent"
-#: ../../Zotlabs/Module/Mitem.php:185
-msgid "Edit this menu item"
-msgstr "Edita aquest article del menú"
+#: ../../Zotlabs/Module/Connections.php:315 ../../Zotlabs/Lib/Apps.php:235
+#: ../../include/text.php:973
+msgid "Connections"
+msgstr "Connexions"
-#: ../../Zotlabs/Module/Mitem.php:202
-msgid "Menu item not found."
-msgstr "Article del menú no trobat."
+#: ../../Zotlabs/Module/Connections.php:320
+msgid "Search your connections"
+msgstr "Cerca entre les teves connexions"
-#: ../../Zotlabs/Module/Mitem.php:215
-msgid "Menu item deleted."
-msgstr "Article del menú eliminat."
+#: ../../Zotlabs/Module/Connections.php:321
+msgid "Connections search"
+msgstr "Cerca connexions"
-#: ../../Zotlabs/Module/Mitem.php:217
-msgid "Menu item could not be deleted."
-msgstr "Article del menú no es pot eliminar."
+#: ../../Zotlabs/Module/Connections.php:322
+#: ../../Zotlabs/Module/Directory.php:396
+#: ../../Zotlabs/Module/Directory.php:401 ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Troba"
-#: ../../Zotlabs/Module/Mitem.php:224
-msgid "Edit Menu Element"
-msgstr "Editar Element del Menú"
+#: ../../Zotlabs/Module/Viewsrc.php:43
+msgid "item"
+msgstr "element"
-#: ../../Zotlabs/Module/Mitem.php:230
-msgid "Link text"
-msgstr "Enllaç de text"
+#: ../../Zotlabs/Module/Viewsrc.php:55
+msgid "Source of Item"
+msgstr "Origen de l'article"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
-msgid "Name or caption"
-msgstr "Nom o llegenda"
+#: ../../Zotlabs/Module/Bookmarks.php:56
+msgid "Bookmark added"
+msgstr "Favorit afegit"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
-msgstr "Exemples: \"Pep Gomila\", \"Manel i els seus Cavalls\", \"Fútbol\", \"Grup d'Aviadors\""
+#: ../../Zotlabs/Module/Bookmarks.php:79
+msgid "My Bookmarks"
+msgstr "Els Meus Favorits"
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
-msgid "Choose a short nickname"
-msgstr "Tria un àlies curt"
+#: ../../Zotlabs/Module/Bookmarks.php:90
+msgid "My Connections Bookmarks"
+msgstr "Les connexions dels meus Favorits"
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
-#, php-format
+#: ../../Zotlabs/Module/Removeaccount.php:35
msgid ""
-"Your nickname will be used to create an easy to remember channel address "
-"e.g. nickname%s"
-msgstr "El teu àlies serà emprat per crear un nom fàcil per recordar l'adreça del canal p.e. àlies%s"
-
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
-msgid "Channel role and privacy"
-msgstr "Funció i privacitat del canal"
-
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
-msgid "Select a channel role with your privacy requirements."
-msgstr "Tria una funció pel canal amb els teus requisits de privacitat."
-
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
-msgid "Read more about roles"
-msgstr "Llegix més sobre els rols"
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "L'esborrat de comptes no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
-#: ../../Zotlabs/Module/New_channel.php:135
-msgid "Create Channel"
-msgstr "Crea un Canal"
+#: ../../Zotlabs/Module/Removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Esborra el compte"
-#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Removeaccount.php:58
msgid ""
-"A channel is your identity on this network. It can represent a person, a "
-"blog, or a forum to name a few. Channels can make connections with other "
-"channels to share information with highly detailed permissions."
-msgstr "Un canal es la tva identitat en aquesta xarxa. Pot representar una persona, un bloc, o un fòrum per anomenar alguns. Els canals poden connectar-se amb altres canals per compartir informació amb permisos molt detallats."
+"This account and all its channels will be completely removed from the "
+"network. "
+msgstr "Aquest compte i tots els seus canals s'estan apunt d'esborrar totalment de la xarxa."
-#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Removeaccount.php:60
msgid ""
-"or <a href=\"import\">import an existing channel</a> from another location."
-msgstr "o <a href=\"import\">importa un canal existent</a> des d'un altre ubicació."
-
-#: ../../Zotlabs/Module/Notifications.php:30
-msgid "Invalid request identifier."
-msgstr "Sol·licitud d'identificació invàlida."
-
-#: ../../Zotlabs/Module/Notifications.php:39
-msgid "Discard"
-msgstr "Descarta"
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr "Esborra de la xarxa aquest compte, tots els seus canals, i tots els seus canals clons."
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:191
-msgid "Mark all system notifications seen"
-msgstr "Marca totes les notificacions vistes"
+#: ../../Zotlabs/Module/Removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr "Per defecte, només les instancies dels canal ubicats en aquest node poden esser esborrades de la xarxa"
-#: ../../Zotlabs/Module/Photos.php:84
+#: ../../Zotlabs/Module/Photos.php:78
msgid "Page owner information could not be retrieved."
msgstr "La informació del propietari de la pàgina no va poder ser recuperada"
-#: ../../Zotlabs/Module/Photos.php:99 ../../Zotlabs/Module/Photos.php:743
-#: ../../Zotlabs/Module/Profile_photo.php:114
-#: ../../Zotlabs/Module/Profile_photo.php:206
-#: ../../Zotlabs/Module/Profile_photo.php:294
-#: ../../include/photo/photo_driver.php:718
-msgid "Profile Photos"
-msgstr "Fotos del Perfil"
-
-#: ../../Zotlabs/Module/Photos.php:105 ../../Zotlabs/Module/Photos.php:149
+#: ../../Zotlabs/Module/Photos.php:94 ../../Zotlabs/Module/Photos.php:120
msgid "Album not found."
msgstr "Àlbum no trobat"
-#: ../../Zotlabs/Module/Photos.php:132
+#: ../../Zotlabs/Module/Photos.php:103
msgid "Delete Album"
msgstr "Esborra Àlbum"
-#: ../../Zotlabs/Module/Photos.php:153
-msgid ""
-"Multiple storage folders exist with this album name, but within different "
-"directories. Please remove the desired folder or folders using the Files "
-"manager"
-msgstr "Existeixen moltes carpetes de emmagatzemament amb aquest nom d'àlbum, però en diferents directoris. Si us plau esborra la carpeta o carpetes amb el gestor d'arxius."
-
-#: ../../Zotlabs/Module/Photos.php:210 ../../Zotlabs/Module/Photos.php:1053
+#: ../../Zotlabs/Module/Photos.php:174 ../../Zotlabs/Module/Photos.php:1083
msgid "Delete Photo"
msgstr "Esborra Foto"
-#: ../../Zotlabs/Module/Photos.php:533
+#: ../../Zotlabs/Module/Photos.php:551
msgid "No photos selected"
msgstr "No has seleccionat fotos"
-#: ../../Zotlabs/Module/Photos.php:582
+#: ../../Zotlabs/Module/Photos.php:600
msgid "Access to this item is restricted."
msgstr "L'accés a aquest element esta restringit."
-#: ../../Zotlabs/Module/Photos.php:621
+#: ../../Zotlabs/Module/Photos.php:646
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "S'estan fent servir %1$.2f MB de %2$.2f MB de l'espai per a imatges."
-#: ../../Zotlabs/Module/Photos.php:624
+#: ../../Zotlabs/Module/Photos.php:649
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "S'estan fent servir %1$.2f MB de l'espai per a imatges."
-#: ../../Zotlabs/Module/Photos.php:660
+#: ../../Zotlabs/Module/Photos.php:691
msgid "Upload Photos"
msgstr "Puja imatges"
-#: ../../Zotlabs/Module/Photos.php:664
+#: ../../Zotlabs/Module/Photos.php:695
msgid "Enter an album name"
msgstr "Escriu el nom del àlbum"
-#: ../../Zotlabs/Module/Photos.php:665
+#: ../../Zotlabs/Module/Photos.php:696
msgid "or select an existing album (doubleclick)"
msgstr "o bé fes doble clic a un d'existent"
-#: ../../Zotlabs/Module/Photos.php:666
+#: ../../Zotlabs/Module/Photos.php:697
msgid "Create a status post for this upload"
msgstr "Genera una entrada a partir de la pujada"
-#: ../../Zotlabs/Module/Photos.php:667
+#: ../../Zotlabs/Module/Photos.php:698
msgid "Caption (optional):"
msgstr "Subtítol (opcional):"
-#: ../../Zotlabs/Module/Photos.php:668
+#: ../../Zotlabs/Module/Photos.php:699
msgid "Description (optional):"
msgstr "Descripció (opcional):"
-#: ../../Zotlabs/Module/Photos.php:695
-msgid "Album name could not be decoded"
-msgstr "No s'ha pogut descodificar el nom de l'àlbum"
-
-#: ../../Zotlabs/Module/Photos.php:743
-msgid "Contact Photos"
-msgstr "Imatges de contactes"
-
-#: ../../Zotlabs/Module/Photos.php:766
+#: ../../Zotlabs/Module/Photos.php:785
msgid "Show Newest First"
msgstr "Ordena de més nou a més antic"
-#: ../../Zotlabs/Module/Photos.php:768
+#: ../../Zotlabs/Module/Photos.php:787
msgid "Show Oldest First"
msgstr "Ordena de més antic a més nou"
-#: ../../Zotlabs/Module/Photos.php:792 ../../Zotlabs/Module/Photos.php:1331
-#: ../../include/widgets.php:1499
-msgid "View Photo"
-msgstr "Mostra la imatge"
-
-#: ../../Zotlabs/Module/Photos.php:823 ../../include/widgets.php:1516
-msgid "Edit Album"
-msgstr "Modifica l'àlbum"
-
-#: ../../Zotlabs/Module/Photos.php:870
+#: ../../Zotlabs/Module/Photos.php:892
msgid "Permission denied. Access to this item may be restricted."
msgstr "S'ha denegat el permís. Pot ser que l'accés estigui restringit."
-#: ../../Zotlabs/Module/Photos.php:872
+#: ../../Zotlabs/Module/Photos.php:894
msgid "Photo not available"
msgstr "La imatge no està disponible"
-#: ../../Zotlabs/Module/Photos.php:930
+#: ../../Zotlabs/Module/Photos.php:952
msgid "Use as profile photo"
msgstr "Fes-la imatge de perfil"
-#: ../../Zotlabs/Module/Photos.php:931
+#: ../../Zotlabs/Module/Photos.php:953
msgid "Use as cover photo"
msgstr "Emprar com a foto de portada"
-#: ../../Zotlabs/Module/Photos.php:938
+#: ../../Zotlabs/Module/Photos.php:960
msgid "Private Photo"
msgstr "Imatge privada"
-#: ../../Zotlabs/Module/Photos.php:953
+#: ../../Zotlabs/Module/Photos.php:975
msgid "View Full Size"
msgstr "Mostra a mida completa"
-#: ../../Zotlabs/Module/Photos.php:998 ../../Zotlabs/Module/Admin.php:1437
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Esborra"
-
-#: ../../Zotlabs/Module/Photos.php:1032
+#: ../../Zotlabs/Module/Photos.php:1057
msgid "Edit photo"
msgstr "Modifica la imatge"
-#: ../../Zotlabs/Module/Photos.php:1034
+#: ../../Zotlabs/Module/Photos.php:1059
msgid "Rotate CW (right)"
msgstr "Tomba cap a la dreta"
-#: ../../Zotlabs/Module/Photos.php:1035
+#: ../../Zotlabs/Module/Photos.php:1060
msgid "Rotate CCW (left)"
msgstr "Tomba cap a l'esquerra"
-#: ../../Zotlabs/Module/Photos.php:1038
+#: ../../Zotlabs/Module/Photos.php:1063
+msgid "Move photo to album"
+msgstr "Mou la foto a un àlbum"
+
+#: ../../Zotlabs/Module/Photos.php:1064
msgid "Enter a new album name"
msgstr "Escriu el nom del nou àlbum"
-#: ../../Zotlabs/Module/Photos.php:1039
+#: ../../Zotlabs/Module/Photos.php:1065
msgid "or select an existing one (doubleclick)"
msgstr "o bé fes doble clic a un d'existent"
-#: ../../Zotlabs/Module/Photos.php:1042
+#: ../../Zotlabs/Module/Photos.php:1068
msgid "Caption"
msgstr "Llegenda"
-#: ../../Zotlabs/Module/Photos.php:1044
+#: ../../Zotlabs/Module/Photos.php:1070
msgid "Add a Tag"
msgstr "Afegeix una etiqueta"
-#: ../../Zotlabs/Module/Photos.php:1048
+#: ../../Zotlabs/Module/Photos.php:1078
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Exemple: @joan, @Paula_Peris, @mar@exemple.org"
-#: ../../Zotlabs/Module/Photos.php:1051
+#: ../../Zotlabs/Module/Photos.php:1081
msgid "Flag as adult in album view"
msgstr "Marca com a contingut adult"
-#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Lib/ThreadItem.php:261
+#: ../../Zotlabs/Module/Photos.php:1100 ../../Zotlabs/Lib/ThreadItem.php:281
msgid "I like this (toggle)"
msgstr "M'agrada això (canvia)"
-#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:262
+#: ../../Zotlabs/Module/Photos.php:1101 ../../Zotlabs/Lib/ThreadItem.php:282
msgid "I don't like this (toggle)"
msgstr "No m'agrada això (canvia)"
-#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Lib/ThreadItem.php:397
-#: ../../include/conversation.php:740
+#: ../../Zotlabs/Module/Photos.php:1103 ../../Zotlabs/Lib/ThreadItem.php:427
+#: ../../include/conversation.php:785
msgid "Please wait"
msgstr "Si us plau, espera"
-#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
-#: ../../Zotlabs/Lib/ThreadItem.php:707
+#: ../../Zotlabs/Module/Photos.php:1119 ../../Zotlabs/Module/Photos.php:1237
+#: ../../Zotlabs/Lib/ThreadItem.php:747
msgid "This is you"
msgstr "Ets tú"
-#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Photos.php:1209
-#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
+#: ../../Zotlabs/Module/Photos.php:1121 ../../Zotlabs/Module/Photos.php:1239
+#: ../../Zotlabs/Lib/ThreadItem.php:749 ../../include/js_strings.php:6
msgid "Comment"
msgstr "Comentari"
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+#: ../../Zotlabs/Module/Photos.php:1137 ../../include/conversation.php:618
msgctxt "title"
msgid "Likes"
msgstr "Agrada"
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:574
+#: ../../Zotlabs/Module/Photos.php:1137 ../../include/conversation.php:618
msgctxt "title"
msgid "Dislikes"
msgstr "Desagrada"
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
msgctxt "title"
msgid "Agree"
msgstr "Acord"
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
msgctxt "title"
msgid "Disagree"
msgstr "Desacord"
-#: ../../Zotlabs/Module/Photos.php:1108 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
msgctxt "title"
msgid "Abstain"
msgstr "Abstenirse"
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
msgctxt "title"
msgid "Attending"
msgstr "Assistint"
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
msgctxt "title"
msgid "Not attending"
msgstr "Desassistint"
-#: ../../Zotlabs/Module/Photos.php:1109 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
msgctxt "title"
msgid "Might attend"
msgstr "Podrien assistir"
-#: ../../Zotlabs/Module/Photos.php:1126 ../../Zotlabs/Module/Photos.php:1138
-#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
-#: ../../include/conversation.php:1717
+#: ../../Zotlabs/Module/Photos.php:1156 ../../Zotlabs/Module/Photos.php:1168
+#: ../../Zotlabs/Lib/ThreadItem.php:201 ../../Zotlabs/Lib/ThreadItem.php:213
msgid "View all"
msgstr "Veure tot"
-#: ../../Zotlabs/Module/Photos.php:1130 ../../Zotlabs/Lib/ThreadItem.php:185
-#: ../../include/taxonomy.php:403 ../../include/conversation.php:1741
-#: ../../include/channel.php:1158
+#: ../../Zotlabs/Module/Photos.php:1160 ../../Zotlabs/Lib/ThreadItem.php:205
+#: ../../include/conversation.php:1978 ../../include/channel.php:1540
+#: ../../include/taxonomy.php:597
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] "Agrada"
msgstr[1] "Agraden"
-#: ../../Zotlabs/Module/Photos.php:1135 ../../Zotlabs/Lib/ThreadItem.php:190
-#: ../../include/conversation.php:1744
+#: ../../Zotlabs/Module/Photos.php:1165 ../../Zotlabs/Lib/ThreadItem.php:210
+#: ../../include/conversation.php:1981
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
msgstr[0] "Desagrada"
msgstr[1] "Desagrada"
-#: ../../Zotlabs/Module/Photos.php:1235
+#: ../../Zotlabs/Module/Photos.php:1265
msgid "Photo Tools"
msgstr "Eines per Fotos"
-#: ../../Zotlabs/Module/Photos.php:1244
+#: ../../Zotlabs/Module/Photos.php:1274
msgid "In This Photo:"
msgstr "Hi apareixen:"
-#: ../../Zotlabs/Module/Photos.php:1249
+#: ../../Zotlabs/Module/Photos.php:1279
msgid "Map"
msgstr "Mapa"
-#: ../../Zotlabs/Module/Photos.php:1257 ../../Zotlabs/Lib/ThreadItem.php:386
+#: ../../Zotlabs/Module/Photos.php:1287 ../../Zotlabs/Lib/ThreadItem.php:415
msgctxt "noun"
msgid "Likes"
msgstr "Agrada"
-#: ../../Zotlabs/Module/Photos.php:1258 ../../Zotlabs/Lib/ThreadItem.php:387
+#: ../../Zotlabs/Module/Photos.php:1288 ../../Zotlabs/Lib/ThreadItem.php:416
msgctxt "noun"
msgid "Dislikes"
msgstr "Desagrada"
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:392
-#: ../../include/acl_selectors.php:285
+#: ../../Zotlabs/Module/Photos.php:1293 ../../Zotlabs/Lib/ThreadItem.php:421
+#: ../../include/acl_selectors.php:125
msgid "Close"
msgstr "Tanca"
-#: ../../Zotlabs/Module/Photos.php:1337
-msgid "View Album"
-msgstr "Mostra'n l'àlbum"
-
-#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361
-#: ../../Zotlabs/Module/Photos.php:1362
+#: ../../Zotlabs/Module/Photos.php:1365 ../../Zotlabs/Module/Photos.php:1378
+#: ../../Zotlabs/Module/Photos.php:1379 ../../include/photos.php:656
msgid "Recent Photos"
msgstr "Imatges recents"
-#: ../../Zotlabs/Module/Ping.php:265
+#: ../../Zotlabs/Module/Wiki.php:30
+msgid "Profile Unavailable."
+msgstr "El perfil no està disponible."
+
+#: ../../Zotlabs/Module/Wiki.php:44 ../../Zotlabs/Module/Cloud.php:108
+#: ../../addon/gitwiki/Mod_Gitwiki.php:42
+msgid "Not found"
+msgstr "No s'ha trobat"
+
+#: ../../Zotlabs/Module/Wiki.php:68 ../../addon/gitwiki/Mod_Gitwiki.php:62
+msgid "Invalid channel"
+msgstr "El canal és invàlid"
+
+#: ../../Zotlabs/Module/Wiki.php:124 ../../addon/gitwiki/Mod_Gitwiki.php:107
+msgid "Error retrieving wiki"
+msgstr "S'ha produït un error en carregar la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:131 ../../addon/gitwiki/Mod_Gitwiki.php:114
+msgid "Error creating zip file export folder"
+msgstr "S'ha produït un error en crear la carpeta per al fitxer comprimit d'exportació"
+
+#: ../../Zotlabs/Module/Wiki.php:182 ../../addon/gitwiki/Mod_Gitwiki.php:132
+msgid "Error downloading wiki: "
+msgstr "S'ha produït un error en descarregar la wiki:"
+
+#: ../../Zotlabs/Module/Wiki.php:197 ../../addon/gitwiki/Mod_Gitwiki.php:146
+#: ../../include/conversation.php:1925 ../../include/nav.php:494
+msgid "Wikis"
+msgstr "Wikis"
+
+#: ../../Zotlabs/Module/Wiki.php:203 ../../addon/gitwiki/Mod_Gitwiki.php:152
+msgid "Download"
+msgstr "Descarrega"
+
+#: ../../Zotlabs/Module/Wiki.php:205 ../../Zotlabs/Module/Chat.php:256
+#: ../../Zotlabs/Module/Profiles.php:834 ../../Zotlabs/Module/Manage.php:145
+#: ../../addon/gitwiki/Mod_Gitwiki.php:154
+msgid "Create New"
+msgstr "Crear Nou"
+
+#: ../../Zotlabs/Module/Wiki.php:207 ../../addon/gitwiki/Mod_Gitwiki.php:156
+msgid "Wiki name"
+msgstr "Nom de la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../addon/gitwiki/Mod_Gitwiki.php:157
+msgid "Content type"
+msgstr "Llenguatge de formatació"
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
+#: ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../addon/mdpost/mdpost.php:40
+#: ../../include/text.php:1868
+msgid "Markdown"
+msgstr "Markdown"
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
+#: ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1866
+msgid "BBcode"
+msgstr "BBCode"
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1869
+msgid "Text"
+msgstr "Cap (text pla)"
+
+#: ../../Zotlabs/Module/Wiki.php:210 ../../Zotlabs/Storage/Browser.php:284
+#: ../../addon/gitwiki/Mod_Gitwiki.php:159
+msgid "Type"
+msgstr "Tipus"
+
+#: ../../Zotlabs/Module/Wiki.php:211
+msgid "Any&nbsp;type"
+msgstr "Qualsevol"
+
+#: ../../Zotlabs/Module/Wiki.php:218
+msgid "Lock content type"
+msgstr "Bloca el llenguatge de formatació"
+
+#: ../../Zotlabs/Module/Wiki.php:219 ../../addon/gitwiki/Mod_Gitwiki.php:166
+msgid "Create a status post for this wiki"
+msgstr "Crea una entrada d'estat per aquesta wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:220
+msgid "Edit Wiki Name"
+msgstr "Canvia el nom de la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:262 ../../addon/gitwiki/Mod_Gitwiki.php:185
+msgid "Wiki not found"
+msgstr "No s'ha trobat la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:286 ../../addon/gitwiki/Mod_Gitwiki.php:210
+msgid "Rename page"
+msgstr "Canvia el nom de la pàgina"
+
+#: ../../Zotlabs/Module/Wiki.php:305 ../../addon/gitwiki/Mod_Gitwiki.php:214
+msgid "Error retrieving page content"
+msgstr "S'ha produït un error en carregar el contingut de la pàgina"
+
+#: ../../Zotlabs/Module/Wiki.php:313 ../../Zotlabs/Module/Wiki.php:315
+msgid "New page"
+msgstr "Crea una pàgina nova"
+
+#: ../../Zotlabs/Module/Wiki.php:343 ../../addon/gitwiki/Mod_Gitwiki.php:242
+msgid "Revision Comparison"
+msgstr "Comparació de revisió"
+
+#: ../../Zotlabs/Module/Wiki.php:344 ../../addon/gitwiki/Mod_Gitwiki.php:243
+msgid "Revert"
+msgstr "Reverteix"
+
+#: ../../Zotlabs/Module/Wiki.php:351
+msgid "Short description of your changes (optional)"
+msgstr "Descripció curta dels canvis (opcional)"
+
+#: ../../Zotlabs/Module/Wiki.php:358 ../../addon/gitwiki/Mod_Gitwiki.php:252
+msgid "Source"
+msgstr "Font"
+
+#: ../../Zotlabs/Module/Wiki.php:368 ../../addon/gitwiki/Mod_Gitwiki.php:260
+msgid "New page name"
+msgstr "Nou nom de pàgina"
+
+#: ../../Zotlabs/Module/Wiki.php:373 ../../addon/gitwiki/Mod_Gitwiki.php:265
+#: ../../include/conversation.php:1282
+msgid "Embed image from photo albums"
+msgstr "Embeu una imatge dels àlbums de fotos"
+
+#: ../../Zotlabs/Module/Wiki.php:374 ../../addon/gitwiki/Mod_Gitwiki.php:266
+#: ../../include/conversation.php:1385
+msgid "Embed an image from your albums"
+msgstr "Embeu una imatge dels teus àlbums"
+
+#: ../../Zotlabs/Module/Wiki.php:376
+#: ../../Zotlabs/Module/Profile_photo.php:465
+#: ../../Zotlabs/Module/Cover_photo.php:366
+#: ../../addon/gitwiki/Mod_Gitwiki.php:268 ../../include/conversation.php:1387
+#: ../../include/conversation.php:1434
+msgid "OK"
+msgstr "OK"
+
+#: ../../Zotlabs/Module/Wiki.php:377 ../../addon/gitwiki/Mod_Gitwiki.php:269
+#: ../../include/conversation.php:1318
+msgid "Choose images to embed"
+msgstr "Tria una imatge per a embeure-la"
+
+#: ../../Zotlabs/Module/Wiki.php:378 ../../addon/gitwiki/Mod_Gitwiki.php:270
+#: ../../include/conversation.php:1319
+msgid "Choose an album"
+msgstr "Tria un àlbum"
+
+#: ../../Zotlabs/Module/Wiki.php:379 ../../addon/gitwiki/Mod_Gitwiki.php:271
+msgid "Choose a different album"
+msgstr "Escull un àlbum diferent"
+
+#: ../../Zotlabs/Module/Wiki.php:380 ../../addon/gitwiki/Mod_Gitwiki.php:272
+#: ../../include/conversation.php:1321
+msgid "Error getting album list"
+msgstr "Ha ocorregut un error quan treia la llista de àlbums"
+
+#: ../../Zotlabs/Module/Wiki.php:381 ../../addon/gitwiki/Mod_Gitwiki.php:273
+#: ../../include/conversation.php:1322
+msgid "Error getting photo link"
+msgstr "Ha ocorregut un error quan treia l'enllaç a la foto"
+
+#: ../../Zotlabs/Module/Wiki.php:382 ../../addon/gitwiki/Mod_Gitwiki.php:274
+#: ../../include/conversation.php:1323
+msgid "Error getting album"
+msgstr "Ha ocorregut un error treient l'àlbum"
+
+#: ../../Zotlabs/Module/Wiki.php:458 ../../addon/gitwiki/Mod_Gitwiki.php:337
+msgid "Error creating wiki. Invalid name."
+msgstr "S'ha produït un error en crear la wiki. El nom no és vàlid."
+
+#: ../../Zotlabs/Module/Wiki.php:465
+msgid "A wiki with this name already exists."
+msgstr "Ja existeix una wiki amb aquest nom."
+
+#: ../../Zotlabs/Module/Wiki.php:478 ../../addon/gitwiki/Mod_Gitwiki.php:348
+msgid "Wiki created, but error creating Home page."
+msgstr "S'ha creat la wiki, però s'ha produït un error en crear-ne la pàgina principal."
+
+#: ../../Zotlabs/Module/Wiki.php:485 ../../addon/gitwiki/Mod_Gitwiki.php:353
+msgid "Error creating wiki"
+msgstr "S'ha produït un error en crear la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:508
+msgid "Error updating wiki. Invalid name."
+msgstr "S'ha produït un error en actualitzar la wiki. El nom no és vàlid."
+
+#: ../../Zotlabs/Module/Wiki.php:528
+msgid "Error updating wiki"
+msgstr "S'ha produït un error en actualitzar la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:543
+msgid "Wiki delete permission denied."
+msgstr "No tens permís per a eliminar la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:553
+msgid "Error deleting wiki"
+msgstr "S'ha produït un error en eliminar la wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:586 ../../addon/gitwiki/Mod_Gitwiki.php:400
+msgid "New page created"
+msgstr "S'ha desat la nova pàgina"
+
+#: ../../Zotlabs/Module/Wiki.php:707
+msgid "Cannot delete Home"
+msgstr "No es pot esborrar la pàgina principal"
+
+#: ../../Zotlabs/Module/Wiki.php:771
+msgid "Current Revision"
+msgstr "Revisió actual"
+
+#: ../../Zotlabs/Module/Wiki.php:771
+msgid "Selected Revision"
+msgstr "Revisió seleccionada"
+
+#: ../../Zotlabs/Module/Wiki.php:821
+msgid "You must be authenticated."
+msgstr "Has d'estar autenticat."
+
+#: ../../Zotlabs/Module/Chanview.php:139
+msgid "toggle full screen mode"
+msgstr "commuta el mode de pantalla completa"
+
+#: ../../Zotlabs/Module/Pdledit.php:21
+msgid "Layout updated."
+msgstr "S'ha actualitzat el disseny."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:219
+msgid "Feature disabled."
+msgstr "Funcionalitat desactivada."
+
+#: ../../Zotlabs/Module/Pdledit.php:47 ../../Zotlabs/Module/Pdledit.php:90
+msgid "Edit System Page Description"
+msgstr "Editor del Sistema de Descripció de Pàgines"
+
+#: ../../Zotlabs/Module/Pdledit.php:68
+msgid "(modified)"
+msgstr "(modificat)"
+
+#: ../../Zotlabs/Module/Pdledit.php:68 ../../Zotlabs/Module/Lostpass.php:133
+msgid "Reset"
+msgstr "Reajustar"
+
+#: ../../Zotlabs/Module/Pdledit.php:85
+msgid "Layout not found."
+msgstr "No s'ha trobat cap disseny de pàgina."
+
+#: ../../Zotlabs/Module/Pdledit.php:91
+msgid "Module Name:"
+msgstr "Nom del mòdul:"
+
+#: ../../Zotlabs/Module/Pdledit.php:92
+msgid "Layout Help"
+msgstr "Ajuda per al disseny de pàgina"
+
+#: ../../Zotlabs/Module/Pdledit.php:93
+msgid "Edit another layout"
+msgstr "Modifica un altre disseny"
+
+#: ../../Zotlabs/Module/Pdledit.php:94
+msgid "System layout"
+msgstr "Disseny del sistema"
+
+#: ../../Zotlabs/Module/Poke.php:182 ../../Zotlabs/Lib/Apps.php:254
+#: ../../include/conversation.php:1092
+msgid "Poke"
+msgstr "Esperonar"
+
+#: ../../Zotlabs/Module/Poke.php:183
+msgid "Poke somebody"
+msgstr "Emprenyar algú"
+
+#: ../../Zotlabs/Module/Poke.php:186
+msgid "Poke/Prod"
+msgstr "Esperonat/Picat"
+
+#: ../../Zotlabs/Module/Poke.php:187
+msgid "Poke, prod or do other things to somebody"
+msgstr "emprenyar, picar o fer altres coses a algú"
+
+#: ../../Zotlabs/Module/Poke.php:194
+msgid "Recipient"
+msgstr "Destinatari"
+
+#: ../../Zotlabs/Module/Poke.php:195
+msgid "Choose what you wish to do to recipient"
+msgstr "Tria que vols fer amb el destinatari"
+
+#: ../../Zotlabs/Module/Poke.php:198 ../../Zotlabs/Module/Poke.php:199
+msgid "Make this post private"
+msgstr "Fer aquesta entrada privada"
+
+#: ../../Zotlabs/Module/Profile_photo.php:66
+#: ../../Zotlabs/Module/Cover_photo.php:56
+msgid "Image uploaded but image cropping failed."
+msgstr "S'ha pujat la imatge però no s'ha pogut retallar."
+
+#: ../../Zotlabs/Module/Profile_photo.php:120
+#: ../../Zotlabs/Module/Profile_photo.php:248
+#: ../../include/photo/photo_driver.php:740
+msgid "Profile Photos"
+msgstr "Fotos del Perfil"
+
+#: ../../Zotlabs/Module/Profile_photo.php:142
+#: ../../Zotlabs/Module/Cover_photo.php:159
+msgid "Image resize failed."
+msgstr "No s'ha pogut escalar la imatge."
+
+#: ../../Zotlabs/Module/Profile_photo.php:218
+#: ../../addon/openclipatar/openclipatar.php:298
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»"
+
+#: ../../Zotlabs/Module/Profile_photo.php:225
+#: ../../Zotlabs/Module/Cover_photo.php:173 ../../include/photos.php:195
+msgid "Unable to process image"
+msgstr "incapaç de processar la imatge"
+
+#: ../../Zotlabs/Module/Profile_photo.php:260
+#: ../../Zotlabs/Module/Cover_photo.php:197
+msgid "Image upload failed."
+msgstr "La pujada de la imatge va fracassar."
+
+#: ../../Zotlabs/Module/Profile_photo.php:279
+#: ../../Zotlabs/Module/Cover_photo.php:214
+msgid "Unable to process image."
+msgstr "Incapaç de processar l'imatge."
+
+#: ../../Zotlabs/Module/Profile_photo.php:343
+#: ../../Zotlabs/Module/Profile_photo.php:390
+#: ../../Zotlabs/Module/Cover_photo.php:307
+#: ../../Zotlabs/Module/Cover_photo.php:322
+msgid "Photo not available."
+msgstr "Foto no disponible."
+
+#: ../../Zotlabs/Module/Profile_photo.php:455
+#: ../../Zotlabs/Module/Cover_photo.php:358
+msgid "Upload File:"
+msgstr "Puja Arxiu:"
+
+#: ../../Zotlabs/Module/Profile_photo.php:456
+#: ../../Zotlabs/Module/Cover_photo.php:359
+msgid "Select a profile:"
+msgstr "Tria un perfil:"
+
+#: ../../Zotlabs/Module/Profile_photo.php:457
+msgid "Use Photo for Profile"
+msgstr "Fes servir la foto per al perfil"
+
+#: ../../Zotlabs/Module/Profile_photo.php:457
+msgid "Change Profile Photo"
+msgstr "Canvia la imatge de perfil"
+
+#: ../../Zotlabs/Module/Profile_photo.php:458
+msgid "Use"
+msgstr "Aplica"
+
+#: ../../Zotlabs/Module/Profile_photo.php:462
+#: ../../Zotlabs/Module/Profile_photo.php:463
+#: ../../Zotlabs/Module/Cover_photo.php:363
+#: ../../Zotlabs/Module/Cover_photo.php:364
+msgid "Use a photo from your albums"
+msgstr "Agafa una foto dels àlbums"
+
+#: ../../Zotlabs/Module/Profile_photo.php:467
+#: ../../Zotlabs/Module/Cover_photo.php:369
+msgid "Select existing photo"
+msgstr "Tria una foto existent"
+
+#: ../../Zotlabs/Module/Profile_photo.php:486
+#: ../../Zotlabs/Module/Cover_photo.php:386
+msgid "Crop Image"
+msgstr "Retalla Imatge"
+
+#: ../../Zotlabs/Module/Profile_photo.php:487
+#: ../../Zotlabs/Module/Cover_photo.php:387
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Si us plau, retalla la imatge per a una optima visualització"
+
+#: ../../Zotlabs/Module/Profile_photo.php:489
+#: ../../Zotlabs/Module/Cover_photo.php:389
+msgid "Done Editing"
+msgstr "Edició Feta"
+
+#: ../../Zotlabs/Module/Chatsvc.php:131
+msgid "Away"
+msgstr "Absent"
+
+#: ../../Zotlabs/Module/Chatsvc.php:136
+msgid "Online"
+msgstr "En connexió"
+
+#: ../../Zotlabs/Module/Item.php:194
+msgid "Unable to locate original post."
+msgstr "No s'ha pogut trobar l'entrada original."
+
+#: ../../Zotlabs/Module/Item.php:476
+msgid "Empty post discarded."
+msgstr "S'ha descartat l'entrada perquè no té contingut."
+
+#: ../../Zotlabs/Module/Item.php:867
+msgid "Duplicate post suppressed."
+msgstr "Publicació duplicada s'ha suprimit."
+
+#: ../../Zotlabs/Module/Item.php:1012
+msgid "System error. Post not saved."
+msgstr "Hi ha hagut un error del sistema. L'entrada no s'ha desat."
+
+#: ../../Zotlabs/Module/Item.php:1048
+msgid "Your comment is awaiting approval."
+msgstr "El teu comentari encara no ha estat aprovat."
+
+#: ../../Zotlabs/Module/Item.php:1153
+msgid "Unable to obtain post information from database."
+msgstr "No s'ha pogut obtenir informació de l'entrada a la base de dades."
+
+#: ../../Zotlabs/Module/Item.php:1182
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Has assolit el teu límit de %1$.0f entrades (descomptant comentaris)."
+
+#: ../../Zotlabs/Module/Item.php:1189
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Has assolit el teu limit de %1$.0f pàgines web."
+
+#: ../../Zotlabs/Module/Ping.php:320
msgid "sent you a private message"
msgstr "Se t'ha enviat un missatge privat"
-#: ../../Zotlabs/Module/Ping.php:313
+#: ../../Zotlabs/Module/Ping.php:372
msgid "added your channel"
msgstr "el teu canal s'ha afegit"
-#: ../../Zotlabs/Module/Ping.php:323
+#: ../../Zotlabs/Module/Ping.php:396
+msgid "requires approval"
+msgstr "requereix aprovació"
+
+#: ../../Zotlabs/Module/Ping.php:406
msgid "g A l F d"
msgstr "g A l F d"
-#: ../../Zotlabs/Module/Ping.php:346
+#: ../../Zotlabs/Module/Ping.php:424
msgid "[today]"
msgstr "[avui]"
-#: ../../Zotlabs/Module/Ping.php:355
+#: ../../Zotlabs/Module/Ping.php:433
msgid "posted an event"
msgstr "enviat un esdeveniment"
-#: ../../Zotlabs/Module/Oexchange.php:27
-msgid "Unable to find your hub."
-msgstr "No es possible trobar el node"
+#: ../../Zotlabs/Module/Ping.php:466
+msgid "shared a file with you"
+msgstr "ha compartit un fitxer amb tu"
-#: ../../Zotlabs/Module/Oexchange.php:41
-msgid "Post successful."
-msgstr "Entrada realitzada amb èxit. "
-
-#: ../../Zotlabs/Module/Openid.php:30
-msgid "OpenID protocol error. No ID returned."
-msgstr "Error del protocol OpenID. No ha retornat ID"
+#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
+msgid "Invalid item."
+msgstr "Article invàlid."
-#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:226
-msgid "Login failed."
-msgstr "Identificació fallida."
+#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Block.php:77
+#: ../../Zotlabs/Module/Display.php:133
+#: ../../Zotlabs/Lib/NativeWikiPage.php:519 ../../Zotlabs/Web/Router.php:167
+#: ../../include/help.php:81
+msgid "Page not found."
+msgstr "Pàgina no trobada."
-#: ../../Zotlabs/Module/Page.php:133
+#: ../../Zotlabs/Module/Page.php:173
msgid ""
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
@@ -3141,6 +5369,566 @@ msgid ""
"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+#: ../../Zotlabs/Module/Connedit.php:79 ../../Zotlabs/Module/Defperms.php:59
+msgid "Could not access contact record."
+msgstr "No s'ha pogut accedir al llibre de contactes."
+
+#: ../../Zotlabs/Module/Connedit.php:109
+msgid "Could not locate selected profile."
+msgstr "No s'ha trobat el perfil indicat."
+
+#: ../../Zotlabs/Module/Connedit.php:246
+msgid "Connection updated."
+msgstr "S'ha actualitzat la connexió."
+
+#: ../../Zotlabs/Module/Connedit.php:248
+msgid "Failed to update connection record."
+msgstr "No s'ha pogut actualitzar el registre de connexió."
+
+#: ../../Zotlabs/Module/Connedit.php:302
+msgid "is now connected to"
+msgstr "Ara està conectat amb"
+
+#: ../../Zotlabs/Module/Connedit.php:427
+msgid "Could not access address book record."
+msgstr "No puc accedir al registre del contacte"
+
+#: ../../Zotlabs/Module/Connedit.php:475
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Ha fallat la recàrrega - el canal es actualment inaccesible."
+
+#: ../../Zotlabs/Module/Connedit.php:490 ../../Zotlabs/Module/Connedit.php:499
+#: ../../Zotlabs/Module/Connedit.php:508 ../../Zotlabs/Module/Connedit.php:517
+#: ../../Zotlabs/Module/Connedit.php:530
+msgid "Unable to set address book parameters."
+msgstr "No es poden ajustar els paràmetres dels contactes."
+
+#: ../../Zotlabs/Module/Connedit.php:554
+msgid "Connection has been removed."
+msgstr "S'han eliminat les conexions."
+
+#: ../../Zotlabs/Module/Connedit.php:594 ../../Zotlabs/Lib/Apps.php:247
+#: ../../addon/openclipatar/openclipatar.php:57
+#: ../../include/conversation.php:1032 ../../include/nav.php:114
+msgid "View Profile"
+msgstr "Veure Perfil"
+
+#: ../../Zotlabs/Module/Connedit.php:597
+#, php-format
+msgid "View %s's profile"
+msgstr "Mostra el perfil de %s"
+
+#: ../../Zotlabs/Module/Connedit.php:601
+msgid "Refresh Permissions"
+msgstr "Recarrega els Permissos"
+
+#: ../../Zotlabs/Module/Connedit.php:604
+msgid "Fetch updated permissions"
+msgstr "Obté els permisos actualitzats"
+
+#: ../../Zotlabs/Module/Connedit.php:608
+msgid "Refresh Photo"
+msgstr "Recarrega la foto"
+
+#: ../../Zotlabs/Module/Connedit.php:611
+msgid "Fetch updated photo"
+msgstr "Demana la nova foto al servidor"
+
+#: ../../Zotlabs/Module/Connedit.php:615
+msgid "Recent Activity"
+msgstr "Activitat Recent"
+
+#: ../../Zotlabs/Module/Connedit.php:618
+msgid "View recent posts and comments"
+msgstr "Mostra les entrades i comentaris recents"
+
+#: ../../Zotlabs/Module/Connedit.php:625
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Boqueja (o Desbloqueja) les comunicacions amb aquesta connexió"
+
+#: ../../Zotlabs/Module/Connedit.php:626
+msgid "This connection is blocked!"
+msgstr "Aquesta connexió està bloquejada!"
+
+#: ../../Zotlabs/Module/Connedit.php:630
+msgid "Unignore"
+msgstr "Inhabilita"
+
+#: ../../Zotlabs/Module/Connedit.php:633
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignora (o Considera) les communicacions entrants d'aquesta connexió"
+
+#: ../../Zotlabs/Module/Connedit.php:634
+msgid "This connection is ignored!"
+msgstr "Aquesta connexió es ignorada!"
+
+#: ../../Zotlabs/Module/Connedit.php:638
+msgid "Unarchive"
+msgstr "Desarxiva"
+
+#: ../../Zotlabs/Module/Connedit.php:638
+msgid "Archive"
+msgstr "Arxiva"
+
+#: ../../Zotlabs/Module/Connedit.php:641
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Arxiva (o Desarxiva) aquesta connexió - Marca el canal com a mort pero manté el contingut "
+
+#: ../../Zotlabs/Module/Connedit.php:642
+msgid "This connection is archived!"
+msgstr "Aquesta connexió està arxivada!"
+
+#: ../../Zotlabs/Module/Connedit.php:646
+msgid "Unhide"
+msgstr "Mostra"
+
+#: ../../Zotlabs/Module/Connedit.php:646
+msgid "Hide"
+msgstr "Amaga"
+
+#: ../../Zotlabs/Module/Connedit.php:649
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Amaga (o Mostra) aquesta connexió de les altres connexions teves"
+
+#: ../../Zotlabs/Module/Connedit.php:650
+msgid "This connection is hidden!"
+msgstr "Aquesta connexió està amagada!"
+
+#: ../../Zotlabs/Module/Connedit.php:657
+msgid "Delete this connection"
+msgstr "Elimina aquesta connexió"
+
+#: ../../Zotlabs/Module/Connedit.php:665
+msgid "Fetch Vcard"
+msgstr "Obté la targeta de contacte Vcard"
+
+#: ../../Zotlabs/Module/Connedit.php:668
+msgid "Fetch electronic calling card for this connection"
+msgstr "Obté la targeta de trucada electrònica d'aquesta connexió"
+
+#: ../../Zotlabs/Module/Connedit.php:679
+msgid "Open Individual Permissions section by default"
+msgstr "Obrir, per defecte, la secció de Permisos Individuals"
+
+#: ../../Zotlabs/Module/Connedit.php:702
+msgid "Affinity"
+msgstr "Afinitat"
+
+#: ../../Zotlabs/Module/Connedit.php:705
+msgid "Open Set Affinity section by default"
+msgstr "Obrir, per defecte, la secció d'Ajustos d'Afinitat"
+
+#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:22
+msgid "Me"
+msgstr "Jo"
+
+#: ../../Zotlabs/Module/Connedit.php:710 ../../Zotlabs/Widget/Affinity.php:23
+msgid "Family"
+msgstr "Família"
+
+#: ../../Zotlabs/Module/Connedit.php:712 ../../Zotlabs/Widget/Affinity.php:25
+msgid "Acquaintances"
+msgstr "Coneguts"
+
+#: ../../Zotlabs/Module/Connedit.php:739
+msgid "Filter"
+msgstr "Filtre"
+
+#: ../../Zotlabs/Module/Connedit.php:742
+msgid "Open Custom Filter section by default"
+msgstr "Obrir, per defecte, la secció de Filtres a Mida"
+
+#: ../../Zotlabs/Module/Connedit.php:779
+msgid "Approve this connection"
+msgstr "Apccepta aquesta connexió"
+
+#: ../../Zotlabs/Module/Connedit.php:779
+msgid "Accept connection to allow communication"
+msgstr "Accepta la connexió per permetre la comunicació"
+
+#: ../../Zotlabs/Module/Connedit.php:784
+msgid "Set Affinity"
+msgstr "Ajusta l'Afinitat"
+
+#: ../../Zotlabs/Module/Connedit.php:787
+msgid "Set Profile"
+msgstr "Ajusta el Perfil"
+
+#: ../../Zotlabs/Module/Connedit.php:790
+msgid "Set Affinity & Profile"
+msgstr "Ajusta Afinitat i Perfil"
+
+#: ../../Zotlabs/Module/Connedit.php:838
+msgid "This connection is unreachable from this location."
+msgstr "Aquesta connexió no és accessible des d'aquest hub."
+
+#: ../../Zotlabs/Module/Connedit.php:839
+msgid "This connection may be unreachable from other channel locations."
+msgstr "Aquesta connexió no és accessibles des d'altres hubs del canal."
+
+#: ../../Zotlabs/Module/Connedit.php:841
+msgid "Location independence is not supported by their network."
+msgstr "La xarxa d'aquesta connexió no és compatible amb la independència de hub."
+
+#: ../../Zotlabs/Module/Connedit.php:847
+msgid ""
+"This connection is unreachable from this location. Location independence is "
+"not supported by their network."
+msgstr "Aquesta connexió no és accessible des d'aquest hub. La seva xarxa no és compatible amb la independència de hub."
+
+#: ../../Zotlabs/Module/Connedit.php:850 ../../Zotlabs/Module/Defperms.php:238
+#: ../../Zotlabs/Widget/Settings_menu.php:109
+msgid "Connection Default Permissions"
+msgstr "Permisos per Defecte de la Connexió"
+
+#: ../../Zotlabs/Module/Connedit.php:850 ../../include/items.php:4164
+#, php-format
+msgid "Connection: %s"
+msgstr "Connexió: %s"
+
+#: ../../Zotlabs/Module/Connedit.php:851 ../../Zotlabs/Module/Defperms.php:239
+msgid "Apply these permissions automatically"
+msgstr "Aplica aquests permissos automaticament"
+
+#: ../../Zotlabs/Module/Connedit.php:851
+msgid "Connection requests will be approved without your interaction"
+msgstr "Les peticions de connexió seran aprovades sense la teva interacció"
+
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
+msgid "Permission role"
+msgstr "Permisos de rol"
+
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
+#: ../../Zotlabs/Widget/Notifications.php:151 ../../include/nav.php:284
+msgid "Loading"
+msgstr "S'està carregant"
+
+#: ../../Zotlabs/Module/Connedit.php:853 ../../Zotlabs/Module/Defperms.php:241
+msgid "Add permission role"
+msgstr "Afegir permisos de rol"
+
+#: ../../Zotlabs/Module/Connedit.php:860
+msgid "This connection's primary address is"
+msgstr "La primera adreça d'aqueste connexió es"
+
+#: ../../Zotlabs/Module/Connedit.php:861
+msgid "Available locations:"
+msgstr "Localització disponible:"
+
+#: ../../Zotlabs/Module/Connedit.php:866 ../../Zotlabs/Module/Defperms.php:245
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Els permisos indicats en aquesta pàgina seran aplicats a totes les noves connexions."
+
+#: ../../Zotlabs/Module/Connedit.php:867
+msgid "Connection Tools"
+msgstr "Eines de Connexió"
+
+#: ../../Zotlabs/Module/Connedit.php:869
+msgid "Slide to adjust your degree of friendship"
+msgstr "Llisca per ajustar el nivell d'amistat"
+
+#: ../../Zotlabs/Module/Connedit.php:870 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Valora"
+
+#: ../../Zotlabs/Module/Connedit.php:871
+msgid "Slide to adjust your rating"
+msgstr "Llisca per ajustar la valoració"
+
+#: ../../Zotlabs/Module/Connedit.php:872 ../../Zotlabs/Module/Connedit.php:877
+msgid "Optionally explain your rating"
+msgstr "Opcionalment pots explicar la teva valoració"
+
+#: ../../Zotlabs/Module/Connedit.php:874
+msgid "Custom Filter"
+msgstr "Filtre a mida"
+
+#: ../../Zotlabs/Module/Connedit.php:875
+msgid "Only import posts with this text"
+msgstr "Importa exclusivament entrades amb aquest text"
+
+#: ../../Zotlabs/Module/Connedit.php:875 ../../Zotlabs/Module/Connedit.php:876
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr "paraules una per línia o #etiquetes o /patrons/ o idioma=xx, deixar en blanc per importar totes les entrades"
+
+#: ../../Zotlabs/Module/Connedit.php:876
+msgid "Do not import posts with this text"
+msgstr "No importar entrades amb aquest text"
+
+#: ../../Zotlabs/Module/Connedit.php:878
+msgid "This information is public!"
+msgstr "Aquesta informació es pública!"
+
+#: ../../Zotlabs/Module/Connedit.php:883
+msgid "Connection Pending Approval"
+msgstr "Connexió Pendent d'Aprovació"
+
+#: ../../Zotlabs/Module/Connedit.php:888
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Tria el perfil que vols mostrar a %s quan es vegi el perfil segur."
+
+#: ../../Zotlabs/Module/Connedit.php:895
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Alguns permisos poden ser heretats dels teus canals <a href=\"settings\"><strong>ajustos de privacitat</strong></a>, Els quals tenen més prioritat que els ajustos individuals. <strong>Pots</strong> canviar aquests ajustos aquí pero no tindran cap impacte fins que no canviis els ajustos heretats."
+
+#: ../../Zotlabs/Module/Connedit.php:896
+msgid "Last update:"
+msgstr "Darrera actualització:"
+
+#: ../../Zotlabs/Module/Connedit.php:904
+msgid "Details"
+msgstr "Detalls"
+
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "No s'ha trobat la sala"
+
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "Abandona la sala"
+
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "Esborra Sala"
+
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "Absent"
+
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "Estic connectat/da"
+
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "Fes favorit aquest xat"
+
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:241
+#: ../../Zotlabs/Module/Mail.php:362 ../../include/conversation.php:1313
+msgid "Please enter a link URL:"
+msgstr "Si us plau entra l'enllaç URL:"
+
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:294
+#: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Lib/ThreadItem.php:764
+#: ../../include/conversation.php:1432
+msgid "Encrypt text"
+msgstr "Text encriptat"
+
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "New Chatroom"
+msgstr "Nova sala per a Xerrar"
+
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Chatroom name"
+msgstr "Nom de la sala de xat"
+
+#: ../../Zotlabs/Module/Chat.php:234
+msgid "Expiration of chats (minutes)"
+msgstr "Expiració dels chats (minuts)"
+
+#: ../../Zotlabs/Module/Chat.php:250
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "%1$s de Xats"
+
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "No chatrooms available"
+msgstr "No hi ha sales de xat disponibles"
+
+#: ../../Zotlabs/Module/Chat.php:259
+msgid "Expiration"
+msgstr "Expiració"
+
+#: ../../Zotlabs/Module/Chat.php:260
+msgid "min"
+msgstr "min"
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:248
+#: ../../include/conversation.php:1831 ../../include/nav.php:401
+msgid "Photos"
+msgstr "Fotos"
+
+#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:243
+#: ../../Zotlabs/Storage/Browser.php:272 ../../include/conversation.php:1839
+#: ../../include/nav.php:409
+msgid "Files"
+msgstr "Arxius"
+
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
+msgstr "No s'ha pogut actualitzar el menú."
+
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
+msgstr "No s'ha pogut crear el menú."
+
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
+msgstr "Nom del menú"
+
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Nom únic (no visible a la pàgina web) - requerit"
+
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
+msgstr "Títol del menú"
+
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Visible a la pàgina web - deixar buit per a no posar títol"
+
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
+msgstr "Permetre Marcadors"
+
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
+msgstr "El menú es pot emprar per a guardar marcadors"
+
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
+msgstr "Envia i procedeix"
+
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2403
+msgid "Menus"
+msgstr "Menús"
+
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
+msgstr "Marcadors permesos"
+
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
+msgstr "Esborra el menú"
+
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
+msgstr "Edita el contingut del menú"
+
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
+msgstr "Edita el menú"
+
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
+msgstr "El menu no es pot esborrar."
+
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
+msgstr "Edita Menú"
+
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
+msgstr "Afegeix o esborra entrades a aquest menú"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
+msgstr "Nom del Menú"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
+msgstr "Ha de ser únic, nomes vist per tú"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
+msgstr "Títol del menú"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
+msgstr "Títol del menú vist pels altres"
+
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
+msgstr "Marcadors permesos"
+
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2404
+msgid "Layouts"
+msgstr "Dissenys"
+
+#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:251
+#: ../../include/nav.php:176 ../../include/nav.php:280
+#: ../../include/help.php:68 ../../include/help.php:74
+msgid "Help"
+msgstr "Ajuda"
+
+#: ../../Zotlabs/Module/Layouts.php:186
+msgid "Comanche page description language help"
+msgstr "Pgina d'ajuda del llenguatge Comanche"
+
+#: ../../Zotlabs/Module/Layouts.php:190
+msgid "Layout Description"
+msgstr "Descripció del disseny pàgina"
+
+#: ../../Zotlabs/Module/Layouts.php:195
+msgid "Download PDL file"
+msgstr "Descarrega l'arxiu PDL"
+
+#: ../../Zotlabs/Module/Cloud.php:114
+msgid "Please refresh page"
+msgstr "Recarrega la pàgina"
+
+#: ../../Zotlabs/Module/Cloud.php:117
+msgid "Unknown error"
+msgstr "S'ha produït un error desconegut"
+
+#: ../../Zotlabs/Module/Email_validation.php:24
+#: ../../Zotlabs/Module/Email_resend.php:12
+msgid "Token verification failed."
+msgstr "Ha fallat la verificació del token."
+
+#: ../../Zotlabs/Module/Email_validation.php:36
+msgid "Email Verification Required"
+msgstr "Cal verificar el correu"
+
+#: ../../Zotlabs/Module/Email_validation.php:37
+#, php-format
+msgid ""
+"A verification token was sent to your email address [%s]. Enter that token "
+"here to complete the account verification step. Please allow a few minutes "
+"for delivery, and check your spam folder if you do not see the message."
+msgstr "S'ha enviat al teu correu (%s) un token de verificació. Introdueix-lo aquí per a completar la verificació del compte. Tingues en compte que el correu pot trigar uns minuts en arribar, i que hi ha proveïdors de correu que el classificaran com a correu brossa."
+
+#: ../../Zotlabs/Module/Email_validation.php:38
+msgid "Resend Email"
+msgstr "Torna a enviar el correu"
+
+#: ../../Zotlabs/Module/Email_validation.php:41
+msgid "Validation token"
+msgstr "Token de validació"
+
+#: ../../Zotlabs/Module/Tagger.php:48
+msgid "Post not found."
+msgstr "No s'ha trobat l'entrada"
+
+#: ../../Zotlabs/Module/Tagger.php:77 ../../include/markdown.php:160
+#: ../../include/bbcode.php:339
+msgid "post"
+msgstr "entrada"
+
+#: ../../Zotlabs/Module/Tagger.php:79 ../../include/conversation.php:146
+#: ../../include/text.php:2012
+msgid "comment"
+msgstr "comentari"
+
+#: ../../Zotlabs/Module/Tagger.php:117
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha etiquetat %3$s de %2$s amb %4$s"
+
#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
msgid "This setting requires special processing and editing has been blocked."
msgstr "Aquest ajust requereix un procés espedial i l'edició esta bloquejada."
@@ -3156,62 +5944,76 @@ msgid ""
" to correctly use this feature."
msgstr "atenció: Realitzar segons quins ajustos pot fer el canal inoperable. Deixa aquesta pàgina si no estas segur i tens suficients coneixements sobre l'ús correcte d'aquesta característica."
-#: ../../Zotlabs/Module/Pdledit.php:18
-msgid "Layout updated."
-msgstr "S'ha actualitzat la disposició."
+#: ../../Zotlabs/Module/Defperms.php:239
+msgid ""
+"If enabled, connection requests will be approved without your interaction"
+msgstr "Si s'habilita, les soŀlicituds de connexió s'aprovaran automàticament sense requerir la teva interacció"
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
-msgid "Edit System Page Description"
-msgstr "Editor del Sistema de Descripció de Pàgines"
+#: ../../Zotlabs/Module/Defperms.php:246
+msgid "Automatic approval settings"
+msgstr "Aprovació automàtica de soŀlicituds de connexió"
-#: ../../Zotlabs/Module/Pdledit.php:56
-msgid "Layout not found."
-msgstr "No s'ha trobat cap disposició de pàgina."
+#: ../../Zotlabs/Module/Defperms.php:254
+msgid ""
+"Some individual permissions may have been preset or locked based on your "
+"channel type and privacy settings."
+msgstr "El valor per defecte dels permisos individuals poden tenir valors per defecte segons el tipus de canal i les opcions de privacitat. Pot ser que no estiguis autoritzat/da a modificar-los."
-#: ../../Zotlabs/Module/Pdledit.php:62
-msgid "Module Name:"
-msgstr "Nom del mòdul:"
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
+msgstr "Creat grup privat."
-#: ../../Zotlabs/Module/Pdledit.php:63
-msgid "Layout Help"
-msgstr "Ajuda per la disposició de pàgina"
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
+msgstr "No es pot crear el grup privat."
-#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:226
-#: ../../include/conversation.php:960
-msgid "Poke"
-msgstr "Esperonar"
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:143
+#: ../../include/items.php:4131
+msgid "Privacy group not found."
+msgstr "No es troben grups privats."
-#: ../../Zotlabs/Module/Poke.php:169
-msgid "Poke somebody"
-msgstr "Emprenyar algú"
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
+msgstr "Grup privat actualitzat."
-#: ../../Zotlabs/Module/Poke.php:172
-msgid "Poke/Prod"
-msgstr "Esperonat/Picat"
+#: ../../Zotlabs/Module/Group.php:92
+msgid "Create a group of channels."
+msgstr "Crear un grup de canals."
-#: ../../Zotlabs/Module/Poke.php:173
-msgid "Poke, prod or do other things to somebody"
-msgstr "emprenyar, picar o fer altres coses a algú"
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:186
+msgid "Privacy group name: "
+msgstr "Nom del grup privat:"
-#: ../../Zotlabs/Module/Poke.php:180
-msgid "Recipient"
-msgstr "Destinatari"
+#: ../../Zotlabs/Module/Group.php:95 ../../Zotlabs/Module/Group.php:189
+msgid "Members are visible to other channels"
+msgstr "Els membres son visibles en altres canals"
-#: ../../Zotlabs/Module/Poke.php:181
-msgid "Choose what you wish to do to recipient"
-msgstr "Tria que vols fer amb el destinatari"
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Privacy group removed."
+msgstr "Grup privat eliminat."
-#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
-msgid "Make this post private"
-msgstr "Fer aquesta entrada privada"
+#: ../../Zotlabs/Module/Group.php:115
+msgid "Unable to remove privacy group."
+msgstr "No puc eliminar el grup privat."
-#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "URL sol·licitada retorna error: %1$s"
+#: ../../Zotlabs/Module/Group.php:185
+msgid "Privacy group editor"
+msgstr "Editor del grup privat"
+
+#: ../../Zotlabs/Module/Group.php:199 ../../Zotlabs/Module/Help.php:81
+msgid "Members"
+msgstr "Membres"
+
+#: ../../Zotlabs/Module/Group.php:201
+msgid "All Connected Channels"
+msgstr "Tots els Canals Connectats"
-#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
-#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
+#: ../../Zotlabs/Module/Group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Clic sobre el canal per afegir o esborrar."
+
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:184
+#: ../../Zotlabs/Module/Profiles.php:241 ../../Zotlabs/Module/Profiles.php:659
msgid "Profile not found."
msgstr "Perfil no trobat."
@@ -3219,4857 +6021,5557 @@ msgstr "Perfil no trobat."
msgid "Profile deleted."
msgstr "Perfil eliminat."
-#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:105
msgid "Profile-"
msgstr "Perfil-"
-#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
+#: ../../Zotlabs/Module/Profiles.php:90 ../../Zotlabs/Module/Profiles.php:127
msgid "New profile created."
msgstr "Nou perfil creat."
-#: ../../Zotlabs/Module/Profiles.php:110
+#: ../../Zotlabs/Module/Profiles.php:111
msgid "Profile unavailable to clone."
msgstr "Perfil que no es pot clonar."
-#: ../../Zotlabs/Module/Profiles.php:151
+#: ../../Zotlabs/Module/Profiles.php:146
msgid "Profile unavailable to export."
msgstr "Perfil que no es pot exportar."
-#: ../../Zotlabs/Module/Profiles.php:256
+#: ../../Zotlabs/Module/Profiles.php:252
msgid "Profile Name is required."
msgstr "Es requereix el Nom del Perfil."
-#: ../../Zotlabs/Module/Profiles.php:427
+#: ../../Zotlabs/Module/Profiles.php:459
msgid "Marital Status"
msgstr "Estat Marital"
-#: ../../Zotlabs/Module/Profiles.php:431
+#: ../../Zotlabs/Module/Profiles.php:463
msgid "Romantic Partner"
msgstr "Company/a Romàntic"
-#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
+#: ../../Zotlabs/Module/Profiles.php:467 ../../Zotlabs/Module/Profiles.php:775
msgid "Likes"
msgstr "Agrada"
-#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
+#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:776
msgid "Dislikes"
msgstr "Desagrada"
-#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
+#: ../../Zotlabs/Module/Profiles.php:475 ../../Zotlabs/Module/Profiles.php:783
msgid "Work/Employment"
msgstr "Treball/Feina"
-#: ../../Zotlabs/Module/Profiles.php:446
+#: ../../Zotlabs/Module/Profiles.php:478
msgid "Religion"
msgstr "Religió"
-#: ../../Zotlabs/Module/Profiles.php:450
+#: ../../Zotlabs/Module/Profiles.php:482
msgid "Political Views"
msgstr "Idees Polítiques"
-#: ../../Zotlabs/Module/Profiles.php:458
+#: ../../Zotlabs/Module/Profiles.php:486
+#: ../../addon/openid/MysqlProvider.php:74
+msgid "Gender"
+msgstr "Gènere"
+
+#: ../../Zotlabs/Module/Profiles.php:490
msgid "Sexual Preference"
msgstr "Preferència Sexual"
-#: ../../Zotlabs/Module/Profiles.php:462
+#: ../../Zotlabs/Module/Profiles.php:494
msgid "Homepage"
msgstr "Pàgina Personal"
-#: ../../Zotlabs/Module/Profiles.php:466
+#: ../../Zotlabs/Module/Profiles.php:498
msgid "Interests"
msgstr "Interessos"
-#: ../../Zotlabs/Module/Profiles.php:560
+#: ../../Zotlabs/Module/Profiles.php:594
msgid "Profile updated."
msgstr "Perfil actualitzat."
-#: ../../Zotlabs/Module/Profiles.php:644
+#: ../../Zotlabs/Module/Profiles.php:678
msgid "Hide your connections list from viewers of this profile"
msgstr "Amaga dels curiosos la teva llista de connexions d'aquest perfil"
-#: ../../Zotlabs/Module/Profiles.php:686
+#: ../../Zotlabs/Module/Profiles.php:725
msgid "Edit Profile Details"
msgstr "Edita els Detalls del Perfil"
-#: ../../Zotlabs/Module/Profiles.php:688
+#: ../../Zotlabs/Module/Profiles.php:727
msgid "View this profile"
msgstr "Veure aquest perfil"
-#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
-#: ../../include/channel.php:959
+#: ../../Zotlabs/Module/Profiles.php:728 ../../Zotlabs/Module/Profiles.php:827
+#: ../../include/channel.php:1320
msgid "Edit visibility"
msgstr "Editar visibilitat"
-#: ../../Zotlabs/Module/Profiles.php:690
+#: ../../Zotlabs/Module/Profiles.php:729
msgid "Profile Tools"
msgstr "Eines per Perfils"
-#: ../../Zotlabs/Module/Profiles.php:691
+#: ../../Zotlabs/Module/Profiles.php:730
msgid "Change cover photo"
msgstr "Canviar la foto de portada"
-#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:930
+#: ../../Zotlabs/Module/Profiles.php:731 ../../include/channel.php:1290
msgid "Change profile photo"
msgstr "Canviar la foto del perfil"
-#: ../../Zotlabs/Module/Profiles.php:693
+#: ../../Zotlabs/Module/Profiles.php:732
msgid "Create a new profile using these settings"
msgstr "Crea un perfil nou amb aquests ajustos"
-#: ../../Zotlabs/Module/Profiles.php:694
+#: ../../Zotlabs/Module/Profiles.php:733
msgid "Clone this profile"
msgstr "Clonar aquest perfil"
-#: ../../Zotlabs/Module/Profiles.php:695
+#: ../../Zotlabs/Module/Profiles.php:734
msgid "Delete this profile"
msgstr "Elimina aquest perfil"
-#: ../../Zotlabs/Module/Profiles.php:696
+#: ../../Zotlabs/Module/Profiles.php:735
msgid "Add profile things"
msgstr "Afegeix coses al perfil"
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/widgets.php:105
-#: ../../include/conversation.php:1526
+#: ../../Zotlabs/Module/Profiles.php:736 ../../include/conversation.php:1705
msgid "Personal"
msgstr "Personal"
-#: ../../Zotlabs/Module/Profiles.php:699
+#: ../../Zotlabs/Module/Profiles.php:738
msgid "Relation"
msgstr "Relació"
-#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+#: ../../Zotlabs/Module/Profiles.php:739 ../../Zotlabs/Widget/Newmember.php:53
+#: ../../include/datetime.php:58
msgid "Miscellaneous"
msgstr "Miscelania"
-#: ../../Zotlabs/Module/Profiles.php:702
+#: ../../Zotlabs/Module/Profiles.php:741
msgid "Import profile from file"
msgstr "Importa perfil des d'un arxiu"
-#: ../../Zotlabs/Module/Profiles.php:703
+#: ../../Zotlabs/Module/Profiles.php:742
msgid "Export profile to file"
msgstr "Exporta perfil a un arxiu"
-#: ../../Zotlabs/Module/Profiles.php:704
+#: ../../Zotlabs/Module/Profiles.php:743
msgid "Your gender"
msgstr "El teu gènere"
-#: ../../Zotlabs/Module/Profiles.php:705
+#: ../../Zotlabs/Module/Profiles.php:744
msgid "Marital status"
msgstr "Estat marital"
-#: ../../Zotlabs/Module/Profiles.php:706
+#: ../../Zotlabs/Module/Profiles.php:745
msgid "Sexual preference"
msgstr "Preferència sexual"
-#: ../../Zotlabs/Module/Profiles.php:709
+#: ../../Zotlabs/Module/Profiles.php:748
msgid "Profile name"
msgstr "Nom del perfil"
-#: ../../Zotlabs/Module/Profiles.php:711
+#: ../../Zotlabs/Module/Profiles.php:750
msgid "This is your default profile."
msgstr "Aquest es el teu perfil per defecte"
-#: ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Profiles.php:752
msgid "Your full name"
msgstr "El teu nom complet"
-#: ../../Zotlabs/Module/Profiles.php:714
+#: ../../Zotlabs/Module/Profiles.php:753
msgid "Title/Description"
msgstr "Títol/Descripció"
-#: ../../Zotlabs/Module/Profiles.php:717
+#: ../../Zotlabs/Module/Profiles.php:756
msgid "Street address"
msgstr "Carrer"
-#: ../../Zotlabs/Module/Profiles.php:718
+#: ../../Zotlabs/Module/Profiles.php:757
msgid "Locality/City"
msgstr "Població/Ciutat"
-#: ../../Zotlabs/Module/Profiles.php:719
+#: ../../Zotlabs/Module/Profiles.php:758
msgid "Region/State"
msgstr "Regió/Estat"
-#: ../../Zotlabs/Module/Profiles.php:720
+#: ../../Zotlabs/Module/Profiles.php:759
msgid "Postal/Zip code"
msgstr "Codi Postal"
-#: ../../Zotlabs/Module/Profiles.php:721
-msgid "Country"
-msgstr "País"
-
-#: ../../Zotlabs/Module/Profiles.php:726
+#: ../../Zotlabs/Module/Profiles.php:765
msgid "Who (if applicable)"
msgstr "Qui (si es aplicable)"
-#: ../../Zotlabs/Module/Profiles.php:726
+#: ../../Zotlabs/Module/Profiles.php:765
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Examples: cathy123, Cathy Williams, cathy@example.com"
-#: ../../Zotlabs/Module/Profiles.php:727
+#: ../../Zotlabs/Module/Profiles.php:766
msgid "Since (date)"
msgstr "Des de (data)"
-#: ../../Zotlabs/Module/Profiles.php:730
+#: ../../Zotlabs/Module/Profiles.php:769
msgid "Tell us about yourself"
msgstr "Quelcom sobre tu"
-#: ../../Zotlabs/Module/Profiles.php:732
+#: ../../Zotlabs/Module/Profiles.php:770
+#: ../../addon/openid/MysqlProvider.php:68
+msgid "Homepage URL"
+msgstr "URL de la pàgina d'inici"
+
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Hometown"
msgstr "Ciutat Natal"
-#: ../../Zotlabs/Module/Profiles.php:733
+#: ../../Zotlabs/Module/Profiles.php:772
msgid "Political views"
msgstr "Idees polítiques"
-#: ../../Zotlabs/Module/Profiles.php:734
+#: ../../Zotlabs/Module/Profiles.php:773
msgid "Religious views"
msgstr "Creences religioses"
-#: ../../Zotlabs/Module/Profiles.php:735
+#: ../../Zotlabs/Module/Profiles.php:774
msgid "Keywords used in directory listings"
msgstr "Paraules clau emprades en els llistats de directoris"
-#: ../../Zotlabs/Module/Profiles.php:735
+#: ../../Zotlabs/Module/Profiles.php:774
msgid "Example: fishing photography software"
msgstr "Exemple: software de fotografia submarina"
-#: ../../Zotlabs/Module/Profiles.php:738
+#: ../../Zotlabs/Module/Profiles.php:777
msgid "Musical interests"
msgstr "Interessos Musicals"
-#: ../../Zotlabs/Module/Profiles.php:739
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Books, literature"
msgstr "Llibres, literatura"
-#: ../../Zotlabs/Module/Profiles.php:740
+#: ../../Zotlabs/Module/Profiles.php:779
msgid "Television"
msgstr "Televisió"
-#: ../../Zotlabs/Module/Profiles.php:741
+#: ../../Zotlabs/Module/Profiles.php:780
msgid "Film/Dance/Culture/Entertainment"
msgstr "Pel·lícules/Dansa/Cultura/Entreteniment"
-#: ../../Zotlabs/Module/Profiles.php:742
+#: ../../Zotlabs/Module/Profiles.php:781
msgid "Hobbies/Interests"
msgstr "Aficions/Interessos"
-#: ../../Zotlabs/Module/Profiles.php:743
+#: ../../Zotlabs/Module/Profiles.php:782
msgid "Love/Romance"
msgstr "Amor/Romace"
-#: ../../Zotlabs/Module/Profiles.php:745
+#: ../../Zotlabs/Module/Profiles.php:784
msgid "School/Education"
msgstr "Escola/Educació"
-#: ../../Zotlabs/Module/Profiles.php:746
+#: ../../Zotlabs/Module/Profiles.php:785
msgid "Contact information and social networks"
msgstr "Informació de contacte i xarxes socials"
-#: ../../Zotlabs/Module/Profiles.php:747
+#: ../../Zotlabs/Module/Profiles.php:786
msgid "My other channels"
msgstr "Els meus altres canals"
-#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:955
+#: ../../Zotlabs/Module/Profiles.php:788
+msgid "Communications"
+msgstr "Comunicacions"
+
+#: ../../Zotlabs/Module/Profiles.php:823 ../../include/channel.php:1316
msgid "Profile Image"
msgstr "Imatge del Perfil"
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
-#: ../../include/channel.php:937
+#: ../../Zotlabs/Module/Profiles.php:833 ../../include/channel.php:1297
+#: ../../include/nav.php:117
msgid "Edit Profiles"
msgstr "Editar Perfils"
-#: ../../Zotlabs/Module/Profile_photo.php:179
+#: ../../Zotlabs/Module/Go.php:21
+msgid "This page is available only to site members"
+msgstr "Aquesta pàgina només és accessible per als membres del node."
+
+#: ../../Zotlabs/Module/Go.php:27
+msgid "Welcome"
+msgstr "Benvingut/da"
+
+#: ../../Zotlabs/Module/Go.php:29
+msgid "What would you like to do?"
+msgstr "Què t'agradaria fer?"
+
+#: ../../Zotlabs/Module/Go.php:31
msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Refresca la memòria cau del navegador si la foto no s'actualitza immediatament. Dreceres: «Ctrl+F5» i «Ctrl+Maj+R»"
+"Please bookmark this page if you would like to return to it in the future"
+msgstr "Marca aquesta pàgina si vols tornar-hi en un futur"
-#: ../../Zotlabs/Module/Profile_photo.php:367
-msgid "Upload Profile Photo"
-msgstr "Puja una Foto pel Perfil"
+#: ../../Zotlabs/Module/Go.php:35
+msgid "Upload a profile photo"
+msgstr "Puja una imatge de perfil"
-#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
-msgid "Invalid profile identifier."
-msgstr "Identificador invàlid de perfil."
+#: ../../Zotlabs/Module/Go.php:36
+msgid "Upload a cover photo"
+msgstr "Puja una imatge de portada"
-#: ../../Zotlabs/Module/Profperm.php:115
-msgid "Profile Visibility Editor"
-msgstr "Perfil del Editor de Visibilitat"
+#: ../../Zotlabs/Module/Go.php:37
+msgid "Edit your default profile"
+msgstr "Modifica el teu perfil"
-#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1249
-msgid "Profile"
-msgstr "Perfil"
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:43
+msgid "View friend suggestions"
+msgstr "Mostra suggerències de connexions"
-#: ../../Zotlabs/Module/Profperm.php:119
-msgid "Click on a contact to add or remove."
-msgstr "Clica sobre el contacte per afegir o esborrar."
+#: ../../Zotlabs/Module/Go.php:39 ../../Zotlabs/Widget/Newmember.php:42
+msgid "View the channel directory"
+msgstr "Mostra el directori del canal"
-#: ../../Zotlabs/Module/Profperm.php:128
-msgid "Visible To"
-msgstr "Visible per"
+#: ../../Zotlabs/Module/Go.php:40
+msgid "View/edit your channel settings"
+msgstr "Mostra o modifica la configuració del teu canal"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1270
-msgid "Public Hubs"
-msgstr "Nodes Públics"
+#: ../../Zotlabs/Module/Go.php:41
+msgid "View the site or project documentation"
+msgstr "Mostra la documentació del projecte"
+
+#: ../../Zotlabs/Module/Go.php:42
+msgid "Visit your channel homepage"
+msgstr "Ves a la pàgina del teu canal"
-#: ../../Zotlabs/Module/Pubsites.php:25
+#: ../../Zotlabs/Module/Go.php:43
msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr "Els nodes llistats permeten registrar usuaris de la xarxa $Projectname. Com que tots els nodes estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns nodes poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, <strong>proveu</strong> de seguir els enllaços dels proveïdors."
+"View your connections and/or add somebody whose address you already know"
+msgstr "Mostra les teves connexions o afegeix-ne una de nova introduint la seva adreça a mà."
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Hub URL"
-msgstr "URL del Node"
+#: ../../Zotlabs/Module/Go.php:44
+msgid ""
+"View your personal stream (this may be empty until you add some connections)"
+msgstr "Mostra el teu flux personal. Estarà buit mentre no et connectis amb ningú."
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Access Type"
-msgstr "Tipus d'accés"
+#: ../../Zotlabs/Module/Go.php:52
+msgid "View the public stream. Warning: this content is not moderated"
+msgstr "Mostra el flux públic. Avís: aquest contingut no està moderat"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Registration Policy"
-msgstr "Condicions de registre"
+#: ../../Zotlabs/Module/Editwebpage.php:139
+msgid "Page link"
+msgstr "Enllaç de la pàgina"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Stats"
-msgstr "Estadístiques"
+#: ../../Zotlabs/Module/Editwebpage.php:166
+msgid "Edit Webpage"
+msgstr "Edita la Pàgina Web"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Software"
-msgstr "Programari"
+#: ../../Zotlabs/Module/Manage.php:145
+msgid "Create a new channel"
+msgstr "Crear un nou canal"
-#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:959
-msgid "Ratings"
-msgstr "Valoracions"
+#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:240
+#: ../../include/nav.php:102 ../../include/nav.php:190
+msgid "Channel Manager"
+msgstr "Gestor de Canals"
-#: ../../Zotlabs/Module/Pubsites.php:38
-msgid "Rate"
-msgstr "Puntua"
+#: ../../Zotlabs/Module/Manage.php:171
+msgid "Current Channel"
+msgstr "Canal Actual"
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Website:"
-msgstr "Lloc web:"
+#: ../../Zotlabs/Module/Manage.php:173
+msgid "Switch to one of your channels by selecting it."
+msgstr "Canviar a un altre dels teus canals seleccionant-ho."
+
+#: ../../Zotlabs/Module/Manage.php:174
+msgid "Default Channel"
+msgstr "Canal per Defecte"
+
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Make Default"
+msgstr "Estableix com a Predeterminat"
-#: ../../Zotlabs/Module/Rate.php:163
+#: ../../Zotlabs/Module/Manage.php:178
#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canal Remot [%s] (encara no es coneix en aquest lloc)"
+msgid "%d new messages"
+msgstr "%d missatges nous"
-#: ../../Zotlabs/Module/Rate.php:164
-msgid "Rating (this information is public)"
-msgstr "Valoració (aquesta informació és pública)"
+#: ../../Zotlabs/Module/Manage.php:179
+#, php-format
+msgid "%d new introductions"
+msgstr "%d noves presentacions"
-#: ../../Zotlabs/Module/Rate.php:165
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)"
+#: ../../Zotlabs/Module/Manage.php:181
+msgid "Delegated Channel"
+msgstr "Canal Delegat"
+
+#: ../../Zotlabs/Module/Cards.php:42 ../../Zotlabs/Module/Cards.php:181
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1890
+#: ../../include/features.php:114 ../../include/nav.php:458
+msgid "Cards"
+msgstr "Targetes"
+
+#: ../../Zotlabs/Module/Cards.php:99
+msgid "Add Card"
+msgstr "Afegeix una carta"
+
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Aquest servidor de directori requereix un token de accès"
+
+#: ../../Zotlabs/Module/Siteinfo.php:18
+msgid "About this site"
+msgstr "Sobre aquest lloc web"
+
+#: ../../Zotlabs/Module/Siteinfo.php:19
+msgid "Site Name"
+msgstr "Nom del lloc web"
+
+#: ../../Zotlabs/Module/Siteinfo.php:23
+msgid "Administrator"
+msgstr "Administrador"
+
+#: ../../Zotlabs/Module/Siteinfo.php:25 ../../Zotlabs/Module/Register.php:232
+msgid "Terms of Service"
+msgstr "Condicions del Servei"
+
+#: ../../Zotlabs/Module/Siteinfo.php:26
+msgid "Software and Project information"
+msgstr "Informació del programari i del projecte"
+
+#: ../../Zotlabs/Module/Siteinfo.php:27
+msgid "This site is powered by $Projectname"
+msgstr "Aquest lloc web funciona amb $Projectname"
+
+#: ../../Zotlabs/Module/Siteinfo.php:28
+msgid ""
+"Federated and decentralised networking and identity services provided by Zot"
+msgstr "Els serveis d'identitat i la federació i descentralització de la xarxa funcionen amb Zot"
+
+#: ../../Zotlabs/Module/Siteinfo.php:30
+#, php-format
+msgid "Version %s"
+msgstr "Versió %s"
+
+#: ../../Zotlabs/Module/Siteinfo.php:31
+msgid "Project homepage"
+msgstr "Pàgina principal del projecte"
+
+#: ../../Zotlabs/Module/Siteinfo.php:32
+msgid "Developer homepage"
+msgstr "Pàgina principal de desenvolupament"
-#: ../../Zotlabs/Module/Ratings.php:73
+#: ../../Zotlabs/Module/Ratings.php:70
msgid "No ratings"
msgstr "No valorat"
-#: ../../Zotlabs/Module/Ratings.php:104
+#: ../../Zotlabs/Module/Ratings.php:97 ../../Zotlabs/Module/Pubsites.php:35
+#: ../../include/conversation.php:1082
+msgid "Ratings"
+msgstr "Valoracions"
+
+#: ../../Zotlabs/Module/Ratings.php:98
msgid "Rating: "
msgstr "Valoració:"
-#: ../../Zotlabs/Module/Ratings.php:105
+#: ../../Zotlabs/Module/Ratings.php:99
msgid "Website: "
msgstr "Lloc web:"
-#: ../../Zotlabs/Module/Ratings.php:107
+#: ../../Zotlabs/Module/Ratings.php:101
msgid "Description: "
msgstr "Descripció:"
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Ajustos de tema actualitzats."
+#: ../../Zotlabs/Module/Webpages.php:54
+msgid "Import Webpage Elements"
+msgstr "Importa elements de pàgina web"
+
+#: ../../Zotlabs/Module/Webpages.php:55
+msgid "Import selected"
+msgstr "Importa la selecció"
+
+#: ../../Zotlabs/Module/Webpages.php:78
+msgid "Export Webpage Elements"
+msgstr "Exporta elements de pàgina web"
+
+#: ../../Zotlabs/Module/Webpages.php:79
+msgid "Export selected"
+msgstr "Exporta la selecció"
+
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:244
+#: ../../include/conversation.php:1912 ../../include/nav.php:481
+msgid "Webpages"
+msgstr "Pàgines web"
+
+#: ../../Zotlabs/Module/Webpages.php:248
+msgid "Actions"
+msgstr "Accions"
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "# Comptes"
+#: ../../Zotlabs/Module/Webpages.php:249
+msgid "Page Link"
+msgstr "Enllaç a Pàgina"
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "# comptes bloquejats"
+#: ../../Zotlabs/Module/Webpages.php:250
+msgid "Page Title"
+msgstr "Títol de la pàgina"
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "# comptes expirats"
+#: ../../Zotlabs/Module/Webpages.php:280
+msgid "Invalid file type."
+msgstr "El tipus de fitxer és invàlid."
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "# comptes expirant"
+#: ../../Zotlabs/Module/Webpages.php:292
+msgid "Error opening zip file"
+msgstr "Hi ha hagut un error descomprimint"
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "# Canals"
+#: ../../Zotlabs/Module/Webpages.php:303
+msgid "Invalid folder path."
+msgstr "El camí de carpeta és invàlid."
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "# primari"
+#: ../../Zotlabs/Module/Webpages.php:330
+msgid "No webpage elements detected."
+msgstr "No s'ha detectat cap element de pàgina web."
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "# clons"
+#: ../../Zotlabs/Module/Webpages.php:405
+msgid "Import complete."
+msgstr "S'ha completat la importació."
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Cues de missatges"
+#: ../../Zotlabs/Module/Changeaddr.php:35
+msgid ""
+"Channel name changes are not allowed within 48 hours of changing the account"
+" password."
+msgstr "No es permet canviar el nom d'un canal fins a 48 hores més tard d'haver canviant la contrasenya del compte al que pertany."
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "El teu programari cal que s'actualitzi"
+#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:214
+#: ../../include/channel.php:599
+msgid "Reserved nickname. Please choose another."
+msgstr "Àlies reservat. Tria un altre."
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
-#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
-#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
-#: ../../Zotlabs/Module/Admin.php:1731
-msgid "Administration"
-msgstr "Administració"
+#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:219
+#: ../../include/channel.php:604
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "L'álies te caracters no soportats o ja esta en ús en aquest lloc"
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Sumari"
+#: ../../Zotlabs/Module/Changeaddr.php:77
+msgid "Change channel nickname/address"
+msgstr "Canvia el nom o adreça del canal"
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Comptes registrades"
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "Any/all connections on other networks will be lost!"
+msgstr "Es perdran totes les connexions amb xarxes externes!"
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Comptes pendents de registre"
+#: ../../Zotlabs/Module/Changeaddr.php:80
+msgid "New channel address"
+msgstr "Adreça de canal nova"
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Canals registrats"
+#: ../../Zotlabs/Module/Changeaddr.php:81
+msgid "Rename Channel"
+msgstr "Canvia el nom del canal"
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Plugins actius"
+#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43
+msgid "Item is not editable"
+msgstr "Article no editable"
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Versió"
+#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:178
+msgid "Edit post"
+msgstr "Modifica l'entrada"
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Versió (master) del repositori"
+#: ../../Zotlabs/Module/Dreport.php:45
+msgid "Invalid message"
+msgstr "Missatge invàlid."
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Versió (desenvolupament) del repositori"
+#: ../../Zotlabs/Module/Dreport.php:78
+msgid "no results"
+msgstr "sense resultats"
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Ajustos del Lloc actualitzats"
+#: ../../Zotlabs/Module/Dreport.php:93
+msgid "channel sync processed"
+msgstr "sincronització del canal processada"
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2841
-msgid "Default"
-msgstr "Predeterminat"
+#: ../../Zotlabs/Module/Dreport.php:97
+msgid "queued"
+msgstr "Posat en cua"
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:798
-msgid "mobile"
-msgstr "mòbil"
+#: ../../Zotlabs/Module/Dreport.php:101
+msgid "posted"
+msgstr "enviat"
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "experimental"
+#: ../../Zotlabs/Module/Dreport.php:105
+msgid "accepted for delivery"
+msgstr "acceptat per entregar"
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "no soportat"
+#: ../../Zotlabs/Module/Dreport.php:109
+msgid "updated"
+msgstr "actualitzat"
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Sí - amb aprovació"
+#: ../../Zotlabs/Module/Dreport.php:112
+msgid "update ignored"
+msgstr "actualització ignorada"
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "El meu lloc no es un servidor públic"
+#: ../../Zotlabs/Module/Dreport.php:115
+msgid "permission denied"
+msgstr "permís denegat"
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "El meu lloc te accès per pagament"
+#: ../../Zotlabs/Module/Dreport.php:119
+msgid "recipient not found"
+msgstr "Contenidor no trobat"
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "El meu lloc te lliure accés"
+#: ../../Zotlabs/Module/Dreport.php:122
+msgid "mail recalled"
+msgstr "Recupera el correu"
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "El meu lloc te comptes gratis amb opció de millores per pagament"
+#: ../../Zotlabs/Module/Dreport.php:125
+msgid "duplicate mail received"
+msgstr "rebut correu duplicat"
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1382
-msgid "Site"
-msgstr "Lloc"
+#: ../../Zotlabs/Module/Dreport.php:128
+msgid "mail delivered"
+msgstr "correu entregat"
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
-msgid "Registration"
-msgstr "Registre"
+#: ../../Zotlabs/Module/Dreport.php:148
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Informe de lliurament per %1$s"
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Pujar arxiu"
+#: ../../Zotlabs/Module/Dreport.php:151 ../../Zotlabs/Widget/Wiki_pages.php:39
+#: ../../Zotlabs/Widget/Wiki_pages.php:96
+msgid "Options"
+msgstr "Opcions"
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Polítiques"
+#: ../../Zotlabs/Module/Dreport.php:152
+msgid "Redeliver"
+msgstr "Tornar a lliurar"
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Avançat"
+#: ../../Zotlabs/Module/Sources.php:37
+msgid "Failed to create source. No channel selected."
+msgstr "Error en crear l'origen. Cap canal seleccionat."
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Nom del lloc"
+#: ../../Zotlabs/Module/Sources.php:51
+msgid "Source created."
+msgstr "Origen creat."
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Senyera/Logo"
+#: ../../Zotlabs/Module/Sources.php:64
+msgid "Source updated."
+msgstr "Origen actualitzat."
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Informació de l'Administrador"
+#: ../../Zotlabs/Module/Sources.php:90
+msgid "*"
+msgstr "*"
+
+#: ../../Zotlabs/Module/Sources.php:96
+#: ../../Zotlabs/Widget/Settings_menu.php:125 ../../include/features.php:274
+msgid "Channel Sources"
+msgstr "Canal Origen"
+
+#: ../../Zotlabs/Module/Sources.php:97
+msgid "Manage remote sources of content for your channel."
+msgstr "Gestiona contingut per al teu canal d'origens remots"
-#: ../../Zotlabs/Module/Admin.php:502
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
+msgid "New Source"
+msgstr "Nou Origen"
+
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Informació per contactar amb els administradors del lloc. Mostrada a la pàgina d'informació del lloc. Es pot emprar BBCode aquí"
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals."
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
-msgstr "Idioma del sistema"
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Only import content with these words (one per line)"
+msgstr "Només importa contingut amb aquestes paraules (una per línia)"
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "Tema del sistema"
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Leave blank to import all public content"
+msgstr "Deixar en blanc per importar tot el contingut públic"
+
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
+msgid "Channel Name"
+msgstr "Nom del canal"
-#: ../../Zotlabs/Module/Admin.php:504
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Tema del sistema per defecte - pot ser sobrescrit pel perfils dels usuaris - <a href='#' id='cnftheme'>Ajustos de canvi del tema</a>"
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr "Afegeix les següents categories d'entrades importades des d'aquest origen (separat per comes)"
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
-msgstr "Tema del sistema per a mòbils"
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
+msgid "Source not found."
+msgstr "No s'ha trobat la font."
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Tema per a aparells mòbils"
+#: ../../Zotlabs/Module/Sources.php:140
+msgid "Edit Source"
+msgstr "Edita la font"
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Permetre Retroalimentadors com Connexions"
+#: ../../Zotlabs/Module/Sources.php:141
+msgid "Delete Source"
+msgstr "Esborra la font"
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(Demana molts recursos del sistema)"
+#: ../../Zotlabs/Module/Sources.php:169
+msgid "Source removed"
+msgstr "S'ha esborrat la font"
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Mida màxima d'imatge"
+#: ../../Zotlabs/Module/Sources.php:171
+msgid "Unable to remove source."
+msgstr "No s'ha pogut esborrar la font."
+
+#: ../../Zotlabs/Module/Like.php:54
+msgid "Like/Dislike"
+msgstr "M'agrada / No m'agrada"
-#: ../../Zotlabs/Module/Admin.php:508
+#: ../../Zotlabs/Module/Like.php:59
+msgid "This action is restricted to members."
+msgstr "Aquesta acció està restringida als membres."
+
+#: ../../Zotlabs/Module/Like.php:60
msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Mida màxima en bytes d'imatges pujades. Per defecte es 0, el que vol dir sense límits."
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr "<a href=\"rmagic\">Entra amb la teva identitat $Projectname</a> o <a href=\"register\">registra't a $Projectname</a> per continuar."
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr "Permet aquest lloc registre de nous membres?"
+#: ../../Zotlabs/Module/Like.php:109 ../../Zotlabs/Module/Like.php:135
+#: ../../Zotlabs/Module/Like.php:173
+msgid "Invalid request."
+msgstr "Sol·licitud invàlida."
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Només per invitació"
+#: ../../Zotlabs/Module/Like.php:121 ../../include/conversation.php:122
+msgid "channel"
+msgstr "canal"
-#: ../../Zotlabs/Module/Admin.php:510
-msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "Només permet registre de nos membres amb codi d'invitació. A més la política de registre s'ha d'establir a Sí."
+#: ../../Zotlabs/Module/Like.php:150
+msgid "thing"
+msgstr "cosa"
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Que es es que millor descriu la mena de comptes oferits per aquest concentrador?"
+#: ../../Zotlabs/Module/Like.php:196
+msgid "Channel unavailable."
+msgstr "El canal està inactiu."
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
-msgstr "text de registre"
+#: ../../Zotlabs/Module/Like.php:244
+msgid "Previous action reversed."
+msgstr "S'ha desfet l'acció anterior."
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Es mostrarà preminentment a la pàgina de registre"
+#: ../../Zotlabs/Module/Like.php:436 ../../addon/diaspora/Receiver.php:1547
+#: ../../addon/pubcrawl/as.php:1394 ../../include/conversation.php:160
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s agrada %2$s de %3$s"
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Pàgina d'inici a mostrar als visitants (per defecte: la pàgina d'identificació)"
+#: ../../Zotlabs/Module/Like.php:438 ../../addon/pubcrawl/as.php:1396
+#: ../../include/conversation.php:163
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s no agrada %2$s de %3$s"
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "exemple: 'públic' per a mostrar un flux públic, 'page/sys/home' per a mostrar una pàgina web dita 'home' o 'include:home.html' per a incloure un arxiu."
+#: ../../Zotlabs/Module/Like.php:440
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%1$s està d'acord amb %3$s de %2$s"
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Preservar URL de la pàgina web"
+#: ../../Zotlabs/Module/Like.php:442
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%1$s no està d'acord amb %3$s de %2$s"
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Presenta la pàgina web del lloc en un marc en el lloc original enlloc de redirigir cap a ella"
+#: ../../Zotlabs/Module/Like.php:444
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%1$s s'abstén en %3$s de %2$s"
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Els copmte es consideren abandonats despres de x dies"
+#: ../../Zotlabs/Module/Like.php:446 ../../addon/diaspora/Receiver.php:2031
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%1$s assistirà a %3$s de %2$s"
-#: ../../Zotlabs/Module/Admin.php:515
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "No malgastar recursos del sistema sondejant llocs externs per acomptes abandonats. Entrar 0 vol dir sense límit de temps."
+#: ../../Zotlabs/Module/Like.php:448 ../../addon/diaspora/Receiver.php:2033
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%1$s no assistirà a %3$s de %2$s"
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
-msgstr "dominis amics permesos"
+#: ../../Zotlabs/Module/Like.php:450 ../../addon/diaspora/Receiver.php:2035
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%1$s potser assistirà a %3$s de %2$s"
-#: ../../Zotlabs/Module/Admin.php:516
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "llista separada per comes de dominis en els que està permès establir relacions d'amistat amb aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
+#: ../../Zotlabs/Module/Like.php:562
+msgid "Action completed."
+msgstr "S'ha completat l'acció."
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
-msgstr "Dominis de correu electonic acceptats"
+#: ../../Zotlabs/Module/Like.php:563
+msgid "Thank you."
+msgstr "Gràcies."
-#: ../../Zotlabs/Module/Admin.php:517
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "llista separada per comes de dominis d'adreces de correu electrònic permeses en aquest lloc. S'accepten comodins. Deixar buit per acceptar qualsevol domini"
+#: ../../Zotlabs/Module/Directory.php:250
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valoració"
+msgstr[1] "%d valoracions"
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "Dominis de correu electrònic no acceptats"
+#: ../../Zotlabs/Module/Directory.php:261
+msgid "Gender: "
+msgstr "Gènere:"
-#: ../../Zotlabs/Module/Admin.php:518
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "llista separada per comes de dominis d'adreces de correu electrònic no permeses en aquest lloc. S'accepten comodins. Deixar buit per no acceptar cap domini, excepte els que s'hagin definits com acceptats."
+#: ../../Zotlabs/Module/Directory.php:263
+msgid "Status: "
+msgstr "Estatus:"
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "Verifica l'Adreça de Correu Electrònic"
+#: ../../Zotlabs/Module/Directory.php:265
+msgid "Homepage: "
+msgstr "Pàgina Personal:"
-#: ../../Zotlabs/Module/Admin.php:519
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Activa per comprovar l'adreça de correu electrònic emprada durant el registre d'un nou compte (recomanat)"
+#: ../../Zotlabs/Module/Directory.php:314 ../../include/channel.php:1565
+msgid "Age:"
+msgstr "Edat:"
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
-msgstr "Forza la publicació"
+#: ../../Zotlabs/Module/Directory.php:319 ../../include/channel.php:1392
+#: ../../include/event.php:54 ../../include/event.php:86
+msgid "Location:"
+msgstr "Localització:"
-#: ../../Zotlabs/Module/Admin.php:520
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Activa per forzar que tots el perfils en aquest lloc siguin llistats en el directori del lloc."
+#: ../../Zotlabs/Module/Directory.php:325
+msgid "Description:"
+msgstr "Descripció:"
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
-msgstr "Importar Fluxos Públics"
+#: ../../Zotlabs/Module/Directory.php:330 ../../include/channel.php:1581
+msgid "Hometown:"
+msgstr "Ciutat Natal:"
-#: ../../Zotlabs/Module/Admin.php:521
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Importa i permet l'accés a contingut públic sondejat d'altres llocs. Avís: aquest contingut no estarà moderat."
+#: ../../Zotlabs/Module/Directory.php:332 ../../include/channel.php:1589
+msgid "About:"
+msgstr "Sobre:"
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
-msgstr "Accés a la Pàgina d'inici"
+#: ../../Zotlabs/Module/Directory.php:333 ../../Zotlabs/Module/Suggest.php:56
+#: ../../Zotlabs/Widget/Follow.php:32 ../../Zotlabs/Widget/Suggestions.php:44
+#: ../../include/conversation.php:1052 ../../include/channel.php:1377
+#: ../../include/connections.php:111
+msgid "Connect"
+msgstr "Connecta "
-#: ../../Zotlabs/Module/Admin.php:522
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Presenta una casella d'identificació a la pàgina d'inici als visitants si no s'ha configurat altre contingut."
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Public Forum:"
+msgstr "Forum Públic:"
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
-msgstr "Activar l'ajuda contextual"
+#: ../../Zotlabs/Module/Directory.php:337
+msgid "Keywords: "
+msgstr "Paraules Clau:"
-#: ../../Zotlabs/Module/Admin.php:523
-msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Mostra l'ajuda contextual per la pàgina actual quan el botó d'ajuda es pressionat."
+#: ../../Zotlabs/Module/Directory.php:340
+msgid "Don't suggest"
+msgstr "No suggerir"
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr "URL del Servidor de Directoris"
+#: ../../Zotlabs/Module/Directory.php:342
+msgid "Common connections (estimated):"
+msgstr "Connexions en comú (aproximades):"
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Servidor de directori per defecte"
+#: ../../Zotlabs/Module/Directory.php:391
+msgid "Global Directory"
+msgstr "Directori Global"
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Usuari Proxy"
+#: ../../Zotlabs/Module/Directory.php:391
+msgid "Local Directory"
+msgstr "Directori Local"
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "URL del Proxy"
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Finding:"
+msgstr "Cercant:"
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Temps d'espera de la xarxa"
+#: ../../Zotlabs/Module/Directory.php:400 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Canals Suggerits"
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valor en segons. Ajusta a 0 per a sense límits (no recomanat)"
+#: ../../Zotlabs/Module/Directory.php:402
+msgid "next page"
+msgstr "pàgina següent"
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Interval de lliurament"
+#: ../../Zotlabs/Module/Directory.php:402
+msgid "previous page"
+msgstr "pàgina anterior"
-#: ../../Zotlabs/Module/Admin.php:530
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Retarda en segon plà l'interval de lliurament per aquests segons per reduir la càrrega del sistema. Recomanat: 4-5 per a hostes compartits, 2-3 per a servidors privats virtuals. 0-1 per a servidors dedicats."
+#: ../../Zotlabs/Module/Directory.php:403
+msgid "Sort options"
+msgstr "Opcions per ordenar"
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Entregues per processar"
+#: ../../Zotlabs/Module/Directory.php:404
+msgid "Alphabetic"
+msgstr "Alfabètic"
-#: ../../Zotlabs/Module/Admin.php:531
-msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust"
-" if necessary to tune system performance. Recommend: 1-5."
-msgstr "Nombre de entregues a intentar processar en un únic procèss del sistema operatiu. Ajustar si es necessari per millorar el rendiment. Es recomana: 1-5."
+#: ../../Zotlabs/Module/Directory.php:405
+msgid "Reverse Alphabetic"
+msgstr "Alfabètic Invers"
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "interval de sondeig"
+#: ../../Zotlabs/Module/Directory.php:406
+msgid "Newest to Oldest"
+msgstr "De més Nou a més Vell"
-#: ../../Zotlabs/Module/Admin.php:532
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Retarda en segon pla el sondeig en aquesta quantitat de segons per a reduir la càrrega dels sistema. Si es 0 , empra l'interval de lliurament."
+#: ../../Zotlabs/Module/Directory.php:407
+msgid "Oldest to Newest"
+msgstr "De més Antic a més Nou"
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Càrrega Mitja Màxima"
+#: ../../Zotlabs/Module/Directory.php:424
+msgid "No entries (some entries may be hidden)."
+msgstr "Sense entrades (algunes podrien estar amagades)."
-#: ../../Zotlabs/Module/Admin.php:533
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "Cerca a xchan"
+
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Cerca a xchan començant per (o webbie)"
+
+#: ../../Zotlabs/Module/Suggest.php:39
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Càrrega màxima del sistema, abans que els processos de lliurament i sondeig es difereixin - 50 per defecte."
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou."
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Període d'expiració en dies per contingut importat (malla/xarxa)"
+#: ../../Zotlabs/Module/Suggest.php:58 ../../Zotlabs/Widget/Suggestions.php:46
+msgid "Ignore/Hide"
+msgstr "Ignora/Amaga"
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "0 vol dir sense temps d'expiració pel contingut importat"
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "No es possible trobar el node"
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "Off"
-msgstr "Apagat"
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Entrada realitzada amb èxit. "
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:722
-msgid "On"
-msgstr "Funcionant"
+#: ../../Zotlabs/Module/Mail.php:73
+msgid "Unable to lookup recipient."
+msgstr "Incapaç de trobar el destinatari."
-#: ../../Zotlabs/Module/Admin.php:678
-#, php-format
-msgid "Lock feature %s"
-msgstr "Bloca característica %s"
+#: ../../Zotlabs/Module/Mail.php:80
+msgid "Unable to communicate with requested channel."
+msgstr "Incapaç de comunicar amb el canal demanat."
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Gestiona Funcionalitats Addicionals"
+#: ../../Zotlabs/Module/Mail.php:87
+msgid "Cannot verify requested channel."
+msgstr "No puc verificar el canal demanat."
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "No es troba servidor"
+#: ../../Zotlabs/Module/Mail.php:105
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "El canal seleccionat te restriccions sobre els missatges privats. L'enviament ha fallat."
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr "ID"
+#: ../../Zotlabs/Module/Mail.php:160
+msgid "Messages"
+msgstr "Missatges"
+
+#: ../../Zotlabs/Module/Mail.php:173
+msgid "message"
+msgstr "missatge"
+
+#: ../../Zotlabs/Module/Mail.php:214
+msgid "Message recalled."
+msgstr "Recupera el missatge."
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "per a canal"
+#: ../../Zotlabs/Module/Mail.php:227
+msgid "Conversation removed."
+msgstr "Conversació eliminada."
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "al servidor"
+#: ../../Zotlabs/Module/Mail.php:242 ../../Zotlabs/Module/Mail.php:363
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Expira YYYY-MM-DD HH:MM"
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Servidor"
+#: ../../Zotlabs/Module/Mail.php:270
+msgid "Requested channel is not in this network"
+msgstr "El canal demanat no hi es en questa xarxa"
-#: ../../Zotlabs/Module/Admin.php:746
-msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "Per defecte, HTML no filtrat està permés als media embeguts. Això es inherentment no segur."
+#: ../../Zotlabs/Module/Mail.php:278
+msgid "Send Private Message"
+msgstr "Envia Missatge Privat"
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "L'ajust recomanat és només permetre HTML sense filtrar dels següents llocs:"
+#: ../../Zotlabs/Module/Mail.php:279 ../../Zotlabs/Module/Mail.php:421
+msgid "To:"
+msgstr "Per:"
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+#: ../../Zotlabs/Module/Mail.php:282 ../../Zotlabs/Module/Mail.php:423
+msgid "Subject:"
+msgstr "Assumpte:"
-#: ../../Zotlabs/Module/Admin.php:751
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "Tota la resta de contingut embegut seà filtrat, <strong>excepte</strong> contingut embegut d'aquest lloc que està blocat explícitament."
+#: ../../Zotlabs/Module/Mail.php:287 ../../Zotlabs/Module/Mail.php:429
+#: ../../include/conversation.php:1382
+msgid "Attach file"
+msgstr "Adjunta arxiu"
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1385
-msgid "Security"
-msgstr "Seguretat"
+#: ../../Zotlabs/Module/Mail.php:289
+msgid "Send"
+msgstr "Envia"
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Bloca que sigui públic"
+#: ../../Zotlabs/Module/Mail.php:292 ../../Zotlabs/Module/Mail.php:434
+#: ../../include/conversation.php:1427
+msgid "Set expiration date"
+msgstr "Ajusta la data d'expiració"
-#: ../../Zotlabs/Module/Admin.php:758
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "activa per blocar l'accés a les pàgines personals públiques a tothom excepte aquells/es que s'hagin autenticat en aquest node."
+#: ../../Zotlabs/Module/Mail.php:393
+msgid "Delete message"
+msgstr "Elimina el missatge"
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "Set \"Transport Security\" HTTP header"
+#: ../../Zotlabs/Module/Mail.php:394
+msgid "Delivery report"
+msgstr "Informe d'entrega"
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr "Set \"Content Security Policy\" HTTP header"
+#: ../../Zotlabs/Module/Mail.php:395
+msgid "Recall message"
+msgstr "Recupera el missatge"
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Permetre comunicacions únicament des de aquests llocs"
+#: ../../Zotlabs/Module/Mail.php:397
+msgid "Message has been recalled."
+msgstr "El missatge s'ha recuperat."
-#: ../../Zotlabs/Module/Admin.php:761
+#: ../../Zotlabs/Module/Mail.php:414
+msgid "Delete Conversation"
+msgstr "Conversació esborrada"
+
+#: ../../Zotlabs/Module/Mail.php:416
msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Un lloc per línia. Deixar en blanc per permetre, per defecte, la comunicació amb tothom."
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Comunicació segura no disponible. Pots respondre des de la pàgina de perfil del remitent."
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Bloca comunicacions que venen d'aquests llocs"
+#: ../../Zotlabs/Module/Mail.php:420
+msgid "Send Reply"
+msgstr "Envia Resposta"
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Permet la comunicació només per aquests canals"
+#: ../../Zotlabs/Module/Mail.php:425
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "El teu missatge per %s (%s):"
-#: ../../Zotlabs/Module/Admin.php:763
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../Zotlabs/Widget/Pubsites.php:12
+msgid "Public Hubs"
+msgstr "Nodes Públics"
+
+#: ../../Zotlabs/Module/Pubsites.php:27
msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Un canal (hash) per línia. Deixa en blanc per permetre, per defecte, la comunicació qualsevol canal."
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr "Els nodes llistats permeten registrar usuaris de la xarxa $Projectname. Com que tots els nodes estan enllaçats entre ells, la identitat és vàlida a tota la xarxa. Alguns nodes poden demanar subscripció o oferir serveis addicional de pagament. Per a més detalls, <strong>proveu</strong> de seguir els enllaços dels proveïdors."
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Bloca les comunicacions que venen d'aquests canals"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Hub URL"
+msgstr "URL del Node"
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Permetre embeguts només de llocs web i enllaços segurs (SSL)."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Access Type"
+msgstr "Tipus d'accés"
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Permetre HTML embegut sense filtrar només d'aquests dominis."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Registration Policy"
+msgstr "Condicions d'inscripció"
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Un lloc per línia. Per defecte el contingut embegut es filtrat."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Stats"
+msgstr "Estadístiques"
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Bloca HTML embegut d'aquests dominis"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Software"
+msgstr "Programari"
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "Actualització marcada amb exit"
+#: ../../Zotlabs/Module/Pubsites.php:49
+msgid "Rate"
+msgstr "Puntua"
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Executant %s ha fallat. Comprova els logs del sistema."
+#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:267
+msgid "webpage"
+msgstr "pàgina web"
+
+#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:273
+msgid "block"
+msgstr "bloc"
+
+#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:270
+msgid "layout"
+msgstr "disposició"
-#: ../../Zotlabs/Module/Admin.php:798
+#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:276
+msgid "menu"
+msgstr "menú"
+
+#: ../../Zotlabs/Module/Impel.php:183
#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Actualització %s es va realitzar correctament."
+msgid "%s element installed"
+msgstr "%s element instal·lat"
-#: ../../Zotlabs/Module/Admin.php:802
+#: ../../Zotlabs/Module/Impel.php:186
#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Actualització %s no ha retornat l'estat. Es desconeix si ha finalitzat amb exit."
+msgid "%s element installation failed"
+msgstr "%s instal·lació d'element va fallar"
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr "Tria una carpeta d'interès"
-#: ../../Zotlabs/Module/Admin.php:805
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr "Guarda Favorits"
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr "URL de favorit"
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr "O entra un nou nom de favorit"
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Enter a folder name"
+msgstr "Escriu el nom de la carpeta"
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "or select an existing folder (doubleclick)"
+msgstr "o escull-ne una d'existent amb doble clic"
+
+#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:151
+msgid "Save to Folder"
+msgstr "Guardar en la Carpeta"
+
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
#, php-format
-msgid "Update function %s could not be found."
-msgstr "La funció d'actualitzacio %s no es pot trobar."
+msgid "Fetching URL returns error: %1$s"
+msgstr "URL sol·licitada retorna error: %1$s"
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "No hi ha actualitzacions fallides."
+#: ../../Zotlabs/Module/Register.php:49
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Nombre màxim d'inscripcions diaris excedit. Si us plau, provau demà."
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Actualitzacions Fallides"
+#: ../../Zotlabs/Module/Register.php:55
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "L'inscripció ha fallat. Si et plau, indica que acceptes les Condicions del Servei."
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Marca èxit (si l'actualització s'ha aplicat de forma manual)"
+#: ../../Zotlabs/Module/Register.php:89
+msgid "Passwords do not match."
+msgstr "Les contrasenyes no coincideixen."
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Prova a fer automàticament aquesta actualització"
+#: ../../Zotlabs/Module/Register.php:132
+msgid "Registration successful. Continue to create your first channel..."
+msgstr "S'ha registrat el compte amb èxit. Ara pots crear el teu primer canal..."
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Cua d'Estadístiques"
+#: ../../Zotlabs/Module/Register.php:135
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registrat amb èxit. Si et plau revisa el teu correu electrònic per a les instruccions de validació."
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Total d'Entrades"
+#: ../../Zotlabs/Module/Register.php:142
+msgid "Your registration is pending approval by the site owner."
+msgstr "La teva inscripció esta pendent de validació pel propietari del lloc."
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Prioritat"
+#: ../../Zotlabs/Module/Register.php:145
+msgid "Your registration can not be processed."
+msgstr "La teva inscripció no ha pogut ser processat. "
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "URL de Destí"
+#: ../../Zotlabs/Module/Register.php:192
+msgid "Registration on this hub is disabled."
+msgstr "L'inscripció en aquest node està deshabilitat."
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Marca el node com a permanentment fora de línia"
+#: ../../Zotlabs/Module/Register.php:201
+msgid "Registration on this hub is by approval only."
+msgstr "L'inscripció en aquest node es únicament per validació."
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Cua buida per aquest node"
+#: ../../Zotlabs/Module/Register.php:202
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr "<a href=\"pubsites\">Inscripció en altre node afiliat</a>"
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Últim contacte conegut"
+#: ../../Zotlabs/Module/Register.php:212
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "El lloc ha excedit el límit màxim diari de nous comptes/inscripció. Provau demà."
-#: ../../Zotlabs/Module/Admin.php:901
+#: ../../Zotlabs/Module/Register.php:238
#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "S'ha [des]bloquejat %s compte"
-msgstr[1] "S'han [des]bloquejat %s comptes"
+msgid "I accept the %s for this website"
+msgstr "Accepto el %s per a aquest lloc web"
-#: ../../Zotlabs/Module/Admin.php:908
+#: ../../Zotlabs/Module/Register.php:245
#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "S'ha esborrat el compte %s"
-msgstr[1] "S'han esborrat %s comptes"
+msgid "I am over %s years of age and accept the %s for this website"
+msgstr "Tinc més de %s anys i accepto les %s"
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
-msgstr "Compte no trobat"
+#: ../../Zotlabs/Module/Register.php:250
+msgid "Your email address"
+msgstr "La teva adreça de correu electrónic"
+
+#: ../../Zotlabs/Module/Register.php:251
+msgid "Choose a password"
+msgstr "Tria una contrasenya"
+
+#: ../../Zotlabs/Module/Register.php:252
+msgid "Please re-enter your password"
+msgstr "Si et plau, re-entra la contrasenya"
+
+#: ../../Zotlabs/Module/Register.php:253
+msgid "Please enter your invitation code"
+msgstr "Si et plau, introdueix el teu codi d'invitació"
+
+#: ../../Zotlabs/Module/Register.php:258
+msgid "no"
+msgstr "no"
+
+#: ../../Zotlabs/Module/Register.php:258
+msgid "yes"
+msgstr "sí"
+
+#: ../../Zotlabs/Module/Register.php:274
+msgid "Membership on this site is by invitation only."
+msgstr "La pertinença en aquest lloc es per invitació exclusivament."
+
+#: ../../Zotlabs/Module/Register.php:286 ../../boot.php:1563
+#: ../../include/nav.php:164
+msgid "Register"
+msgstr "Inscripció"
+
+#: ../../Zotlabs/Module/Register.php:287
+msgid ""
+"This site requires email verification. After completing this form, please "
+"check your email for further instructions."
+msgstr "Aquest node demana que es verifiquin els comptes de correu. Un cop completat el formulari, comprova la teva safata d'entrada i segueix les instruccions que hi trobaràs."
+
+#: ../../Zotlabs/Module/Cover_photo.php:136
+#: ../../Zotlabs/Module/Cover_photo.php:186
+msgid "Cover Photos"
+msgstr "Fotos de Portada"
-#: ../../Zotlabs/Module/Admin.php:955
+#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4508
+msgid "female"
+msgstr "femení"
+
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4509
#, php-format
-msgid "Account '%s' deleted"
-msgstr "S'ha esborrat el compte '%s'"
+msgid "%1$s updated her %2$s"
+msgstr "%1$s actualitzà el seu %2$s"
+
+#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4510
+msgid "male"
+msgstr "masculí"
-#: ../../Zotlabs/Module/Admin.php:963
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4511
#, php-format
-msgid "Account '%s' blocked"
-msgstr "S'ha bloquejat el compte '%s'"
+msgid "%1$s updated his %2$s"
+msgstr "%1$s actualitzà el seu %2$s"
-#: ../../Zotlabs/Module/Admin.php:971
+#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4513
#, php-format
-msgid "Account '%s' unblocked"
-msgstr "S'ha desbloquejat el compte '%s'"
+msgid "%1$s updated their %2$s"
+msgstr "%1$s actualitzà els seus %2$s"
-#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1383
-msgid "Accounts"
-msgstr "Comptes"
+#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:2059
+msgid "cover photo"
+msgstr "Foto de la portada"
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
-msgid "select all"
-msgstr "Sel·leciona-ho tot"
+#: ../../Zotlabs/Module/Cover_photo.php:360
+msgid "Change Cover Photo"
+msgstr "Canvia la foto de portada"
-#: ../../Zotlabs/Module/Admin.php:1034
-msgid "Registrations waiting for confirm"
-msgstr ""
+#: ../../Zotlabs/Module/Help.php:23
+msgid "Documentation Search"
+msgstr "Cerca de Documentació"
-#: ../../Zotlabs/Module/Admin.php:1035
-msgid "Request date"
-msgstr "Data de la petició"
+#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1821
+#: ../../include/nav.php:391
+msgid "About"
+msgstr "El Meu Perfil"
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "No registrations."
-msgstr "Sense registracions."
+#: ../../Zotlabs/Module/Help.php:82
+msgid "Administrators"
+msgstr "Administradors"
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "Deny"
-msgstr "Denegat"
+#: ../../Zotlabs/Module/Help.php:83
+msgid "Developers"
+msgstr "Desenvolupadors"
-#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Tots els Canals"
+#: ../../Zotlabs/Module/Help.php:84
+msgid "Tutorials"
+msgstr "Tutorials"
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid "Register date"
-msgstr "Data de registre"
+#: ../../Zotlabs/Module/Help.php:95
+msgid "$Projectname Documentation"
+msgstr "$Projectname Documentació"
-#: ../../Zotlabs/Module/Admin.php:1050
-msgid "Last login"
-msgstr "Darrera identificació"
+#: ../../Zotlabs/Module/Help.php:96
+msgid "Contents"
+msgstr "Continguts"
-#: ../../Zotlabs/Module/Admin.php:1051
-msgid "Expires"
-msgstr "Expira"
+#: ../../Zotlabs/Module/Display.php:351
+msgid "Article"
+msgstr "Article"
-#: ../../Zotlabs/Module/Admin.php:1052
-msgid "Service Class"
-msgstr "Classe de Servei"
+#: ../../Zotlabs/Module/Display.php:403
+msgid "Item has been removed."
+msgstr "S'ha esborrat l'element."
-#: ../../Zotlabs/Module/Admin.php:1054
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Els comptes seleccionats seran eliminats!\\n\\nTot el que hagin publicat en aquest lloc serà esborrat permanentment!\\n\\nN'estàs segur de continuar?"
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
+msgstr "S'ha tret l'etiqueta"
-#: ../../Zotlabs/Module/Admin.php:1055
-msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "L'usuari {0} serà eliminat!\\n\\nTot el que hagi publicat l'usuari en aquest lloc serà esborrat de permanentment!\\n\\nN'estàs segur?"
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
+msgstr "Elimina l'etiqueta d'element"
-#: ../../Zotlabs/Module/Admin.php:1091
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s canal censurat/no censurat"
-msgstr[1] "%s canals censurats/no censurats"
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
+msgstr "Tria l'etiqueta a eliminar:"
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s codi permes/no permes al canal"
-msgstr[1] "%s codi permesos/no permesos al canal"
+#: ../../Zotlabs/Module/Network.php:100
+msgid "No such group"
+msgstr "No existeix el grup"
-#: ../../Zotlabs/Module/Admin.php:1106
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s canal esborrat"
-msgstr[1] "%s canals esborrats"
+#: ../../Zotlabs/Module/Network.php:142
+msgid "No such channel"
+msgstr "No existeix el canal"
-#: ../../Zotlabs/Module/Admin.php:1126
-msgid "Channel not found"
-msgstr "Canal no trobat"
+#: ../../Zotlabs/Module/Network.php:147
+msgid "forum"
+msgstr "fòrum"
-#: ../../Zotlabs/Module/Admin.php:1136
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Canal '%s' esborrat"
+#: ../../Zotlabs/Module/Network.php:159
+msgid "Search Results For:"
+msgstr "Cerca resultats per:"
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Canal '%s' censurat"
+#: ../../Zotlabs/Module/Network.php:230
+msgid "Privacy group is empty"
+msgstr "el grup privat està vuit"
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Canal '%s' no censurat"
+#: ../../Zotlabs/Module/Network.php:240
+msgid "Privacy group: "
+msgstr "Grup privat:"
-#: ../../Zotlabs/Module/Admin.php:1159
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Canal '%s' permet codi"
+#: ../../Zotlabs/Module/Network.php:268
+msgid "Invalid connection."
+msgstr "La connexió és invàlida."
+
+#: ../../Zotlabs/Module/Network.php:289 ../../addon/redred/redred.php:65
+msgid "Invalid channel."
+msgstr "El canal no és vàlid."
+
+#: ../../Zotlabs/Module/Acl.php:361
+msgid "network"
+msgstr "xarxa"
-#: ../../Zotlabs/Module/Admin.php:1159
+#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
+#: ../../Zotlabs/Lib/Enotify.php:66 ../../addon/opensearch/opensearch.php:42
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../Zotlabs/Module/Home.php:92
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Canal '%s' no permet codi"
+msgid "Welcome to %s"
+msgstr "Benvingut a %s"
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1384
-msgid "Channels"
-msgstr "Canals"
+#: ../../Zotlabs/Module/Filestorage.php:79
+msgid "Permission Denied."
+msgstr "Permisos Denegats."
-#: ../../Zotlabs/Module/Admin.php:1214
-msgid "Censor"
-msgstr "Censurat"
+#: ../../Zotlabs/Module/Filestorage.php:95
+msgid "File not found."
+msgstr "Arxiu no torbat."
-#: ../../Zotlabs/Module/Admin.php:1215
-msgid "Uncensor"
-msgstr "No censurat"
+#: ../../Zotlabs/Module/Filestorage.php:142
+msgid "Edit file permissions"
+msgstr "Edita els permisos d'arxiu"
-#: ../../Zotlabs/Module/Admin.php:1216
-msgid "Allow Code"
-msgstr "Permet Codi"
+#: ../../Zotlabs/Module/Filestorage.php:154
+msgid "Set/edit permissions"
+msgstr "Canvia/edita permisos"
-#: ../../Zotlabs/Module/Admin.php:1217
-msgid "Disallow Code"
-msgstr "No Permet Codi"
+#: ../../Zotlabs/Module/Filestorage.php:155
+msgid "Include all files and sub folders"
+msgstr "Inclou tots als arxius i subdirectoris"
-#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1611
-msgid "Channel"
-msgstr "Canal"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Return to file list"
+msgstr "Tornar al llistat d'arxius"
-#: ../../Zotlabs/Module/Admin.php:1222
-msgid "UID"
-msgstr "UID"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copia/enganxa aquest codi per a adjuntar un arxiu a l'entrada"
-#: ../../Zotlabs/Module/Admin.php:1226
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Els canals sel·leccionats s'esborraran!\\n\\nTotes les publicacions d'aquests canals en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur? "
+#: ../../Zotlabs/Module/Filestorage.php:159
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copia/enganxa aquesta URL per a enllaçar l'arxiu d'una pàgina web"
-#: ../../Zotlabs/Module/Admin.php:1227
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "El canal {0} serà esborrat!\\n\\nTotes les publicacions d'aquest canal en aquest lloc s'eliminaran de forma permanent!\\n\\nEstàs segur?"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Share this file"
+msgstr "Comparteix l'arxiu"
-#: ../../Zotlabs/Module/Admin.php:1284
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s desactivat."
+#: ../../Zotlabs/Module/Filestorage.php:162
+msgid "Show URL to this file"
+msgstr "Mostra la URL d'aquest arxiu"
+
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397
+msgid "Show in your contacts shared folder"
+msgstr "Mostra les carpetes compartides dels teus contactes"
-#: ../../Zotlabs/Module/Admin.php:1288
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "No s'ha trobat el canal"
+
+#: ../../Zotlabs/Module/Common.php:45
+msgid "No connections in common."
+msgstr "No hi ha connexions en comú."
+
+#: ../../Zotlabs/Module/Common.php:65
+msgid "View Common Connections"
+msgstr "Mostra les connexions en comú"
+
+#: ../../Zotlabs/Module/Email_resend.php:30
+msgid "Email verification resent"
+msgstr "S'ha tornat a enviar la verificació de orreu"
+
+#: ../../Zotlabs/Module/Email_resend.php:33
+msgid "Unable to resend email verification message."
+msgstr "No s'ha pogut tornar a enviar el correu de verificació."
+
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
+msgstr "Sense connexions."
+
+#: ../../Zotlabs/Module/Viewconnections.php:83
#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s activat."
+msgid "Visit %s's profile [%s]"
+msgstr "Visita el perfil [%s] de %s"
-#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
-msgid "Disable"
-msgstr "Desactivat"
+#: ../../Zotlabs/Module/Viewconnections.php:113
+msgid "View Connections"
+msgstr "Veure Connexions"
-#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
-msgid "Enable"
-msgstr "Activat"
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "Blocked accounts"
+msgstr "Comptes bloquejats"
-#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1387
-msgid "Plugins"
-msgstr "Plugins"
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "Expired accounts"
+msgstr "Comptes caducats"
-#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
-msgid "Toggle"
-msgstr "Commutar"
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "Expiring accounts"
+msgstr "Comptes a punt de caducar"
-#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/widgets.php:638
-#: ../../include/nav.php:208
-msgid "Settings"
-msgstr "Ajustos"
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "Clones"
+msgstr "Clons"
-#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
-msgid "Author: "
-msgstr "Autor: "
+#: ../../Zotlabs/Module/Admin.php:118
+msgid "Message queues"
+msgstr "Cues de missatges"
-#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
-msgid "Maintainer: "
-msgstr "Mantenedor:"
+#: ../../Zotlabs/Module/Admin.php:132
+msgid "Your software should be updated"
+msgstr "El teu programari cal que s'actualitzi"
-#: ../../Zotlabs/Module/Admin.php:1341
-msgid "Minimum project version: "
-msgstr "Versió mínima del projecte:"
+#: ../../Zotlabs/Module/Admin.php:137
+msgid "Summary"
+msgstr "Sumari"
-#: ../../Zotlabs/Module/Admin.php:1342
-msgid "Maximum project version: "
-msgstr "Versió màxima del projecte:"
+#: ../../Zotlabs/Module/Admin.php:140
+msgid "Registered accounts"
+msgstr "Comptes registrades"
-#: ../../Zotlabs/Module/Admin.php:1343
-msgid "Minimum PHP version: "
-msgstr "Versió mínima de PHP:"
+#: ../../Zotlabs/Module/Admin.php:141
+msgid "Pending registrations"
+msgstr "Comptes pendents d'inscripció"
-#: ../../Zotlabs/Module/Admin.php:1344
-msgid "Requires: "
-msgstr "Requereix:"
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Registered channels"
+msgstr "Canals registrats"
-#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
-msgid "Disabled - version incompatibility"
-msgstr "Desactiva - incompatibilitat de versió"
+#: ../../Zotlabs/Module/Admin.php:143
+msgid "Active plugins"
+msgstr "Plugins actius"
-#: ../../Zotlabs/Module/Admin.php:1394
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Introdueix la URL del repositori git públic del repositori de plugins."
+#: ../../Zotlabs/Module/Admin.php:144
+msgid "Version"
+msgstr "Versió"
-#: ../../Zotlabs/Module/Admin.php:1395
-msgid "Plugin repo git URL"
-msgstr "URL del repositori de plugins."
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Repository version (master)"
+msgstr "Versió (master) del repositori"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "Custom repo name"
-msgstr "Nom del repositori personalitzat"
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Repository version (dev)"
+msgstr "Versió (desenvolupament) del repositori"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "(optional)"
-msgstr "(opcional)"
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "No s'han trobat restriccions de clase."
-#: ../../Zotlabs/Module/Admin.php:1397
-msgid "Download Plugin Repo"
-msgstr "Descarrega el Repositori de Plugins"
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr "Lloc web:"
-#: ../../Zotlabs/Module/Admin.php:1404
-msgid "Install new repo"
-msgstr "Instal·la un nou repositori "
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canal Remot [%s] (encara no es coneix en aquest lloc)"
-#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:330
-msgid "Install"
-msgstr "Instal·lar"
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr "Valoració (aquesta informació és pública)"
-#: ../../Zotlabs/Module/Admin.php:1427
-msgid "Manage Repos"
-msgstr "Gestiona Repositoris"
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Opcionalment pots explicar la teva qualificació (aquesta informació és pública)"
-#: ../../Zotlabs/Module/Admin.php:1428
-msgid "Installed Plugin Repositories"
-msgstr "Repositori de Plugins Instal·lat"
+#: ../../Zotlabs/Module/Card_edit.php:128
+msgid "Edit Card"
+msgstr "Edita la targeta"
-#: ../../Zotlabs/Module/Admin.php:1429
-msgid "Install a New Plugin Repository"
-msgstr "Instal·la un Nou Repositori de Plugins"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "No es troba un compte vàlid."
-#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:77
-#: ../../Zotlabs/Module/Settings.php:616 ../../Zotlabs/Lib/Apps.php:330
-msgid "Update"
-msgstr "Actualització"
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Sol·licitud de restabliment de contrasenya emesa. Consulta el teu correu electrònic."
-#: ../../Zotlabs/Module/Admin.php:1436
-msgid "Switch branch"
-msgstr "Canvia de branca"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Lloc d'Usuari (%s)"
-#: ../../Zotlabs/Module/Admin.php:1550
-msgid "No themes found."
-msgstr "No s'han trobat temes."
+#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "S'ha soŀlicitat restablir la contrasenya al hub %s"
-#: ../../Zotlabs/Module/Admin.php:1606
-msgid "Screenshot"
-msgstr "Copia de pantalla"
+#: ../../Zotlabs/Module/Lostpass.php:68
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Ha fallat el restabliment de contrasenya perquè la no s'ha pogut verificar soŀlicitud. Pot ser que ja ho hàgiu soŀlicitat abans."
-#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1388
-msgid "Themes"
-msgstr "Temes"
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1591
+msgid "Password Reset"
+msgstr "Restabliment de contrasenya"
-#: ../../Zotlabs/Module/Admin.php:1652
-msgid "[Experimental]"
-msgstr "[Experimental]"
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your password has been reset as requested."
+msgstr "S'ha restablert la vostra contrasenya."
-#: ../../Zotlabs/Module/Admin.php:1653
-msgid "[Unsupported]"
-msgstr "[No soportat]"
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Your new password is"
+msgstr "La nova contrasenya és"
-#: ../../Zotlabs/Module/Admin.php:1677
-msgid "Log settings updated."
-msgstr "Registre d'ajustos actualitzat."
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "Save or copy your new password - and then"
+msgstr "Desa o copia la nova contrasenya, i després"
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1409
-#: ../../include/widgets.php:1419
-msgid "Logs"
-msgstr "Logs"
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid "click here to login"
+msgstr "fes clic aquí per iniciar sessió"
-#: ../../Zotlabs/Module/Admin.php:1734
-msgid "Clear"
-msgstr "Neteja"
+#: ../../Zotlabs/Module/Lostpass.php:96
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Pots canviar la contrasenya a la pàgina <em>Paràmetres</em>, un cop iniciada la sessió."
-#: ../../Zotlabs/Module/Admin.php:1740
-msgid "Debugging"
-msgstr "Depurant"
+#: ../../Zotlabs/Module/Lostpass.php:117
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "La teva contrasenya a %s ha canviat"
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid "Log file"
-msgstr "Arxiu de registre"
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Forgot your Password?"
+msgstr "No recordes la contrasenya?"
-#: ../../Zotlabs/Module/Admin.php:1741
+#: ../../Zotlabs/Module/Lostpass.php:131
msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
-msgstr ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Escriu la teva adreça de correu electrònic i envia per restablir la contrasenya. Després revisa el seu correu electrònic per obtenir més instruccions."
-#: ../../Zotlabs/Module/Admin.php:1742
-msgid "Log level"
-msgstr "Nivell de registre"
+#: ../../Zotlabs/Module/Lostpass.php:132
+msgid "Email Address"
+msgstr "Adreça electrònica"
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "New Profile Field"
-msgstr "Camp de Perfil Nou"
+#: ../../Zotlabs/Module/Notifications.php:62
+#: ../../Zotlabs/Lib/ThreadItem.php:408
+msgid "Mark all seen"
+msgstr "Marca tot com ja vist"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "Field nickname"
-msgstr "Àlies de Camp"
+#: ../../Zotlabs/Lib/Techlevels.php:10
+msgid "0. Beginner/Basic"
+msgstr "0. Bàsic, principiant"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "System name of field"
-msgstr "nOM DEL SISTEMA DEL CAMP"
+#: ../../Zotlabs/Lib/Techlevels.php:11
+msgid "1. Novice - not skilled but willing to learn"
+msgstr "1. Novell - amb pocs coneixements però amb ganes d'aprendre"
-#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
-msgid "Input type"
-msgstr "Tipus d'entrada"
+#: ../../Zotlabs/Lib/Techlevels.php:12
+msgid "2. Intermediate - somewhat comfortable"
+msgstr "2. Intermedi - més o menys còmode"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Field Name"
-msgstr "Nom de Camp"
+#: ../../Zotlabs/Lib/Techlevels.php:13
+msgid "3. Advanced - very comfortable"
+msgstr "3. Avançat - molt còmode"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Label on profile pages"
-msgstr "Etiqueta a les pàgines de perfil"
+#: ../../Zotlabs/Lib/Techlevels.php:14
+msgid "4. Expert - I can write computer code"
+msgstr "4. Expert - puc escriure codi en algun llenguatge de programació"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Help text"
-msgstr "Text d'ajuda"
+#: ../../Zotlabs/Lib/Techlevels.php:15
+msgid "5. Wizard - I probably know more than you do"
+msgstr "5. Ninja - probablement en sé més que tu"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Additional info (optional)"
-msgstr "Informació adicional (opcional)"
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Site Admin"
+msgstr "Administració"
-#: ../../Zotlabs/Module/Admin.php:2042
-msgid "Field definition not found"
-msgstr "No es troba la definició del camp"
+#: ../../Zotlabs/Lib/Apps.php:232 ../../addon/buglink/buglink.php:16
+msgid "Report Bug"
+msgstr "Informa d'errors"
-#: ../../Zotlabs/Module/Admin.php:2048
-msgid "Edit Profile Field"
-msgstr "Camp d'Edició del Perfil"
+#: ../../Zotlabs/Lib/Apps.php:233
+msgid "View Bookmarks"
+msgstr "Veure Marcadors"
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1390
-msgid "Profile Fields"
-msgstr "Camps del Perfil"
+#: ../../Zotlabs/Lib/Apps.php:234
+msgid "My Chatrooms"
+msgstr "Les meves Sales de Xat"
-#: ../../Zotlabs/Module/Admin.php:2107
-msgid "Basic Profile Fields"
-msgstr "Camps Bàsics del Perfil"
+#: ../../Zotlabs/Lib/Apps.php:236
+msgid "Firefox Share"
+msgstr "Compartir amb Firefox"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "Advanced Profile Fields"
-msgstr "Camps Avançats del Perfil"
+#: ../../Zotlabs/Lib/Apps.php:237
+msgid "Remote Diagnostics"
+msgstr "Diagnòstics Remots"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "(In addition to basic fields)"
-msgstr "( addicionalment als camps bàsics)"
+#: ../../Zotlabs/Lib/Apps.php:238 ../../include/features.php:390
+msgid "Suggest Channels"
+msgstr "Suggerir Canals"
-#: ../../Zotlabs/Module/Admin.php:2110
-msgid "All available fields"
-msgstr "Tots els camps disponibles"
+#: ../../Zotlabs/Lib/Apps.php:239 ../../boot.php:1582
+#: ../../include/nav.php:126 ../../include/nav.php:130
+msgid "Login"
+msgstr "Identifica't"
-#: ../../Zotlabs/Module/Admin.php:2111
-msgid "Custom Fields"
-msgstr "Camps Personalitzats"
+#: ../../Zotlabs/Lib/Apps.php:241
+msgid "Activity"
+msgstr "Activitat"
-#: ../../Zotlabs/Module/Admin.php:2115
-msgid "Create Custom Field"
-msgstr "Crear un Camp Personalitzat"
+#: ../../Zotlabs/Lib/Apps.php:245 ../../include/conversation.php:1928
+#: ../../include/features.php:87 ../../include/nav.php:497
+msgid "Wiki"
+msgstr "Wiki"
-#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
-msgid "App installed."
-msgstr "Aplicació instal·lada."
+#: ../../Zotlabs/Lib/Apps.php:246
+msgid "Channel Home"
+msgstr "Canal Personal"
-#: ../../Zotlabs/Module/Appman.php:46
-msgid "Malformed app."
-msgstr "Aplicació amb errors"
+#: ../../Zotlabs/Lib/Apps.php:249 ../../include/conversation.php:1850
+#: ../../include/conversation.php:1853
+msgid "Events"
+msgstr "Esdeveniments"
-#: ../../Zotlabs/Module/Appman.php:104
-msgid "Embed code"
-msgstr "Codi embegut"
+#: ../../Zotlabs/Lib/Apps.php:250
+msgid "Directory"
+msgstr "Directori"
-#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
-msgid "Edit App"
-msgstr "Edita l'Aplicació"
+#: ../../Zotlabs/Lib/Apps.php:252
+msgid "Mail"
+msgstr "Correu"
-#: ../../Zotlabs/Module/Appman.php:110
-msgid "Create App"
-msgstr "Crea l'Aplicació"
+#: ../../Zotlabs/Lib/Apps.php:255
+msgid "Chat"
+msgstr "Xerrar"
-#: ../../Zotlabs/Module/Appman.php:115
-msgid "Name of app"
-msgstr "Nom de l'Aplicació"
+#: ../../Zotlabs/Lib/Apps.php:257
+msgid "Probe"
+msgstr "Sondeig"
-#: ../../Zotlabs/Module/Appman.php:116
-msgid "Location (URL) of app"
-msgstr "Ubicació (URL) de l'aplicació"
+#: ../../Zotlabs/Lib/Apps.php:258
+msgid "Suggest"
+msgstr "Suggeriment"
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "Photo icon URL"
-msgstr "Foto icona URL"
+#: ../../Zotlabs/Lib/Apps.php:259
+msgid "Random Channel"
+msgstr "Canal Aleatori"
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixels - opcional"
+#: ../../Zotlabs/Lib/Apps.php:260
+msgid "Invite"
+msgstr "Convida"
-#: ../../Zotlabs/Module/Appman.php:119
-msgid "Categories (optional, comma separated list)"
-msgstr "Categories (opcional, lista separada per comes)"
+#: ../../Zotlabs/Lib/Apps.php:261 ../../Zotlabs/Widget/Admin.php:26
+msgid "Features"
+msgstr "Funcionalitats"
-#: ../../Zotlabs/Module/Appman.php:120
-msgid "Version ID"
-msgstr "Versió ID"
+#: ../../Zotlabs/Lib/Apps.php:262 ../../addon/openid/MysqlProvider.php:69
+msgid "Language"
+msgstr "Idioma"
-#: ../../Zotlabs/Module/Appman.php:121
-msgid "Price of app"
-msgstr "Preu de l'aplicació"
+#: ../../Zotlabs/Lib/Apps.php:263
+msgid "Post"
+msgstr "Entrada"
-#: ../../Zotlabs/Module/Appman.php:122
-msgid "Location (URL) to purchase app"
-msgstr "Ubicació (URL) per comprar l'aplicació"
+#: ../../Zotlabs/Lib/Apps.php:264 ../../addon/openid/MysqlProvider.php:58
+#: ../../addon/openid/MysqlProvider.php:59
+#: ../../addon/openid/MysqlProvider.php:60
+msgid "Profile Photo"
+msgstr "Foto del Perfil"
-#: ../../Zotlabs/Module/Rbmark.php:94
-msgid "Select a bookmark folder"
-msgstr "Tria una carpeta d'interès"
+#: ../../Zotlabs/Lib/Apps.php:407
+msgid "Purchase"
+msgstr "Compra"
-#: ../../Zotlabs/Module/Rbmark.php:99
-msgid "Save Bookmark"
-msgstr "Guarda Favorits"
+#: ../../Zotlabs/Lib/Apps.php:411
+msgid "Undelete"
+msgstr "Desfés l'operació d'esborrar"
-#: ../../Zotlabs/Module/Rbmark.php:100
-msgid "URL of bookmark"
-msgstr "URL de favorit"
+#: ../../Zotlabs/Lib/Apps.php:419
+msgid "Add to app-tray"
+msgstr "Afegeix a la safata d'aplicacions"
-#: ../../Zotlabs/Module/Rbmark.php:105
-msgid "Or enter new bookmark folder name"
-msgstr "O entra un nou nom de favorit"
+#: ../../Zotlabs/Lib/Apps.php:420
+msgid "Remove from app-tray"
+msgstr "Esborra de la safata d'aplicacions"
-#: ../../Zotlabs/Module/Register.php:49
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Nombre màxim de registres diaris excedit. Si us plau, provau demà."
+#: ../../Zotlabs/Lib/Apps.php:421
+msgid "Pin to navbar"
+msgstr "Fixa a la barra de navegació"
-#: ../../Zotlabs/Module/Register.php:55
+#: ../../Zotlabs/Lib/Apps.php:422
+msgid "Unpin from navbar"
+msgstr "Treu de la barra de navegació"
+
+#: ../../Zotlabs/Lib/Permcat.php:82
+msgctxt "permcat"
+msgid "default"
+msgstr "per defecte"
+
+#: ../../Zotlabs/Lib/Permcat.php:133
+msgctxt "permcat"
+msgid "follower"
+msgstr "seguidor"
+
+#: ../../Zotlabs/Lib/Permcat.php:137
+msgctxt "permcat"
+msgid "contributor"
+msgstr "contribuïdor"
+
+#: ../../Zotlabs/Lib/Permcat.php:141
+msgctxt "permcat"
+msgid "publisher"
+msgstr "publicador"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:42
+#: ../../Zotlabs/Lib/NativeWikiPage.php:93
+msgid "(No Title)"
+msgstr "(sense títol)"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:107
+msgid "Wiki page create failed."
+msgstr "No s'ha pogut crear la pàgina a la wiki."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:120
+msgid "Wiki not found."
+msgstr "No s'ha trobat la wiki."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:131
+msgid "Destination name already exists"
+msgstr "El nom de destí ja existeix"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:163
+#: ../../Zotlabs/Lib/NativeWikiPage.php:359
+msgid "Page not found"
+msgstr "No s'ha trobat la pàgina"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:194
+msgid "Error reading page content"
+msgstr "S'ha produït un error en carregar el contingut de la pàgina"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:350
+#: ../../Zotlabs/Lib/NativeWikiPage.php:400
+#: ../../Zotlabs/Lib/NativeWikiPage.php:467
+#: ../../Zotlabs/Lib/NativeWikiPage.php:508
+msgid "Error reading wiki"
+msgstr "S'ha produït un error en carregar la wiki"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:388
+msgid "Page update failed."
+msgstr "No s'ha pogut actualitzar la pàgina."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:422
+msgid "Nothing deleted"
+msgstr "No s'ha esborrat res"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:488
+msgid "Compare: object not found."
+msgstr "S'ha produït un error en comparar la pàgina."
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:494
+msgid "Page updated"
+msgstr "S'ha actualitzat la pàgina"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:497
+msgid "Untitled"
+msgstr "Sense títol"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:503
+msgid "Wiki resource_id required for git commit"
+msgstr "Per a fer el git commit cal el resource_id de la wiki"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:559
+#: ../../Zotlabs/Widget/Wiki_page_history.php:23
+msgctxt "wiki_history"
+msgid "Message"
+msgstr "Missatge"
+
+#: ../../Zotlabs/Lib/NativeWikiPage.php:597
+#: ../../addon/gitwiki/gitwiki_backend.php:579 ../../include/bbcode.php:706
+#: ../../include/bbcode.php:865
+msgid "Different viewers will see this text differently"
+msgstr "Diferents observadors veuran aquest text de diferents formes"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:34
+#: ../../include/acl_selectors.php:33
+msgid "Visible to your default audience"
+msgstr "Visible per a la teva audiència "
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+#: ../../include/acl_selectors.php:106
+msgid "Only me"
+msgstr "Només jo"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Public"
+msgstr "Públic"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
+msgid "Anybody in the $Projectname network"
+msgstr "Ningú a la xarxa $Projectname"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+#, php-format
+msgid "Any account on %s"
+msgstr "Qualsevol compte a %s"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Any of my connections"
+msgstr "Qualsevol de les meves connexions"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Only connections I specifically allow"
+msgstr "Només les connexions que permeto específicament"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Qualsevol persona autenticada (podria incloure als usuaris d'altres xarxes)"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:114
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Qualsevol connexió incloent aquells que encara no han estat aprovats"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:150
msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "El registre ha fallat. Si et plau, indica que acceptes les Condicions del Servei."
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Aquest és l'ajust per defecte per al públic del seu flux normal i entrades."
-#: ../../Zotlabs/Module/Register.php:89
-msgid "Passwords do not match."
-msgstr "Les contrasenyes no coincideixen."
+#: ../../Zotlabs/Lib/PermissionDescription.php:151
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Aquesta és la configuració per defecte per a qui pugui veure el teu perfil per defecte del canal"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid "This is your default setting for who can view your connections"
+msgstr "Aquesta és la configuració per defecte per a qui pugui veure les teves connexions"
-#: ../../Zotlabs/Module/Register.php:131
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registrat amb èxit. Si et plau revisa el teu correu electrònic per a les instruccions de validació."
+"This is your default setting for who can view your file storage and photos"
+msgstr "Aquesta és la configuració per defecte per a qui pugui veure els teus arxius i fotos"
-#: ../../Zotlabs/Module/Register.php:137
-msgid "Your registration is pending approval by the site owner."
-msgstr "El teu registre esta pendent de validació pel propietari del lloc."
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Aquests son els ajustos per defecte de l'audiència de les teves pàgines web"
-#: ../../Zotlabs/Module/Register.php:140
-msgid "Your registration can not be processed."
-msgstr "El teu registre no ha pogut ser processat. "
+#: ../../Zotlabs/Lib/Chatroom.php:23
+msgid "Missing room name"
+msgstr "Perdut el nom de la sala"
-#: ../../Zotlabs/Module/Register.php:184
-msgid "Registration on this hub is disabled."
-msgstr "El registre en aquest node està deshabilitat."
+#: ../../Zotlabs/Lib/Chatroom.php:32
+msgid "Duplicate room name"
+msgstr "Nom de la sala duplicat"
-#: ../../Zotlabs/Module/Register.php:193
-msgid "Registration on this hub is by approval only."
-msgstr "El registre en aquest node es únicament per validació."
+#: ../../Zotlabs/Lib/Chatroom.php:82 ../../Zotlabs/Lib/Chatroom.php:90
+msgid "Invalid room specifier."
+msgstr "Especificació de la sala invàlida."
-#: ../../Zotlabs/Module/Register.php:194
-msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
-msgstr "<a href=\"pubsites\">Registre en altre node afiliat</a>"
+#: ../../Zotlabs/Lib/Chatroom.php:122
+msgid "Room not found."
+msgstr "Sala no trobada."
-#: ../../Zotlabs/Module/Register.php:204
+#: ../../Zotlabs/Lib/Chatroom.php:143
+msgid "Room is full"
+msgstr "La sala es plena"
+
+#: ../../Zotlabs/Lib/Enotify.php:60
+msgid "$Projectname Notification"
+msgstr "Notificació de $Projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../addon/diaspora/util.php:308
+#: ../../addon/diaspora/util.php:321 ../../addon/diaspora/p.php:48
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../Zotlabs/Lib/Enotify.php:63
+msgid "Thank You,"
+msgstr "Gràcies,"
+
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../addon/hubwall/hubwall.php:33
+#, php-format
+msgid "%s Administrator"
+msgstr "%s Administrador"
+
+#: ../../Zotlabs/Lib/Enotify.php:66
+#, php-format
+msgid "This email was sent by %1$s at %2$s."
+msgstr "Aquest correu ha estat enviat per %1$s a %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:67
+#, php-format
msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "El lloc ha excedit el límit màxim diari de nous comptes/registres. Provau demà."
+"To stop receiving these messages, please adjust your Notification Settings "
+"at %s"
+msgstr "Per deixar de rebre aquests missatges, modifica la configuració de notificacions a %s"
-#: ../../Zotlabs/Module/Register.php:215
-msgid "Terms of Service"
-msgstr "Condicions del Servei"
+#: ../../Zotlabs/Lib/Enotify.php:68
+#, php-format
+msgid "To stop receiving these messages, please adjust your %s."
+msgstr "Per deixar de rebre aquests missatges, modifica la teva %s."
-#: ../../Zotlabs/Module/Register.php:221
+#: ../../Zotlabs/Lib/Enotify.php:120
#, php-format
-msgid "I accept the %s for this website"
-msgstr "Accepto el %s per a aquest lloc web"
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../Zotlabs/Module/Register.php:223
+#: ../../Zotlabs/Lib/Enotify.php:124
#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Tinc més de 13 anys i accepto les %s d'aquest lloc web"
+msgid "[$Projectname:Notify] New mail received at %s"
+msgstr "[$Projectname:Avís] S'ha rebut correu nou a %s"
-#: ../../Zotlabs/Module/Register.php:227
-msgid "Your email address"
-msgstr "La teva adreça de correu electrónic"
+#: ../../Zotlabs/Lib/Enotify.php:126
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s t'ha enviat un nou missatge privat a %3$s."
-#: ../../Zotlabs/Module/Register.php:228
-msgid "Choose a password"
-msgstr "Tria una contrasenya"
+#: ../../Zotlabs/Lib/Enotify.php:127
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s t'ha enviat %2$s."
-#: ../../Zotlabs/Module/Register.php:229
-msgid "Please re-enter your password"
-msgstr "Si et plau, re-entra la contrasenya"
+#: ../../Zotlabs/Lib/Enotify.php:127
+msgid "a private message"
+msgstr "un missatge privat"
-#: ../../Zotlabs/Module/Register.php:230
-msgid "Please enter your invitation code"
-msgstr "Si et plau, introdueix el teu codi d'invitació"
+#: ../../Zotlabs/Lib/Enotify.php:128
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Per favor, visita %s per a veure i/o respondre els teus missatges privats."
-#: ../../Zotlabs/Module/Register.php:236
-msgid "no"
-msgstr "no"
+#: ../../Zotlabs/Lib/Enotify.php:141
+msgid "commented on"
+msgstr "ha comentat"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "yes"
-msgstr "sí"
+#: ../../Zotlabs/Lib/Enotify.php:152
+msgid "liked"
+msgstr "li ha agradat"
-#: ../../Zotlabs/Module/Register.php:250
-msgid "Membership on this site is by invitation only."
-msgstr "La pertinença en aquest lloc es per invitació exclusivament."
+#: ../../Zotlabs/Lib/Enotify.php:155
+msgid "disliked"
+msgstr "no li ha agradat"
-#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:147
-#: ../../boot.php:1685
-msgid "Register"
-msgstr "Registre"
+#: ../../Zotlabs/Lib/Enotify.php:198
+#, php-format
+msgid "%1$s, %2$s %3$s [zrl=%4$s]a %5$s[/zrl]"
+msgstr "%1$s, %2$s %3$s [zrl=%4$s]una %5$s[/zrl]"
-#: ../../Zotlabs/Module/Register.php:262
-msgid "Proceed to create your first channel"
-msgstr "Comença a crear el teu primer canal"
+#: ../../Zotlabs/Lib/Enotify.php:207
+#, php-format
+msgid "%1$s, %2$s %3$s [zrl=%4$s]%5$s's %6$s[/zrl]"
+msgstr "%1$s, %2$s %3$s [zrl=%4$s]%6$s de %5$s[/zrl]"
-#: ../../Zotlabs/Module/Regmod.php:15
-msgid "Please login."
-msgstr "Inicia Sessió."
+#: ../../Zotlabs/Lib/Enotify.php:217
+#, php-format
+msgid "%1$s, %2$s %3$s [zrl=%4$s]your %5$s[/zrl]"
+msgstr "%1$s, %2$s %3$s [zrl=%4$s]la teva %5$s[/zrl]"
-#: ../../Zotlabs/Module/Removeaccount.php:34
-msgid ""
-"Account removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "L'esborrat de comptes no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Avís] S'ha moderat el comentari de %2$s a la conversa #%1$d"
-#: ../../Zotlabs/Module/Removeaccount.php:56
-msgid "Remove This Account"
-msgstr "Esborra el compte"
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Avís] Comentari de %2$s a la conversa #%1$d"
-#: ../../Zotlabs/Module/Removeaccount.php:57
-#: ../../Zotlabs/Module/Removeme.php:59
-msgid "WARNING: "
-msgstr "ALERTA:"
+#: ../../Zotlabs/Lib/Enotify.php:233
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s comentat en un article/conversa que havies estat seguint."
-#: ../../Zotlabs/Module/Removeaccount.php:57
-msgid ""
-"This account and all its channels will be completely removed from the "
-"network. "
-msgstr "Aquest compte i tots els seus canals s'estan apunt d'esborrar totalment de la xarxa."
+#: ../../Zotlabs/Lib/Enotify.php:236 ../../Zotlabs/Lib/Enotify.php:318
+#: ../../Zotlabs/Lib/Enotify.php:335 ../../Zotlabs/Lib/Enotify.php:361
+#: ../../Zotlabs/Lib/Enotify.php:379 ../../Zotlabs/Lib/Enotify.php:393
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Si us plau visita %s per veure i/o contestar a la conversa"
-#: ../../Zotlabs/Module/Removeaccount.php:57
-#: ../../Zotlabs/Module/Removeme.php:59
-msgid "This action is permanent and can not be undone!"
-msgstr "Aquesta acció és irreversible!"
+#: ../../Zotlabs/Lib/Enotify.php:240 ../../Zotlabs/Lib/Enotify.php:241
+#, php-format
+msgid "Please visit %s to approve or reject this comment."
+msgstr "Vés a %s per a aprovar o rebutjar el comentari."
-#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:60
-msgid "Please enter your password for verification:"
-msgstr "Aquesta acció requereix tornar a introduir la contrasenya:"
+#: ../../Zotlabs/Lib/Enotify.php:299
+#, php-format
+msgid "%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, a %2$s li ha agradat [zrl=%3$s]la teva %4$s[/zrl]"
-#: ../../Zotlabs/Module/Removeaccount.php:59
-msgid ""
-"Remove this account, all its channels and all its channel clones from the "
-"network"
-msgstr "Esborra de la xarxa aquest compte, tots els seus canals, i tots els seus canals clons."
+#: ../../Zotlabs/Lib/Enotify.php:314
+#, php-format
+msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Avís] Un \"m'agrada\" a la conversa #%1$d de %2$s"
-#: ../../Zotlabs/Module/Removeaccount.php:59
-msgid ""
-"By default only the instances of the channels located on this hub will be "
-"removed from the network"
-msgstr "Per defecte, només les instancies dels canal ubicats en aquest node poden esser esborrades de la xarxa"
+#: ../../Zotlabs/Lib/Enotify.php:315
+#, php-format
+msgid "%1$s, %2$s liked an item/conversation you created."
+msgstr "%1$s, a %2$s li ha agradat una conversa que has creat."
-#: ../../Zotlabs/Module/Removeaccount.php:60
-#: ../../Zotlabs/Module/Settings.php:705
-msgid "Remove Account"
-msgstr "Esborra el Compte"
+#: ../../Zotlabs/Lib/Enotify.php:326
+#, php-format
+msgid "[$Projectname:Notify] %s posted to your profile wall"
+msgstr "[$Projectname:Avís] %s ha penjat una entrada al teu mur"
-#: ../../Zotlabs/Module/Removeme.php:33
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "L'esborrat de canals no està permès fins que transcorren 48 hores des de l'últim canvi de contrasenya."
+#: ../../Zotlabs/Lib/Enotify.php:328
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s ha escrit una entrada al teu mur en %3$s"
-#: ../../Zotlabs/Module/Removeme.php:58
-msgid "Remove This Channel"
-msgstr "Elimina Aquest Canal"
+#: ../../Zotlabs/Lib/Enotify.php:330
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s enviat correu a [zrl=%3$s]el teu mur[/zrl]"
-#: ../../Zotlabs/Module/Removeme.php:59
-msgid "This channel will be completely removed from the network. "
-msgstr "Aquest canal serà completament eliminat de la xarxa."
+#: ../../Zotlabs/Lib/Enotify.php:354
+#, php-format
+msgid "[$Projectname:Notify] %s tagged you"
+msgstr "[$Projectname:Avís] %s t'ha etiquetat"
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "Remove this channel and all its clones from the network"
-msgstr "Elimina aquest canal i els seus clons de la xarxa"
+#: ../../Zotlabs/Lib/Enotify.php:355
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s t'ha etiquetat a %3$s"
-#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Lib/Enotify.php:356
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]t'ha etiquetat[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:368
+#, php-format
+msgid "[$Projectname:Notify] %1$s poked you"
+msgstr "[$Projectname:Avís] %1$s t'ha fet un toc"
+
+#: ../../Zotlabs/Lib/Enotify.php:369
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s s'en fot de tú a %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:370
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]s'en fot de tú[/zrl]."
+
+#: ../../Zotlabs/Lib/Enotify.php:386
+#, php-format
+msgid "[$Projectname:Notify] %s tagged your post"
+msgstr "[$Projectname:Avís] %s t'ha etiquetat una entrada"
+
+#: ../../Zotlabs/Lib/Enotify.php:387
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s ha etiquetat la teva entrada a %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:388
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s etiquetat [zrl=%3$s]la teva entrada[/zrl]"
+
+#: ../../Zotlabs/Lib/Enotify.php:400
+msgid "[$Projectname:Notify] Introduction received"
+msgstr "[$Projectname:Avís] S'ha rebut una sol·licitud de connexió"
+
+#: ../../Zotlabs/Lib/Enotify.php:401
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, has rebut una nova petició de connexió de '%2$s' a %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:402
+#, php-format
msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Per defecte, només la instancia del canal ubicat en aquest node pot esser esborrat de la xarxa"
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, has rebut [zrl=%2$s]una nova petició de connexió[/zrl] de %3$s."
-#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Settings.php:1124
-msgid "Remove Channel"
-msgstr "Elimina el canal"
+#: ../../Zotlabs/Lib/Enotify.php:406 ../../Zotlabs/Lib/Enotify.php:425
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Pots visitar el seu perfil a %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:408
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Si us plau, visita %s per aprovar o rebutjar la petició de connexió."
-#: ../../Zotlabs/Module/Rmagic.php:44
+#: ../../Zotlabs/Lib/Enotify.php:415
+msgid "[$Projectname:Notify] Friend suggestion received"
+msgstr "[$Projectname:Avís] S'ha rebut una suggerència d'amistat"
+
+#: ../../Zotlabs/Lib/Enotify.php:416
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, has rebut una suggerència d'amistat de '%2$s' a %3$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:417
+#, php-format
msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Em trobat un problema durant l'inici de sessió amb el OpenID que has facilitat. verifica l'ortografia correcta de la ID."
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, has rebut [zrl=%2$s]una suggerència d'amistat[/zrl] per %3$s de %4$s."
-#: ../../Zotlabs/Module/Rmagic.php:44
-msgid "The error message was:"
-msgstr "El missatge d'error fou:"
+#: ../../Zotlabs/Lib/Enotify.php:423
+msgid "Name:"
+msgstr "Nom:"
-#: ../../Zotlabs/Module/Rmagic.php:48
-msgid "Authentication failed."
-msgstr "Ha fallat l'autentificació."
+#: ../../Zotlabs/Lib/Enotify.php:424
+msgid "Photo:"
+msgstr "Foto:"
-#: ../../Zotlabs/Module/Rmagic.php:88
-msgid "Remote Authentication"
-msgstr "Autentificació Remota"
+#: ../../Zotlabs/Lib/Enotify.php:427
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Per favor, visita %s per a aprovar o rebutjar la suggerencia."
-#: ../../Zotlabs/Module/Rmagic.php:89
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Introdueix la teva adreça del canal (eg canal@exemple.com)"
+#: ../../Zotlabs/Lib/Enotify.php:647
+msgid "[$Projectname:Notify]"
+msgstr "[$Projectname:Avís]"
-#: ../../Zotlabs/Module/Rmagic.php:90
-msgid "Authenticate"
-msgstr "Autentica't"
+#: ../../Zotlabs/Lib/Enotify.php:815
+msgid "created a new post"
+msgstr "Creada una nova entrada"
-#: ../../Zotlabs/Module/Search.php:216
+#: ../../Zotlabs/Lib/Enotify.php:816
#, php-format
-msgid "Items tagged with: %s"
-msgstr "Elements etiquetats amb: %s"
+msgid "commented on %s's post"
+msgstr "comentat a l'entrada de %s"
-#: ../../Zotlabs/Module/Search.php:218
+#: ../../Zotlabs/Lib/Enotify.php:823
#, php-format
-msgid "Search results for: %s"
-msgstr "Resultats de cerca per: %s"
+msgid "edited a post dated %s"
+msgstr "ha editat una entrada amb data de %s"
-#: ../../Zotlabs/Module/Service_limits.php:23
-msgid "No service class restrictions found."
-msgstr "No s'han trobat restriccions de clase."
+#: ../../Zotlabs/Lib/Enotify.php:827
+#, php-format
+msgid "edited a comment dated %s"
+msgstr "ha editat un comentari amb data de %s"
-#: ../../Zotlabs/Module/Settings.php:69
-msgid "Name is required"
-msgstr "Es requereix un Nom"
+#: ../../Zotlabs/Lib/NativeWiki.php:151
+msgid "Wiki updated successfully"
+msgstr "S'ha actualitzat la wiki amb èxit"
-#: ../../Zotlabs/Module/Settings.php:73
-msgid "Key and Secret are required"
-msgstr "Es requereix Clau (Key) i el Secret (Secret)"
+#: ../../Zotlabs/Lib/NativeWiki.php:198
+msgid "Wiki files deleted successfully"
+msgstr "S'han esborrat els fitxers de la wiki amb èxit"
-#: ../../Zotlabs/Module/Settings.php:225
-msgid "Not valid email."
-msgstr "E-correu no vàlid."
+#: ../../Zotlabs/Lib/DB_Upgrade.php:83
+#, php-format
+msgid "Update Error at %s"
+msgstr "Error d'Actualització a %s"
-#: ../../Zotlabs/Module/Settings.php:228
-msgid "Protected email address. Cannot change to that email."
-msgstr "Adreça d'e-correu protegida. No es pot canviar a aquest e-correu."
+#: ../../Zotlabs/Lib/DB_Upgrade.php:89
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr "L'actualització %s ha fallat. Mira el registre d'errors."
-#: ../../Zotlabs/Module/Settings.php:237
-msgid "System failure storing new email. Please try again."
-msgstr "Fallada del sistema al guardar un nou correu. Si us plau, proba de nou."
+#: ../../Zotlabs/Lib/ThreadItem.php:97 ../../include/conversation.php:697
+msgid "Private Message"
+msgstr "Missatge Privat"
-#: ../../Zotlabs/Module/Settings.php:254
-msgid "Password verification failed."
-msgstr "La verificació de la contrasenya ha fallat."
+#: ../../Zotlabs/Lib/ThreadItem.php:147 ../../include/conversation.php:689
+msgid "Select"
+msgstr "Selecciona"
-#: ../../Zotlabs/Module/Settings.php:261
-msgid "Passwords do not match. Password unchanged."
-msgstr "Les contrasenyes no coincideixen. Contrasenya sense canvis."
+#: ../../Zotlabs/Lib/ThreadItem.php:172
+msgid "I will attend"
+msgstr "Assistiré"
-#: ../../Zotlabs/Module/Settings.php:265
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Les contrasenyes en blanc no estan permesas. Contrasenya sense canvis."
+#: ../../Zotlabs/Lib/ThreadItem.php:172
+msgid "I will not attend"
+msgstr "No assistiré"
-#: ../../Zotlabs/Module/Settings.php:279
-msgid "Password changed."
-msgstr "Contrasenya canviada."
+#: ../../Zotlabs/Lib/ThreadItem.php:172
+msgid "I might attend"
+msgstr "Podria assistir"
-#: ../../Zotlabs/Module/Settings.php:281
-msgid "Password update failed. Please try again."
-msgstr "L'actualització de la contrasenya va fallar. Si us plau, torneu a intentar-ho."
+#: ../../Zotlabs/Lib/ThreadItem.php:182
+msgid "I agree"
+msgstr "D'acord"
-#: ../../Zotlabs/Module/Settings.php:525
-msgid "Settings updated."
-msgstr "Ajustes actualizados."
+#: ../../Zotlabs/Lib/ThreadItem.php:182
+msgid "I disagree"
+msgstr "En desacord"
-#: ../../Zotlabs/Module/Settings.php:589 ../../Zotlabs/Module/Settings.php:615
-#: ../../Zotlabs/Module/Settings.php:651
-msgid "Add application"
-msgstr "Afegir aplicatiu"
+#: ../../Zotlabs/Lib/ThreadItem.php:182
+msgid "I abstain"
+msgstr "M'abstinc"
-#: ../../Zotlabs/Module/Settings.php:592
-msgid "Name of application"
-msgstr "Nom de l'aplicatiu"
+#: ../../Zotlabs/Lib/ThreadItem.php:238
+msgid "Add Star"
+msgstr "Fes-lo Preferit"
-#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:619
-msgid "Consumer Key"
-msgstr "Consumer Key"
+#: ../../Zotlabs/Lib/ThreadItem.php:239
+msgid "Remove Star"
+msgstr "Treu-lo de Preferits"
-#: ../../Zotlabs/Module/Settings.php:593 ../../Zotlabs/Module/Settings.php:594
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Generat automàticament- Canvia-ho si ho vols. Max. longitud 20"
+#: ../../Zotlabs/Lib/ThreadItem.php:240
+msgid "Toggle Star Status"
+msgstr "Canvia el Estat de la Preferència"
-#: ../../Zotlabs/Module/Settings.php:594 ../../Zotlabs/Module/Settings.php:620
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
+#: ../../Zotlabs/Lib/ThreadItem.php:244
+msgid "starred"
+msgstr "preferit"
-#: ../../Zotlabs/Module/Settings.php:595 ../../Zotlabs/Module/Settings.php:621
-msgid "Redirect"
-msgstr "Redirecciona"
+#: ../../Zotlabs/Lib/ThreadItem.php:254 ../../include/conversation.php:704
+msgid "Message signature validated"
+msgstr "Validada la signatura del missatge"
-#: ../../Zotlabs/Module/Settings.php:595
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI redirigida - No canviar excepte perquè el teu aplicatiu ho requereixi."
+#: ../../Zotlabs/Lib/ThreadItem.php:255 ../../include/conversation.php:705
+msgid "Message signature incorrect"
+msgstr "Signatura del missatge incorrecta"
-#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Settings.php:622
-msgid "Icon url"
-msgstr "Icona de url"
+#: ../../Zotlabs/Lib/ThreadItem.php:263
+msgid "Add Tag"
+msgstr "Afegeix Etiqueta"
-#: ../../Zotlabs/Module/Settings.php:596 ../../Zotlabs/Module/Sources.php:112
-#: ../../Zotlabs/Module/Sources.php:147
-msgid "Optional"
-msgstr "Opcional"
+#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:510
+msgid "like"
+msgstr "agrada"
-#: ../../Zotlabs/Module/Settings.php:607
-msgid "Application not found."
-msgstr "Aplicatiu no trobat."
+#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:511
+msgid "dislike"
+msgstr "desagrada"
-#: ../../Zotlabs/Module/Settings.php:650
-msgid "Connected Apps"
-msgstr "Aplicatius Conectats"
+#: ../../Zotlabs/Lib/ThreadItem.php:286
+msgid "Share This"
+msgstr "Comparteix Això"
-#: ../../Zotlabs/Module/Settings.php:654
-msgid "Client key starts with"
-msgstr "La clau del client comença amb"
+#: ../../Zotlabs/Lib/ThreadItem.php:286
+msgid "share"
+msgstr "comparteix"
-#: ../../Zotlabs/Module/Settings.php:655
-msgid "No name"
-msgstr "Sin nombre"
+#: ../../Zotlabs/Lib/ThreadItem.php:295
+msgid "Delivery Report"
+msgstr "Informe de Lliurament"
-#: ../../Zotlabs/Module/Settings.php:656
-msgid "Remove authorization"
-msgstr "Elimina autorització"
+#: ../../Zotlabs/Lib/ThreadItem.php:313
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commentari"
+msgstr[1] "%d commentaris"
-#: ../../Zotlabs/Module/Settings.php:669
-msgid "No feature settings configured"
-msgstr "No hi ha opcions de les funcions configurades"
+#: ../../Zotlabs/Lib/ThreadItem.php:343 ../../Zotlabs/Lib/ThreadItem.php:344
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Veure perfil de %s - %s"
-#: ../../Zotlabs/Module/Settings.php:676
-msgid "Feature/Addon Settings"
-msgstr "Ajustos de Complements"
+#: ../../Zotlabs/Lib/ThreadItem.php:347
+msgid "to"
+msgstr "a"
-#: ../../Zotlabs/Module/Settings.php:699
-msgid "Account Settings"
-msgstr "Ajustos de Compte"
+#: ../../Zotlabs/Lib/ThreadItem.php:348
+msgid "via"
+msgstr "via"
-#: ../../Zotlabs/Module/Settings.php:700
-msgid "Current Password"
-msgstr "Contrasenya Actual"
+#: ../../Zotlabs/Lib/ThreadItem.php:349
+msgid "Wall-to-Wall"
+msgstr "Mur-a-Mur"
-#: ../../Zotlabs/Module/Settings.php:701
-msgid "Enter New Password"
-msgstr "Entra la Nova Contrasenya"
+#: ../../Zotlabs/Lib/ThreadItem.php:350
+msgid "via Wall-To-Wall:"
+msgstr "via Mur-a-Mur:"
-#: ../../Zotlabs/Module/Settings.php:702
-msgid "Confirm New Password"
-msgstr "Confirma la Nova Contrasenya"
+#: ../../Zotlabs/Lib/ThreadItem.php:363 ../../include/conversation.php:763
+#, php-format
+msgid "from %s"
+msgstr "De %s"
-#: ../../Zotlabs/Module/Settings.php:702
-msgid "Leave password fields blank unless changing"
-msgstr "Deixa els camps de contrasenya en blanc llevat que la vulguis canviar"
+#: ../../Zotlabs/Lib/ThreadItem.php:366 ../../include/conversation.php:766
+#, php-format
+msgid "last edited: %s"
+msgstr "últim editat: %s"
-#: ../../Zotlabs/Module/Settings.php:704
-#: ../../Zotlabs/Module/Settings.php:1041
-msgid "Email Address:"
-msgstr "Adreça de E-Correu:"
+#: ../../Zotlabs/Lib/ThreadItem.php:367 ../../include/conversation.php:767
+#, php-format
+msgid "Expires: %s"
+msgstr "Expira: %s"
-#: ../../Zotlabs/Module/Settings.php:706
-msgid "Remove this account including all its channels"
-msgstr "Esborra aquest compte inclosos tots els seus canals"
+#: ../../Zotlabs/Lib/ThreadItem.php:374
+msgid "Attend"
+msgstr "Assistir-hi"
-#: ../../Zotlabs/Module/Settings.php:729
-msgid "Additional Features"
-msgstr "Característiques Addicionals"
+#: ../../Zotlabs/Lib/ThreadItem.php:375
+msgid "Attendance Options"
+msgstr "Opcions d'assistència"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:376
+msgid "Vote"
+msgstr "Votar"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:377
+msgid "Voting Options"
+msgstr "Opcions de votació"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:398
+#: ../../addon/bookmarker/bookmarker.php:38
+msgid "Save Bookmarks"
+msgstr "Guarda Favorits"
-#: ../../Zotlabs/Module/Settings.php:753
-msgid "Connector Settings"
-msgstr "Ajustos de Connector"
+#: ../../Zotlabs/Lib/ThreadItem.php:399
+msgid "Add to Calendar"
+msgstr "Afegeix al Calendari"
-#: ../../Zotlabs/Module/Settings.php:792
-msgid "No special theme for mobile devices"
-msgstr "No emprar tema especial per aparells mòbils"
+#: ../../Zotlabs/Lib/ThreadItem.php:426 ../../include/conversation.php:483
+msgid "This is an unsaved preview"
+msgstr "Això només és una vista prèvia, no està desada"
-#: ../../Zotlabs/Module/Settings.php:795
+#: ../../Zotlabs/Lib/ThreadItem.php:458 ../../include/js_strings.php:7
#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Experimental)"
+msgid "%s show all"
+msgstr "%s mostra-ho tot"
-#: ../../Zotlabs/Module/Settings.php:837
-msgid "Display Settings"
-msgstr "Ajustos de Pantalla"
+#: ../../Zotlabs/Lib/ThreadItem.php:751 ../../include/conversation.php:1377
+msgid "Bold"
+msgstr "Negreta"
-#: ../../Zotlabs/Module/Settings.php:838
-msgid "Theme Settings"
-msgstr "Ajustos de Tema"
+#: ../../Zotlabs/Lib/ThreadItem.php:752 ../../include/conversation.php:1378
+msgid "Italic"
+msgstr "Italica"
-#: ../../Zotlabs/Module/Settings.php:839
-msgid "Custom Theme Settings"
-msgstr "Ajustos Personals de Tema"
+#: ../../Zotlabs/Lib/ThreadItem.php:753 ../../include/conversation.php:1379
+msgid "Underline"
+msgstr "Subratllat"
-#: ../../Zotlabs/Module/Settings.php:840
-msgid "Content Settings"
-msgstr "Ajustos de Contingut"
+#: ../../Zotlabs/Lib/ThreadItem.php:754 ../../include/conversation.php:1380
+msgid "Quote"
+msgstr "Cometes"
-#: ../../Zotlabs/Module/Settings.php:846
-msgid "Display Theme:"
-msgstr "Ajustos de Tema:"
+#: ../../Zotlabs/Lib/ThreadItem.php:755 ../../include/conversation.php:1381
+msgid "Code"
+msgstr "Codi"
-#: ../../Zotlabs/Module/Settings.php:847
-msgid "Mobile Theme:"
-msgstr "Tema Mòbil:"
+#: ../../Zotlabs/Lib/ThreadItem.php:756
+msgid "Image"
+msgstr "Imatge"
-#: ../../Zotlabs/Module/Settings.php:848
-msgid "Preload images before rendering the page"
-msgstr "Precarrega les imatges abans de dibuixar la pàgina"
+#: ../../Zotlabs/Lib/ThreadItem.php:757
+msgid "Attach File"
+msgstr "Adjunta un fitxer"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:758
+msgid "Insert Link"
+msgstr "Insereix Enllaç"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:759
+msgid "Video"
+msgstr "Video"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:769
+msgid "Your full name (required)"
+msgstr "Nom complet (obligatori)"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:770
+msgid "Your email address (required)"
+msgstr "Adreça de correu (obligatòria)"
-#: ../../Zotlabs/Module/Settings.php:848
+#: ../../Zotlabs/Lib/ThreadItem.php:771
+msgid "Your website URL (optional)"
+msgstr "Adreça web (opcional)"
+
+#: ../../Zotlabs/Zot/Auth.php:152
msgid ""
-"The subjective page load time will be longer but the page will be ready when"
-" displayed"
-msgstr "El temps subjectiu per carregar la pàgina pot ser llarg però la pàgina estarà preparada quan es mostri"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Autenticació remota bloquejada. Ha iniciat sessió en aquest lloc a nivell local. Si us plau, tanca la sessió i torna-ho a intentar."
-#: ../../Zotlabs/Module/Settings.php:849
-msgid "Enable user zoom on mobile devices"
-msgstr "Zoom d'usuari en dispositius mòbils"
+#: ../../Zotlabs/Zot/Auth.php:264 ../../addon/openid/Mod_Openid.php:76
+#: ../../addon/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Benvingut %s. Autenticació remota reeixida."
-#: ../../Zotlabs/Module/Settings.php:850
-msgid "Update browser every xx seconds"
-msgstr "Actualitza el navegador cada xx segons"
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:287
+msgid "parent"
+msgstr "amunt"
-#: ../../Zotlabs/Module/Settings.php:850
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Mínim de 10 segons, sense màxim"
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2821
+msgid "Collection"
+msgstr "Col·lecció"
-#: ../../Zotlabs/Module/Settings.php:851
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Nombre màxim de conversacions a càrregar cada vegada"
+#: ../../Zotlabs/Storage/Browser.php:134
+msgid "Principal"
+msgstr "Principal"
-#: ../../Zotlabs/Module/Settings.php:851
-msgid "Maximum of 100 items"
-msgstr "Màxim de 100 elements"
+#: ../../Zotlabs/Storage/Browser.php:137
+msgid "Addressbook"
+msgstr "Llista d'Adreçes"
-#: ../../Zotlabs/Module/Settings.php:852
-msgid "Show emoticons (smilies) as images"
-msgstr "Mostra emoticons (smilies) com a imatges"
+#: ../../Zotlabs/Storage/Browser.php:140 ../../include/nav.php:420
+#: ../../include/nav.php:423
+msgid "Calendar"
+msgstr "Calendari"
-#: ../../Zotlabs/Module/Settings.php:853
-msgid "Link post titles to source"
-msgstr "Enllaça a l'origen els títols de l'entrada"
+#: ../../Zotlabs/Storage/Browser.php:143
+msgid "Schedule Inbox"
+msgstr "Programació de la bústia d'entrada"
-#: ../../Zotlabs/Module/Settings.php:854
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Editor de Disseny de la Pàgina del Sistema - (avançat)"
+#: ../../Zotlabs/Storage/Browser.php:146
+msgid "Schedule Outbox"
+msgstr "Programació de la bústia de sortida"
-#: ../../Zotlabs/Module/Settings.php:857
-msgid "Use blog/list mode on channel page"
-msgstr "Empra el mode blog/llista a la pàgina del canal"
+#: ../../Zotlabs/Storage/Browser.php:273
+msgid "Total"
+msgstr "Total"
-#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Settings.php:858
-msgid "(comments displayed separately)"
-msgstr "(Observacions es mostren per separat)"
+#: ../../Zotlabs/Storage/Browser.php:275
+msgid "Shared"
+msgstr "Compartit"
-#: ../../Zotlabs/Module/Settings.php:858
-msgid "Use blog/list mode on grid page"
-msgstr "Empra el mode de blog/llista a la pàgina de la malla"
+#: ../../Zotlabs/Storage/Browser.php:353
+#, php-format
+msgid "You are using %1$s of your available file storage."
+msgstr "Estàs emprant el %1$s de l'espai d'emmagatzematge disponible"
-#: ../../Zotlabs/Module/Settings.php:859
-msgid "Channel page max height of content (in pixels)"
-msgstr "Alçada màxima de contingut (en píxels) de la pàgina de Canal"
+#: ../../Zotlabs/Storage/Browser.php:358
+#, php-format
+msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
+msgstr "Estàs emprant %1$s de %2$s d'emmagatzematge d'arxius disponible.\n(%3$s&#37;)"
-#: ../../Zotlabs/Module/Settings.php:859 ../../Zotlabs/Module/Settings.php:860
-msgid "click to expand content exceeding this height"
-msgstr "Clic per expandir el contingut que excedeixi aquesta alçada"
+#: ../../Zotlabs/Storage/Browser.php:369
+msgid "WARNING:"
+msgstr "ALERTA:"
-#: ../../Zotlabs/Module/Settings.php:860
-msgid "Grid page max height of content (in pixels)"
-msgstr "Alçada màxima dels continguts (en píxels) de la Pàgina de Malla "
+#: ../../Zotlabs/Storage/Browser.php:381
+msgid "Create new folder"
+msgstr "Crea una nova carpeta"
-#: ../../Zotlabs/Module/Settings.php:894
-msgid "Nobody except yourself"
-msgstr "Ningú excepte tú"
+#: ../../Zotlabs/Storage/Browser.php:383
+msgid "Upload file"
+msgstr "Puja arxiu"
-#: ../../Zotlabs/Module/Settings.php:895
-msgid "Only those you specifically allow"
-msgstr "Només allò que específicament permetis"
+#: ../../Zotlabs/Storage/Browser.php:396
+msgid "Drop files here to immediately upload"
+msgstr "Deixa anar fitxers aquí per a pujar-los immediatament"
-#: ../../Zotlabs/Module/Settings.php:896
-msgid "Approved connections"
-msgstr "Connexions aprovades"
+#: ../../Zotlabs/Widget/Forums.php:100
+msgid "Forums"
+msgstr "Forums"
-#: ../../Zotlabs/Module/Settings.php:897
-msgid "Any connections"
-msgstr "Qualsevol connexió"
+#: ../../Zotlabs/Widget/Cdav.php:37
+msgid "Select Channel"
+msgstr "Escull canal"
-#: ../../Zotlabs/Module/Settings.php:898
-msgid "Anybody on this website"
-msgstr "Qualsevol en aquest lloc"
+#: ../../Zotlabs/Widget/Cdav.php:42
+msgid "Read-write"
+msgstr "Llegir i escriure"
-#: ../../Zotlabs/Module/Settings.php:899
-msgid "Anybody in this network"
-msgstr "Qualsevol en aquesta xarxa"
+#: ../../Zotlabs/Widget/Cdav.php:43
+msgid "Read-only"
+msgstr "Només lectura"
-#: ../../Zotlabs/Module/Settings.php:900
-msgid "Anybody authenticated"
-msgstr "Qualsevol autenticat"
+#: ../../Zotlabs/Widget/Cdav.php:117
+msgid "My Calendars"
+msgstr "Els meus calendaris"
-#: ../../Zotlabs/Module/Settings.php:901
-msgid "Anybody on the internet"
-msgstr "Qualsevol a internet"
+#: ../../Zotlabs/Widget/Cdav.php:119
+msgid "Shared Calendars"
+msgstr "Calendaris compartits"
-#: ../../Zotlabs/Module/Settings.php:976
-msgid "Publish your default profile in the network directory"
-msgstr "Publica el teu perfil per defecte al directori de la xarxa"
+#: ../../Zotlabs/Widget/Cdav.php:123
+msgid "Share this calendar"
+msgstr "Comparteix aquest calendari"
-#: ../../Zotlabs/Module/Settings.php:981
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Ens permets suggerir-te com a potencial amic als nous membres?"
+#: ../../Zotlabs/Widget/Cdav.php:125
+msgid "Calendar name and color"
+msgstr "Nom i color del calendari"
-#: ../../Zotlabs/Module/Settings.php:990
-msgid "Your channel address is"
-msgstr "La teva adreça del canal es"
+#: ../../Zotlabs/Widget/Cdav.php:127
+msgid "Create new calendar"
+msgstr "Crea un nou calendari"
-#: ../../Zotlabs/Module/Settings.php:1032
-msgid "Channel Settings"
-msgstr "Ajustos del Canal"
+#: ../../Zotlabs/Widget/Cdav.php:129
+msgid "Calendar Name"
+msgstr "Nom del calendari"
-#: ../../Zotlabs/Module/Settings.php:1039
-msgid "Basic Settings"
-msgstr "Ajustos Bàsics"
+#: ../../Zotlabs/Widget/Cdav.php:130
+msgid "Calendar Tools"
+msgstr "Eines de calendari"
-#: ../../Zotlabs/Module/Settings.php:1040 ../../include/channel.php:1140
-msgid "Full Name:"
-msgstr "Nom Complet:"
+#: ../../Zotlabs/Widget/Cdav.php:131
+msgid "Import calendar"
+msgstr "Importa un calendari"
-#: ../../Zotlabs/Module/Settings.php:1042
-msgid "Your Timezone:"
-msgstr "La teva Franja Horària"
+#: ../../Zotlabs/Widget/Cdav.php:132
+msgid "Select a calendar to import to"
+msgstr "Escull el calendari a on importar"
-#: ../../Zotlabs/Module/Settings.php:1043
-msgid "Default Post Location:"
-msgstr "Localització Predeterminada de les Entrades:"
+#: ../../Zotlabs/Widget/Cdav.php:159
+msgid "Addressbooks"
+msgstr "Llibretes d'adreces"
-#: ../../Zotlabs/Module/Settings.php:1043
-msgid "Geographical location to display on your posts"
-msgstr "Posició geogràfica a mostrar a les teves entrades"
+#: ../../Zotlabs/Widget/Cdav.php:161
+msgid "Addressbook name"
+msgstr "Nom de llibreta d'adreces"
-#: ../../Zotlabs/Module/Settings.php:1044
-msgid "Use Browser Location:"
-msgstr "Empra la Localització del Navegador:"
+#: ../../Zotlabs/Widget/Cdav.php:163
+msgid "Create new addressbook"
+msgstr "Crea una nova llibreta d'adreces"
-#: ../../Zotlabs/Module/Settings.php:1046
-msgid "Adult Content"
-msgstr "Contingut per a Adults"
+#: ../../Zotlabs/Widget/Cdav.php:164
+msgid "Addressbook Name"
+msgstr "Nom de llibreta d'adreces"
-#: ../../Zotlabs/Module/Settings.php:1046
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Aquest canal publica freqúentment o amb regularitat contingut per a adults. (Si us plau, etiqueti qualsevol material per a adults amb #NSFW)"
+#: ../../Zotlabs/Widget/Cdav.php:166
+msgid "Addressbook Tools"
+msgstr "Eines de llibreta d'adreces"
-#: ../../Zotlabs/Module/Settings.php:1048
-msgid "Security and Privacy Settings"
-msgstr "Ajustos de Seguretat i Privacitat"
+#: ../../Zotlabs/Widget/Cdav.php:167
+msgid "Import addressbook"
+msgstr "Importa una llibreta d'adreces"
-#: ../../Zotlabs/Module/Settings.php:1051
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "Els teus permisos estan configurats. Clic per veure/ajustar"
+#: ../../Zotlabs/Widget/Cdav.php:168
+msgid "Select an addressbook to import to"
+msgstr "Escull la llibreta d'adreces a on importar"
-#: ../../Zotlabs/Module/Settings.php:1053
-msgid "Hide my online presence"
-msgstr "Amaga la meva presencia en línia"
+#: ../../Zotlabs/Widget/Appcategories.php:40
+#: ../../Zotlabs/Widget/Tagcloud.php:25 ../../include/contact_widgets.php:97
+#: ../../include/contact_widgets.php:141 ../../include/contact_widgets.php:186
+#: ../../include/taxonomy.php:344 ../../include/taxonomy.php:426
+#: ../../include/taxonomy.php:446 ../../include/taxonomy.php:467
+msgid "Categories"
+msgstr "Categories"
-#: ../../Zotlabs/Module/Settings.php:1053
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Evita mostrar en el teu perfil, que estàs en línia"
+#: ../../Zotlabs/Widget/Appcategories.php:43 ../../Zotlabs/Widget/Filer.php:31
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:100
+#: ../../include/contact_widgets.php:144 ../../include/contact_widgets.php:189
+msgid "Everything"
+msgstr "Tot"
-#: ../../Zotlabs/Module/Settings.php:1055
-msgid "Simple Privacy Settings:"
-msgstr "Ajustos simples de privacitat:"
+#: ../../Zotlabs/Widget/Eventstools.php:13
+msgid "Events Tools"
+msgstr "Eina d'Esdeveniments"
-#: ../../Zotlabs/Module/Settings.php:1056
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Molt públic - <em>extremadament permissiu (s'ha d'anar en compte)</em>"
+#: ../../Zotlabs/Widget/Eventstools.php:14
+msgid "Export Calendar"
+msgstr "Exportar Calendari"
-#: ../../Zotlabs/Module/Settings.php:1057
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Normal - <em>públic per defecte, privat quan es desitgi (similar als permisos de xarxa social, però amb millor privacitat)"
+#: ../../Zotlabs/Widget/Eventstools.php:15
+msgid "Import Calendar"
+msgstr "Importar Calendari"
-#: ../../Zotlabs/Module/Settings.php:1058
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privat - <em>privat per defecte, mai públic o obert</em>"
+#: ../../Zotlabs/Widget/Suggestedchats.php:32
+msgid "Suggested Chatrooms"
+msgstr "Sales de Xat Suggerides"
-#: ../../Zotlabs/Module/Settings.php:1059
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Bloquejat - <em>tothom bloquejat per defecte</em>"
+#: ../../Zotlabs/Widget/Hq_controls.php:14
+msgid "HQ Control Panel"
+msgstr "Panell de control"
-#: ../../Zotlabs/Module/Settings.php:1061
-msgid "Allow others to tag your posts"
-msgstr "Permet a altres etiquetar les teves entrades"
+#: ../../Zotlabs/Widget/Hq_controls.php:17
+msgid "Create a new post"
+msgstr "Crea una nova entrada"
-#: ../../Zotlabs/Module/Settings.php:1061
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Sovint emprat per la comunitat per marcar retroactivament contingut inapropiat"
+#: ../../Zotlabs/Widget/Mailmenu.php:13
+msgid "Private Mail Menu"
+msgstr "Menú de Correu Privat"
-#: ../../Zotlabs/Module/Settings.php:1063
-msgid "Advanced Privacy Settings"
-msgstr "Ajustos avançats de privacitat"
+#: ../../Zotlabs/Widget/Mailmenu.php:15
+msgid "Combined View"
+msgstr "Vista Combinada"
-#: ../../Zotlabs/Module/Settings.php:1065
-msgid "Expire other channel content after this many days"
-msgstr "El contingut d'altes canals caduca després d'aquests dies"
+#: ../../Zotlabs/Widget/Mailmenu.php:20
+msgid "Inbox"
+msgstr "Safata d'entrada"
-#: ../../Zotlabs/Module/Settings.php:1065
-msgid "0 or blank to use the website limit."
-msgstr "0 o en blanc per emprar el limit del lloc web."
+#: ../../Zotlabs/Widget/Mailmenu.php:25
+msgid "Outbox"
+msgstr "Safata de sortida"
+
+#: ../../Zotlabs/Widget/Mailmenu.php:30
+msgid "New Message"
+msgstr "Nou Missatge"
-#: ../../Zotlabs/Module/Settings.php:1065
+#: ../../Zotlabs/Widget/Chatroom_list.php:16
+#: ../../include/conversation.php:1864 ../../include/conversation.php:1867
+#: ../../include/nav.php:434 ../../include/nav.php:437
+msgid "Chatrooms"
+msgstr "Sala per Xerrar"
+
+#: ../../Zotlabs/Widget/Chatroom_list.php:20
+msgid "Overview"
+msgstr "Visió General"
+
+#: ../../Zotlabs/Widget/Rating.php:51
+msgid "Rating Tools"
+msgstr "Eines de Valoració"
+
+#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57
+msgid "Rate Me"
+msgstr "Valora'm"
+
+#: ../../Zotlabs/Widget/Rating.php:60
+msgid "View Ratings"
+msgstr "Veure Valoracions"
+
+#: ../../Zotlabs/Widget/Activity.php:50
+msgctxt "widget"
+msgid "Activity"
+msgstr "Activitat"
+
+#: ../../Zotlabs/Widget/Follow.php:22
#, php-format
-msgid "This website expires after %d days."
-msgstr "Aquest lloc web expira després de %d dies."
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Tens %1$.0f de %2$.0f connexions permeses."
-#: ../../Zotlabs/Module/Settings.php:1065
-msgid "This website does not expire imported content."
-msgstr "A aquest lloc web no expira el contingut importat"
+#: ../../Zotlabs/Widget/Follow.php:29
+msgid "Add New Connection"
+msgstr "Afegeix una Nova Connexió"
-#: ../../Zotlabs/Module/Settings.php:1065
-msgid "The website limit takes precedence if lower than your limit."
-msgstr "El límit del lloc web pren la preferència si es inferior al teu límit."
+#: ../../Zotlabs/Widget/Follow.php:30
+msgid "Enter channel address"
+msgstr "Introdueix l'adreça del canal"
-#: ../../Zotlabs/Module/Settings.php:1066
-msgid "Maximum Friend Requests/Day:"
-msgstr "Nombre màxim de peticions d'amistat per dia"
+#: ../../Zotlabs/Widget/Follow.php:31
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Exemples: bob@example.com, https://exemple.com/barbara"
-#: ../../Zotlabs/Module/Settings.php:1066
-msgid "May reduce spam activity"
-msgstr "Pot reduir l'SPAM"
+#: ../../Zotlabs/Widget/Wiki_list.php:15 ../../addon/gitwiki/gitwiki.php:95
+msgid "Wiki List"
+msgstr "Llista de Wikis"
-#: ../../Zotlabs/Module/Settings.php:1067
-msgid "Default Post and Publish Permissions"
-msgstr "Permisos de Entrades i Publicació per defecte"
+#: ../../Zotlabs/Widget/Archive.php:43
+msgid "Archives"
+msgstr "Arxius"
-#: ../../Zotlabs/Module/Settings.php:1069
-msgid "Use my default audience setting for the type of object published"
-msgstr "Empra els meus ajustos per defecte segons el tipus de entrada publicada"
+#: ../../Zotlabs/Widget/Conversations.php:17
+msgid "Received Messages"
+msgstr "Missatges Rebuts"
-#: ../../Zotlabs/Module/Settings.php:1072
-msgid "Channel permissions category:"
-msgstr "Categoria de permisos de canal:"
+#: ../../Zotlabs/Widget/Conversations.php:21
+msgid "Sent Messages"
+msgstr "Missatges Enviats"
-#: ../../Zotlabs/Module/Settings.php:1078
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Nombre màxim de missatges privats de desconeguts al dia:"
+#: ../../Zotlabs/Widget/Conversations.php:25
+msgid "Conversations"
+msgstr "Conversacions"
-#: ../../Zotlabs/Module/Settings.php:1078
-msgid "Useful to reduce spamming"
-msgstr "Útil per a reduir l'spam"
+#: ../../Zotlabs/Widget/Conversations.php:37
+msgid "No messages."
+msgstr "Sense missatges."
-#: ../../Zotlabs/Module/Settings.php:1081
-msgid "Notification Settings"
-msgstr "Ajustos de notificacions"
+#: ../../Zotlabs/Widget/Conversations.php:57
+msgid "Delete conversation"
+msgstr "Conversació esborrada"
-#: ../../Zotlabs/Module/Settings.php:1082
-msgid "By default post a status message when:"
-msgstr "Per defecte envia un missatge d'estat quan:"
+#: ../../Zotlabs/Widget/Chatroom_members.php:11
+msgid "Chat Members"
+msgstr "Membres de la Sala de Xat"
-#: ../../Zotlabs/Module/Settings.php:1083
-msgid "accepting a friend request"
-msgstr "S'accepta una sol·licitud d'amistat"
+#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58
+msgid "photo/image"
+msgstr "foto/imatge"
-#: ../../Zotlabs/Module/Settings.php:1084
-msgid "joining a forum/community"
-msgstr "Apuntar-se a un fòrum o comunitat"
+#: ../../Zotlabs/Widget/Savedsearch.php:75
+msgid "Remove term"
+msgstr "Plaç de remoció"
-#: ../../Zotlabs/Module/Settings.php:1085
-msgid "making an <em>interesting</em> profile change"
-msgstr "Faci un canvi <em>interesant</em> al perfil"
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:354
+msgid "Saved Searches"
+msgstr "Cerques Guardades"
-#: ../../Zotlabs/Module/Settings.php:1086
-msgid "Send a notification email when:"
-msgstr "Notifica per correu quan:"
+#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:333
+msgid "add"
+msgstr "afegeix"
-#: ../../Zotlabs/Module/Settings.php:1087
-msgid "You receive a connection request"
-msgstr "Rebi una petició de connexió"
+#: ../../Zotlabs/Widget/Notes.php:16
+msgid "Notes"
+msgstr "Notes"
-#: ../../Zotlabs/Module/Settings.php:1088
-msgid "Your connections are confirmed"
-msgstr "Es confirma una connexió"
+#: ../../Zotlabs/Widget/Wiki_pages.php:32
+#: ../../Zotlabs/Widget/Wiki_pages.php:89 ../../addon/gitwiki/gitwiki.php:81
+msgid "Add new page"
+msgstr "Afegeix una pàgina nova"
-#: ../../Zotlabs/Module/Settings.php:1089
-msgid "Someone writes on your profile wall"
-msgstr "Algú ha escrit al mur del teu perfil"
+#: ../../Zotlabs/Widget/Wiki_pages.php:83 ../../addon/gitwiki/gitwiki.php:76
+msgid "Wiki Pages"
+msgstr "Pàgines de Wikis"
-#: ../../Zotlabs/Module/Settings.php:1090
-msgid "Someone writes a followup comment"
-msgstr "Algú ha escrit un comentari de resposta"
+#: ../../Zotlabs/Widget/Wiki_pages.php:94 ../../addon/gitwiki/gitwiki.php:82
+msgid "Page name"
+msgstr "Canvia el nom de la pàgina"
-#: ../../Zotlabs/Module/Settings.php:1091
-msgid "You receive a private message"
-msgstr "Rebi un missatge privat"
+#: ../../Zotlabs/Widget/Affinity.php:45
+msgid "Refresh"
+msgstr "Refresc"
-#: ../../Zotlabs/Module/Settings.php:1092
-msgid "You receive a friend suggestion"
-msgstr "Rebi una suggerència d'amistat"
+#: ../../Zotlabs/Widget/Tasklist.php:23
+msgid "Tasks"
+msgstr "Tasques"
-#: ../../Zotlabs/Module/Settings.php:1093
-msgid "You are tagged in a post"
-msgstr "Estàs etiquetat a l'entrada"
+#: ../../Zotlabs/Widget/Suggestions.php:51
+msgid "Suggestions"
+msgstr "Suggerencies"
-#: ../../Zotlabs/Module/Settings.php:1094
-msgid "You are poked/prodded/etc. in a post"
-msgstr "S'enfoten/te piquen/etc. en una entrada"
+#: ../../Zotlabs/Widget/Suggestions.php:52
+msgid "See more..."
+msgstr "Veure més....."
-#: ../../Zotlabs/Module/Settings.php:1097
-msgid "Show visual notifications including:"
-msgstr "Mostra notificacion visuals, com ara:"
+#: ../../Zotlabs/Widget/Filer.php:28 ../../include/contact_widgets.php:53
+#: ../../include/features.php:443
+msgid "Saved Folders"
+msgstr "Carpetes Guardades"
-#: ../../Zotlabs/Module/Settings.php:1099
-msgid "Unseen grid activity"
-msgstr "Activitat de malla no vista"
+#: ../../Zotlabs/Widget/Cover_photo.php:54
+msgid "Click to show more"
+msgstr "Fes clic per veure més"
-#: ../../Zotlabs/Module/Settings.php:1100
-msgid "Unseen channel activity"
-msgstr "Activitat no vista del canal"
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "Profile Creation"
+msgstr "Creació de perfils"
-#: ../../Zotlabs/Module/Settings.php:1101
-msgid "Unseen private messages"
-msgstr "Missatges privats no llegits"
+#: ../../Zotlabs/Widget/Newmember.php:35
+msgid "Upload profile photo"
+msgstr "Puja una foto de perfil"
-#: ../../Zotlabs/Module/Settings.php:1101
-#: ../../Zotlabs/Module/Settings.php:1106
-#: ../../Zotlabs/Module/Settings.php:1107
-#: ../../Zotlabs/Module/Settings.php:1108
-msgid "Recommended"
-msgstr "Recomanat"
+#: ../../Zotlabs/Widget/Newmember.php:36
+msgid "Upload cover photo"
+msgstr "Puja una foto de portada"
-#: ../../Zotlabs/Module/Settings.php:1102
-msgid "Upcoming events"
-msgstr "Esdeveniments propers"
+#: ../../Zotlabs/Widget/Newmember.php:37 ../../include/nav.php:119
+msgid "Edit your profile"
+msgstr "Edita el teu perfil"
-#: ../../Zotlabs/Module/Settings.php:1103
-msgid "Events today"
-msgstr "Esdeveniments d'avui"
+#: ../../Zotlabs/Widget/Newmember.php:40
+msgid "Find and Connect with others"
+msgstr "Cerca altres canals i connecta-t'hi"
-#: ../../Zotlabs/Module/Settings.php:1104
-msgid "Upcoming birthdays"
-msgstr "Aniversaris propers"
+#: ../../Zotlabs/Widget/Newmember.php:44
+msgid "Manage your connections"
+msgstr "Gestiona les teves conexions"
-#: ../../Zotlabs/Module/Settings.php:1104
-msgid "Not available in all themes"
-msgstr "No està disponible en tots els temes"
+#: ../../Zotlabs/Widget/Newmember.php:47
+msgid "Communicate"
+msgstr "Communica't"
-#: ../../Zotlabs/Module/Settings.php:1105
-msgid "System (personal) notifications"
-msgstr "Notificacions (personals) del sistema"
+#: ../../Zotlabs/Widget/Newmember.php:49
+msgid "View your channel homepage"
+msgstr "Mostra el teu canal"
-#: ../../Zotlabs/Module/Settings.php:1106
-msgid "System info messages"
-msgstr "Missatges d'informació del sistema"
+#: ../../Zotlabs/Widget/Newmember.php:50
+msgid "View your network stream"
+msgstr "Mostra el teu flux de xarxa"
-#: ../../Zotlabs/Module/Settings.php:1107
-msgid "System critical alerts"
-msgstr "Alertes crítiques del sistema"
+#: ../../Zotlabs/Widget/Newmember.php:56
+msgid "Documentation"
+msgstr "Documentació"
-#: ../../Zotlabs/Module/Settings.php:1108
-msgid "New connections"
-msgstr "Noves connexions"
+#: ../../Zotlabs/Widget/Newmember.php:67
+msgid "View public stream. Warning: not moderated"
+msgstr "Mostra el flux públic. Avís: no està moderat"
-#: ../../Zotlabs/Module/Settings.php:1109
-msgid "System Registrations"
-msgstr "Registres del sistema"
+#: ../../Zotlabs/Widget/Newmember.php:71
+msgid "New Member Links"
+msgstr "Enllaços de membres nous"
-#: ../../Zotlabs/Module/Settings.php:1110
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Mostra també les entrades de mur noves, les entrades privades i les connexions a \"Notícies\""
+#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
+msgid "Member registrations waiting for confirmation"
+msgstr "Una inscripció per a ser membre està esperant confirmació"
-#: ../../Zotlabs/Module/Settings.php:1112
-msgid "Notify me of events this many days in advance"
-msgstr "Notifica'm dels esdeveniments amb aquests dies d'antelació"
+#: ../../Zotlabs/Widget/Admin.php:29
+msgid "Inspect queue"
+msgstr "Revisa cua"
-#: ../../Zotlabs/Module/Settings.php:1112
-msgid "Must be greater than 0"
-msgstr "Ha de ser més gran que 0"
+#: ../../Zotlabs/Widget/Admin.php:31
+msgid "DB updates"
+msgstr "Actualitzacions de Base de Dades"
-#: ../../Zotlabs/Module/Settings.php:1114
-msgid "Advanced Account/Page Type Settings"
-msgstr "Ajustos avançats de compte i tipus de pàgina"
+#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:199
+msgid "Admin"
+msgstr "Admin"
-#: ../../Zotlabs/Module/Settings.php:1115
-msgid "Change the behaviour of this account for special situations"
-msgstr "Modifica el comportament d'aquest compte en situacions especials"
+#: ../../Zotlabs/Widget/Admin.php:56
+msgid "Plugin Features"
+msgstr "Característiques del Plugin"
-#: ../../Zotlabs/Module/Settings.php:1118
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Activa el mode d'expert (a <a href=\"settings/features\">Ajustos > Més funcions</a>)"
+#: ../../Zotlabs/Widget/Settings_menu.php:35
+msgid "Account settings"
+msgstr "Ajustos de Compte"
-#: ../../Zotlabs/Module/Settings.php:1119
-msgid "Miscellaneous Settings"
-msgstr "Ajustos diversos"
+#: ../../Zotlabs/Widget/Settings_menu.php:41
+msgid "Channel settings"
+msgstr "Ajustos de Canal"
-#: ../../Zotlabs/Module/Settings.php:1120
-msgid "Default photo upload folder"
-msgstr "Carpeta per defecte de fotos pujades"
+#: ../../Zotlabs/Widget/Settings_menu.php:50
+msgid "Additional features"
+msgstr "Característiques addicionals"
-#: ../../Zotlabs/Module/Settings.php:1120
-#: ../../Zotlabs/Module/Settings.php:1121
-msgid "%Y - current year, %m - current month"
-msgstr "%Y - any en curs, %m - mes corrent"
+#: ../../Zotlabs/Widget/Settings_menu.php:57
+msgid "Addon settings"
+msgstr "Configuració de les extensions"
-#: ../../Zotlabs/Module/Settings.php:1121
-msgid "Default file upload folder"
-msgstr "Carpeta per defecte d'arxius pujats"
+#: ../../Zotlabs/Widget/Settings_menu.php:63
+msgid "Display settings"
+msgstr "Ajustos de pantalla"
-#: ../../Zotlabs/Module/Settings.php:1123
-msgid "Personal menu to display in your channel pages"
-msgstr "Menú personal per mostrar en les teves pàgines de canal"
+#: ../../Zotlabs/Widget/Settings_menu.php:70
+msgid "Manage locations"
+msgstr "Gestiona ubicacions"
-#: ../../Zotlabs/Module/Settings.php:1125
-msgid "Remove this channel."
-msgstr "Elimina aquest canal."
+#: ../../Zotlabs/Widget/Settings_menu.php:77
+msgid "Export channel"
+msgstr "Exportat canal"
-#: ../../Zotlabs/Module/Settings.php:1126
-msgid "Firefox Share $Projectname provider"
-msgstr "Firefox Share $Projectname provider"
+#: ../../Zotlabs/Widget/Settings_menu.php:84
+msgid "Connected apps"
+msgstr "Apps connectades"
-#: ../../Zotlabs/Module/Settings.php:1127
-msgid "Start calendar week on monday"
-msgstr "Comença la setmana del calendari el dilluns"
+#: ../../Zotlabs/Widget/Settings_menu.php:100 ../../include/features.php:231
+msgid "Permission Groups"
+msgstr "Grups de permisos"
-#: ../../Zotlabs/Module/Setup.php:179
-msgid "$Projectname Server - Setup"
-msgstr "Servidor $Projectname - Configuració"
+#: ../../Zotlabs/Widget/Settings_menu.php:117
+msgid "Premium Channel Settings"
+msgstr "Ajustos Premium de Canal"
-#: ../../Zotlabs/Module/Setup.php:183
-msgid "Could not connect to database."
-msgstr "No puc connectar amb la base de dades"
+#: ../../Zotlabs/Widget/Bookmarkedchats.php:24
+msgid "Bookmarked Chatrooms"
+msgstr "Sales de Xat Favorites"
-#: ../../Zotlabs/Module/Setup.php:187
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "No s'ha pogut connectar a l'URL del lloc especificat. Possible problema amb el certificat SSL o de DNS."
+#: ../../Zotlabs/Widget/Notifications.php:16
+msgid "New Network Activity"
+msgstr "Activitat nova a la xarxa"
-#: ../../Zotlabs/Module/Setup.php:194
-msgid "Could not create table."
-msgstr "No puc crear la taula."
+#: ../../Zotlabs/Widget/Notifications.php:17
+msgid "New Network Activity Notifications"
+msgstr "Notificacions noves d'activitat a la xarxa"
-#: ../../Zotlabs/Module/Setup.php:199
-msgid "Your site database has been installed."
-msgstr "La teva base de dades del lloc s'ha instal·lat."
+#: ../../Zotlabs/Widget/Notifications.php:20
+msgid "View your network activity"
+msgstr "Mostra l'activitat a la xarxa"
-#: ../../Zotlabs/Module/Setup.php:203
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Podria ser necessari importar el fitxer \"install / schema_xxx.sql\" manualment utilitzant un client de base de dades."
+#: ../../Zotlabs/Widget/Notifications.php:23
+msgid "Mark all notifications read"
+msgstr "Marca totes les notificacions com a vistes"
-#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
-#: ../../Zotlabs/Module/Setup.php:721
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Si us plau, consulteu el fitxer \"install / INSTALL.txt\"."
+#: ../../Zotlabs/Widget/Notifications.php:26
+#: ../../Zotlabs/Widget/Notifications.php:45
+#: ../../Zotlabs/Widget/Notifications.php:141
+msgid "Show new posts only"
+msgstr "Mostra només les entrades noves"
-#: ../../Zotlabs/Module/Setup.php:263
-msgid "System check"
-msgstr "Comprovació del sistema"
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:142
+msgid "Filter by name"
+msgstr "Filtra per nom"
-#: ../../Zotlabs/Module/Setup.php:268
-msgid "Check again"
-msgstr "Comprova de nou"
+#: ../../Zotlabs/Widget/Notifications.php:35
+msgid "New Home Activity"
+msgstr "Activitat nova al mur"
-#: ../../Zotlabs/Module/Setup.php:290
-msgid "Database connection"
-msgstr "Connexió de base de dades"
+#: ../../Zotlabs/Widget/Notifications.php:36
+msgid "New Home Activity Notifications"
+msgstr "Notificacions noves d'activitat al mur"
-#: ../../Zotlabs/Module/Setup.php:291
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Per tal d'instaŀlar $Projectname cal configurar la connexió a la base de dades."
+#: ../../Zotlabs/Widget/Notifications.php:39
+msgid "View your home activity"
+msgstr "Mostra l'activitat al teu mur"
-#: ../../Zotlabs/Module/Setup.php:292
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Si us plau, poseu-vos en contacte amb el proveïdor de serveis o administrador del lloc si vostè té preguntes sobre aquests paràmetres."
+#: ../../Zotlabs/Widget/Notifications.php:42
+#: ../../Zotlabs/Widget/Notifications.php:138
+msgid "Mark all notifications seen"
+msgstr "Marca totes les notificacions com a vistes"
-#: ../../Zotlabs/Module/Setup.php:293
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "La base de dades s'especifica a continuació ja ha d'existir. Si no és així, si us plau crear-la abans de continuar."
+#: ../../Zotlabs/Widget/Notifications.php:54
+msgid "New Mails"
+msgstr "Correus nous"
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Database Server Name"
-msgstr "Base de Dades Nom del Servidor"
+#: ../../Zotlabs/Widget/Notifications.php:55
+msgid "New Mails Notifications"
+msgstr "Notificacions noves de correus"
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Default is 127.0.0.1"
-msgstr "Per defecte es 127.0.0.1"
+#: ../../Zotlabs/Widget/Notifications.php:58
+msgid "View your private mails"
+msgstr "Mostra els correus privats"
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Database Port"
-msgstr "Port per a la Base de Dades"
+#: ../../Zotlabs/Widget/Notifications.php:61
+msgid "Mark all messages seen"
+msgstr "Marca tots els missatges com a llegits"
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Communication port number - use 0 for default"
-msgstr "Numero del port de comunicacions - empra 0 per defecte"
+#: ../../Zotlabs/Widget/Notifications.php:69
+msgid "New Events"
+msgstr "Esdeveniments nous"
-#: ../../Zotlabs/Module/Setup.php:299
-msgid "Database Login Name"
-msgstr "Base de Dades Nom d'Accès"
+#: ../../Zotlabs/Widget/Notifications.php:70
+msgid "New Events Notifications"
+msgstr "Notificacions noves d'esdeveniments"
-#: ../../Zotlabs/Module/Setup.php:300
-msgid "Database Login Password"
-msgstr "Base de Dades Contrasenya d'Accès"
+#: ../../Zotlabs/Widget/Notifications.php:73
+msgid "View events"
+msgstr "Mostra els esdeveniments"
-#: ../../Zotlabs/Module/Setup.php:301
-msgid "Database Name"
-msgstr "Nom de la Base de Dades"
+#: ../../Zotlabs/Widget/Notifications.php:76
+msgid "Mark all events seen"
+msgstr "Marcar tots els esdeveniments vistos"
-#: ../../Zotlabs/Module/Setup.php:302
-msgid "Database Type"
-msgstr "Tipus de Base de Dades"
+#: ../../Zotlabs/Widget/Notifications.php:85
+msgid "New Connections Notifications"
+msgstr "Notificacions noves de connexió"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
-msgid "Site administrator email address"
-msgstr "Adreça de correu de l'administrador del lloc"
+#: ../../Zotlabs/Widget/Notifications.php:88
+msgid "View all connections"
+msgstr "Mostra totes les connexions"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "El teu compte de email ha de coincidir amb això per poder emprar el panel web d'administrador."
+#: ../../Zotlabs/Widget/Notifications.php:96
+msgid "New Files"
+msgstr "Arxius nous"
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Website URL"
-msgstr "URL del lloc web"
+#: ../../Zotlabs/Widget/Notifications.php:97
+msgid "New Files Notifications"
+msgstr "Notificacions noves d'arxius"
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Please use SSL (https) URL if available."
-msgstr "Si us plau, empra SSL (https) URL si està disponible."
+#: ../../Zotlabs/Widget/Notifications.php:104
+#: ../../Zotlabs/Widget/Notifications.php:105
+msgid "Notices"
+msgstr "Noticies"
-#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
-msgid "Please select a default timezone for your website"
-msgstr "Si us plau, tria la zona horària del teu lloc web"
+#: ../../Zotlabs/Widget/Notifications.php:108
+msgid "View all notices"
+msgstr "Mostra totes les notificacions"
-#: ../../Zotlabs/Module/Setup.php:333
-msgid "Site settings"
-msgstr "Ajustos del lloc"
+#: ../../Zotlabs/Widget/Notifications.php:111
+msgid "Mark all notices seen"
+msgstr "Marca totes les notificacions com a vistes"
-#: ../../Zotlabs/Module/Setup.php:347
-msgid "Enable $Projectname <strong>advanced</strong> features?"
-msgstr "Activar característiques <strong>advanced</strong> de $Projectname?"
+#: ../../Zotlabs/Widget/Notifications.php:121
+msgid "New Registrations"
+msgstr "Inscripcions noves"
-#: ../../Zotlabs/Module/Setup.php:347
-msgid ""
-"Some advanced features, while useful - may be best suited for technically "
-"proficient audiences"
-msgstr "Algunes característiques avançades, hauran de ser ajustades per persones tècnicament capaces, per poder emprar-les."
+#: ../../Zotlabs/Widget/Notifications.php:122
+msgid "New Registrations Notifications"
+msgstr "Notificacions noves d'inscripció"
-#: ../../Zotlabs/Module/Setup.php:388
-msgid "PHP version 5.5 or greater is required."
-msgstr "PHP version 5.5 or greater is required."
+#: ../../Zotlabs/Widget/Notifications.php:132
+msgid "Public Stream Notifications"
+msgstr "Notificacions del flux públic"
-#: ../../Zotlabs/Module/Setup.php:389
-msgid "PHP version"
-msgstr "PHP version"
+#: ../../Zotlabs/Widget/Notifications.php:135
+msgid "View the public stream"
+msgstr "Mostra el flux públic"
-#: ../../Zotlabs/Module/Setup.php:404
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "No s'ha pogut trobar una versió de línia d'ordres del PHP en el PATH del servidor web."
+#: ../../Zotlabs/Widget/Notifications.php:150
+msgid "Sorry, you have got no notifications at the moment"
+msgstr "No tens cap notificació"
-#: ../../Zotlabs/Module/Setup.php:405
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Si vostè no té una versió de línia d'ordres del PHP instal·lada al servidor, vostè no serà capaç d'executar sondejos en segon pla via cron."
+#: ../../util/nconfig.php:34
+msgid "Source channel not found."
+msgstr "No s'ha trobat el canal font."
-#: ../../Zotlabs/Module/Setup.php:409
-msgid "PHP executable path"
-msgstr "Camí cap l'executable de PHP"
+#: ../../boot.php:1562
+msgid "Create an account to access services and applications"
+msgstr "Crea un compte per tal d'accedir a serveis i aplicacions"
-#: ../../Zotlabs/Module/Setup.php:409
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Introdueix el camí cap l'executable de php. Pots deixa-ho en blanc i continuar l'instal·lació."
+#: ../../boot.php:1581 ../../include/nav.php:111 ../../include/nav.php:140
+#: ../../include/nav.php:159
+msgid "Logout"
+msgstr "Desconectar"
-#: ../../Zotlabs/Module/Setup.php:414
-msgid "Command line PHP"
-msgstr "Línia d'ordres de PHP"
+#: ../../boot.php:1585
+msgid "Login/Email"
+msgstr "Correu d'usuari"
-#: ../../Zotlabs/Module/Setup.php:423
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versió de línia d'ordres de PHP al teu sistema no te el \"register_argc_argv\" activat."
+#: ../../boot.php:1586
+msgid "Password"
+msgstr "Contrasenya"
-#: ../../Zotlabs/Module/Setup.php:424
-msgid "This is required for message delivery to work."
-msgstr "Això es requereix per que funcioni l'entrega de missatges."
+#: ../../boot.php:1587
+msgid "Remember me"
+msgstr "Recorda'm"
-#: ../../Zotlabs/Module/Setup.php:427
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../boot.php:1590
+msgid "Forgot your password?"
+msgstr "Has perdut la Contrasenya?"
-#: ../../Zotlabs/Module/Setup.php:445
+#: ../../boot.php:2347
#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "La mida màxima que se't permet pujar està establerta en %s. La mida màxima per arxiu pujat es de %s. Se't permet pujar fins a %d arxius d'una vegada."
+msgid "[$Projectname] Website SSL error for %s"
+msgstr "[$Projectname] Error de TLS per a %s"
-#: ../../Zotlabs/Module/Setup.php:450
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Pots ajustar aquests valors a l'arxiu php.ini del servidor"
+#: ../../boot.php:2352
+msgid "Website SSL certificate is not valid. Please correct."
+msgstr "El certificat SSL és invalid, soluciona-ho, si us plau."
-#: ../../Zotlabs/Module/Setup.php:452
-msgid "PHP upload limits"
-msgstr "Límits de pujada de PHP"
+#: ../../boot.php:2468
+#, php-format
+msgid "[$Projectname] Cron tasks not running on %s"
+msgstr "[$Projectname] Les tasques del cron tasks no s'estan executant a %s"
-#: ../../Zotlabs/Module/Setup.php:475
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Error: la funció \"openssl_pkey_new\" en aquest sistema no es capaç de generar claus d'encriptació"
+#: ../../boot.php:2473
+msgid "Cron/Scheduled tasks not running."
+msgstr "No s'estan executant les tasques programades al cron."
-#: ../../Zotlabs/Module/Setup.php:476
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Si esta funcionant sota Windows, per favor, miri \"http://www.php.net/manual/en/openssl.installation.php\"."
+#: ../../boot.php:2474 ../../include/datetime.php:232
+msgid "never"
+msgstr "mai"
-#: ../../Zotlabs/Module/Setup.php:479
-msgid "Generate encryption keys"
-msgstr "Generar claus de xifrat"
+#: ../../view/theme/redbasic_c/php/config.php:16
+#: ../../view/theme/redbasic_c/php/config.php:19
+#: ../../view/theme/redbasic/php/config.php:16
+#: ../../view/theme/redbasic/php/config.php:19
+msgid "Focus (Hubzilla default)"
+msgstr "Focus (Hubzilla per defecte)"
-#: ../../Zotlabs/Module/Setup.php:491
-msgid "libCurl PHP module"
-msgstr "mòdul PHP libCurl "
+#: ../../view/theme/redbasic_c/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:97
+msgid "Theme settings"
+msgstr "Ajustos de tema"
-#: ../../Zotlabs/Module/Setup.php:492
-msgid "GD graphics PHP module"
-msgstr "mòdul PHP GD gràfics"
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic/php/config.php:98
+msgid "Narrow navbar"
+msgstr "Barra de navegació estreta"
-#: ../../Zotlabs/Module/Setup.php:493
-msgid "OpenSSL PHP module"
-msgstr "mòdul PHP OpenSSL"
+#: ../../view/theme/redbasic_c/php/config.php:101
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Navigation bar background color"
+msgstr "Color de fons de la barra de navegació"
-#: ../../Zotlabs/Module/Setup.php:494
-msgid "mysqli or postgres PHP module"
-msgstr "mòdul PHP mysqli o postgres"
+#: ../../view/theme/redbasic_c/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:100
+msgid "Navigation bar icon color "
+msgstr "Color de la icona de la barra de navegació"
-#: ../../Zotlabs/Module/Setup.php:495
-msgid "mb_string PHP module"
-msgstr "mòdul PHP mb_string"
+#: ../../view/theme/redbasic_c/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:101
+msgid "Navigation bar active icon color "
+msgstr "Color de la icona de la barra de navegació activa"
-#: ../../Zotlabs/Module/Setup.php:496
-msgid "mcrypt PHP module"
-msgstr "mòdul PHP mcrypt"
+#: ../../view/theme/redbasic_c/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Link color"
+msgstr "Color dels enllaços"
-#: ../../Zotlabs/Module/Setup.php:497
-msgid "xml PHP module"
-msgstr "Mòdul xml de PHP"
+#: ../../view/theme/redbasic_c/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Set font-color for banner"
+msgstr "Ajusta el color del tipus de lletra per la senyera"
-#: ../../Zotlabs/Module/Setup.php:501 ../../Zotlabs/Module/Setup.php:503
-msgid "Apache mod_rewrite module"
-msgstr "mòdul Apache mod_rewrite"
+#: ../../view/theme/redbasic_c/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Set the background color"
+msgstr "Ajusta el color de fons"
-#: ../../Zotlabs/Module/Setup.php:501
+#: ../../view/theme/redbasic_c/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Set the background image"
+msgstr "Ajusta la imatge de fons"
+
+#: ../../view/theme/redbasic_c/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Set the background color of items"
+msgstr "ajusta el color dels articles de fons"
+
+#: ../../view/theme/redbasic_c/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Set the background color of comments"
+msgstr "Ajusta el color dels comentaris en segon pla"
+
+#: ../../view/theme/redbasic_c/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Set font-size for the entire application"
+msgstr "Ajusta la mida del tipus de lletra per tota l'aplicació"
+
+#: ../../view/theme/redbasic_c/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Examples: 1rem, 100%, 16px"
+msgstr "Exemples: 1rem, 100%, 16px"
+
+#: ../../view/theme/redbasic_c/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Set font-color for posts and comments"
+msgstr "Ajusta el color del tipus de lletra per entrades i comentaris"
+
+#: ../../view/theme/redbasic_c/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Set radius of corners"
+msgstr "Ajusta el radi de les cantonades"
+
+#: ../../view/theme/redbasic_c/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Example: 4px"
+msgstr "Exemple: 4px"
+
+#: ../../view/theme/redbasic_c/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Set shadow depth of photos"
+msgstr "Ajusta la profunditat d'ombres de les fotos"
+
+#: ../../view/theme/redbasic_c/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Set maximum width of content region in pixel"
+msgstr "Ajusta l'amplada màxima de la zona de contingut en pixels"
+
+#: ../../view/theme/redbasic_c/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Leave empty for default width"
+msgstr "Deixa en blanc per l'amplada predeterminada"
+
+#: ../../view/theme/redbasic_c/php/config.php:115
+msgid "Left align page content"
+msgstr "Alineació esquerra del contingut de la pàgina"
+
+#: ../../view/theme/redbasic_c/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Set size of conversation author photo"
+msgstr "Ajusta la mida de la foto del autor a la conversa"
+
+#: ../../view/theme/redbasic_c/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set size of followup author photos"
+msgstr "Ajusta la mida del seguidor de les fotos de l'autor"
+
+#: ../../addon/rendezvous/rendezvous.php:57
+msgid "Errors encountered deleting database table "
+msgstr "S'ha produït un o més errors en esborrar una taula de la base de dades"
+
+#: ../../addon/rendezvous/rendezvous.php:95
+#: ../../addon/twitter/twitter.php:779
+msgid "Submit Settings"
+msgstr "Desa els canvis"
+
+#: ../../addon/rendezvous/rendezvous.php:96
+msgid "Drop tables when uninstalling?"
+msgstr "Vols eliminar les taules en desinstaŀlar?"
+
+#: ../../addon/rendezvous/rendezvous.php:96
msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Error: el mòdul mod-rewrite del servidor web Apache es requereix i no està instal·lat."
+"If checked, the Rendezvous database tables will be deleted when the plugin "
+"is uninstalled."
+msgstr "En cas afirmatiu, s'esborraran de la base de dades les taules del Rendezvous en desinstaŀlar l'extensió."
-#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:510
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../addon/rendezvous/rendezvous.php:97
+msgid "Mapbox Access Token"
+msgstr "Testimoni d'accés a Mapbox"
-#: ../../Zotlabs/Module/Setup.php:507
+#: ../../addon/rendezvous/rendezvous.php:97
msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Error: es requereix proc_open però o no està instal·lat o ha estat desactivat a php.ini"
+"If you enter a Mapbox access token, it will be used to retrieve map tiles "
+"from Mapbox instead of the default OpenStreetMap tile server."
+msgstr "Es farà servir aquest testimoni per a descarregar les tesseŀles des de Mapbox en comptes del servidor per defecte d'OpenStreetMap."
-#: ../../Zotlabs/Module/Setup.php:515
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Error: el mòdul PHP libCURL es requereix però no està instal·lat."
+#: ../../addon/rendezvous/rendezvous.php:162
+msgid "Rendezvous"
+msgstr "Rendezvous"
-#: ../../Zotlabs/Module/Setup.php:519
+#: ../../addon/rendezvous/rendezvous.php:167
msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Error: el mòdul PHP GD graphics amb support JPEG es requereix però no està instal·lat."
+"This identity has been deleted by another member due to inactivity. Please "
+"press the \"New identity\" button or refresh the page to register a new "
+"identity. You may use the same name."
+msgstr "Un altre membre ha esborrat aquesta identitat per inactivitat. Pots crear-ne una nova amb el botó o recarregant la pàgina. Pots tornar a fer servir el mateix nom."
-#: ../../Zotlabs/Module/Setup.php:523
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Error: el mòdul PHP openssl es requereix però no està instal·lat."
+#: ../../addon/rendezvous/rendezvous.php:168
+msgid "Welcome to Rendezvous!"
+msgstr "Benvingut/da al Rendezvous!"
-#: ../../Zotlabs/Module/Setup.php:527
+#: ../../addon/rendezvous/rendezvous.php:169
msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Error: el mòdul PHO mysqli o postgres es requereix però no està instal·lat."
+"Enter your name to join this rendezvous. To begin sharing your location with"
+" the other members, tap the GPS control. When your location is discovered, a"
+" red dot will appear and others will be able to see you on the map."
+msgstr "Escriu un nom per unir-te an aquest Rendezvous. Per a començar compartint la teva ubicació amb els altres membres, toca el control de GPS. Un cop descoberta la teva ubicació, apareixerà un punt vermell i la resta podran veure't en el mapa."
-#: ../../Zotlabs/Module/Setup.php:531
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Error: el mòdul PHP mb_string es requereix però no està instal·lat."
+#: ../../addon/rendezvous/rendezvous.php:171
+msgid "Let's meet here"
+msgstr "Trobem-nos aquí"
-#: ../../Zotlabs/Module/Setup.php:535
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Error: el mòdul PHP mcrypt es requereix però no està instal·lat."
+#: ../../addon/rendezvous/rendezvous.php:174
+msgid "New marker"
+msgstr "Nova xinxeta"
-#: ../../Zotlabs/Module/Setup.php:539
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Error: el mòdul xml de PHP es requereix per DAV però no està instal·lat."
+#: ../../addon/rendezvous/rendezvous.php:175
+msgid "Edit marker"
+msgstr "Modifica la xinxeta"
-#: ../../Zotlabs/Module/Setup.php:557
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'instaŀlador ha de poder crear i modificar un fitxer anomenat «.htconfig.php» a la carpeta arrel del servidor, però sembla que no ho pot fer."
+#: ../../addon/rendezvous/rendezvous.php:176
+msgid "New identity"
+msgstr "Nova identitat"
-#: ../../Zotlabs/Module/Setup.php:558
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Això sol ser un problema de permisos. Per molt que el teu usuari pugui modificar-lo, és el del servidor web qui necessita els poders de modificació."
+#: ../../addon/rendezvous/rendezvous.php:177
+msgid "Delete marker"
+msgstr "Esborra la xinxeta"
-#: ../../Zotlabs/Module/Setup.php:559
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Al final d'aquest procés hauràs de desar un text a l'arxiu «.htconfig.php», que es troba a la carpeta arrel del servidor."
+#: ../../addon/rendezvous/rendezvous.php:178
+msgid "Delete member"
+msgstr "Esborra el membre"
-#: ../../Zotlabs/Module/Setup.php:560
+#: ../../addon/rendezvous/rendezvous.php:179
+msgid "Edit proximity alert"
+msgstr "Modifica l'alerta de proximitat"
+
+#: ../../addon/rendezvous/rendezvous.php:180
msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Aquest procés és opcional. Per a fer una instaŀlació manual consulta les instruccions a «install/INSTALL.txt\"."
+"A proximity alert will be issued when this member is within a certain radius"
+" of you.<br><br>Enter a radius in meters (0 to disable):"
+msgstr "Es mostrarà una alerta de proximitat si aquest membre està dins un cert radi de distància. <br><br>Introdueix un radi en metres (0 ho deshabilita):"
-#: ../../Zotlabs/Module/Setup.php:563
-msgid ".htconfig.php is writable"
-msgstr "L'arxiu «.htconfig.php» es pot modificar"
+#: ../../addon/rendezvous/rendezvous.php:180
+#: ../../addon/rendezvous/rendezvous.php:185
+msgid "distance"
+msgstr "distància"
-#: ../../Zotlabs/Module/Setup.php:577
+#: ../../addon/rendezvous/rendezvous.php:181
+msgid "Proximity alert distance (meters)"
+msgstr "Distància d'alerta de proximitat (metres)"
+
+#: ../../addon/rendezvous/rendezvous.php:182
+#: ../../addon/rendezvous/rendezvous.php:184
msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red fa servir el motor de plantilles Smarty3 per a renderitzar les vistes més ràpidament."
+"A proximity alert will be issued when you are within a certain radius of the"
+" marker location.<br><br>Enter a radius in meters (0 to disable):"
+msgstr "Es mostrarà una alerta de proximitat quan siguis dins un cert radi de distància de la ubicació de la xinxeta.<br><br>Introdueix un radi en metres (0 ho deshabilita):"
-#: ../../Zotlabs/Module/Setup.php:578
-#, php-format
+#: ../../addon/rendezvous/rendezvous.php:183
+msgid "Marker proximity alert"
+msgstr "Alerta de proximitat de xinxeta"
+
+#: ../../addon/rendezvous/rendezvous.php:186
+msgid "Reminder note"
+msgstr "Nota de recordatori"
+
+#: ../../addon/rendezvous/rendezvous.php:187
msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the top level web folder."
-msgstr "Per tal de guardar aquestes plantilles compilades, el servidor web necessita tenir premis d'escriptura en el directori %s sota la carpeta principal."
+"Enter a note to be displayed when you are within the specified proximity..."
+msgstr "Introdueix una nota per a mostrar amb l'alerta"
-#: ../../Zotlabs/Module/Setup.php:579 ../../Zotlabs/Module/Setup.php:600
+#: ../../addon/rendezvous/rendezvous.php:199
+msgid "Add new rendezvous"
+msgstr "Afegeix un rendezvous nou"
+
+#: ../../addon/rendezvous/rendezvous.php:200
msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Comprova que l'usuari que executa el servidor (www-data en Apache) té permisos d'escriptura en aquesta carpeta."
+"Create a new rendezvous and share the access link with those you wish to "
+"invite to the group. Those who open the link become members of the "
+"rendezvous. They can view other member locations, add markers to the map, or"
+" share their own locations with the group."
+msgstr "Crea un rendezvous nou i comparteix-lo amb aquelles persones a qui vulguis convidar al grup. Qui obri l'enllaç es faran membres del rendezvous. Podran veure les ubicacions dels altres membres, afegir xinxetes al mapa i compartir les seves ubicacions amb el grup."
-#: ../../Zotlabs/Module/Setup.php:580
-#, php-format
+#: ../../addon/skeleton/skeleton.php:59
+msgid "Some setting"
+msgstr "Opció X"
+
+#: ../../addon/skeleton/skeleton.php:61
+msgid "A setting"
+msgstr "Opció Y"
+
+#: ../../addon/skeleton/skeleton.php:64
+msgid "Skeleton Settings"
+msgstr "Configuració del Skeleton"
+
+#: ../../addon/gnusoc/gnusoc.php:247
+msgid "GNU-Social Protocol Settings updated."
+msgstr "S'ha actualitzat la configuració del Protocol GNU-Social"
+
+#: ../../addon/gnusoc/gnusoc.php:266
msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Nota: com a mesura de seguretat l'usuari del servidor web ha de tenir accés d'escriptura només a %s, i no a les plantilles (.tpl) que conté."
+"The GNU-Social protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr "El Protocol GNU-Social és incompatible amb la independència de hub. Les connexions que facis en aquesta xarxa no seran accessibles des de hubs alternatius del teu canal."
-#: ../../Zotlabs/Module/Setup.php:583
+#: ../../addon/gnusoc/gnusoc.php:269
+msgid "Enable the GNU-Social protocol for this channel"
+msgstr "Habilita el Protocol GNU-Social per a aquest canal"
+
+#: ../../addon/gnusoc/gnusoc.php:273
+msgid "GNU-Social Protocol Settings"
+msgstr "Configuració del Protocol GNU-Social "
+
+#: ../../addon/gnusoc/gnusoc.php:464
+msgid "Follow"
+msgstr "Segueix"
+
+#: ../../addon/gnusoc/gnusoc.php:467
#, php-format
-msgid "%s is writable"
-msgstr "Es pot escriure a %s"
+msgid "%1$s is now following %2$s"
+msgstr "%1$s ara segueix a %2$s"
-#: ../../Zotlabs/Module/Setup.php:599
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "Red fa servir la carpeta «store» per a desar els fitxers pujats. Per tant, el servidor web necessita tenir permís d'escriptura en aquesta carpeta, que està a l'arrel del servidor web."
+#: ../../addon/planets/planets.php:121
+msgid "Planets Settings updated."
+msgstr "S'ha actualitzat la configuració de Planetes."
-#: ../../Zotlabs/Module/Setup.php:603
-msgid "store is writable"
-msgstr "Es pot escriure al magatzem (store)"
+#: ../../addon/planets/planets.php:149
+msgid "Enable Planets Plugin"
+msgstr "Habilita l'extensió Planetes"
-#: ../../Zotlabs/Module/Setup.php:636
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "El certificat SSL no s'ha pogut validar. Arregla-ho o deshabilita l'accés https a aquest lloc"
+#: ../../addon/planets/planets.php:153
+msgid "Planets Settings"
+msgstr "Configuració de Planetes"
-#: ../../Zotlabs/Module/Setup.php:637
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Si tens accès pet https al teu lloc web o permets connexions pel port TCP 443 (port https), Has d'emprar un certificat VÀLID. NO es poden emprar certificats AUTO-SIGNATS!"
+#: ../../addon/openclipatar/openclipatar.php:50
+#: ../../addon/openclipatar/openclipatar.php:128
+msgid "System defaults:"
+msgstr "Opcions per defecte:"
-#: ../../Zotlabs/Module/Setup.php:638
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "El motiu d'aquesta restricció és que les teves entrades públiques poden contenir referències a imatges del teu propi node."
+#: ../../addon/openclipatar/openclipatar.php:54
+msgid "Preferred Clipart IDs"
+msgstr "Identitats Clipart preferides"
-#: ../../Zotlabs/Module/Setup.php:639
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Si el teu certificat no és reconegut, llavors el membres d'altres hubs, encara que tinguin certificats vàlids, rebran una advertència de seguretat en carregar contingut teu."
+#: ../../addon/openclipatar/openclipatar.php:54
+msgid "List of preferred clipart ids. These will be shown first."
+msgstr "Llista d'identitats Clipart preferides. Aquestes es mostren primer"
-#: ../../Zotlabs/Module/Setup.php:640
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Per tant, com que perjudica la usabilitat més enllà del teu lloc, la restricció de tenir un certificat reconegut és molt important."
+#: ../../addon/openclipatar/openclipatar.php:55
+msgid "Default Search Term"
+msgstr "Paraula de cerca predeterminada"
-#: ../../Zotlabs/Module/Setup.php:641
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Hi ha autoritats de certificació reconegudes que ofereixen certificats gratuïts."
+#: ../../addon/openclipatar/openclipatar.php:55
+msgid "The default search term. These will be shown second."
+msgstr "La paraula de cerca predeterminada. Aquestes es mostraran en segon lloc."
-#: ../../Zotlabs/Module/Setup.php:643
-msgid "SSL certificate validation"
-msgstr "Validació del certificat SSL"
+#: ../../addon/openclipatar/openclipatar.php:56
+msgid "Return After"
+msgstr "Acaba després de"
-#: ../../Zotlabs/Module/Setup.php:649
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "No es poden reescriure les URL a «.htaccess». Comprova la configuració del servidor:"
+#: ../../addon/openclipatar/openclipatar.php:56
+msgid "Page to load after image selection."
+msgstr "Pàgina per carregar després d'haver seleccionat una imatge."
-#: ../../Zotlabs/Module/Setup.php:652
-msgid "Url rewrite is working"
-msgstr "Es poden reescriure les URL a «.htaccess»"
+#: ../../addon/openclipatar/openclipatar.php:58 ../../include/channel.php:1301
+#: ../../include/nav.php:119
+msgid "Edit Profile"
+msgstr "Edita Perfil"
-#: ../../Zotlabs/Module/Setup.php:661
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "L'arxiu de configuracio de la base de dades «.htconfig.php» no s'ha pogut modificar. El pots crear tu a l'arrel del servidor web amb el text de la caixa com a contingut."
+#: ../../addon/openclipatar/openclipatar.php:59
+msgid "Profile List"
+msgstr "Llista de perfils"
-#: ../../Zotlabs/Module/Setup.php:685
-msgid "Errors encountered creating database tables."
-msgstr "S'han produït errors mentre es creaven taules a la base de dades."
+#: ../../addon/openclipatar/openclipatar.php:61
+msgid "Order of Preferred"
+msgstr "Ordre de les preferides"
-#: ../../Zotlabs/Module/Setup.php:719
-msgid "<h1>What next</h1>"
-msgstr "<h1>I ara què?</h1>"
+#: ../../addon/openclipatar/openclipatar.php:61
+msgid "Sort order of preferred clipart ids."
+msgstr "Ordena les identitats Clipart preferides"
-#: ../../Zotlabs/Module/Setup.php:720
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANT! Cal que configuris manualment una execució periòdica del \"poller\"."
+#: ../../addon/openclipatar/openclipatar.php:62
+#: ../../addon/openclipatar/openclipatar.php:68
+msgid "Newest first"
+msgstr "La més nova primer"
-#: ../../Zotlabs/Module/Sharedwithme.php:98
-msgid "Files: shared with me"
-msgstr "Arxius: compartits amb jo"
+#: ../../addon/openclipatar/openclipatar.php:65
+msgid "As entered"
+msgstr "En ordre d'entrada"
-#: ../../Zotlabs/Module/Sharedwithme.php:100
-msgid "NEW"
-msgstr "NOU"
+#: ../../addon/openclipatar/openclipatar.php:67
+msgid "Order of other"
+msgstr "Ordre de les altres"
-#: ../../Zotlabs/Module/Sharedwithme.php:103
-msgid "Remove all files"
-msgstr "Esborra tots els arxius"
+#: ../../addon/openclipatar/openclipatar.php:67
+msgid "Sort order of other clipart ids."
+msgstr "Ordena les altres identitats Clipart."
-#: ../../Zotlabs/Module/Sharedwithme.php:104
-msgid "Remove this file"
-msgstr "Esborra l'arxiu"
+#: ../../addon/openclipatar/openclipatar.php:69
+msgid "Most downloaded first"
+msgstr "Les més descarregades primer"
-#: ../../Zotlabs/Module/Siteinfo.php:19
-#, php-format
-msgid "Version %s"
-msgstr "Versió %s"
+#: ../../addon/openclipatar/openclipatar.php:70
+msgid "Most liked first"
+msgstr "Les més votades primer"
-#: ../../Zotlabs/Module/Siteinfo.php:40
-msgid "Installed plugins/addons/apps:"
-msgstr "Plugins/addons/apps Instal·lats:"
+#: ../../addon/openclipatar/openclipatar.php:72
+msgid "Preferred IDs Message"
+msgstr "Missatge de les identitats preferides"
-#: ../../Zotlabs/Module/Siteinfo.php:53
-msgid "No installed plugins/addons/apps"
-msgstr "Plugins/addons/apps no instal·lats"
+#: ../../addon/openclipatar/openclipatar.php:72
+msgid "Message to display above preferred results."
+msgstr "Missatge per a mostrar per sobre dels resultats preferits."
-#: ../../Zotlabs/Module/Siteinfo.php:66
-msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Aquest és un node de $Projectname, una xarxa cooperativa mundial de llocs web descentralitzats amb gran control de la privacitat."
+#: ../../addon/openclipatar/openclipatar.php:78
+msgid "Uploaded by: "
+msgstr "Carregada per:"
-#: ../../Zotlabs/Module/Siteinfo.php:68
-msgid "Tag: "
-msgstr "Etiqueta:"
+#: ../../addon/openclipatar/openclipatar.php:78
+msgid "Drawn by: "
+msgstr "Dibuixada per:"
-#: ../../Zotlabs/Module/Siteinfo.php:70
-msgid "Last background fetch: "
-msgstr "Última actualització en rerefons:"
+#: ../../addon/openclipatar/openclipatar.php:182
+#: ../../addon/openclipatar/openclipatar.php:194
+msgid "Use this image"
+msgstr "Fes servir aquesta imatge"
-#: ../../Zotlabs/Module/Siteinfo.php:72
-msgid "Current load average: "
-msgstr "Càrrega actual mitja:"
+#: ../../addon/openclipatar/openclipatar.php:192
+msgid "Or select from a free OpenClipart.org image:"
+msgstr "O bé tria una imatge lliure d'OpenClipart.org:"
-#: ../../Zotlabs/Module/Siteinfo.php:75
-msgid "Running at web location"
-msgstr "Correguent en el lloc web"
+#: ../../addon/openclipatar/openclipatar.php:195
+msgid "Search Term"
+msgstr "Paraules de cerca"
-#: ../../Zotlabs/Module/Siteinfo.php:76
-msgid ""
-"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
-"about $Projectname."
-msgstr "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per saber-ne més de $Projectname."
+#: ../../addon/openclipatar/openclipatar.php:232
+msgid "Unknown error. Please try again later."
+msgstr "S'ha produït un error desconegut. Torna a provar-ho més tard."
-#: ../../Zotlabs/Module/Siteinfo.php:77
-msgid "Bug reports and issues: please visit"
-msgstr "Per informar d'errors o problemes ves a"
+#: ../../addon/openclipatar/openclipatar.php:308
+msgid "Profile photo updated successfully."
+msgstr "S'ha carregat la foto amb èxit."
-#: ../../Zotlabs/Module/Siteinfo.php:79
-msgid "$projectname issues"
-msgstr "$projectname qüestions"
+#: ../../addon/adultphotoflag/adultphotoflag.php:24
+msgid "Flag Adult Photos"
+msgstr "Marca contingut adult"
-#: ../../Zotlabs/Module/Siteinfo.php:80
+#: ../../addon/adultphotoflag/adultphotoflag.php:25
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Per suggerències, felicitacions i altres, envia'ns un mail a «redmatrix» [arroba] librelist [punt] com"
+"Provide photo edit option to hide inappropriate photos from default album "
+"view"
+msgstr "Habilita una opció per a amagar fotos sensibles de la vista per defecte de l'àlbum."
-#: ../../Zotlabs/Module/Siteinfo.php:82
-msgid "Site Administrators"
-msgstr "Administradors del lloc"
+#: ../../addon/wppost/wppost.php:45
+msgid "Post to WordPress"
+msgstr "Publica a un Wordpress"
-#: ../../Zotlabs/Module/Sources.php:37
-msgid "Failed to create source. No channel selected."
-msgstr "Error en crear l'origen. Cap canal seleccionat."
+#: ../../addon/wppost/wppost.php:82
+msgid "Enable WordPress Post Plugin"
+msgstr "Activa l'extensió Publica a un Wordpress"
-#: ../../Zotlabs/Module/Sources.php:51
-msgid "Source created."
-msgstr "Origen creat."
+#: ../../addon/wppost/wppost.php:86
+msgid "WordPress username"
+msgstr "Nom d'usuari al Wordpress"
-#: ../../Zotlabs/Module/Sources.php:64
-msgid "Source updated."
-msgstr "Origen actualitzat."
+#: ../../addon/wppost/wppost.php:90
+msgid "WordPress password"
+msgstr "Contrassenya al Wordpress"
-#: ../../Zotlabs/Module/Sources.php:90
-msgid "*"
-msgstr "*"
+#: ../../addon/wppost/wppost.php:94
+msgid "WordPress API URL"
+msgstr "Adreça URL de l'API del Wordpress"
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:630
-#: ../../include/features.php:71
-msgid "Channel Sources"
-msgstr "Canal Origen"
+#: ../../addon/wppost/wppost.php:95
+msgid "Typically https://your-blog.tld/xmlrpc.php"
+msgstr "Normalment https://el-meu-blog.cat/xmlrpc.php"
-#: ../../Zotlabs/Module/Sources.php:97
-msgid "Manage remote sources of content for your channel."
-msgstr "Gestiona contingut per al teu canal d'origens remots"
+#: ../../addon/wppost/wppost.php:98
+msgid "WordPress blogid"
+msgstr "Identitat blogid del Wordpress"
-#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
-msgid "New Source"
-msgstr "Nou Origen"
+#: ../../addon/wppost/wppost.php:99
+msgid "For multi-user sites such as wordpress.com, otherwise leave blank"
+msgstr "Fer a llocs multi-usuari com wordpress.com . Deixa en blanc en cas contrari"
-#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importar tot o sel·lecciona contingut dels següents canals, en aquest canal i distribueix-lo d'acord als teus ajustos de canals."
+#: ../../addon/wppost/wppost.php:105
+msgid "Post to WordPress by default"
+msgstr "Publica a Wordpress per defecte"
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Only import content with these words (one per line)"
-msgstr "Només importa contingut amb aquestes paraules (una per línia)"
+#: ../../addon/wppost/wppost.php:109
+msgid "Forward comments (requires hubzilla_wp plugin)"
+msgstr "Reenvia comentaris (necessita l'extensió hubzilla_wp)"
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Leave blank to import all public content"
-msgstr "Deixar en blanc per importar tot el contingut públic"
+#: ../../addon/wppost/wppost.php:113
+msgid "WordPress Post Settings"
+msgstr "Configuració d'entrades"
-#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
-msgid "Channel Name"
-msgstr "Nom del canal"
+#: ../../addon/wppost/wppost.php:129
+msgid "Wordpress Settings saved."
+msgstr "S'ha desat la configuració."
-#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+#: ../../addon/nsfw/nsfw.php:80
msgid ""
-"Add the following categories to posts imported from this source (comma "
-"separated)"
-msgstr "Afegeix les següents categories d'entrades importades des d'aquest origen (separat per comes)"
+"This plugin looks in posts for the words/text you specify below, and "
+"collapses any content containing those keywords so it is not displayed at "
+"inappropriate times, such as sexual innuendo that may be improper in a work "
+"setting. It is polite and recommended to tag any content containing nudity "
+"with #NSFW. This filter can also match any other word/text you specify, and"
+" can thereby be used as a general purpose content filter."
+msgstr "Aquesta extensió cerca paraules que especifiquis en les entrades, i amaga plegant qualsevol contingut que en contingui alguna. Així, no es mostrarà per defecte i no quedaràs exposat/da en llocs on més gent vegi la teva pantalla. Sempre es recomana etiquetar els continguts amb nuesa amb l'etiqueta #NSFW (insegur per a la feina, en anglès). Tanmateix, el filtre es pot fer servir per qualsevol tipus de contingut."
-#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
-msgid "Source not found."
-msgstr "No s'ha trobat la font."
+#: ../../addon/nsfw/nsfw.php:84
+msgid "Enable Content filter"
+msgstr "Activa el filtre de contingut"
-#: ../../Zotlabs/Module/Sources.php:140
-msgid "Edit Source"
-msgstr "Edita la font"
+#: ../../addon/nsfw/nsfw.php:88
+msgid "Comma separated list of keywords to hide"
+msgstr "Llista de paraules clau a amagar, separada per comes"
-#: ../../Zotlabs/Module/Sources.php:141
-msgid "Delete Source"
-msgstr "Esborra la font"
+#: ../../addon/nsfw/nsfw.php:88
+msgid "Word, /regular-expression/, lang=xx, lang!=xx"
+msgstr "Paraula, /expressió-regular/, lang=xx, lang=!xx. Nota: lang és per llengua en anglès"
-#: ../../Zotlabs/Module/Sources.php:169
-msgid "Source removed"
-msgstr "S'ha esborrat la font"
+#: ../../addon/nsfw/nsfw.php:92
+msgid "Not Safe For Work Settings"
+msgstr "Configuració de Not Safe For Work"
-#: ../../Zotlabs/Module/Sources.php:171
-msgid "Unable to remove source."
-msgstr "No s'ha pogut esborrar la font."
+#: ../../addon/nsfw/nsfw.php:92
+msgid "General Purpose Content Filter"
+msgstr "Filtre de contingut genèric"
-#: ../../Zotlabs/Module/Subthread.php:118
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s esta seguint %2$s de %3$s"
+#: ../../addon/nsfw/nsfw.php:110
+msgid "NSFW Settings saved."
+msgstr "S'ha desat la configuració del NSFW."
-#: ../../Zotlabs/Module/Subthread.php:120
+#: ../../addon/nsfw/nsfw.php:207
+msgid "Possible adult content"
+msgstr "Possible contingut inadequat"
+
+#: ../../addon/nsfw/nsfw.php:222
#, php-format
-msgid "%1$s stopped following %2$s's %3$s"
-msgstr "%1$s abandona el seguiment %2$s de %3$s"
+msgid "%s - view"
+msgstr "%s - mostra"
-#: ../../Zotlabs/Module/Suggest.php:39
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "No hi ha suggerencies. Si es un lloc nou, espera 24 hores i proba de nou."
+#: ../../addon/ijpost/ijpost.php:42
+msgid "Post to Insanejournal"
+msgstr "Publicar a Insanejournal"
-#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
-msgid "Ignore/Hide"
-msgstr "Ignora/Amaga"
+#: ../../addon/ijpost/ijpost.php:73
+msgid "Enable InsaneJournal Post Plugin"
+msgstr "Habilita la publicació a InsaneJournal"
-#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:256
-msgid "post"
-msgstr "entrada"
+#: ../../addon/ijpost/ijpost.php:77
+msgid "InsaneJournal username"
+msgstr "Nom d'usuari a InsaneJournal"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1948
-#: ../../include/conversation.php:150
-msgid "comment"
-msgstr "comentari"
+#: ../../addon/ijpost/ijpost.php:81
+msgid "InsaneJournal password"
+msgstr "Contrasenya a InsaneJournal"
-#: ../../Zotlabs/Module/Tagger.php:100
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha etiquetat %3$s de %2$s amb %4$s"
+#: ../../addon/ijpost/ijpost.php:85
+msgid "Post to InsaneJournal by default"
+msgstr "Publica per defecte a InsaneJournal"
-#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
-msgid "Tag removed"
-msgstr "S'ha tret l'etiqueta"
+#: ../../addon/ijpost/ijpost.php:89
+msgid "InsaneJournal Post Settings"
+msgstr "Opcions de publicació a InsaneJournal"
-#: ../../Zotlabs/Module/Tagrm.php:123
-msgid "Remove Item Tag"
-msgstr "Elimina l'etiqueta d'element"
+#: ../../addon/ijpost/ijpost.php:104
+msgid "Insane Journal Settings saved."
+msgstr "S'han actualitzat els paàrmetres de InsaneJournal."
-#: ../../Zotlabs/Module/Tagrm.php:125
-msgid "Select a tag to remove: "
-msgstr "Tria l'etiqueta a eliminar:"
+#: ../../addon/dwpost/dwpost.php:42
+msgid "Post to Dreamwidth"
+msgstr "Publica a Dreamwidth"
-#: ../../Zotlabs/Module/Thing.php:114
-msgid "Thing updated"
-msgstr "S'ha actualitzat la cosa"
+#: ../../addon/dwpost/dwpost.php:73
+msgid "Enable Dreamwidth Post Plugin"
+msgstr "Habilita el connector per a publicar a la xarxa Dreamwidth"
-#: ../../Zotlabs/Module/Thing.php:166
-msgid "Object store: failed"
-msgstr "No s'ha pogut emmagatzemar l'objecte"
+#: ../../addon/dwpost/dwpost.php:77
+msgid "Dreamwidth username"
+msgstr "Nom a Dreamwidth"
-#: ../../Zotlabs/Module/Thing.php:170
-msgid "Thing added"
-msgstr "S'ha afegit la cosa"
+#: ../../addon/dwpost/dwpost.php:81
+msgid "Dreamwidth password"
+msgstr "Contrasenya a Dreamwidth"
-#: ../../Zotlabs/Module/Thing.php:196
+#: ../../addon/dwpost/dwpost.php:85
+msgid "Post to Dreamwidth by default"
+msgstr "Publica a Dreamwidth per defecte"
+
+#: ../../addon/dwpost/dwpost.php:89
+msgid "Dreamwidth Post Settings"
+msgstr "Opcions de publicació a Dreamwidth"
+
+#: ../../addon/notifyadmin/notifyadmin.php:34
+msgid "New registration"
+msgstr "S'ha registrat un nou compte"
+
+#: ../../addon/notifyadmin/notifyadmin.php:42
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
+msgid "Message sent to %s. New account registration: %s"
+msgstr "S'ha enviat el correu a %s. El nou compte és %s"
-#: ../../Zotlabs/Module/Thing.php:259
-msgid "Show Thing"
-msgstr "Mostra la cosa"
+#: ../../addon/dirstats/dirstats.php:94
+msgid "Hubzilla Directory Stats"
+msgstr "Estadístiques del directori de Hubzilla"
-#: ../../Zotlabs/Module/Thing.php:266
-msgid "item not found."
-msgstr "no s'ha trobat l'element."
+#: ../../addon/dirstats/dirstats.php:95
+msgid "Total Hubs"
+msgstr "Hubs totals"
-#: ../../Zotlabs/Module/Thing.php:299
-msgid "Edit Thing"
-msgstr "Edita la cosa"
+#: ../../addon/dirstats/dirstats.php:97
+msgid "Hubzilla Hubs"
+msgstr "Hubs de Hubzilla"
-#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
-msgid "Select a profile"
-msgstr "Tria un perfil"
+#: ../../addon/dirstats/dirstats.php:99
+msgid "Friendica Hubs"
+msgstr "Hubs de Friendica"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
-msgid "Post an activity"
-msgstr "Publica una activitat"
+#: ../../addon/dirstats/dirstats.php:101
+msgid "Diaspora Pods"
+msgstr "Pods de Diaspora"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
-msgid "Only sends to viewers of the applicable profile"
-msgstr "S'envia només a visitants del perfil corresponent"
+#: ../../addon/dirstats/dirstats.php:103
+msgid "Hubzilla Channels"
+msgstr "Canals de Hubzilla"
-#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
-msgid "Name of thing e.g. something"
-msgstr "Nom de la cosa. Exemple: patata"
+#: ../../addon/dirstats/dirstats.php:105
+msgid "Friendica Channels"
+msgstr "Canals de Friendica"
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
-msgid "URL of thing (optional)"
-msgstr "Adreça URL de la cosa (opcional)"
+#: ../../addon/dirstats/dirstats.php:107
+msgid "Diaspora Channels"
+msgstr "Canals de Diaspora"
-#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
-msgid "URL for photo of thing (optional)"
-msgstr "Adreça URL de la foto d'una cosa (opcional)"
+#: ../../addon/dirstats/dirstats.php:109
+msgid "Aged 35 and above"
+msgstr "De 35 o més anys d'edat"
-#: ../../Zotlabs/Module/Thing.php:349
-msgid "Add Thing to your Profile"
-msgstr "Afegeix una cosa al teu perfil"
+#: ../../addon/dirstats/dirstats.php:111
+msgid "Aged 34 and under"
+msgstr "De 34 o menys anys d'edat"
-#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
-msgid "Export Channel"
-msgstr "Exportar Canal"
+#: ../../addon/dirstats/dirstats.php:113
+msgid "Average Age"
+msgstr "Mitjana d'edat"
-#: ../../Zotlabs/Module/Uexport.php:57
-msgid ""
-"Export your basic channel information to a file. This acts as a backup of "
-"your connections, permissions, profile and basic data, which can be used to "
-"import your data to a new server hub, but does not contain your content."
-msgstr "Exporta la informació bàsica del canal a un arxiu. Això actua com a còpia de recolzament de les teves connexions, permisos, perfil i dades bàsiques, les quals pots emprar per traslladar aquestes dades a una altre lloc/node, però no conté el contingut del canal."
+#: ../../addon/dirstats/dirstats.php:115
+msgid "Known Chatrooms"
+msgstr "Sales de xat conegudes"
-#: ../../Zotlabs/Module/Uexport.php:58
-msgid "Export Content"
-msgstr "Exportar el Contingut"
+#: ../../addon/dirstats/dirstats.php:117
+msgid "Known Tags"
+msgstr "Etiquetes conegudes"
-#: ../../Zotlabs/Module/Uexport.php:59
+#: ../../addon/dirstats/dirstats.php:119
msgid ""
-"Export your channel information and recent content to a JSON backup that can"
-" be restored or imported to another server hub. This backs up all of your "
-"connections, permissions, profile data and several months of posts. This "
-"file may be VERY large. Please be patient - it may take several minutes for"
-" this download to begin."
-msgstr "Exporta la informació del canal i tot el contingut recent a un arxiu de recolzament JSON que por ser restaurat o importat en altre lloc/node. Això còpia totes les teves connexions, permisos, perfil i dades i mesos de entrades. L'arxiu pot ser MOLT gran. Si et plau, sigues pacient ja que pot trigar uns minuts a començar a baixar."
+"Please note Diaspora and Friendica statistics are merely those **this "
+"directory** is aware of, and not all those known in the network. This also "
+"applies to chatrooms,"
+msgstr "Tingueu en compte que les estadístiques de Diaspora i Friendica només són les **aquest directori** n'és conscient, i no totes les de la xarxa. Això també aplica a sales de xat,"
-#: ../../Zotlabs/Module/Uexport.php:60
-msgid "Export your posts from a given year."
-msgstr "Exporta les teves entrades d'un any donat."
+#: ../../addon/likebanner/likebanner.php:51
+msgid "Your Webbie:"
+msgstr "El teu Webbie:"
-#: ../../Zotlabs/Module/Uexport.php:62
-msgid ""
-"You may also export your posts and conversations for a particular year or "
-"month. Adjust the date in your browser location bar to select other dates. "
-"If the export fails (possibly due to memory exhaustion on your server hub), "
-"please try again selecting a more limited date range."
-msgstr "Pots també exportar les teves entrades i conversacions d'un any o un mes en particular. Ajusta la data a la barra de direccions del navegador per seleccionar altres dates. Si la exportació falla (possiblement degut al esgotament de la memòria del node servidor), si et plau, intenta de nou la selecció d'un rang de dates més limitat."
+#: ../../addon/likebanner/likebanner.php:54
+msgid "Fontsize (px):"
+msgstr "Mida de lletra (px):"
-#: ../../Zotlabs/Module/Uexport.php:63
-#, php-format
-msgid ""
-"To select all posts for a given year, such as this year, visit <a "
-"href=\"%1$s\">%2$s</a>"
-msgstr "Per seleccionar tots els missatges per a un any determinat, com aquest any, visiteu <a href=\"%1$s\">%2$s</a>"
+#: ../../addon/likebanner/likebanner.php:68
+msgid "Link:"
+msgstr "Enllaç:"
-#: ../../Zotlabs/Module/Uexport.php:64
-#, php-format
-msgid ""
-"To select all posts for a given month, such as January of this year, visit "
-"<a href=\"%1$s\">%2$s</a>"
-msgstr "Per seleccionar tots els missatges per a un mes determinat, com el de gener d'aquest any, visiteu <a href=\"%1$s\">%2$s</a>"
+#: ../../addon/likebanner/likebanner.php:70
+msgid "Like us on Hubzilla"
+msgstr "Segueix-nos a Hubzilla"
-#: ../../Zotlabs/Module/Uexport.php:65
-#, php-format
-msgid ""
-"These content files may be imported or restored by visiting <a "
-"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results"
-" please import or restore these in date order (oldest first)."
-msgstr "Aquests arxius de contingut poden ser importats o restaurats per visitar <a href=\"%1$s\">%2$s</a> en qualsevol lloc que conté el teu canal. Per obtenir els millors resultats si us plau, importar o restaurar aquests en ordre de data (la més antiga primer)."
+#: ../../addon/likebanner/likebanner.php:72
+msgid "Embed:"
+msgstr "Incrusta:"
-#: ../../Zotlabs/Module/Viewconnections.php:62
-msgid "No connections."
-msgstr "Sense connexions."
+#: ../../addon/redphotos/redphotos.php:106
+msgid "Photos imported"
+msgstr "S'han importat les fotos"
-#: ../../Zotlabs/Module/Viewconnections.php:75
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visita el perfil [%s] de %s"
+#: ../../addon/redphotos/redphotos.php:129
+msgid "Redmatrix Photo Album Import"
+msgstr "Importa els àlbums de fotos de $Projectname"
-#: ../../Zotlabs/Module/Viewconnections.php:104
-msgid "View Connections"
-msgstr "Veure Connexions"
+#: ../../addon/redphotos/redphotos.php:130
+msgid "This will import all your Redmatrix photo albums to this channel."
+msgstr "Importa els àlbums de fotos de $Projectname"
-#: ../../Zotlabs/Module/Viewsrc.php:44
-msgid "Source of Item"
-msgstr "Origen de l'article"
+#: ../../addon/redphotos/redphotos.php:131
+#: ../../addon/redfiles/redfiles.php:121
+msgid "Redmatrix Server base URL"
+msgstr "Adreça URL arrel del servidor de Redmatrix"
-#: ../../Zotlabs/Module/Webpages.php:184 ../../Zotlabs/Lib/Apps.php:217
-#: ../../include/nav.php:106 ../../include/conversation.php:1685
-msgid "Webpages"
-msgstr "Pàgines web"
+#: ../../addon/redphotos/redphotos.php:132
+#: ../../addon/redfiles/redfiles.php:122
+msgid "Redmatrix Login Username"
+msgstr "Nom d'usuari de Redmatrix"
-#: ../../Zotlabs/Module/Webpages.php:195 ../../include/page_widgets.php:41
-msgid "Actions"
-msgstr "Accions"
+#: ../../addon/redphotos/redphotos.php:133
+#: ../../addon/redfiles/redfiles.php:123
+msgid "Redmatrix Login Password"
+msgstr "Contrasenya de Redmatrix"
-#: ../../Zotlabs/Module/Webpages.php:196 ../../include/page_widgets.php:42
-msgid "Page Link"
-msgstr "Enllaç a Pàgina"
+#: ../../addon/redphotos/redphotos.php:134
+msgid "Import just this album"
+msgstr "Importa només aquest album"
-#: ../../Zotlabs/Module/Webpages.php:197
-msgid "Page Title"
-msgstr "Títol de la pàgina"
+#: ../../addon/redphotos/redphotos.php:134
+msgid "Leave blank to import all albums"
+msgstr "Deixa-ho en blanc per a importar tots els àlbums"
-#: ../../Zotlabs/Module/Xchan.php:10
-msgid "Xchan Lookup"
-msgstr "Cerca a xchan"
+#: ../../addon/redphotos/redphotos.php:135
+msgid "Maximum count to import"
+msgstr "Nombre màxim d'importacions"
-#: ../../Zotlabs/Module/Xchan.php:13
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Cerca a xchan començant per (o webbie)"
+#: ../../addon/redphotos/redphotos.php:135
+msgid "0 or blank to import all available"
+msgstr "Deixa-ho en blanc o amb un 0 per a importar-ho tot"
-#: ../../Zotlabs/Lib/Apps.php:204
-msgid "Site Admin"
-msgstr "Administració"
+#: ../../addon/irc/irc.php:45
+msgid "Channels to auto connect"
+msgstr "Canals per connectar automàticament"
-#: ../../Zotlabs/Lib/Apps.php:205
-msgid "Bug Report"
-msgstr "Informe d'Errors"
+#: ../../addon/irc/irc.php:45 ../../addon/irc/irc.php:49
+msgid "Comma separated list"
+msgstr "Llista amb separació per comes"
-#: ../../Zotlabs/Lib/Apps.php:206
-msgid "View Bookmarks"
-msgstr "Veure Marcadors"
+#: ../../addon/irc/irc.php:49 ../../addon/irc/irc.php:96
+msgid "Popular Channels"
+msgstr "Canals populars"
-#: ../../Zotlabs/Lib/Apps.php:207
-msgid "My Chatrooms"
-msgstr "Les meves Sales de Xat"
+#: ../../addon/irc/irc.php:53
+msgid "IRC Settings"
+msgstr "Paràmetres de IRC"
-#: ../../Zotlabs/Lib/Apps.php:209
-msgid "Firefox Share"
-msgstr "Compartir amb Firefox"
+#: ../../addon/irc/irc.php:69
+msgid "IRC settings saved."
+msgstr "S'han actualitzat els paràmetres de IRC."
-#: ../../Zotlabs/Lib/Apps.php:210
-msgid "Remote Diagnostics"
-msgstr "Diagnòstics Remots"
+#: ../../addon/irc/irc.php:74
+msgid "IRC Chatroom"
+msgstr "Sala de IRC"
-#: ../../Zotlabs/Lib/Apps.php:211 ../../include/features.php:89
-msgid "Suggest Channels"
-msgstr "Suggerir Canals"
+#: ../../addon/ljpost/ljpost.php:42
+msgid "Post to LiveJournal"
+msgstr "Publica a LiveJournal"
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/nav.php:110
-#: ../../boot.php:1703
-msgid "Login"
-msgstr "Identifica't"
+#: ../../addon/ljpost/ljpost.php:70
+msgid "Enable LiveJournal Post Plugin"
+msgstr "Habilita la publicació a LiveJournal"
-#: ../../Zotlabs/Lib/Apps.php:214 ../../include/nav.php:179
-msgid "Grid"
-msgstr "Malla"
+#: ../../addon/ljpost/ljpost.php:74
+msgid "LiveJournal username"
+msgstr "Nom a LiveJournal"
-#: ../../Zotlabs/Lib/Apps.php:218 ../../include/nav.php:182
-msgid "Channel Home"
-msgstr "Canal Personal"
+#: ../../addon/ljpost/ljpost.php:78
+msgid "LiveJournal password"
+msgstr "Contrasenya a LiveJournal"
-#: ../../Zotlabs/Lib/Apps.php:221 ../../include/nav.php:201
-#: ../../include/conversation.php:1649 ../../include/conversation.php:1652
-msgid "Events"
-msgstr "Esdeveniments"
+#: ../../addon/ljpost/ljpost.php:82
+msgid "Post to LiveJournal by default"
+msgstr "Publica a LiveJournal per defecte"
-#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:167
-msgid "Directory"
-msgstr "Directori"
+#: ../../addon/ljpost/ljpost.php:86
+msgid "LiveJournal Post Settings"
+msgstr "Paràmetres de LiveJournal"
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:193
-msgid "Mail"
-msgstr "Correu"
+#: ../../addon/ljpost/ljpost.php:101
+msgid "LiveJournal Settings saved."
+msgstr "S'han desat els paràmetres de LiveJournal."
-#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:96
-msgid "Chat"
-msgstr "Xerrar"
+#: ../../addon/openid/openid.php:49
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "No s'ha pogut autenticar la identitat OpenID que has proporcionat. Comprova que l'hagis introduïda bé."
-#: ../../Zotlabs/Lib/Apps.php:229
-msgid "Probe"
-msgstr "Sondeig"
+#: ../../addon/openid/openid.php:49
+msgid "The error message was:"
+msgstr "El missatge d'error ha estat:"
-#: ../../Zotlabs/Lib/Apps.php:230
-msgid "Suggest"
-msgstr "Suggeriment"
+#: ../../addon/openid/MysqlProvider.php:52
+msgid "First Name"
+msgstr "Nom"
-#: ../../Zotlabs/Lib/Apps.php:231
-msgid "Random Channel"
-msgstr "Canal Aleatori"
+#: ../../addon/openid/MysqlProvider.php:53
+msgid "Last Name"
+msgstr "Cognoms"
-#: ../../Zotlabs/Lib/Apps.php:232
-msgid "Invite"
-msgstr "Convida"
+#: ../../addon/openid/MysqlProvider.php:54 ../../addon/redred/redred.php:111
+msgid "Nickname"
+msgstr "Àlies"
-#: ../../Zotlabs/Lib/Apps.php:233 ../../include/widgets.php:1386
-msgid "Features"
-msgstr "Funcionalitats"
+#: ../../addon/openid/MysqlProvider.php:55
+msgid "Full Name"
+msgstr "Nom complet"
-#: ../../Zotlabs/Lib/Apps.php:235
-msgid "Post"
-msgstr "Entrada"
+#: ../../addon/openid/MysqlProvider.php:61
+msgid "Profile Photo 16px"
+msgstr "Imatge de perfil de 16x16 píxels"
-#: ../../Zotlabs/Lib/Apps.php:335
-msgid "Purchase"
-msgstr "Compra"
+#: ../../addon/openid/MysqlProvider.php:62
+msgid "Profile Photo 32px"
+msgstr "Imatge de perfil de 32x32 píxels"
-#: ../../Zotlabs/Lib/Chatroom.php:27
-msgid "Missing room name"
-msgstr "Perdut el nom de la sala"
+#: ../../addon/openid/MysqlProvider.php:63
+msgid "Profile Photo 48px"
+msgstr "Imatge de perfil de 48x48 píxels"
-#: ../../Zotlabs/Lib/Chatroom.php:36
-msgid "Duplicate room name"
-msgstr "Nom de la sala duplicat"
+#: ../../addon/openid/MysqlProvider.php:64
+msgid "Profile Photo 64px"
+msgstr "Imatge de perfil de 64x64 píxels"
-#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
-msgid "Invalid room specifier."
-msgstr "Especificació de la sala invàlida."
+#: ../../addon/openid/MysqlProvider.php:65
+msgid "Profile Photo 80px"
+msgstr "Imatge de perfil de 80x80 píxels"
-#: ../../Zotlabs/Lib/Chatroom.php:126
-msgid "Room not found."
-msgstr "Sala no trobada."
+#: ../../addon/openid/MysqlProvider.php:66
+msgid "Profile Photo 128px"
+msgstr "Imatge de perfil de 128x128 píxels"
-#: ../../Zotlabs/Lib/Chatroom.php:147
-msgid "Room is full"
-msgstr "La sala es plena"
+#: ../../addon/openid/MysqlProvider.php:67
+msgid "Timezone"
+msgstr "Zona horària"
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1823
-msgid "$Projectname Notification"
-msgstr "Notificació de $Projectname"
+#: ../../addon/openid/MysqlProvider.php:70
+msgid "Birth Year"
+msgstr "Any de naixement"
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1824
-msgid "$projectname"
-msgstr "$projectname"
+#: ../../addon/openid/MysqlProvider.php:71
+msgid "Birth Month"
+msgstr "Mes de naixement"
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1826
-msgid "Thank You,"
-msgstr "Gràcies,"
+#: ../../addon/openid/MysqlProvider.php:72
+msgid "Birth Day"
+msgstr "Dia de naixement"
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1828
-#, php-format
-msgid "%s Administrator"
-msgstr "%s Administrador"
+#: ../../addon/openid/MysqlProvider.php:73
+msgid "Birthdate"
+msgstr "Aniversar"
-#: ../../Zotlabs/Lib/Enotify.php:100
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: ../../addon/openid/Mod_Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr "Error d'OpenID. No s'ha aconseguit cap ID."
-#: ../../Zotlabs/Lib/Enotify.php:104
-#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla:Notify] Nou corrreu rebut en %s"
+#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:290
+msgid "Login failed."
+msgstr "Identificació fallida."
-#: ../../Zotlabs/Lib/Enotify.php:106
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s t'ha enviat un nou missatge privat a %3$s."
+#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:49
+#: ../../include/selectors.php:66 ../../include/channel.php:1481
+msgid "Male"
+msgstr "Masculí"
-#: ../../Zotlabs/Lib/Enotify.php:107
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s t'ha enviat %2$s."
+#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:49
+#: ../../include/selectors.php:66 ../../include/channel.php:1479
+msgid "Female"
+msgstr "Femení"
-#: ../../Zotlabs/Lib/Enotify.php:107
-msgid "a private message"
-msgstr "un missatge privat"
+#: ../../addon/randpost/randpost.php:97
+msgid "You're welcome."
+msgstr "De res."
-#: ../../Zotlabs/Lib/Enotify.php:108
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Per favor, visita %s per a veure i/o respondre els teus missatges privats."
+#: ../../addon/randpost/randpost.php:98
+msgid "Ah shucks..."
+msgstr "Oh merda..."
-#: ../../Zotlabs/Lib/Enotify.php:164
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]a %4$s[/zrl]"
+#: ../../addon/randpost/randpost.php:99
+msgid "Don't mention it."
+msgstr "Ni ho pensis."
-#: ../../Zotlabs/Lib/Enotify.php:172
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]%4$s de %5$s[/zrl]"
+#: ../../addon/randpost/randpost.php:100
+msgid "&lt;blush&gt;"
+msgstr "&lt;em poso vermell&gt;"
-#: ../../Zotlabs/Lib/Enotify.php:181
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s comentat en [zrl=%3$s]el teu %4$s[/zrl]"
+#: ../../addon/startpage/startpage.php:109
+msgid "Page to load after login"
+msgstr "Pàgina a carregar després d'iniciar sessió"
-#: ../../Zotlabs/Lib/Enotify.php:192
-#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla:Notify] Comentari sobre una conversació #%1$d per %2$s"
+#: ../../addon/startpage/startpage.php:109
+msgid ""
+"Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy "
+"collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave "
+"blank for default network page (grid)."
+msgstr "Exemples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (grup de privacitat), &quot;channel&quot; or &quot;notifications/system&quot; (deixa-ho en blanc per a la pàgina per defecte, la del flux públic."
-#: ../../Zotlabs/Lib/Enotify.php:193
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s comentat en un article/conversa que havies estat seguint."
+#: ../../addon/startpage/startpage.php:113
+msgid "Startpage Settings"
+msgstr "Configuració de Pàgina d'inici"
-#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
-#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
-#: ../../Zotlabs/Lib/Enotify.php:269
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Si us plau visita %s per veure i/o contestar a la conversa"
+#: ../../addon/morepokes/morepokes.php:19
+msgid "bitchslap"
+msgstr "bofetades"
-#: ../../Zotlabs/Lib/Enotify.php:202
-#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla:Avís] %s ha escrit una entrada al teu mur"
+#: ../../addon/morepokes/morepokes.php:19
+msgid "bitchslapped"
+msgstr "ha fet una bofetada a"
-#: ../../Zotlabs/Lib/Enotify.php:204
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s ha escrit una entrada al teu mur en %3$s"
+#: ../../addon/morepokes/morepokes.php:20
+msgid "shag"
+msgstr "polvo"
-#: ../../Zotlabs/Lib/Enotify.php:206
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s enviat correu a [zrl=%3$s]el teu mur[/zrl]"
+#: ../../addon/morepokes/morepokes.php:20
+msgid "shagged"
+msgstr "ha fet un polvo amb"
-#: ../../Zotlabs/Lib/Enotify.php:230
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla:Notificació] %s t'ha etiquetat"
+#: ../../addon/morepokes/morepokes.php:21
+msgid "patent"
+msgstr "amb dret de"
-#: ../../Zotlabs/Lib/Enotify.php:231
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s t'ha etiquetat a %3$s"
+#: ../../addon/morepokes/morepokes.php:21
+msgid "patented"
+msgstr "ha patentat a"
-#: ../../Zotlabs/Lib/Enotify.php:232
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]t'ha etiquetat[/zrl]."
+#: ../../addon/morepokes/morepokes.php:22
+msgid "hug"
+msgstr "abraçada"
-#: ../../Zotlabs/Lib/Enotify.php:244
-#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla:Avís] %1$s s'en fot de tu"
+#: ../../addon/morepokes/morepokes.php:22
+msgid "hugged"
+msgstr "ha abraçat"
-#: ../../Zotlabs/Lib/Enotify.php:245
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s s'en fot de tú a %3$s"
+#: ../../addon/morepokes/morepokes.php:23
+msgid "murder"
+msgstr "assassinat"
-#: ../../Zotlabs/Lib/Enotify.php:246
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]s'en fot de tú[/zrl]."
+#: ../../addon/morepokes/morepokes.php:23
+msgid "murdered"
+msgstr "ha assassinat"
-#: ../../Zotlabs/Lib/Enotify.php:262
-#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla:Avís] %s ha etiquetat la teva entrada"
+#: ../../addon/morepokes/morepokes.php:24
+msgid "worship"
+msgstr "retre-li culte"
-#: ../../Zotlabs/Lib/Enotify.php:263
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s ha etiquetat la teva entrada a %3$s"
+#: ../../addon/morepokes/morepokes.php:24
+msgid "worshipped"
+msgstr "ara ret culte a"
-#: ../../Zotlabs/Lib/Enotify.php:264
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s etiquetat [zrl=%3$s]la teva entrada[/zrl]"
+#: ../../addon/morepokes/morepokes.php:25
+msgid "kiss"
+msgstr "un petó"
-#: ../../Zotlabs/Lib/Enotify.php:276
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla:Avís] Presentació rebuda"
+#: ../../addon/morepokes/morepokes.php:25
+msgid "kissed"
+msgstr "ha fet un petó a"
-#: ../../Zotlabs/Lib/Enotify.php:277
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, has rebut una nova petició de connexió de '%2$s' a %3$s"
+#: ../../addon/morepokes/morepokes.php:26
+msgid "tempt"
+msgstr "temptar"
-#: ../../Zotlabs/Lib/Enotify.php:278
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, has rebut [zrl=%2$s]una nova petició de connexió[/zrl] de %3$s."
+#: ../../addon/morepokes/morepokes.php:26
+msgid "tempted"
+msgstr "ha temptat a"
-#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Pots visitar el seu perfil a %s"
+#: ../../addon/morepokes/morepokes.php:27
+msgid "raise eyebrows at"
+msgstr "aixecar-li una cella"
-#: ../../Zotlabs/Lib/Enotify.php:284
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Si us plau, visita %s per aprovar o rebutjar la petició de connexió."
+#: ../../addon/morepokes/morepokes.php:27
+msgid "raised their eyebrows at"
+msgstr "li ha aixecat una cella a"
-#: ../../Zotlabs/Lib/Enotify.php:291
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla:Notificació] Rebuda suggerencia d'amistat"
+#: ../../addon/morepokes/morepokes.php:28
+msgid "insult"
+msgstr "insultar"
-#: ../../Zotlabs/Lib/Enotify.php:292
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, has rebut una suggerència d'amistat de '%2$s' a %3$s"
+#: ../../addon/morepokes/morepokes.php:28
+msgid "insulted"
+msgstr "ha insultat a"
-#: ../../Zotlabs/Lib/Enotify.php:293
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, has rebut [zrl=%2$s]una suggerència d'amistat[/zrl] per %3$s de %4$s."
+#: ../../addon/morepokes/morepokes.php:29
+msgid "praise"
+msgstr "elogiar"
-#: ../../Zotlabs/Lib/Enotify.php:299
-msgid "Name:"
-msgstr "Nom:"
+#: ../../addon/morepokes/morepokes.php:29
+msgid "praised"
+msgstr "ha elogiat a"
-#: ../../Zotlabs/Lib/Enotify.php:300
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../addon/morepokes/morepokes.php:30
+msgid "be dubious of"
+msgstr "sospitar"
-#: ../../Zotlabs/Lib/Enotify.php:303
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Per favor, visita %s per a aprovar o rebutjar la suggerencia."
+#: ../../addon/morepokes/morepokes.php:30
+msgid "was dubious of"
+msgstr "sospita de"
-#: ../../Zotlabs/Lib/Enotify.php:518
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla:Notificació]"
+#: ../../addon/morepokes/morepokes.php:31
+msgid "eat"
+msgstr "menjar"
-#: ../../Zotlabs/Lib/Enotify.php:667
-msgid "created a new post"
-msgstr "Creada una nova entrada"
+#: ../../addon/morepokes/morepokes.php:31
+msgid "ate"
+msgstr "s'ha menjat"
-#: ../../Zotlabs/Lib/Enotify.php:668
-#, php-format
-msgid "commented on %s's post"
-msgstr "comentat a l'entrada de %s"
+#: ../../addon/morepokes/morepokes.php:32
+msgid "giggle and fawn at"
+msgstr "cantar-ne les mil meravelles"
-#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:664
-msgid "Private Message"
-msgstr "Missatge Privat"
+#: ../../addon/morepokes/morepokes.php:32
+msgid "giggled and fawned at"
+msgstr "està cantant les mil meravelles de"
-#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:656
-msgid "Select"
-msgstr "Selecciona"
+#: ../../addon/morepokes/morepokes.php:33
+msgid "doubt"
+msgstr "dubtar-ne"
-#: ../../Zotlabs/Lib/ThreadItem.php:136
-msgid "Save to Folder"
-msgstr "Guardar en la Carpeta"
+#: ../../addon/morepokes/morepokes.php:33
+msgid "doubted"
+msgstr "dubta de"
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I will attend"
-msgstr "Assistiré"
+#: ../../addon/morepokes/morepokes.php:34
+msgid "glare"
+msgstr "fer-li una mirada assassina"
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I will not attend"
-msgstr "No assistiré"
+#: ../../addon/morepokes/morepokes.php:34
+msgid "glared at"
+msgstr "li ha fet una mirada assassina a"
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I might attend"
-msgstr "Podria assistir"
+#: ../../addon/morepokes/morepokes.php:35
+msgid "fuck"
+msgstr "follar-hi"
-#: ../../Zotlabs/Lib/ThreadItem.php:167
-msgid "I agree"
-msgstr "D'acord"
+#: ../../addon/morepokes/morepokes.php:35
+msgid "fucked"
+msgstr "ha follat amb"
-#: ../../Zotlabs/Lib/ThreadItem.php:167
-msgid "I disagree"
-msgstr "En desacord"
+#: ../../addon/morepokes/morepokes.php:36
+msgid "bonk"
+msgstr "tirar-se'l/la"
-#: ../../Zotlabs/Lib/ThreadItem.php:167
-msgid "I abstain"
-msgstr "M'abstinc"
+#: ../../addon/morepokes/morepokes.php:36
+msgid "bonked"
+msgstr "s'ha tirat a"
-#: ../../Zotlabs/Lib/ThreadItem.php:218
-msgid "Add Star"
-msgstr "Fes-lo Preferit"
+#: ../../addon/morepokes/morepokes.php:37
+msgid "declare undying love for"
+msgstr "declarar-li l'amor etern a"
-#: ../../Zotlabs/Lib/ThreadItem.php:219
-msgid "Remove Star"
-msgstr "Treu-lo de Preferits"
+#: ../../addon/morepokes/morepokes.php:37
+msgid "declared undying love for"
+msgstr "li ha declarar amor etern a"
-#: ../../Zotlabs/Lib/ThreadItem.php:220
-msgid "Toggle Star Status"
-msgstr "Canvia el Estat de la Preferència"
+#: ../../addon/diaspora/diaspora.php:778
+msgid "Diaspora Protocol Settings updated."
+msgstr "S'ha actualitzat la configuració del Protocol de Diàspora"
-#: ../../Zotlabs/Lib/ThreadItem.php:224
-msgid "starred"
-msgstr "preferit"
+#: ../../addon/diaspora/diaspora.php:797
+msgid ""
+"The Diaspora protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr "El Protocol de Diàspora és incompatible amb la independència de hub. Les connexions que facis en aquesta xarxa no seran accessibles des de hubs alternatius del teu canal."
-#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:671
-msgid "Message signature validated"
-msgstr "Validada la signatura del missatge"
+#: ../../addon/diaspora/diaspora.php:800
+msgid "Enable the Diaspora protocol for this channel"
+msgstr "Activa el Protocol de Diàspora per aquest canal"
-#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:672
-msgid "Message signature incorrect"
-msgstr "Signatura del missatge incorrecta"
+#: ../../addon/diaspora/diaspora.php:804
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr "Permet a qualsevol membre de Diàspora de comentar les teves entrades públiques"
-#: ../../Zotlabs/Lib/ThreadItem.php:243
-msgid "Add Tag"
-msgstr "Afegeix Etiqueta"
+#: ../../addon/diaspora/diaspora.php:808
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr "Evita que les teves etiquetes siguin redirigides a altres llocs web"
-#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
-msgid "like"
-msgstr "agrada"
+#: ../../addon/diaspora/diaspora.php:812
+msgid ""
+"Sign and forward posts and comments with no existing Diaspora signature"
+msgstr "Signa i reenvia entrades o comentaris encara que no tinguin una signatura de Diàspora vàlida."
-#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
-msgid "dislike"
-msgstr "desagrada"
+#: ../../addon/diaspora/diaspora.php:817
+msgid "Followed hashtags (comma separated, do not include the #)"
+msgstr "Etiquetes seguides (separades per comes i sense incloure #)"
-#: ../../Zotlabs/Lib/ThreadItem.php:266
-msgid "Share This"
-msgstr "Comparteix Això"
+#: ../../addon/diaspora/diaspora.php:822
+msgid "Diaspora Protocol Settings"
+msgstr "Configuració del Protocol de Diàspora"
-#: ../../Zotlabs/Lib/ThreadItem.php:266
-msgid "share"
-msgstr "comparteix"
+#: ../../addon/diaspora/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "No s'ha trobat el nom d'usuari en el fitxer d'importació."
-#: ../../Zotlabs/Lib/ThreadItem.php:275
-msgid "Delivery Report"
-msgstr "Informe de Lliurament"
+#: ../../addon/diaspora/import_diaspora.php:41 ../../include/import.php:62
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear."
-#: ../../Zotlabs/Lib/ThreadItem.php:293
+#: ../../addon/testdrive/testdrive.php:104
#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commentari"
-msgstr[1] "%d commentaris"
+msgid "Your account on %s will expire in a few days."
+msgstr "El teu compte a %s caducarà d'aquí a pocs dies."
-#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Veure perfil de %s - %s"
+#: ../../addon/testdrive/testdrive.php:105
+msgid "Your $Productname test account is about to expire."
+msgstr "El teu compte de prova a $Productname està a punt de caducar."
-#: ../../Zotlabs/Lib/ThreadItem.php:326
-msgid "to"
-msgstr "a"
+#: ../../addon/rainbowtag/rainbowtag.php:81
+msgid "Enable Rainbowtag"
+msgstr "Activa el Rainbowtag"
-#: ../../Zotlabs/Lib/ThreadItem.php:327
-msgid "via"
-msgstr "via"
+#: ../../addon/rainbowtag/rainbowtag.php:85
+msgid "Rainbowtag Settings"
+msgstr "Configuració de Rainbowtag"
-#: ../../Zotlabs/Lib/ThreadItem.php:328
-msgid "Wall-to-Wall"
-msgstr "Mur-a-Mur"
+#: ../../addon/rainbowtag/rainbowtag.php:101
+msgid "Rainbowtag Settings saved."
+msgstr "S'ha desat la configuració del Rainbowtag."
-#: ../../Zotlabs/Lib/ThreadItem.php:329
-msgid "via Wall-To-Wall:"
-msgstr "via Mur-a-Mur:"
+#: ../../addon/upload_limits/upload_limits.php:25
+msgid "Show Upload Limits"
+msgstr "Mostra els límits de pujada"
-#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:719
-#, php-format
-msgid "from %s"
-msgstr "De %s"
+#: ../../addon/upload_limits/upload_limits.php:27
+msgid "Hubzilla configured maximum size: "
+msgstr "Mida màxima configurada a $Projectname:"
-#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:722
-#, php-format
-msgid "last edited: %s"
-msgstr "últim editat: %s"
+#: ../../addon/upload_limits/upload_limits.php:28
+msgid "PHP upload_max_filesize: "
+msgstr "Mida màxima de fitxer del PHP (upload_max_filesize):"
-#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:723
-#, php-format
-msgid "Expires: %s"
-msgstr "Expira: %s"
+#: ../../addon/upload_limits/upload_limits.php:29
+msgid "PHP post_max_size (must be larger than upload_max_filesize): "
+msgstr "Mida màxima de consulta web del PHP (post_max_size > upload_max_filesize):"
-#: ../../Zotlabs/Lib/ThreadItem.php:370
-msgid "Save Bookmarks"
-msgstr "Guarda Favorits"
+#: ../../addon/gravatar/gravatar.php:123
+msgid "generic profile image"
+msgstr "imatge de perfil genèrica"
-#: ../../Zotlabs/Lib/ThreadItem.php:371
-msgid "Add to Calendar"
-msgstr "Afegeix al Calendari"
+#: ../../addon/gravatar/gravatar.php:124
+msgid "random geometric pattern"
+msgstr "patró geomètric aleatori"
-#: ../../Zotlabs/Lib/ThreadItem.php:380
-msgid "Mark all seen"
-msgstr "Marca tot com ja vist"
+#: ../../addon/gravatar/gravatar.php:125
+msgid "monster face"
+msgstr "cara de monstre"
-#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] mostra tot"
+#: ../../addon/gravatar/gravatar.php:126
+msgid "computer generated face"
+msgstr "cara generada per ordinador"
-#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1215
-msgid "Bold"
-msgstr "Negreta"
+#: ../../addon/gravatar/gravatar.php:127
+msgid "retro arcade style face"
+msgstr "cara d'estil arcade retro"
-#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1216
-msgid "Italic"
-msgstr "Italica"
+#: ../../addon/gravatar/gravatar.php:128
+msgid "Hub default profile photo"
+msgstr "Foto de perfil per defecte al hub"
-#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1217
-msgid "Underline"
-msgstr "Subratllat"
+#: ../../addon/gravatar/gravatar.php:143
+msgid "Information"
+msgstr "Informació"
-#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1218
-msgid "Quote"
-msgstr "Cometes"
+#: ../../addon/gravatar/gravatar.php:143
+msgid ""
+"Libravatar addon is installed, too. Please disable Libravatar addon or this "
+"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
+"nothing was found at Libravatar."
+msgstr "L'extensió Libravatar també està instaŀlada. Desactiva-la o desactiva aquesta. <br>Libravatar rebotarà a Gravatar si no es troba res a Libravatar."
-#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1219
-msgid "Code"
-msgstr "Codi"
+#: ../../addon/gravatar/gravatar.php:150
+#: ../../addon/msgfooter/msgfooter.php:46 ../../addon/xmpp/xmpp.php:91
+msgid "Save Settings"
+msgstr "Des la configuració"
-#: ../../Zotlabs/Lib/ThreadItem.php:716
-msgid "Image"
-msgstr "Imatge"
+#: ../../addon/gravatar/gravatar.php:151
+msgid "Default avatar image"
+msgstr "Avatar per defecte"
-#: ../../Zotlabs/Lib/ThreadItem.php:717
-msgid "Insert Link"
-msgstr "Insereix Enllaç"
+#: ../../addon/gravatar/gravatar.php:151
+msgid "Select default avatar image if none was found at Gravatar. See README"
+msgstr "Escull l'avatar per defecte si no se'n troba cap al Gravatar. Consulta el README"
-#: ../../Zotlabs/Lib/ThreadItem.php:718
-msgid "Video"
-msgstr "Video"
+#: ../../addon/gravatar/gravatar.php:152
+msgid "Rating of images"
+msgstr "Categorització de les imatges"
-#: ../../include/Import/import_diaspora.php:16
-msgid "No username found in import file."
-msgstr "No s'ha trobat nom d'usuari a l'arxiu d'importació."
+#: ../../addon/gravatar/gravatar.php:152
+msgid "Select the appropriate avatar rating for your site. See README"
+msgstr "Escull la categorització d'avatar per al teu lloc. Consulta el README"
-#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:50
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "No s'ha pogut importar el canal perquè l'adreça única de canal no s'ha pogut crear."
+#: ../../addon/gravatar/gravatar.php:165
+msgid "Gravatar settings updated."
+msgstr "S'ha actualitzat la configuració del Gravatar"
-#: ../../include/dba/dba_driver.php:171
+#: ../../addon/hzfiles/hzfiles.php:79
+msgid "Hubzilla File Storage Import"
+msgstr "Importació d'emmagatzematge de Hubzilla"
+
+#: ../../addon/hzfiles/hzfiles.php:80
+msgid "This will import all your cloud files from another server."
+msgstr "Permet importar tots els arxius de núvol des d'un altre servidor."
+
+#: ../../addon/hzfiles/hzfiles.php:81
+msgid "Hubzilla Server base URL"
+msgstr "Adreça URL base de l'altre servidor Hubzilla"
+
+#: ../../addon/hzfiles/hzfiles.php:82
+msgid "Since modified date yyyy-mm-dd"
+msgstr "Més nous que aaaa-mm-dd"
+
+#: ../../addon/hzfiles/hzfiles.php:83
+msgid "Until modified date yyyy-mm-dd"
+msgstr "Més antics que aaaa-mm-dd"
+
+#: ../../addon/visage/visage.php:93
+msgid "Recent Channel/Profile Viewers"
+msgstr "Visitants recents del canal o perfil"
+
+#: ../../addon/visage/visage.php:98
+msgid "This plugin/addon has not been configured."
+msgstr "Aquesta extensió encara no està configurada."
+
+#: ../../addon/visage/visage.php:99
#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "No s'ha trobat informació de DNS pel servidor de base de dades '%s'"
+msgid "Please visit the Visage settings on %s"
+msgstr "Visita la configuració del Visage a %s"
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/contact_widgets.php:91
-msgid "Categories"
-msgstr "Categories"
+#: ../../addon/visage/visage.php:99
+msgid "your feature settings page"
+msgstr "la pàgina de configuració de funcionalitats"
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
-msgstr "Etiquetes"
+#: ../../addon/visage/visage.php:112
+msgid "No entries."
+msgstr "No hi ha entrades."
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
-msgstr "Paraules clau"
+#: ../../addon/visage/visage.php:166
+msgid "Enable Visage Visitor Logging"
+msgstr "Activa el registre de visitants de Visage"
-#: ../../include/taxonomy.php:314
-msgid "have"
-msgstr "tinc"
+#: ../../addon/visage/visage.php:170
+msgid "Visage Settings"
+msgstr "Configuració del Visage"
-#: ../../include/taxonomy.php:314
-msgid "has"
-msgstr "tens"
+#: ../../addon/nsabait/nsabait.php:125
+msgid "Nsabait Settings updated."
+msgstr "S'ha actualitzat la configuració de NSAbait."
-#: ../../include/taxonomy.php:315
-msgid "want"
-msgstr "vull"
+#: ../../addon/nsabait/nsabait.php:157
+msgid "Enable NSAbait Plugin"
+msgstr "Activa l'extensió NSAbait"
-#: ../../include/taxonomy.php:315
-msgid "wants"
-msgstr "vols"
+#: ../../addon/nsabait/nsabait.php:161
+msgid "NSAbait Settings"
+msgstr "Configuració del NSAbait"
-#: ../../include/taxonomy.php:316
-msgid "likes"
-msgstr "agrada"
+#: ../../addon/mailtest/mailtest.php:19
+msgid "Send test email"
+msgstr "Envia un correu de prova"
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
-msgstr "desagrada"
+#: ../../addon/mailtest/mailtest.php:50 ../../addon/hubwall/hubwall.php:50
+msgid "No recipients found."
+msgstr "No s'han trobat destinataris."
-#: ../../include/event.php:22 ../../include/event.php:69
-#: ../../include/bb2diaspora.php:485
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
+#: ../../addon/mailtest/mailtest.php:66
+msgid "Mail sent."
+msgstr "S'ha enviat el correu."
-#: ../../include/event.php:30 ../../include/event.php:73
-#: ../../include/bb2diaspora.php:491
-msgid "Starts:"
-msgstr "Inicia:"
+#: ../../addon/mailtest/mailtest.php:68
+msgid "Sending of mail failed."
+msgstr "Ha fallat l'enviament de correu."
-#: ../../include/event.php:40 ../../include/event.php:77
-#: ../../include/bb2diaspora.php:499
-msgid "Finishes:"
-msgstr "Acaba:"
+#: ../../addon/mailtest/mailtest.php:77
+msgid "Mail Test"
+msgstr "Prova de correu"
-#: ../../include/event.php:812
-msgid "This event has been added to your calendar."
-msgstr "Aquest succés ha estat afegit al teu calendari."
+#: ../../addon/mailtest/mailtest.php:96 ../../addon/hubwall/hubwall.php:92
+msgid "Message subject"
+msgstr "Assumpte"
-#: ../../include/event.php:1012
-msgid "Not specified"
-msgstr "Sense especificar"
+#: ../../addon/mdpost/mdpost.php:41
+msgid "Use markdown for editing posts"
+msgstr "Fes servir markdown per editar les entrades"
-#: ../../include/event.php:1013
-msgid "Needs Action"
-msgstr "Necessita una Acció"
+#: ../../addon/openstreetmap/openstreetmap.php:146
+msgid "View Larger"
+msgstr "Amplia"
-#: ../../include/event.php:1014
-msgid "Completed"
-msgstr "Completat"
+#: ../../addon/openstreetmap/openstreetmap.php:169
+msgid "Tile Server URL"
+msgstr "Adreça URL del servidor de tesseŀles"
-#: ../../include/event.php:1015
-msgid "In Process"
-msgstr "En Procès"
+#: ../../addon/openstreetmap/openstreetmap.php:169
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" "
+"target=\"_blank\">public tile servers</a>"
+msgstr "Una llista de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">servidors públics de tesseŀles</a>"
-#: ../../include/event.php:1016
-msgid "Cancelled"
-msgstr "Cancel·lat"
+#: ../../addon/openstreetmap/openstreetmap.php:170
+msgid "Nominatim (reverse geocoding) Server URL"
+msgstr "Adreça URL del servei Nominatim (geocoding invers)"
-#: ../../include/import.php:29
+#: ../../addon/openstreetmap/openstreetmap.php:170
msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor."
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" "
+"target=\"_blank\">Nominatim servers</a>"
+msgstr "Una llista de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">servidors públics de Nominatim</a>"
-#: ../../include/import.php:76
-msgid "Channel clone failed. Import failed."
-msgstr "No s'ha pogut importar el canal perquè el canal no s'ha pogut clonar."
+#: ../../addon/openstreetmap/openstreetmap.php:171
+msgid "Default zoom"
+msgstr "Zoom per defecte"
-#: ../../include/items.php:892 ../../include/items.php:937
-msgid "(Unknown)"
-msgstr "(Desconegut)"
+#: ../../addon/openstreetmap/openstreetmap.php:171
+msgid ""
+"The default zoom level. (1:world, 18:highest, also depends on tile server)"
+msgstr "El nivell de zoom predeterminat. (1: mínim, món. 18: màxim. També depèn del servidor)"
-#: ../../include/items.php:1136
-msgid "Visible to anybody on the internet."
-msgstr "Visible per tothom a la Internet"
+#: ../../addon/openstreetmap/openstreetmap.php:172
+msgid "Include marker on map"
+msgstr "Inclou una xinxeta al mapa"
-#: ../../include/items.php:1138
-msgid "Visible to you only."
-msgstr "Visible només per tú."
+#: ../../addon/openstreetmap/openstreetmap.php:172
+msgid "Include a marker on the map."
+msgstr "Inclou una xinxeta al mapa."
-#: ../../include/items.php:1140
-msgid "Visible to anybody in this network."
-msgstr "Visible per tothom en aquesta xarxa."
+#: ../../addon/msgfooter/msgfooter.php:47
+msgid "text to include in all outgoing posts from this site"
+msgstr "text per incloure en totes les entrades que s'enviïn des d'aquest lloc"
-#: ../../include/items.php:1142
-msgid "Visible to anybody authenticated."
-msgstr "Visible per tothom autenticat."
+#: ../../addon/rtof/rtof.php:45
+msgid "Post to Friendica"
+msgstr "Publica a Friendica"
-#: ../../include/items.php:1144
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visible per a tothom a %s."
+#: ../../addon/rtof/rtof.php:62
+msgid "rtof Settings saved."
+msgstr "S'ha desat la Configuració de rtof."
-#: ../../include/items.php:1146
-msgid "Visible to all connections."
-msgstr "Visible per a totes les connexions."
+#: ../../addon/rtof/rtof.php:81
+msgid "Allow posting to Friendica"
+msgstr "Permet publicar a xarxes Friendica"
-#: ../../include/items.php:1148
-msgid "Visible to approved connections."
-msgstr "Visible per a les connexions aprovades."
+#: ../../addon/rtof/rtof.php:85
+msgid "Send public postings to Friendica by default"
+msgstr "Envia per defecte les entrades públiques cap a Friendica"
-#: ../../include/items.php:1150
-msgid "Visible to specific connections."
-msgstr "Visible per a específiques connexions."
+#: ../../addon/rtof/rtof.php:89
+msgid "Friendica API Path"
+msgstr "Ruta a l'API de Friendica"
-#: ../../include/items.php:3909
-msgid "Privacy group is empty."
-msgstr "El grup privat està vuit."
+#: ../../addon/rtof/rtof.php:89 ../../addon/redred/redred.php:103
+msgid "https://{sitename}/api"
+msgstr "https://{nomdedomini}/api"
-#: ../../include/items.php:3916
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Grup privat: %s"
+#: ../../addon/rtof/rtof.php:93
+msgid "Friendica login name"
+msgstr "Nom d'usuari a Friendica"
-#: ../../include/items.php:3928
-msgid "Connection not found."
-msgstr "Connexió no trobada."
+#: ../../addon/rtof/rtof.php:97
+msgid "Friendica password"
+msgstr "Contrasenya a Friendica"
-#: ../../include/items.php:4277
-msgid "profile photo"
-msgstr "foto del perfil"
+#: ../../addon/rtof/rtof.php:101
+msgid "Hubzilla to Friendica Post Settings"
+msgstr "Configuració de Publicació de Hubzilla cap a Friendica"
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "No s'ha proporcionat bústia."
+#: ../../addon/jappixmini/jappixmini.php:305 ../../include/channel.php:1397
+#: ../../include/channel.php:1568
+msgid "Status:"
+msgstr "Estatus:"
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[no subject]"
+#: ../../addon/jappixmini/jappixmini.php:309
+msgid "Activate addon"
+msgstr "Habilita l'extensió"
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "incapaç de determinar el remitent"
+#: ../../addon/jappixmini/jappixmini.php:313
+msgid "Hide Jappixmini Chat-Widget from the webinterface"
+msgstr "Amaga el giny de xat Jappixmini"
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "L'entrada guardada no pot ser verificada"
+#: ../../addon/jappixmini/jappixmini.php:318
+msgid "Jabber username"
+msgstr "Nom a Jabber"
-#: ../../include/text.php:428
-msgid "prev"
-msgstr "prev"
+#: ../../addon/jappixmini/jappixmini.php:324
+msgid "Jabber server"
+msgstr "Servidor de Jabber"
-#: ../../include/text.php:430
-msgid "first"
-msgstr "primer"
+#: ../../addon/jappixmini/jappixmini.php:330
+msgid "Jabber BOSH host URL"
+msgstr "URL de l'amfitrió BOSH de Jabber"
-#: ../../include/text.php:459
-msgid "last"
-msgstr "últim"
+#: ../../addon/jappixmini/jappixmini.php:337
+msgid "Jabber password"
+msgstr "Contrassenya de Jabber"
-#: ../../include/text.php:462
-msgid "next"
-msgstr "pròxim"
+#: ../../addon/jappixmini/jappixmini.php:343
+msgid "Encrypt Jabber password with Hubzilla password"
+msgstr "Xifra la contrasenya de Jabber amb la del Hubzilla"
-#: ../../include/text.php:472
-msgid "older"
-msgstr "el més antic"
+#: ../../addon/jappixmini/jappixmini.php:347 ../../addon/redred/redred.php:115
+msgid "Hubzilla password"
+msgstr "Contrasenya del Hubzilla"
-#: ../../include/text.php:474
-msgid "newer"
-msgstr "El més nou"
+#: ../../addon/jappixmini/jappixmini.php:351
+#: ../../addon/jappixmini/jappixmini.php:355
+msgid "Approve subscription requests from Hubzilla contacts automatically"
+msgstr "Aprova automàticament les sol·licituds de subscripció de contactes de Hubzilla"
-#: ../../include/text.php:863
-msgid "No connections"
-msgstr "Sense Connexions"
+#: ../../addon/jappixmini/jappixmini.php:359
+msgid "Purge internal list of jabber addresses of contacts"
+msgstr "Neteja la llista interna de contactes de Jabber"
-#: ../../include/text.php:888
-#, php-format
-msgid "View all %s connections"
-msgstr "Veure totes les connexions de %s"
+#: ../../addon/jappixmini/jappixmini.php:364
+msgid "Configuration Help"
+msgstr "Ajuda de configuració"
-#: ../../include/text.php:1033 ../../include/text.php:1038
-msgid "poke"
-msgstr "esperona"
+#: ../../addon/jappixmini/jappixmini.php:371
+msgid "Jappix Mini Settings"
+msgstr "Paràmetres de Jappix Mini"
-#: ../../include/text.php:1033 ../../include/text.php:1038
-#: ../../include/conversation.php:243
-msgid "poked"
-msgstr "esperonat"
+#: ../../addon/superblock/superblock.php:112
+msgid "Currently blocked"
+msgstr "Bloquejats actualment"
-#: ../../include/text.php:1039
-msgid "ping"
-msgstr "coloca"
+#: ../../addon/superblock/superblock.php:114
+msgid "No channels currently blocked"
+msgstr "No hi ha canals bloquejats"
-#: ../../include/text.php:1039
-msgid "pinged"
-msgstr "colocat"
+#: ../../addon/superblock/superblock.php:120
+msgid "\"Superblock\" Settings"
+msgstr "Configuració del Superblock"
-#: ../../include/text.php:1040
-msgid "prod"
-msgstr "picar"
+#: ../../addon/superblock/superblock.php:345
+msgid "Block Completely"
+msgstr "Bloqueja completament"
-#: ../../include/text.php:1040
-msgid "prodded"
-msgstr "picat"
+#: ../../addon/superblock/superblock.php:394
+msgid "superblock settings updated"
+msgstr "S'ha actualitzat la configuració del Superblock"
-#: ../../include/text.php:1041
-msgid "slap"
-msgstr "bufetada"
+#: ../../addon/nofed/nofed.php:42
+msgid "Federate"
+msgstr "Federa"
-#: ../../include/text.php:1041
-msgid "slapped"
-msgstr "bufetejat"
+#: ../../addon/nofed/nofed.php:56
+msgid "nofed Settings saved."
+msgstr "S'ha desat la configuració del NoFed."
-#: ../../include/text.php:1042
-msgid "finger"
-msgstr "senyal"
+#: ../../addon/nofed/nofed.php:72
+msgid "Allow Federation Toggle"
+msgstr "Permet commutar entre federar o no"
-#: ../../include/text.php:1042
-msgid "fingered"
-msgstr "senyalat"
+#: ../../addon/nofed/nofed.php:76
+msgid "Federate posts by default"
+msgstr "Per defecte federa les entrades"
-#: ../../include/text.php:1043
-msgid "rebuff"
-msgstr "menyspreu"
+#: ../../addon/nofed/nofed.php:80
+msgid "NoFed Settings"
+msgstr "Configuració del NoFed"
-#: ../../include/text.php:1043
-msgid "rebuffed"
-msgstr "menyspreuat"
+#: ../../addon/redred/redred.php:45
+msgid "Post to Red"
+msgstr "Publica a Red"
-#: ../../include/text.php:1055
-msgid "happy"
-msgstr "feliç"
+#: ../../addon/redred/redred.php:60
+msgid "Channel is required."
+msgstr "Cal un canal."
-#: ../../include/text.php:1056
-msgid "sad"
-msgstr "trist"
+#: ../../addon/redred/redred.php:76
+msgid "redred Settings saved."
+msgstr "S'ha desat la configuració del RedRed"
-#: ../../include/text.php:1057
-msgid "mellow"
-msgstr "melós"
+#: ../../addon/redred/redred.php:95
+msgid "Allow posting to another Hubzilla Channel"
+msgstr "Permet publicar a un altre canal de Hubzilla"
-#: ../../include/text.php:1058
-msgid "tired"
-msgstr "cansat"
+#: ../../addon/redred/redred.php:99
+msgid "Send public postings to Hubzilla channel by default"
+msgstr "Envia per defecte les entrades públiques cap a l'altre canal de Hubzilla"
-#: ../../include/text.php:1059
-msgid "perky"
-msgstr "turgent"
+#: ../../addon/redred/redred.php:103
+msgid "Hubzilla API Path"
+msgstr "Ruta de l'API de Hubzilla"
-#: ../../include/text.php:1060
-msgid "angry"
-msgstr "enfadat"
+#: ../../addon/redred/redred.php:107
+msgid "Hubzilla login name"
+msgstr "Nom d'usuari a l'altre Hubzilla"
-#: ../../include/text.php:1061
-msgid "stupefied"
-msgstr "estupefacte"
+#: ../../addon/redred/redred.php:111
+msgid "Hubzilla channel name"
+msgstr "Nom de canal a l'altre Hubzilla"
-#: ../../include/text.php:1062
-msgid "puzzled"
-msgstr "perplexe"
+#: ../../addon/redred/redred.php:119
+msgid "Hubzilla Crosspost Settings"
+msgstr "Configuració del replicador de Hubzilla"
-#: ../../include/text.php:1063
-msgid "interested"
-msgstr "Interessat"
+#: ../../addon/logrot/logrot.php:36
+msgid "Logfile archive directory"
+msgstr "Carpeta d'arxius de registre d'activitat"
-#: ../../include/text.php:1064
-msgid "bitter"
-msgstr "amargat"
+#: ../../addon/logrot/logrot.php:36
+msgid "Directory to store rotated logs"
+msgstr "Carpeta per desar els registres circulars"
-#: ../../include/text.php:1065
-msgid "cheerful"
-msgstr "feliç"
+#: ../../addon/logrot/logrot.php:37
+msgid "Logfile size in bytes before rotating"
+msgstr "Mida en Bytes del fitxer de registre abans de rotar"
-#: ../../include/text.php:1066
-msgid "alive"
-msgstr "viu"
+#: ../../addon/logrot/logrot.php:38
+msgid "Number of logfiles to retain"
+msgstr "Número de fitxers de registre per a conservar"
-#: ../../include/text.php:1067
-msgid "annoyed"
-msgstr "molest"
+#: ../../addon/frphotos/frphotos.php:91
+msgid "Friendica Photo Album Import"
+msgstr "Importa àlbums de fotos de Friendica"
-#: ../../include/text.php:1068
-msgid "anxious"
-msgstr "ansiós"
+#: ../../addon/frphotos/frphotos.php:92
+msgid "This will import all your Friendica photo albums to this Red channel."
+msgstr "Aquesta acció importarà tots els teus àlbums de fotos de Friendica a aquest canal."
-#: ../../include/text.php:1069
-msgid "cranky"
-msgstr "malagaitós"
+#: ../../addon/frphotos/frphotos.php:93
+msgid "Friendica Server base URL"
+msgstr "URL base del servidor de Friendica"
-#: ../../include/text.php:1070
-msgid "disturbed"
-msgstr "transtornat"
+#: ../../addon/frphotos/frphotos.php:94
+msgid "Friendica Login Username"
+msgstr "Nom de registre a Friendica"
-#: ../../include/text.php:1071
-msgid "frustrated"
-msgstr "frustrat"
+#: ../../addon/frphotos/frphotos.php:95
+msgid "Friendica Login Password"
+msgstr "Contrasenya a Friendica"
-#: ../../include/text.php:1072
-msgid "depressed"
-msgstr "deprimit"
+#: ../../addon/pubcrawl/as.php:1101 ../../addon/pubcrawl/as.php:1228
+#: ../../addon/pubcrawl/as.php:1403 ../../include/network.php:1774
+msgid "ActivityPub"
+msgstr "ActivityPub"
-#: ../../include/text.php:1073
-msgid "motivated"
-msgstr "motivat"
+#: ../../addon/pubcrawl/pubcrawl.php:1034
+msgid "ActivityPub Protocol Settings updated."
+msgstr "S'ha actualitzat la configuració del Protocol ActivityPub."
-#: ../../include/text.php:1074
-msgid "relaxed"
-msgstr "relaxat"
+#: ../../addon/pubcrawl/pubcrawl.php:1043
+msgid ""
+"The ActivityPub protocol does not support location independence. Connections"
+" you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr "El Protocol ActivityPub és incompatible amb la independència de hub. Les connexions que facis en aquesta xarxa no seran accessibles des de hubs alternatius del teu canal."
-#: ../../include/text.php:1075
-msgid "surprised"
-msgstr "sorprès"
+#: ../../addon/pubcrawl/pubcrawl.php:1046
+msgid "Enable the ActivityPub protocol for this channel"
+msgstr "Activa el Protocol ActivityPub en aquest canal"
-#: ../../include/text.php:1257 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr "Dilluns"
+#: ../../addon/pubcrawl/pubcrawl.php:1049
+msgid "Send multi-media HTML articles"
+msgstr "Envia articles HTML multimèdia"
-#: ../../include/text.php:1257 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr "Dimarts"
+#: ../../addon/pubcrawl/pubcrawl.php:1049
+msgid "Not supported by some microblog services such as Mastodon"
+msgstr "Incompatible amb alguns serveis de microbloguing com Mastodon"
-#: ../../include/text.php:1257 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr "Dimecres"
+#: ../../addon/pubcrawl/pubcrawl.php:1053
+msgid "ActivityPub Protocol Settings"
+msgstr "Configuració del Protocol ActivityPub"
-#: ../../include/text.php:1257 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr "Dijous"
+#: ../../addon/donate/donate.php:21
+msgid "Project Servers and Resources"
+msgstr "Servidors de projecte i Recursos"
-#: ../../include/text.php:1257 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr "Divendres"
+#: ../../addon/donate/donate.php:22
+msgid "Project Creator and Tech Lead"
+msgstr "Creador del projecte i cap tècnic"
-#: ../../include/text.php:1257 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr "Dissabte"
+#: ../../addon/donate/donate.php:23
+msgid "Admin, developer, directorymin, support bloke"
+msgstr "Administradora, desenvolupadora, admin del directori, persona de suport"
-#: ../../include/text.php:1257 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr "Diumenge"
+#: ../../addon/donate/donate.php:50
+msgid ""
+"And the hundreds of other people and organisations who helped make the "
+"Hubzilla possible."
+msgstr "I els centenars d'altra gent i organitzacions que han ajudat que Hubzilla fos possible."
-#: ../../include/text.php:1261 ../../include/js_strings.php:45
-msgid "January"
-msgstr "Gener"
+#: ../../addon/donate/donate.php:53
+msgid ""
+"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving "
+"their time and expertise - and often paying out of pocket for services they "
+"share with others."
+msgstr "Els projectes Redmatrix i Hubzilla són oferts principalment per voluntàries que donen el seu temps i experiència i que fins i tot solen posar-hi diners de la seva butxaca per a compartir serveis amb altres."
-#: ../../include/text.php:1261 ../../include/js_strings.php:46
-msgid "February"
-msgstr "Febrer"
+#: ../../addon/donate/donate.php:54
+msgid ""
+"There is no corporate funding and no ads, and we do not collect and sell "
+"your personal information. (We don't control your personal information - "
+"<strong>you do</strong>.)"
+msgstr "No rebem cap mena de finançament corporatiu, ni posem anuncis ni recollim i venem les teves dades personals. Nosaltres no controlem les dades personals, sinó <strong>tu</strong>."
-#: ../../include/text.php:1261 ../../include/js_strings.php:47
-msgid "March"
-msgstr "Març"
+#: ../../addon/donate/donate.php:55
+msgid ""
+"Help support our ground-breaking work in decentralisation, web identity, and"
+" privacy."
+msgstr "Ajuda'ns a mantenir la nostra feina pionera cap a la descentralització, la identitat a la web i la privacitat."
-#: ../../include/text.php:1261 ../../include/js_strings.php:48
-msgid "April"
-msgstr "Abril"
+#: ../../addon/donate/donate.php:57
+msgid ""
+"Your donations keep servers and services running and also helps us to "
+"provide innovative new features and continued development."
+msgstr "Les teves donacions mantenen els servidors i els serveis corrent, i ens ajuda a oferir noves funcionalitats i continuar el desenvolupament en marxa."
-#: ../../include/text.php:1261
-msgid "May"
-msgstr "Maig"
+#: ../../addon/donate/donate.php:60
+msgid "Donate"
+msgstr "Dóna"
-#: ../../include/text.php:1261 ../../include/js_strings.php:50
-msgid "June"
-msgstr "Juny"
+#: ../../addon/donate/donate.php:62
+msgid ""
+"Choose a project, developer, or public hub to support with a one-time "
+"donation"
+msgstr "Tria un projecte, desenvolupador o hub públic per a donar suport amb una donació"
-#: ../../include/text.php:1261 ../../include/js_strings.php:51
-msgid "July"
-msgstr "Juliol"
+#: ../../addon/donate/donate.php:63
+msgid "Donate Now"
+msgstr "Dóna ara"
-#: ../../include/text.php:1261 ../../include/js_strings.php:52
-msgid "August"
-msgstr "Agost"
+#: ../../addon/donate/donate.php:64
+msgid ""
+"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project "
+"only)"
+msgstr "<strong><em>O bé</em></strong>, fes-te patrocinador/a del projecte Hubzilla"
-#: ../../include/text.php:1261 ../../include/js_strings.php:53
-msgid "September"
-msgstr "Setembre"
+#: ../../addon/donate/donate.php:65
+msgid ""
+"Please indicate if you would like your first name or full name (or nothing) "
+"to appear in our sponsor listing"
+msgstr "Indica com vols aparèixer a la llista de patrocinadors: anònim, amb nom, o nom i cognoms"
-#: ../../include/text.php:1261 ../../include/js_strings.php:54
-msgid "October"
-msgstr "Octubre"
+#: ../../addon/donate/donate.php:66
+msgid "Sponsor"
+msgstr "Patrocinador"
-#: ../../include/text.php:1261 ../../include/js_strings.php:55
-msgid "November"
-msgstr "Novembre"
+#: ../../addon/donate/donate.php:69
+msgid "Special thanks to: "
+msgstr "Agraïments especials a:"
-#: ../../include/text.php:1261 ../../include/js_strings.php:56
-msgid "December"
-msgstr "Desembre"
+#: ../../addon/chords/Mod_Chords.php:44
+msgid ""
+"This is a fairly comprehensive and complete guitar chord dictionary which "
+"will list most of the available ways to play a certain chord, starting from "
+"the base of the fingerboard up to a few frets beyond the twelfth fret "
+"(beyond which everything repeats). A couple of non-standard tunings are "
+"provided for the benefit of slide players, etc."
+msgstr "És un diccionari prou complet d'acords de guitarra. Llista la majoria de maneres possibles de tocar un cert acord, començant des de la base del mànec fins una mica més apunt del dotzè trast, a partir del qual es repeteixen. Ofereix també un parell d'afinacions no estàndards."
-#: ../../include/text.php:1338 ../../include/text.php:1342
-msgid "Unknown Attachment"
-msgstr "Adjunt Desconegut"
+#: ../../addon/chords/Mod_Chords.php:46
+msgid ""
+"Chord names start with a root note (A-G) and may include sharps (#) and "
+"flats (b). This software will parse most of the standard naming conventions "
+"such as maj, min, dim, sus(2 or 4), aug, with optional repeating elements."
+msgstr "Els noms dels acords estan formats per la nota fonamental en notació anglesa (A-G), i modificadors com \"sostingut\" (#) i \"bemoll\" (b). El programa entén la majoria de convencions com maj, min, dim, sus2, sus4 i aug, amb més d'un element potencialment."
-#: ../../include/text.php:1344
-msgid "unknown"
-msgstr "desconegut"
+#: ../../addon/chords/Mod_Chords.php:48
+msgid ""
+"Valid examples include A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, "
+"E7b13b11 ..."
+msgstr "Exemples vàlids: A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, E7b13b11"
-#: ../../include/text.php:1380
-msgid "remove category"
-msgstr "elimina categoria"
+#: ../../addon/chords/Mod_Chords.php:51
+msgid "Guitar Chords"
+msgstr "Acords de guitarra"
-#: ../../include/text.php:1457
-msgid "remove from file"
-msgstr "elimina del arxiu"
+#: ../../addon/chords/Mod_Chords.php:52
+msgid "The complete online chord dictionary"
+msgstr "El diccionari on-line d'acords"
-#: ../../include/text.php:1753 ../../include/text.php:1824
-msgid "default"
-msgstr "per defecte"
+#: ../../addon/chords/Mod_Chords.php:57
+msgid "Tuning"
+msgstr "Afinació"
-#: ../../include/text.php:1761
-msgid "Page layout"
-msgstr "Format de la pàgina"
+#: ../../addon/chords/Mod_Chords.php:58
+msgid "Chord name: example: Em7"
+msgstr "Exemple de nom d'acord: Em7"
-#: ../../include/text.php:1761
-msgid "You can create your own with the layouts tool"
-msgstr "Pots crear el teu propi amb l'editor de format de pàgina."
+#: ../../addon/chords/Mod_Chords.php:59
+msgid "Show for left handed stringing"
+msgstr "Disposició per esquerrans"
-#: ../../include/text.php:1803
-msgid "Page content type"
-msgstr "Tipus de contingut de la pàgina"
+#: ../../addon/chords/chords.php:33
+msgid "Quick Reference"
+msgstr "Xuleta"
-#: ../../include/text.php:1836
-msgid "Select an alternate language"
-msgstr "Tria un idioma alternatiu"
+#: ../../addon/libertree/libertree.php:38
+msgid "Post to Libertree"
+msgstr "Publica a Libertree"
-#: ../../include/text.php:1953
-msgid "activity"
-msgstr "activitat"
+#: ../../addon/libertree/libertree.php:69
+msgid "Enable Libertree Post Plugin"
+msgstr "Habilita la publicació a Libertree"
-#: ../../include/text.php:2262
-msgid "Design Tools"
-msgstr "Eines de disseny"
+#: ../../addon/libertree/libertree.php:73
+msgid "Libertree API token"
+msgstr "Token per a l'API de Libertree"
-#: ../../include/text.php:2268
-msgid "Pages"
-msgstr "Pàgines"
+#: ../../addon/libertree/libertree.php:77
+msgid "Libertree site URL"
+msgstr "URL del servidor de Libertree"
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Sistema"
+#: ../../addon/libertree/libertree.php:81
+msgid "Post to Libertree by default"
+msgstr "Publica a Libertree per defecte"
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr "Nova App"
+#: ../../addon/libertree/libertree.php:85
+msgid "Libertree Post Settings"
+msgstr "Paràmetres de publicació a Libertree"
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Suggerencies"
+#: ../../addon/libertree/libertree.php:99
+msgid "Libertree Settings saved."
+msgstr "S'han actualitzat els paràmetres de Libertree."
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Veure més....."
+#: ../../addon/flattrwidget/flattrwidget.php:45
+msgid "Flattr this!"
+msgstr "Dóna-hi suport amb Flattr!"
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Tens %1$.0f de %2$.0f connexions permeses."
+#: ../../addon/flattrwidget/flattrwidget.php:83
+msgid "Flattr widget settings updated."
+msgstr "S'han actualitzat els paràmetres del giny de Flattr."
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Afegeix una Nova Connexió"
+#: ../../addon/flattrwidget/flattrwidget.php:100
+msgid "Flattr user"
+msgstr "Nom a Flattr"
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Introdueix l'adreça del canal"
+#: ../../addon/flattrwidget/flattrwidget.php:104
+msgid "URL of the Thing to flattr"
+msgstr "URL del lloc per a donar suport"
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Exemples: bob@example.com, https://exemple.com/barbara"
+#: ../../addon/flattrwidget/flattrwidget.php:104
+msgid "If empty channel URL is used"
+msgstr "Si la deixes buida, es farà servir la URL del canal"
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Notes"
+#: ../../addon/flattrwidget/flattrwidget.php:108
+msgid "Title of the Thing to flattr"
+msgstr "Títol del lloc a donar suport"
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr "Plaç de remoció"
+#: ../../addon/flattrwidget/flattrwidget.php:108
+msgid "If empty \"channel name on The Hubzilla\" will be used"
+msgstr "Si el deixes buit, es farà servir el nom del canal a Hubzilla"
-#: ../../include/widgets.php:281 ../../include/features.php:84
-msgid "Saved Searches"
-msgstr "Cerques Guardades"
+#: ../../addon/flattrwidget/flattrwidget.php:112
+msgid "Static or dynamic flattr button"
+msgstr "Botó estàtic o dinàmic"
-#: ../../include/widgets.php:282 ../../include/group.php:316
-msgid "add"
-msgstr "afegeix"
+#: ../../addon/flattrwidget/flattrwidget.php:112
+msgid "static"
+msgstr "estàtic"
-#: ../../include/widgets.php:310 ../../include/contact_widgets.php:53
-#: ../../include/features.php:98
-msgid "Saved Folders"
-msgstr "Carpetes Guardades"
+#: ../../addon/flattrwidget/flattrwidget.php:112
+msgid "dynamic"
+msgstr "dinàmic"
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
-msgstr "Tot"
+#: ../../addon/flattrwidget/flattrwidget.php:116
+msgid "Alignment of the widget"
+msgstr "Aliniament del giny"
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr "Arxius"
+#: ../../addon/flattrwidget/flattrwidget.php:116
+msgid "left"
+msgstr "esquerra"
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr "Refresc"
+#: ../../addon/flattrwidget/flattrwidget.php:116
+msgid "right"
+msgstr "dreta"
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr "Ajustos de Compte"
+#: ../../addon/flattrwidget/flattrwidget.php:120
+msgid "Enable Flattr widget"
+msgstr "Habilita el giny de Flattr"
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr "Ajustos de Canal"
+#: ../../addon/flattrwidget/flattrwidget.php:124
+msgid "Flattr Widget Settings"
+msgstr "Opcions del giny de Flattr"
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr "Característiques addicionals"
+#: ../../addon/statusnet/statusnet.php:143
+msgid "Post to GNU social"
+msgstr "Publica a GNU Social"
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr "Ajustos de Complements"
+#: ../../addon/statusnet/statusnet.php:195
+msgid ""
+"Please contact your site administrator.<br />The provided API URL is not "
+"valid."
+msgstr "Contacta l'administrador del teu lloc. <br />L'adreça URL de l'API no és vàlida."
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr "Ajustos de pantalla"
+#: ../../addon/statusnet/statusnet.php:232
+msgid "We could not contact the GNU social API with the Path you entered."
+msgstr "No s'ha trobat una API de GNU Social a la ruta introduïda."
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr "Gestiona ubicacions"
+#: ../../addon/statusnet/statusnet.php:266
+msgid "GNU social settings updated."
+msgstr "S'ha actualitzat la configuració de GNU Social "
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr "Exportat canal"
+#: ../../addon/statusnet/statusnet.php:310
+msgid "Globally Available GNU social OAuthKeys"
+msgstr "Claus OAuth de GNU Social diponibles públicament"
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr "Apps connectades"
+#: ../../addon/statusnet/statusnet.php:312
+msgid ""
+"There are preconfigured OAuth key pairs for some GNU social servers "
+"available. If you are using one of them, please use these credentials.<br "
+"/>If not feel free to connect to any other GNU social instance (see below)."
+msgstr "Hi ha disponibles preconfigurats alguns parells de clau OAuth per a alguns servidors de GNU Social. I en fas servir algun, fes servir aquestes credencials.<br />Altrament, pots connectar-te a qualsevol altra instància de GNU Social (mira més avall)"
-#: ../../include/widgets.php:622
-msgid "Premium Channel Settings"
-msgstr "Ajustos Premium de Canal"
+#: ../../addon/statusnet/statusnet.php:327
+msgid "Provide your own OAuth Credentials"
+msgstr "Proporciona credencials OAuth pròpies"
-#: ../../include/widgets.php:651
-msgid "Private Mail Menu"
-msgstr "Menú de Correu Privat"
+#: ../../addon/statusnet/statusnet.php:329
+msgid ""
+"No consumer key pair for GNU social found. Register your Hubzilla Account as"
+" an desktop client on your GNU social account, copy the consumer key pair "
+"here and enter the API base root.<br />Before you register your own OAuth "
+"key pair ask the administrator if there is already a key pair for this "
+"Hubzilla installation at your favourite GNU social installation."
+msgstr "No s'ha trobat cap parell de claus per a GNU Social. Registra el teu compte de Hubzilla com un client d'escriptori al teu compte de GNU Social, després copia el parell de claus de consumidor aquí i finalment introdueix l'adreça arrel de l'API.<br />Abans de registrar el teu propi parell de claus, pregunta a l'administració d'aquest hub si ja hi ha un parell de claus registrat per al mateix servidor de GNU Social."
-#: ../../include/widgets.php:653
-msgid "Combined View"
-msgstr "Vista Combinada"
+#: ../../addon/statusnet/statusnet.php:333
+msgid "OAuth Consumer Key"
+msgstr "Clau de consumidor OAuth"
-#: ../../include/widgets.php:658 ../../include/nav.php:196
-msgid "Inbox"
-msgstr "Safata d'entrada"
+#: ../../addon/statusnet/statusnet.php:337
+msgid "OAuth Consumer Secret"
+msgstr "Secret de consumidor OAuth"
-#: ../../include/widgets.php:663 ../../include/nav.php:197
-msgid "Outbox"
-msgstr "Safata de sortida"
+#: ../../addon/statusnet/statusnet.php:341
+msgid "Base API Path"
+msgstr "Ruta arrel de l'API"
-#: ../../include/widgets.php:668 ../../include/nav.php:198
-msgid "New Message"
-msgstr "Nou Missatge"
+#: ../../addon/statusnet/statusnet.php:341
+msgid "Remember the trailing /"
+msgstr "Recorda la / final"
-#: ../../include/widgets.php:685 ../../include/widgets.php:697
-msgid "Conversations"
-msgstr "Conversacions"
+#: ../../addon/statusnet/statusnet.php:345
+msgid "GNU social application name"
+msgstr "Nom de l'aplicació GNU Social"
-#: ../../include/widgets.php:689
-msgid "Received Messages"
-msgstr "Missatges Rebuts"
+#: ../../addon/statusnet/statusnet.php:368
+msgid ""
+"To connect to your GNU social account click the button below to get a "
+"security code from GNU social which you have to copy into the input box "
+"below and submit the form. Only your <strong>public</strong> posts will be "
+"posted to GNU social."
+msgstr "Per tal de connectar al teu compte de GNU Social, fes clic al botó de sota per a obtenir un codi de seguretat de GNU Social. Després insereix-lo a la caixa de sota i envia el formulari. Només seran publicades a GNU Social <strong>les teves entrades públiques</strong>"
-#: ../../include/widgets.php:693
-msgid "Sent Messages"
-msgstr "Missatges Enviats"
+#: ../../addon/statusnet/statusnet.php:370
+msgid "Log in with GNU social"
+msgstr "Inicia la sessió amb GNU Social"
-#: ../../include/widgets.php:707
-msgid "No messages."
-msgstr "Sense missatges."
+#: ../../addon/statusnet/statusnet.php:373
+msgid "Copy the security code from GNU social here"
+msgstr "Copia el codi de seguretat de GNU Social aquí"
-#: ../../include/widgets.php:725
-msgid "Delete conversation"
-msgstr "Conversació esborrada"
+#: ../../addon/statusnet/statusnet.php:383
+msgid "Cancel Connection Process"
+msgstr "Aborta el procés de connexió"
-#: ../../include/widgets.php:751
-msgid "Events Menu"
-msgstr "Menú d'Esdeveniments"
+#: ../../addon/statusnet/statusnet.php:385
+msgid "Current GNU social API is"
+msgstr "La ruta actual a l'API de GNU Social és"
-#: ../../include/widgets.php:752
-msgid "Day View"
-msgstr "Vista de Dia"
+#: ../../addon/statusnet/statusnet.php:389
+msgid "Cancel GNU social Connection"
+msgstr "Aborta la connexió a GNU Social"
-#: ../../include/widgets.php:753
-msgid "Week View"
-msgstr "Vista de Setmana"
+#: ../../addon/statusnet/statusnet.php:401 ../../addon/twitter/twitter.php:233
+msgid "Currently connected to: "
+msgstr "Actualment estàs connectat/da a:"
-#: ../../include/widgets.php:754
-msgid "Month View"
-msgstr "Vista de Mes"
+#: ../../addon/statusnet/statusnet.php:406
+msgid ""
+"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to GNU social will lead the visitor to a blank page "
+"informing the visitor that the access to your profile has been restricted."
+msgstr "<strong>Nota</strong>: La teva configuració de privacitat amaga els detalls del perfil a visitants desconeguts. Això provocarà que l'enllaç mostrat a GNU Social per a la teva identitat portarà a una pàgina en blanc avisant de la restricció."
-#: ../../include/widgets.php:766
-msgid "Events Tools"
-msgstr "Eina d'Esdeveniments"
+#: ../../addon/statusnet/statusnet.php:411
+msgid "Allow posting to GNU social"
+msgstr "Permet publicar a GNU Social"
-#: ../../include/widgets.php:767
-msgid "Export Calendar"
-msgstr "Exportar Calendari"
+#: ../../addon/statusnet/statusnet.php:411
+msgid ""
+"If enabled your public postings can be posted to the associated GNU-social "
+"account"
+msgstr "Si s'activa, les entrades públiques poden ser penjades al compte associat de GNU Social"
-#: ../../include/widgets.php:768
-msgid "Import Calendar"
-msgstr "Importar Calendari"
+#: ../../addon/statusnet/statusnet.php:415
+msgid "Post to GNU social by default"
+msgstr "Per defecte publica a GNU Social"
-#: ../../include/widgets.php:842 ../../include/conversation.php:1662
-#: ../../include/conversation.php:1665
-msgid "Chatrooms"
-msgstr "Sala per Xerrar"
+#: ../../addon/statusnet/statusnet.php:415
+msgid ""
+"If enabled your public postings will be posted to the associated GNU-social "
+"account by default"
+msgstr "Si s'activa, per defecte es penjaran les teves entrades públiques al teu compte associat de GNU Social"
-#: ../../include/widgets.php:846
-msgid "Overview"
-msgstr "Visió General"
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:261
+msgid "Clear OAuth configuration"
+msgstr "Esborra la configuració de OAuth"
-#: ../../include/widgets.php:853
-msgid "Chat Members"
-msgstr "Membres de la Sala de Xat"
+#: ../../addon/statusnet/statusnet.php:432
+msgid "GNU social Post Settings"
+msgstr "Configuració de Publica a GNU Social"
-#: ../../include/widgets.php:876
-msgid "Bookmarked Chatrooms"
-msgstr "Sales de Xat Favorites"
+#: ../../addon/statusnet/statusnet.php:892
+msgid "API URL"
+msgstr "Adreça URL de l'API"
-#: ../../include/widgets.php:899
-msgid "Suggested Chatrooms"
-msgstr "Sales de Xat Suggerides"
+#: ../../addon/statusnet/statusnet.php:895
+msgid "Application name"
+msgstr "Nom de l'aplicació"
-#: ../../include/widgets.php:1044 ../../include/widgets.php:1156
-msgid "photo/image"
-msgstr "foto/imatge"
+#: ../../addon/qrator/qrator.php:48
+msgid "QR code"
+msgstr "Codi QR"
-#: ../../include/widgets.php:1099
-msgid "Click to show more"
-msgstr "Fes clic per veure més"
+#: ../../addon/qrator/qrator.php:63
+msgid "QR Generator"
+msgstr "Generador de codi QR"
-#: ../../include/widgets.php:1250
-msgid "Rating Tools"
-msgstr "Eines de Valoració"
+#: ../../addon/qrator/qrator.php:64
+msgid "Enter some text"
+msgstr "Escriu un text"
-#: ../../include/widgets.php:1254 ../../include/widgets.php:1256
-msgid "Rate Me"
-msgstr "Valora'm"
+#: ../../addon/chess/chess.php:353 ../../addon/chess/chess.php:542
+msgid "Invalid game."
+msgstr "El joc no és vàlid."
-#: ../../include/widgets.php:1259
-msgid "View Ratings"
-msgstr "Veure Valoracions"
+#: ../../addon/chess/chess.php:359 ../../addon/chess/chess.php:582
+msgid "You are not a player in this game."
+msgstr "No ets un jugador en aquest joc."
-#: ../../include/widgets.php:1316
-msgid "Forums"
-msgstr "Forums"
+#: ../../addon/chess/chess.php:415
+msgid "You must be a local channel to create a game."
+msgstr "Has de crear la partida des d'un canal local."
-#: ../../include/widgets.php:1345
-msgid "Tasks"
-msgstr "Tasques"
+#: ../../addon/chess/chess.php:433
+msgid "You must select one opponent that is not yourself."
+msgstr "Has de triar un oponent diferent a tu mateix/a."
-#: ../../include/widgets.php:1354
-msgid "Documentation"
-msgstr "Documentació"
+#: ../../addon/chess/chess.php:444
+msgid "Random color chosen."
+msgstr "S'ha escollit un color aleatori."
-#: ../../include/widgets.php:1356
-msgid "Project/Site Information"
-msgstr "Informació del Projecte/Lloc"
+#: ../../addon/chess/chess.php:452
+msgid "Error creating new game."
+msgstr "S'ha produït un error en crear la partida."
-#: ../../include/widgets.php:1357
-msgid "For Members"
-msgstr "Per Membres"
+#: ../../addon/chess/chess.php:486 ../../include/channel.php:1152
+msgid "Requested channel is not available."
+msgstr "El canal demanat no està disponible."
-#: ../../include/widgets.php:1358
-msgid "For Administrators"
-msgstr "Per Administradors"
+#: ../../addon/chess/chess.php:500
+msgid "You must select a local channel /chess/channelname"
+msgstr "Has de triar un canal local /chess/nomdelcanal"
-#: ../../include/widgets.php:1359
-msgid "For Developers"
-msgstr "Per Desenvolupadors"
+#: ../../addon/chess/chess.php:1066
+msgid "Enable notifications"
+msgstr "Activa les notificacions"
-#: ../../include/widgets.php:1383 ../../include/widgets.php:1421
-msgid "Member registrations waiting for confirmation"
-msgstr "Una inscripció per a ser membre està esperant confirmació"
+#: ../../addon/twitter/twitter.php:99
+msgid "Post to Twitter"
+msgstr "Publica a Twitter"
-#: ../../include/widgets.php:1389
-msgid "Inspect queue"
-msgstr "Revisa cua"
+#: ../../addon/twitter/twitter.php:155
+msgid "Twitter settings updated."
+msgstr "S'ha actualitzat la configuració de Twitter."
-#: ../../include/widgets.php:1391
-msgid "DB updates"
-msgstr "Actualitzacions de Base de Dades"
+#: ../../addon/twitter/twitter.php:184
+msgid ""
+"No consumer key pair for Twitter found. Please contact your site "
+"administrator."
+msgstr "No s'ha trobat cap parell de claus de Twitter. Contacte l'administrador del teu lloc."
-#: ../../include/widgets.php:1416 ../../include/nav.php:216
-msgid "Admin"
-msgstr "Admin"
+#: ../../addon/twitter/twitter.php:206
+msgid ""
+"At this Hubzilla instance the Twitter plugin was enabled but you have not "
+"yet connected your account to your Twitter account. To do so click the "
+"button below to get a PIN from Twitter which you have to copy into the input"
+" box below and submit the form. Only your <strong>public</strong> posts will"
+" be posted to Twitter."
+msgstr "L'extensió de Twitter està activada però encara no t'has connectat a cap compte de Twitter. Per a fer-ho, fes clic al botó de sota per a obtenir un PIN des de Twitter. Després insereix-lo a la caixa de sota i envia el formulari. Només seran publicades a GNU Social <strong>les teves entrades públiques</strong>"
-#: ../../include/widgets.php:1417
-msgid "Plugin Features"
-msgstr "Característiques del Plugin"
+#: ../../addon/twitter/twitter.php:208
+msgid "Log in with Twitter"
+msgstr "Inicia la sessió amb Twitter"
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "El canal està bloquejat en aquest lloc."
+#: ../../addon/twitter/twitter.php:211
+msgid "Copy the PIN from Twitter here"
+msgstr "Copia el PIN de Twitter aquí"
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Ubicació del canal perduda."
+#: ../../addon/twitter/twitter.php:238
+msgid ""
+"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to Twitter will lead the visitor to a blank page informing "
+"the visitor that the access to your profile has been restricted."
+msgstr "<strong>Nota</strong>: La teva configuració de privacitat amaga els detalls del perfil a visitants desconeguts. Això provocarà que l'enllaç mostrat a Twitter per a la teva identitat portarà a una pàgina en blanc avisant de la restricció."
-#: ../../include/follow.php:81
-msgid "Response from remote channel was incomplete."
-msgstr "La resposta del canal remot fou incompleta."
+#: ../../addon/twitter/twitter.php:243
+msgid "Allow posting to Twitter"
+msgstr "Permet publicar a Twitter"
-#: ../../include/follow.php:98
-msgid "Channel was deleted and no longer exists."
-msgstr "El canal fou esborrat i actualment no existeix."
+#: ../../addon/twitter/twitter.php:243
+msgid ""
+"If enabled your public postings can be posted to the associated Twitter "
+"account"
+msgstr "Si s'activa, les entrades públiques poden ser penjades al compte associat de Twitter"
-#: ../../include/follow.php:154 ../../include/follow.php:190
-msgid "Protocol disabled."
-msgstr "Protocol desactivat."
+#: ../../addon/twitter/twitter.php:247
+msgid "Twitter post length"
+msgstr "Llargada del tuit"
-#: ../../include/follow.php:178
-msgid "Channel discovery failed."
-msgstr "Descobriment de canal fallit."
+#: ../../addon/twitter/twitter.php:247
+msgid "Maximum tweet length"
+msgstr "Llargada màxima de tuit"
-#: ../../include/follow.php:216
-msgid "Cannot connect to yourself."
-msgstr "No pots connectar amb tu mateix."
+#: ../../addon/twitter/twitter.php:252
+msgid "Send public postings to Twitter by default"
+msgstr "Envia per defecte les entrades públiques cap a Twitter"
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$s de marcadors"
+#: ../../addon/twitter/twitter.php:252
+msgid ""
+"If enabled your public postings will be posted to the associated Twitter "
+"account by default"
+msgstr "Si s'activa, per defecte es penjaran les teves entrades públiques al teu compte associat de Twitter"
-#: ../../include/api.php:1336
-msgid "Public Timeline"
-msgstr "Línia de Temps Pública"
-
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:844
-#: ../../include/bbcode.php:847 ../../include/bbcode.php:852
-#: ../../include/bbcode.php:855 ../../include/bbcode.php:858
-#: ../../include/bbcode.php:861 ../../include/bbcode.php:866
-#: ../../include/bbcode.php:869 ../../include/bbcode.php:874
-#: ../../include/bbcode.php:877 ../../include/bbcode.php:880
-#: ../../include/bbcode.php:883
-msgid "Image/photo"
-msgstr "Imatge/foto"
+#: ../../addon/twitter/twitter.php:270
+msgid "Twitter Post Settings"
+msgstr "Configuració de Twitter"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:894
-msgid "Encrypted content"
-msgstr "Contingut encriptat"
+#: ../../addon/smileybutton/smileybutton.php:211
+msgid "Deactivate the feature"
+msgstr "Desactiva la funcionalitat"
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Instal·la l'element %s:"
+#: ../../addon/smileybutton/smileybutton.php:215
+msgid "Hide the button and show the smilies directly."
+msgstr "Amaga el botó i mostra les icones directament."
-#: ../../include/bbcode.php:182
-#, php-format
+#: ../../addon/smileybutton/smileybutton.php:219
+msgid "Smileybutton Settings"
+msgstr "Configuració de Smileybutton"
+
+#: ../../addon/piwik/piwik.php:85
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc."
+"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
+"analytics tool."
+msgstr "Aquest lloc web analitza el trànsit amb l'eina <a href='http://www.piwik.org'>Piwik</a>."
-#: ../../include/bbcode.php:254
+#: ../../addon/piwik/piwik.php:88
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s va escriure el següent %2$s %3$s"
+msgid ""
+"If you do not want that your visits are logged this way you <a href='%s'>can"
+" set a cookie to prevent Piwik from tracking further visits of the site</a> "
+"(opt-out)."
+msgstr "Si no vols que es registrin les teves visites d'aquesta manera, pots <a href='%s'>crear una cookie per fer que Piwik deixi de fer-ho</a>. En anglès es coneix com \"opt-out\"."
-#: ../../include/bbcode.php:331 ../../include/bbcode.php:339
-msgid "Click to open/close"
-msgstr "Clic per obrir/tancar"
+#: ../../addon/piwik/piwik.php:96
+msgid "Piwik Base URL"
+msgstr "Adreça URL arrel del Piwik"
-#: ../../include/bbcode.php:339
-msgid "spoiler"
-msgstr "xafa guitarres"
+#: ../../addon/piwik/piwik.php:96
+msgid ""
+"Absolute path to your Piwik installation. (without protocol (http/s), with "
+"trailing slash)"
+msgstr "Adreça absoluta a la instaŀlació de Piwik: sense protocol (http[s]) amb una barra (/) final"
-#: ../../include/bbcode.php:585
-msgid "Different viewers will see this text differently"
-msgstr "Diferents observadors veuran aquest text de diferents formes"
+#: ../../addon/piwik/piwik.php:97
+msgid "Site ID"
+msgstr "Identitat del lloc"
-#: ../../include/bbcode.php:832
-msgid "$1 wrote:"
-msgstr "$1 va escriure:"
+#: ../../addon/piwik/piwik.php:98
+msgid "Show opt-out cookie link?"
+msgstr "Vols mostrar un enllaç per poder crear una cookie per evitar el seguiment?"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Opcions de Directori"
+#: ../../addon/piwik/piwik.php:99
+msgid "Asynchronous tracking"
+msgstr "Seguiment asíncron"
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Manera Segura"
+#: ../../addon/piwik/piwik.php:100
+msgid "Enable frontend JavaScript error tracking"
+msgstr "Activa el seguiment d'errors de Javascript al frontend "
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Només Fòrums Públics"
+#: ../../addon/piwik/piwik.php:100
+msgid "This feature requires Piwik >= 2.2.0"
+msgstr "Aquesta funcionalitat necessita una versió del Piwik >= 2.2.0"
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Només Aquest Lloc Web"
+#: ../../addon/tour/tour.php:75
+msgid "Edit your profile and change settings."
+msgstr "Modifica el teu perfil i canvia la configuració."
-#: ../../include/security.php:383
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo."
+#: ../../addon/tour/tour.php:76
+msgid "Click here to see activity from your connections."
+msgstr "Clica aquí per a veure l'activitat de les teves connexions."
-#: ../../include/nav.php:82 ../../include/nav.php:113 ../../boot.php:1702
-msgid "Logout"
-msgstr "Desconectar"
+#: ../../addon/tour/tour.php:77
+msgid "Click here to see your channel home."
+msgstr "Clica aquí per a veure el mur del teu canal."
-#: ../../include/nav.php:82 ../../include/nav.php:113
-msgid "End this session"
-msgstr "Finalitza aquesta sessió"
+#: ../../addon/tour/tour.php:78
+msgid "You can access your private messages from here."
+msgstr "Pots accedir als teus missatges privats des d'aquí."
-#: ../../include/nav.php:85 ../../include/nav.php:144
-msgid "Home"
-msgstr "Inici"
+#: ../../addon/tour/tour.php:79
+msgid "Create new events here."
+msgstr "Pots crear esdeveniments des d'aquí."
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
-msgstr "Les teves entrades i converses"
+#: ../../addon/tour/tour.php:80
+msgid ""
+"You can accept new connections and change permissions for existing ones "
+"here. You can also e.g. create groups of contacts."
+msgstr "Pots acceptar connexions noves des d'aquí i canviar els permisos de les existents. També pots crear grups de contactes, per exemple."
-#: ../../include/nav.php:86
-msgid "Your profile page"
-msgstr "La teva pàgina de perfil"
+#: ../../addon/tour/tour.php:81
+msgid "System notifications will arrive here"
+msgstr "Les notificacions t'arriben per aquí"
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
-msgstr "Gestiona/Edita perfils"
+#: ../../addon/tour/tour.php:82
+msgid "Search for content and users"
+msgstr "Cerca contingut i usuaris"
-#: ../../include/nav.php:90 ../../include/channel.php:941
-msgid "Edit Profile"
-msgstr "Edita Perfil"
+#: ../../addon/tour/tour.php:83
+msgid "Browse for new contacts"
+msgstr "Explora per trobar nous contactes"
-#: ../../include/nav.php:90
-msgid "Edit your profile"
-msgstr "Edita el teu perfil"
+#: ../../addon/tour/tour.php:84
+msgid "Launch installed apps"
+msgstr "Obre aplicacions instaŀlades"
-#: ../../include/nav.php:92
-msgid "Your photos"
-msgstr "Les Teves Fotos"
+#: ../../addon/tour/tour.php:85
+msgid "Looking for help? Click here."
+msgstr "Que busques ajuda? Clica aquí."
-#: ../../include/nav.php:93
-msgid "Your files"
-msgstr "Els teus arxius"
+#: ../../addon/tour/tour.php:86
+msgid ""
+"New events have occurred in your network. Click here to see what has "
+"happened!"
+msgstr "Hi ha hagut activitat nova a la teva xarxa. Clica aquí a veure què ha passat!"
-#: ../../include/nav.php:96
-msgid "Your chatrooms"
-msgstr "Les teves sales de xerrar"
+#: ../../addon/tour/tour.php:87
+msgid "You have received a new private message. Click here to see from who!"
+msgstr "Has rebut un missatge privat. A veure de qui és!"
-#: ../../include/nav.php:102 ../../include/conversation.php:1675
-msgid "Bookmarks"
-msgstr "Marcadors"
+#: ../../addon/tour/tour.php:88
+msgid "There are events this week. Click here too see which!"
+msgstr "Hi ha esdeveniments aquesta setmana. Clica per veure quins!"
-#: ../../include/nav.php:102
-msgid "Your bookmarks"
-msgstr "Els teus marcadors"
+#: ../../addon/tour/tour.php:89
+msgid "You have received a new introduction. Click here to see who!"
+msgstr "Has rebut una presentació. Clica per veure de qui és!"
-#: ../../include/nav.php:106
-msgid "Your webpages"
-msgstr "Les teves pàgines web"
+#: ../../addon/tour/tour.php:90
+msgid ""
+"There is a new system notification. Click here to see what has happened!"
+msgstr "Tens una notificació de sistema. Clica per veure què ha passat!"
-#: ../../include/nav.php:110
-msgid "Sign in"
-msgstr "Signatura"
+#: ../../addon/tour/tour.php:93
+msgid "Click here to share text, images, videos and sound."
+msgstr "Clica aquí per a compartir text, imatges, vídeos, i sons."
-#: ../../include/nav.php:127
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - click per desconectar"
+#: ../../addon/tour/tour.php:94
+msgid "You can write an optional title for your update (good for long posts)."
+msgstr "Si vols, pots posar un títol a les teves entrades. És una bona idea per a entrades llargues."
-#: ../../include/nav.php:130
-msgid "Remote authentication"
-msgstr "Autenticació remota"
+#: ../../addon/tour/tour.php:95
+msgid "Entering some categories here makes it easier to find your post later."
+msgstr "Si afegeixes categories serà més fàcil de trobar l'entrada més endavant."
-#: ../../include/nav.php:130
-msgid "Click to authenticate to your home hub"
-msgstr "Clica per autentificar-te en el teu node"
+#: ../../addon/tour/tour.php:96
+msgid "Share photos, links, location, etc."
+msgstr "Comparteix fotos, enllaços, la ubicació, etc."
-#: ../../include/nav.php:144
-msgid "Home Page"
-msgstr "Pàgina Personal"
+#: ../../addon/tour/tour.php:97
+msgid ""
+"Only want to share content for a while? Make it expire at a certain date."
+msgstr "Vols compartir un contingut només durant una estona? Fes-lo caducar a un cert moment."
-#: ../../include/nav.php:147
-msgid "Create an account"
-msgstr "Crear un compte"
+#: ../../addon/tour/tour.php:98
+msgid "You can password protect content."
+msgstr "Pots protegir el contingut per contrasenya."
-#: ../../include/nav.php:159
-msgid "Help and documentation"
-msgstr "Ajuda i documentació"
+#: ../../addon/tour/tour.php:99
+msgid "Choose who you share with."
+msgstr "Escull amb qui ho vols compartir."
-#: ../../include/nav.php:163
-msgid "Applications, utilities, links, games"
-msgstr "Aplicacions, utilitats, enllaços, jocs"
+#: ../../addon/tour/tour.php:101
+msgid "Click here when you are done."
+msgstr "I clica aquí quan acabis."
-#: ../../include/nav.php:165
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Cerca pel lloc @name, #tag, ?docs, contingut"
+#: ../../addon/tour/tour.php:104
+msgid "Adjust from which channels posts should be displayed."
+msgstr "Tria des de quins canals s'haurien de mostrar les entrades."
-#: ../../include/nav.php:167
-msgid "Channel Directory"
-msgstr "Directori de Canals"
+#: ../../addon/tour/tour.php:105
+msgid "Only show posts from channels in the specified privacy group."
+msgstr "Mostra només entrades de canals especificats en el grup de privacitat."
-#: ../../include/nav.php:179
-msgid "Your grid"
-msgstr "La teva malla"
+#: ../../addon/tour/tour.php:109
+msgid "Easily find posts containing tags (keywords preceded by the \"#\" symbol)."
+msgstr "Pots trobar fàcilment entrades que continguin etiquetes (paraules clau precedides per un símbol \"#\")."
-#: ../../include/nav.php:180
-msgid "Mark all grid notifications seen"
-msgstr "Marca totes les notificacions de la malla vistes"
+#: ../../addon/tour/tour.php:110
+msgid "Easily find posts in given category."
+msgstr "Troba fàcilment entrades en una certa categoria."
-#: ../../include/nav.php:182
-msgid "Channel home"
-msgstr "Canal personal"
+#: ../../addon/tour/tour.php:111
+msgid "Easily find posts by date."
+msgstr "Troba fàcilment entrades per data."
-#: ../../include/nav.php:183
-msgid "Mark all channel notifications seen"
-msgstr "Marca totes les notificacions de canal vistes"
+#: ../../addon/tour/tour.php:112
+msgid ""
+"Suggested users who have volounteered to be shown as suggestions, and who we"
+" think you might find interesting."
+msgstr "Els usuaris que et suggerim s'han mostrat voluntaris a ser suggerits perquè els puguis afegir. Que potser t'interessa connectar-t'hi?"
-#: ../../include/nav.php:189
-msgid "Notices"
-msgstr "Noticies"
+#: ../../addon/tour/tour.php:113
+msgid "Here you see channels you have connected to."
+msgstr "Aquí pots veure els canals als quals estàs connectat/da."
-#: ../../include/nav.php:189
-msgid "Notifications"
-msgstr "Notificacions"
+#: ../../addon/tour/tour.php:114
+msgid "Save your search so you can repeat it at a later date."
+msgstr "Si deses la teva cerca la podràs repetir més tard."
-#: ../../include/nav.php:190
-msgid "See all notifications"
-msgstr "Veure totes les Notificacions"
+#: ../../addon/tour/tour.php:117
+msgid ""
+"If you see this icon you can be sure that the sender is who it say it is. It"
+" is normal that it is not always possible to verify the sender, so the icon "
+"will be missing sometimes. There is usually no need to worry about that."
+msgstr "Si veus aquesta icona, pots donar per fet que el/la remitent és qui diu ser. De tota manera, és habitual que no es pugui verificar, i per tant, que de vegades falti aquesta icona. Però és només una capa més de seguretat del sistema."
-#: ../../include/nav.php:193
-msgid "Private mail"
-msgstr "Correu privat"
+#: ../../addon/tour/tour.php:118
+msgid ""
+"Danger! It seems someone tried to forge a message! This message is not "
+"necessarily from who it says it is from!"
+msgstr "Alerta! Sembla que algú ha intentat falsificar un missatge! Pot ser que el remitent d'aquest missatge no sigui qui diu ser!"
-#: ../../include/nav.php:194
-msgid "See all private messages"
-msgstr "Veure tots els missatges privats"
+#: ../../addon/tour/tour.php:125
+msgid ""
+"Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can "
+"pause it at any time and continue where you left off by reloading the page, "
+"or navigting to another page.</p><p>You can also advance by pressing the "
+"return key"
+msgstr "Benvingut/da a Hubzilla! T'agradaria fer un tur pel lloc?</p><p>Pots pausar-lo en qualsevol moment i continuar més tard on ho havies deixat. Per fer-ho navega a una altra pàgina o recarrega aquesta.</p><p>També pots avançar prement la tecla de retorn"
-#: ../../include/nav.php:195
-msgid "Mark all private messages seen"
-msgstr "Marcar tots els missatges privats vistos"
+#: ../../addon/sendzid/sendzid.php:25
+msgid "Extended Identity Sharing"
+msgstr "Compartició d'identitats extesa"
-#: ../../include/nav.php:201
-msgid "Event Calendar"
-msgstr "Calendari d'Events"
+#: ../../addon/sendzid/sendzid.php:26
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with $Projectname sites."
+msgstr "Comparteix la teva identitat amb tota la web. Si es deshabilita, la identitat només es comparteix amb altres nodes de $Projectname."
-#: ../../include/nav.php:202
-msgid "See all events"
-msgstr "Veure tots els esdeveniments"
+#: ../../addon/tictac/tictac.php:21
+msgid "Three Dimensional Tic-Tac-Toe"
+msgstr "Tres en ratlla 3D"
-#: ../../include/nav.php:203
-msgid "Mark all events seen"
-msgstr "Marcar tots els esdeveniments vistos"
+#: ../../addon/tictac/tictac.php:54
+msgid "3D Tic-Tac-Toe"
+msgstr "Tres en ratlla 3D"
-#: ../../include/nav.php:206
-msgid "Manage Your Channels"
-msgstr "Gestiona els Teus Canals"
+#: ../../addon/tictac/tictac.php:59
+msgid "New game"
+msgstr "Nova partida"
-#: ../../include/nav.php:208
-msgid "Account/Channel Settings"
-msgstr "Ajustos de Compte/Canal"
+#: ../../addon/tictac/tictac.php:60
+msgid "New game with handicap"
+msgstr "Nova partida amb desavantatge"
-#: ../../include/nav.php:216
-msgid "Site Setup and Configuration"
-msgstr "Ajustos i Configuració del Lloc"
+#: ../../addon/tictac/tictac.php:61
+msgid ""
+"Three dimensional tic-tac-toe is just like the traditional game except that "
+"it is played on multiple levels simultaneously. "
+msgstr "El tres en ratlla en 3D és com el clàssic en 2D excepte que es juga en diversos nivells simultàniament."
-#: ../../include/nav.php:247 ../../include/conversation.php:851
-msgid "Loading..."
-msgstr "Carregant..."
+#: ../../addon/tictac/tictac.php:62
+msgid ""
+"In this case there are three levels. You win by getting three in a row on "
+"any level, as well as up, down, and diagonally across the different levels."
+msgstr "En aquest cas hi ha tres nivells. Guanya qui aconsegueixi fer 3 en ratlla en qualsevol nivell, així com amunt, avall, o en diagonal en qualsevol nivell"
-#: ../../include/nav.php:252
-msgid "@name, #tag, ?doc, content"
-msgstr "@nom, #etiqueta, ?doc, contingut"
+#: ../../addon/tictac/tictac.php:64
+msgid ""
+"The handicap game disables the center position on the middle level because "
+"the player claiming this square often has an unfair advantage."
+msgstr "Una partida amb desavantatge desactiva la posició del centre perquè el jugador que aconsegueix aquest quadrat sol aconseguir un avantatge injust."
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Si us plau, espera......."
+#: ../../addon/tictac/tictac.php:183
+msgid "You go first..."
+msgstr "Comences!"
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr "Nova finestra"
+#: ../../addon/tictac/tictac.php:188
+msgid "I'm going first this time..."
+msgstr "Aquest cop començo jo!"
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Obrir la localització seleccionada en un altre finestra o pestanya del navegador"
+#: ../../addon/tictac/tictac.php:194
+msgid "You won!"
+msgstr "Has guanyat!"
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
-msgstr "usuari '%s' esborrat"
+#: ../../addon/tictac/tictac.php:200 ../../addon/tictac/tictac.php:225
+msgid "\"Cat\" game!"
+msgstr "Empat!"
-#: ../../include/contact_widgets.php:11
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invitació disponible"
-msgstr[1] "%d invitacions disponibles"
+#: ../../addon/tictac/tictac.php:223
+msgid "I won!"
+msgstr "He guanyat!"
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr "Troba Canals"
+#: ../../addon/pageheader/pageheader.php:43
+msgid "Message to display on every page on this server"
+msgstr "Missatge per mostrar en cada pàgina d'aquest servidor"
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
-msgstr "Entra un nom o interes"
+#: ../../addon/pageheader/pageheader.php:48
+msgid "Pageheader Settings"
+msgstr "Configuració del Pageheader"
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
-msgstr "Conecta/Segueix"
+#: ../../addon/pageheader/pageheader.php:64
+msgid "pageheader Settings saved."
+msgstr "S'ha desat la configuració del Pageheader."
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Exemples: Lionel Messi, Futbolista"
+#: ../../addon/authchoose/authchoose.php:67
+msgid "Only authenticate automatically to sites of your friends"
+msgstr "Autentica'm automàticament només en hubs on hi tinc connexions"
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
-msgstr "Perfil Aleatori"
+#: ../../addon/authchoose/authchoose.php:67
+msgid "By default you are automatically authenticated anywhere in the network"
+msgstr "Per defecte se t'autentica en qualsevol hub de la xarxa"
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
-msgstr "Convida Amics"
+#: ../../addon/authchoose/authchoose.php:71
+msgid "Authchoose Settings"
+msgstr "Configuració de l'Authchoose"
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Exemple avançat: nom=pep i pais=eire"
+#: ../../addon/authchoose/authchoose.php:85
+msgid "Atuhchoose Settings updated."
+msgstr "S'ha actualitzat la configuració de l'Authchoose."
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d connexió en comú"
-msgstr[1] "%d connexions en comú"
+#: ../../addon/moremoods/moremoods.php:19
+msgid "lonely"
+msgstr "solitari/ària"
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr "mostrar més"
+#: ../../addon/moremoods/moremoods.php:20
+msgid "drunk"
+msgstr "borratxo/a"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s esta ara connectat amb %2$s"
+#: ../../addon/moremoods/moremoods.php:21
+msgid "horny"
+msgstr "calent/a"
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s a esperonat %2$s"
+#: ../../addon/moremoods/moremoods.php:22
+msgid "stoned"
+msgstr "perplex/a"
-#: ../../include/conversation.php:691
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vista %s del perfil @ %s"
+#: ../../addon/moremoods/moremoods.php:23
+msgid "fucked up"
+msgstr "fotut/da"
-#: ../../include/conversation.php:710
-msgid "Categories:"
-msgstr "Categories:"
+#: ../../addon/moremoods/moremoods.php:24
+msgid "clusterfucked"
+msgstr "rematadament fotut/da"
-#: ../../include/conversation.php:711
-msgid "Filed under:"
-msgstr "Arxivar a:"
+#: ../../addon/moremoods/moremoods.php:25
+msgid "crazy"
+msgstr "boig/boja"
-#: ../../include/conversation.php:738
-msgid "View in context"
-msgstr "Veure en context"
+#: ../../addon/moremoods/moremoods.php:26
+msgid "hurt"
+msgstr "ferit/da"
-#: ../../include/conversation.php:847
-msgid "remove"
-msgstr "treu"
+#: ../../addon/moremoods/moremoods.php:27
+msgid "sleepy"
+msgstr "amb son"
-#: ../../include/conversation.php:852
-msgid "Delete Selected Items"
-msgstr "Esborra els Articles Seleccionats"
+#: ../../addon/moremoods/moremoods.php:28
+msgid "grumpy"
+msgstr "de mal humor"
-#: ../../include/conversation.php:948
-msgid "View Source"
-msgstr "Veure l'Origen"
+#: ../../addon/moremoods/moremoods.php:29
+msgid "high"
+msgstr "flipat/da"
-#: ../../include/conversation.php:949
-msgid "Follow Thread"
-msgstr "Segueix el Fil"
+#: ../../addon/moremoods/moremoods.php:30
+msgid "semi-conscious"
+msgstr "semi-conscient"
-#: ../../include/conversation.php:950
-msgid "Unfollow Thread"
-msgstr "Fil Abandonat"
+#: ../../addon/moremoods/moremoods.php:31
+msgid "in love"
+msgstr "enamorat/da"
-#: ../../include/conversation.php:955
-msgid "Activity/Posts"
-msgstr "Activitat/Entrades"
+#: ../../addon/moremoods/moremoods.php:32
+msgid "in lust"
+msgstr "en zel"
-#: ../../include/conversation.php:957
-msgid "Edit Connection"
-msgstr "Modifica la Connexió"
+#: ../../addon/moremoods/moremoods.php:33
+msgid "naked"
+msgstr "nu/nua"
-#: ../../include/conversation.php:958
-msgid "Message"
-msgstr "Missatge"
+#: ../../addon/moremoods/moremoods.php:34
+msgid "stinky"
+msgstr "pudent/a"
-#: ../../include/conversation.php:1075
-#, php-format
-msgid "%s likes this."
-msgstr "%s agrada això."
+#: ../../addon/moremoods/moremoods.php:35
+msgid "sweaty"
+msgstr "suat/da"
-#: ../../include/conversation.php:1075
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s no agrada això."
+#: ../../addon/moremoods/moremoods.php:36
+msgid "bleeding out"
+msgstr "sagnant"
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d gent</span> agrada això."
-msgstr[1] "<span %1$s>%2$d gent</span> agrada això."
+#: ../../addon/moremoods/moremoods.php:37
+msgid "victorious"
+msgstr "victoriós/a"
-#: ../../include/conversation.php:1081
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d gent</span> no agrada això."
-msgstr[1] "<span %1$s>%2$d gent</span> no agrada això."
+#: ../../addon/moremoods/moremoods.php:38
+msgid "defeated"
+msgstr "derrotat/da"
-#: ../../include/conversation.php:1087
-msgid "and"
-msgstr "i"
+#: ../../addon/moremoods/moremoods.php:39
+msgid "envious"
+msgstr "envejós/a"
-#: ../../include/conversation.php:1090
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", i %d altra gent"
-msgstr[1] ", i %d altra gent"
+#: ../../addon/moremoods/moremoods.php:40
+msgid "jealous"
+msgstr "gelós/a"
-#: ../../include/conversation.php:1091
-#, php-format
-msgid "%s like this."
-msgstr "%s agrada això."
+#: ../../addon/xmpp/xmpp.php:31
+msgid "XMPP settings updated."
+msgstr "S'ha actualitzat la configuració de l'XMPP."
-#: ../../include/conversation.php:1091
-#, php-format
-msgid "%s don't like this."
-msgstr "%s no agrada això."
+#: ../../addon/xmpp/xmpp.php:53
+msgid "Enable Chat"
+msgstr "Activa el xat"
-#: ../../include/conversation.php:1130
-msgid "Set your location"
-msgstr "Ajusta la teva ubicació"
+#: ../../addon/xmpp/xmpp.php:58
+msgid "Individual credentials"
+msgstr "Credencials individuals"
-#: ../../include/conversation.php:1131
-msgid "Clear browser location"
-msgstr "Treu la localització del navegador"
+#: ../../addon/xmpp/xmpp.php:64
+msgid "Jabber BOSH server"
+msgstr "Servidor de Jabber BOSH"
-#: ../../include/conversation.php:1177
-msgid "Tag term:"
-msgstr "Paraula de l'Etiqueta:"
+#: ../../addon/xmpp/xmpp.php:69
+msgid "XMPP Settings"
+msgstr "Configuració XMPP"
-#: ../../include/conversation.php:1178
-msgid "Where are you right now?"
-msgstr "On ets ara?"
+#: ../../addon/xmpp/xmpp.php:92
+msgid "Jabber BOSH host"
+msgstr "Nom de domini de Jabber BOSH"
-#: ../../include/conversation.php:1210
-msgid "Page link name"
-msgstr "Nom de la pàgina enllaçada"
+#: ../../addon/xmpp/xmpp.php:93
+msgid "Use central userbase"
+msgstr "Fes servir una base d'usuari/es central"
-#: ../../include/conversation.php:1213
-msgid "Post as"
-msgstr "Envia com"
+#: ../../addon/xmpp/xmpp.php:93
+msgid ""
+"If enabled, members will automatically login to an ejabberd server that has "
+"to be installed on this machine with synchronized credentials via the "
+"\"auth_ejabberd.php\" script."
+msgstr "Si s'activa, s'iniciarà sessió automàticament als membres en un servidor ejabberd. Aquest ha d'estar instaŀlat en la mateixa màquina amb credencials sincronitzades, mitjançant l'script \"auth_ejabberd.php\"."
-#: ../../include/conversation.php:1223
-msgid "Toggle voting"
-msgstr "Commutar votació"
+#: ../../addon/wholikesme/wholikesme.php:29
+msgid "Who likes me?"
+msgstr "A qui agrado?"
-#: ../../include/conversation.php:1231
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categories (opcional, llista separada per comes)"
+#: ../../addon/pumpio/pumpio.php:148
+msgid "You are now authenticated to pumpio."
+msgstr "Has iniciat sessió a pumpio."
-#: ../../include/conversation.php:1254
-msgid "Set publish date"
-msgstr "Ajusta la data de publicació"
+#: ../../addon/pumpio/pumpio.php:149
+msgid "return to the featured settings page"
+msgstr "torna a la pàgina de configuració"
-#: ../../include/conversation.php:1258
-msgid "OK"
-msgstr "OK"
+#: ../../addon/pumpio/pumpio.php:163
+msgid "Post to Pump.io"
+msgstr "Publica a Pump.io"
-#: ../../include/conversation.php:1503
-msgid "Discover"
-msgstr "Descobrir"
+#: ../../addon/pumpio/pumpio.php:198
+msgid "Pump.io servername"
+msgstr "Nom del servidor de Pump.io"
-#: ../../include/conversation.php:1506
-msgid "Imported public streams"
-msgstr "Importar fluxos públics"
+#: ../../addon/pumpio/pumpio.php:198
+msgid "Without \"http://\" or \"https://\""
+msgstr "Sense \"http://\" ni \"https://\""
-#: ../../include/conversation.php:1511
-msgid "Commented Order"
-msgstr "Ordenar per Comentaris"
+#: ../../addon/pumpio/pumpio.php:202
+msgid "Pump.io username"
+msgstr "Nom d'usuari a Pump.io"
-#: ../../include/conversation.php:1514
-msgid "Sort by Comment Date"
-msgstr "Ordenar per Data del Comentari"
+#: ../../addon/pumpio/pumpio.php:202
+msgid "Without the servername"
+msgstr "Sense el nom de servidor"
-#: ../../include/conversation.php:1518
-msgid "Posted Order"
-msgstr "Ordenar per Entrades"
+#: ../../addon/pumpio/pumpio.php:213
+msgid "You are not authenticated to pumpio"
+msgstr "No has iniciat sessió a pumpio"
-#: ../../include/conversation.php:1521
-msgid "Sort by Post Date"
-msgstr "Ordenar per Data d' Entrada"
+#: ../../addon/pumpio/pumpio.php:215
+msgid "(Re-)Authenticate your pump.io connection"
+msgstr "[Re]autentica la teva connexió a pump.io"
-#: ../../include/conversation.php:1529
-msgid "Posts that mention or involve you"
-msgstr "Entrades que et mencionen o involucren"
+#: ../../addon/pumpio/pumpio.php:219
+msgid "Enable pump.io Post Plugin"
+msgstr "Activa l'extensió Publica a pump.io"
-#: ../../include/conversation.php:1538
-msgid "Activity Stream - by date"
-msgstr "Activitat del Flux - per data"
+#: ../../addon/pumpio/pumpio.php:223
+msgid "Post to pump.io by default"
+msgstr "Publica a Pump.io per defecte"
-#: ../../include/conversation.php:1544
-msgid "Starred"
-msgstr "Preferit"
+#: ../../addon/pumpio/pumpio.php:227
+msgid "Should posts be public"
+msgstr "Vols que les entrades siguin públiques?"
-#: ../../include/conversation.php:1547
-msgid "Favourite Posts"
-msgstr "Entrades Favorites"
+#: ../../addon/pumpio/pumpio.php:231
+msgid "Mirror all public posts"
+msgstr "Replica totes les entrades públiques"
-#: ../../include/conversation.php:1554
-msgid "Spam"
-msgstr "Spam"
+#: ../../addon/pumpio/pumpio.php:237
+msgid "Pump.io Post Settings"
+msgstr "Configuració de les entrades de pump.io"
-#: ../../include/conversation.php:1557
-msgid "Posts flagged as SPAM"
-msgstr "Entrades marcades com a SPAM"
+#: ../../addon/pumpio/pumpio.php:266
+msgid "PumpIO Settings saved."
+msgstr "S'ha desat la configuració de pump.io"
-#: ../../include/conversation.php:1614
-msgid "Status Messages and Posts"
-msgstr "Estat dels Missatges i Entrades"
+#: ../../addon/ldapauth/ldapauth.php:61
+msgid "An account has been created for you."
+msgstr "S'ha creat un compte nou."
-#: ../../include/conversation.php:1623
-msgid "About"
-msgstr "El Meu Perfil"
+#: ../../addon/ldapauth/ldapauth.php:68
+msgid "Authentication successful but rejected: account creation is disabled."
+msgstr "L'autenticació ha tingut èxit però no s'ha pogut crear un compte perquè no està permès."
-#: ../../include/conversation.php:1626
-msgid "Profile Details"
-msgstr "Detalls del Perfil"
+#: ../../addon/opensearch/opensearch.php:26
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr "Cerca %1$s(%2$s)"
-#: ../../include/conversation.php:1635 ../../include/photos.php:502
-msgid "Photo Albums"
-msgstr "Albums de Fotos"
+#: ../../addon/opensearch/opensearch.php:28
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr "$Projectname"
-#: ../../include/conversation.php:1642
-msgid "Files and Storage"
-msgstr "Arxius i Emmagatzegament"
+#: ../../addon/opensearch/opensearch.php:43
+msgid "Search $Projectname"
+msgstr "Cerca $Projectname"
-#: ../../include/conversation.php:1678
-msgid "Saved Bookmarks"
-msgstr "Marcadors Guardats"
+#: ../../addon/redfiles/redfiles.php:119
+msgid "Redmatrix File Storage Import"
+msgstr "Importa l'emmagatzematge d'arxius de Redmatrix"
-#: ../../include/conversation.php:1688
-msgid "Manage Webpages"
-msgstr "Gestió de Pàgines Web"
+#: ../../addon/redfiles/redfiles.php:120
+msgid "This will import all your Redmatrix cloud files to this channel."
+msgstr "Importa tots els teus arxius de núvol cap aquest canal."
-#: ../../include/conversation.php:1747
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Assistint"
-msgstr[1] "Assistint"
+#: ../../addon/redfiles/redfilehelper.php:64
+msgid "file"
+msgstr "arxiu"
-#: ../../include/conversation.php:1750
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Desassistint"
-msgstr[1] "Desassistint"
+#: ../../addon/hubwall/hubwall.php:19
+msgid "Send email to all members"
+msgstr "Enviar correus a tothom"
-#: ../../include/conversation.php:1753
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indecís"
-msgstr[1] "Indecisos"
+#: ../../addon/hubwall/hubwall.php:73
+#, php-format
+msgid "%1$d of %2$d messages sent."
+msgstr "S'ha/n enviat %1$d de %2$d missatges."
-#: ../../include/conversation.php:1756
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "Acord"
-msgstr[1] "Acords"
+#: ../../addon/hubwall/hubwall.php:81
+msgid "Send email to all hub members."
+msgstr "Envia un correu a tots els membres del hub."
-#: ../../include/conversation.php:1759
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Desacord"
-msgstr[1] "Desacords"
+#: ../../addon/hubwall/hubwall.php:93
+msgid "Sender Email address"
+msgstr "Adreça del remitent"
-#: ../../include/conversation.php:1762
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Abstenirse"
-msgstr[1] "Abstenirse"
+#: ../../addon/hubwall/hubwall.php:94
+msgid "Test mode (only send to hub administrator)"
+msgstr "Mode de proves (envia'l només a l'administrador del hub)"
#: ../../include/selectors.php:30
msgid "Frequently"
@@ -8127,20 +11629,14 @@ msgstr "Transsexual"
msgid "Hermaphrodite"
msgstr "Hermafrodita"
-#: ../../include/selectors.php:49
+#: ../../include/selectors.php:49 ../../include/channel.php:1485
msgid "Neuter"
msgstr "Neutre"
-#: ../../include/selectors.php:49
+#: ../../include/selectors.php:49 ../../include/channel.php:1487
msgid "Non-specific"
msgstr "Indefinit"
-#: ../../include/selectors.php:49 ../../include/selectors.php:66
-#: ../../include/selectors.php:104 ../../include/selectors.php:140
-#: ../../include/permissions.php:881
-msgid "Other"
-msgstr "Altres"
-
#: ../../include/selectors.php:49
msgid "Undecided"
msgstr "Indecís"
@@ -8317,1514 +11813,2250 @@ msgstr "No Et Fa Res"
msgid "Ask me"
msgstr "Pregunta"
-#: ../../include/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:232
-msgid "Visible to your default audience"
-msgstr "Visible per a la teva audiència "
+#: ../../include/conversation.php:169
+#, php-format
+msgid "likes %1$s's %2$s"
+msgstr "li agrada %2$s de %1$s"
-#: ../../include/PermissionDescription.php:115
-#: ../../include/acl_selectors.php:268
-msgid "Only me"
-msgstr "Només jo"
+#: ../../include/conversation.php:172
+#, php-format
+msgid "doesn't like %1$s's %2$s"
+msgstr "no li agrada %2$s de %1$s"
-#: ../../include/PermissionDescription.php:116
-msgid "Public"
-msgstr "Públic"
+#: ../../include/conversation.php:212
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s esta ara connectat amb %2$s"
-#: ../../include/PermissionDescription.php:117
-msgid "Anybody in the $Projectname network"
-msgstr "Ningú a la xarxa $Projectname"
+#: ../../include/conversation.php:247
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s a esperonat %2$s"
+
+#: ../../include/conversation.php:251 ../../include/text.php:1129
+#: ../../include/text.php:1133
+msgid "poked"
+msgstr "esperonat"
-#: ../../include/PermissionDescription.php:118
+#: ../../include/conversation.php:736
#, php-format
-msgid "Any account on %s"
-msgstr "Qualsevol compte a %s"
+msgid "View %s's profile @ %s"
+msgstr "Vista %s del perfil @ %s"
-#: ../../include/PermissionDescription.php:119
-msgid "Any of my connections"
-msgstr "Qualsevol de les meves connexions"
+#: ../../include/conversation.php:756
+msgid "Categories:"
+msgstr "Categories:"
-#: ../../include/PermissionDescription.php:120
-msgid "Only connections I specifically allow"
-msgstr "Només les connexions que permeto específicament"
+#: ../../include/conversation.php:757
+msgid "Filed under:"
+msgstr "Arxivar a:"
-#: ../../include/PermissionDescription.php:121
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Qualsevol persona autenticada (podria incloure als usuaris d'altres xarxes)"
+#: ../../include/conversation.php:783
+msgid "View in context"
+msgstr "Veure en context"
-#: ../../include/PermissionDescription.php:122
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Qualsevol connexió incloent aquells que encara no han estat aprovats"
+#: ../../include/conversation.php:884
+msgid "remove"
+msgstr "treu"
-#: ../../include/PermissionDescription.php:161
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Aquest és l'ajust per defecte per al públic del seu flux normal i entrades."
+#: ../../include/conversation.php:888
+msgid "Loading..."
+msgstr "Carregant..."
-#: ../../include/PermissionDescription.php:162
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Aquesta és la configuració per defecte per a qui pugui veure el teu perfil per defecte del canal"
+#: ../../include/conversation.php:889
+msgid "Delete Selected Items"
+msgstr "Esborra els Articles Seleccionats"
-#: ../../include/PermissionDescription.php:163
-msgid "This is your default setting for who can view your connections"
-msgstr "Aquesta és la configuració per defecte per a qui pugui veure les teves connexions"
+#: ../../include/conversation.php:932
+msgid "View Source"
+msgstr "Veure l'Origen"
+
+#: ../../include/conversation.php:942
+msgid "Follow Thread"
+msgstr "Segueix el Fil"
+
+#: ../../include/conversation.php:951
+msgid "Unfollow Thread"
+msgstr "Fil Abandonat"
+
+#: ../../include/conversation.php:1042
+msgid "Activity/Posts"
+msgstr "Activitat/Entrades"
-#: ../../include/PermissionDescription.php:164
+#: ../../include/conversation.php:1062
+msgid "Edit Connection"
+msgstr "Modifica la Connexió"
+
+#: ../../include/conversation.php:1072
+msgid "Message"
+msgstr "Missatge"
+
+#: ../../include/conversation.php:1206
+#, php-format
+msgid "%s likes this."
+msgstr "%s agrada això."
+
+#: ../../include/conversation.php:1206
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s no agrada això."
+
+#: ../../include/conversation.php:1210
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d gent</span> agrada això."
+msgstr[1] "<span %1$s>%2$d gent</span> agrada això."
+
+#: ../../include/conversation.php:1212
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d gent</span> no agrada això."
+msgstr[1] "<span %1$s>%2$d gent</span> no agrada això."
+
+#: ../../include/conversation.php:1218
+msgid "and"
+msgstr "i"
+
+#: ../../include/conversation.php:1221
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", i %d altra gent"
+msgstr[1] ", i %d altra gent"
+
+#: ../../include/conversation.php:1222
+#, php-format
+msgid "%s like this."
+msgstr "%s agrada això."
+
+#: ../../include/conversation.php:1222
+#, php-format
+msgid "%s don't like this."
+msgstr "%s no agrada això."
+
+#: ../../include/conversation.php:1265
+msgid "Set your location"
+msgstr "Ajusta la teva ubicació"
+
+#: ../../include/conversation.php:1266
+msgid "Clear browser location"
+msgstr "Treu la localització del navegador"
+
+#: ../../include/conversation.php:1314
+msgid "Tag term:"
+msgstr "Paraula de l'Etiqueta:"
+
+#: ../../include/conversation.php:1315
+msgid "Where are you right now?"
+msgstr "On ets ara?"
+
+#: ../../include/conversation.php:1320
+msgid "Choose a different album..."
+msgstr "Tria un àlbum diferent..."
+
+#: ../../include/conversation.php:1324
+msgid "Comments enabled"
+msgstr "S'han activat els comentaris"
+
+#: ../../include/conversation.php:1325
+msgid "Comments disabled"
+msgstr "S'han activat els comentaris"
+
+#: ../../include/conversation.php:1372
+msgid "Page link name"
+msgstr "Nom de la pàgina enllaçada"
+
+#: ../../include/conversation.php:1375
+msgid "Post as"
+msgstr "Envia com"
+
+#: ../../include/conversation.php:1389
+msgid "Toggle voting"
+msgstr "Commutar votació"
+
+#: ../../include/conversation.php:1392
+msgid "Disable comments"
+msgstr "Desactiva els comentaris"
+
+#: ../../include/conversation.php:1393
+msgid "Toggle comments"
+msgstr "Commuta l'estat dels comentaris"
+
+#: ../../include/conversation.php:1401
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categories (opcional, llista separada per comes)"
+
+#: ../../include/conversation.php:1424
+msgid "Other networks and post services"
+msgstr "Altres xarxes i serveis de correu"
+
+#: ../../include/conversation.php:1430
+msgid "Set publish date"
+msgstr "Ajusta la data de publicació"
+
+#: ../../include/conversation.php:1690
+msgid "Commented Order"
+msgstr "Ordenar per Comentaris"
+
+#: ../../include/conversation.php:1693
+msgid "Sort by Comment Date"
+msgstr "Ordenar per Data del Comentari"
+
+#: ../../include/conversation.php:1697
+msgid "Posted Order"
+msgstr "Ordenar per Entrades"
+
+#: ../../include/conversation.php:1700
+msgid "Sort by Post Date"
+msgstr "Ordenar per Data d' Entrada"
+
+#: ../../include/conversation.php:1708
+msgid "Posts that mention or involve you"
+msgstr "Entrades que et mencionen o involucren"
+
+#: ../../include/conversation.php:1717
+msgid "Activity Stream - by date"
+msgstr "Activitat del Flux - per data"
+
+#: ../../include/conversation.php:1723
+msgid "Starred"
+msgstr "Preferit"
+
+#: ../../include/conversation.php:1726
+msgid "Favourite Posts"
+msgstr "Entrades Favorites"
+
+#: ../../include/conversation.php:1733
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1736
+msgid "Posts flagged as SPAM"
+msgstr "Entrades marcades com a SPAM"
+
+#: ../../include/conversation.php:1811 ../../include/nav.php:381
+msgid "Status Messages and Posts"
+msgstr "Estat dels Missatges i Entrades"
+
+#: ../../include/conversation.php:1824 ../../include/nav.php:394
+msgid "Profile Details"
+msgstr "Detalls del Perfil"
+
+#: ../../include/conversation.php:1834 ../../include/nav.php:404
+#: ../../include/photos.php:655
+msgid "Photo Albums"
+msgstr "Albums de Fotos"
+
+#: ../../include/conversation.php:1842 ../../include/nav.php:412
+msgid "Files and Storage"
+msgstr "Arxius i Emmagatzegament"
+
+#: ../../include/conversation.php:1879 ../../include/nav.php:447
+msgid "Bookmarks"
+msgstr "Marcadors"
+
+#: ../../include/conversation.php:1882 ../../include/nav.php:450
+msgid "Saved Bookmarks"
+msgstr "Marcadors Guardats"
+
+#: ../../include/conversation.php:1893 ../../include/nav.php:461
+msgid "View Cards"
+msgstr "Mostra les targetes"
+
+#: ../../include/conversation.php:1901
+msgid "articles"
+msgstr "articles"
+
+#: ../../include/conversation.php:1904 ../../include/nav.php:472
+msgid "View Articles"
+msgstr "Mostra els articles"
+
+#: ../../include/conversation.php:1915 ../../include/nav.php:484
+msgid "View Webpages"
+msgstr "Mostra les pàgines web"
+
+#: ../../include/conversation.php:1984
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Assistint"
+msgstr[1] "Assistint"
+
+#: ../../include/conversation.php:1987
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Desassistint"
+msgstr[1] "Desassistint"
+
+#: ../../include/conversation.php:1990
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indecís"
+msgstr[1] "Indecisos"
+
+#: ../../include/conversation.php:1993
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "Acord"
+msgstr[1] "Acords"
+
+#: ../../include/conversation.php:1996
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Desacord"
+msgstr[1] "Desacords"
+
+#: ../../include/conversation.php:1999
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Abstenirse"
+msgstr[1] "Abstenirse"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Opcions de Directori"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Manera Segura"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Només Fòrums Públics"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Només Aquest Lloc Web"
+
+#: ../../include/bookmarks.php:34
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "%1$s de marcadors"
+
+#: ../../include/import.php:41
msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Aquesta és la configuració per defecte per a qui pugui veure els teus arxius i fotos"
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "No s'ha pogut importar el canal perquè l'identificador del canal no s'ha pogut duplicar en aquest servidor."
-#: ../../include/PermissionDescription.php:165
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Aquests son els ajustos per defecte de l'audiència de les teves pàgines web"
+#: ../../include/import.php:106
+msgid "Cloned channel not found. Import failed."
+msgstr "No s'ha pogut importar el canal perquè el canal clonat no s'ha trobat."
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Adreça de correu electrònic no vàlida"
+#: ../../include/text.php:492
+msgid "prev"
+msgstr "prev"
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc"
+#: ../../include/text.php:494
+msgid "first"
+msgstr "primer"
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "La teva adreça de correu electrònic ja esta registrada en aquest lloc"
+#: ../../include/text.php:523
+msgid "last"
+msgstr "últim"
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Es requereix Invitació"
+#: ../../include/text.php:526
+msgid "next"
+msgstr "pròxim"
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "L'invitació no ha pogut ser verificada"
+#: ../../include/text.php:537
+msgid "older"
+msgstr "el més antic"
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Entra la informació sol·licitada"
+#: ../../include/text.php:539
+msgid "newer"
+msgstr "El més nou"
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Ha fallat guardar la informació del compte"
+#: ../../include/text.php:961
+msgid "No connections"
+msgstr "Sense Connexions"
-#: ../../include/account.php:249
+#: ../../include/text.php:993
#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registre confirmat per %s"
+msgid "View all %s connections"
+msgstr "Veure totes les connexions de %s"
+
+#: ../../include/text.php:1129 ../../include/text.php:1133
+msgid "poke"
+msgstr "esperona"
+
+#: ../../include/text.php:1134
+msgid "ping"
+msgstr "coloca"
+
+#: ../../include/text.php:1134
+msgid "pinged"
+msgstr "colocat"
+
+#: ../../include/text.php:1135
+msgid "prod"
+msgstr "picar"
+
+#: ../../include/text.php:1135
+msgid "prodded"
+msgstr "picat"
+
+#: ../../include/text.php:1136
+msgid "slap"
+msgstr "bufetada"
+
+#: ../../include/text.php:1136
+msgid "slapped"
+msgstr "bufetejat"
+
+#: ../../include/text.php:1137
+msgid "finger"
+msgstr "senyal"
+
+#: ../../include/text.php:1137
+msgid "fingered"
+msgstr "senyalat"
+
+#: ../../include/text.php:1138
+msgid "rebuff"
+msgstr "menyspreu"
+
+#: ../../include/text.php:1138
+msgid "rebuffed"
+msgstr "menyspreuat"
+
+#: ../../include/text.php:1161
+msgid "happy"
+msgstr "feliç"
+
+#: ../../include/text.php:1162
+msgid "sad"
+msgstr "trist"
+
+#: ../../include/text.php:1163
+msgid "mellow"
+msgstr "melós"
+
+#: ../../include/text.php:1164
+msgid "tired"
+msgstr "cansat"
+
+#: ../../include/text.php:1165
+msgid "perky"
+msgstr "turgent"
+
+#: ../../include/text.php:1166
+msgid "angry"
+msgstr "enfadat"
+
+#: ../../include/text.php:1167
+msgid "stupefied"
+msgstr "estupefacte"
+
+#: ../../include/text.php:1168
+msgid "puzzled"
+msgstr "perplexe"
+
+#: ../../include/text.php:1169
+msgid "interested"
+msgstr "Interessat"
+
+#: ../../include/text.php:1170
+msgid "bitter"
+msgstr "amargat"
+
+#: ../../include/text.php:1171
+msgid "cheerful"
+msgstr "feliç"
+
+#: ../../include/text.php:1172
+msgid "alive"
+msgstr "viu"
+
+#: ../../include/text.php:1173
+msgid "annoyed"
+msgstr "molest"
+
+#: ../../include/text.php:1174
+msgid "anxious"
+msgstr "ansiós"
+
+#: ../../include/text.php:1175
+msgid "cranky"
+msgstr "malagaitós"
+
+#: ../../include/text.php:1176
+msgid "disturbed"
+msgstr "transtornat"
+
+#: ../../include/text.php:1177
+msgid "frustrated"
+msgstr "frustrat"
+
+#: ../../include/text.php:1178
+msgid "depressed"
+msgstr "deprimit"
+
+#: ../../include/text.php:1179
+msgid "motivated"
+msgstr "motivat"
+
+#: ../../include/text.php:1180
+msgid "relaxed"
+msgstr "relaxat"
+
+#: ../../include/text.php:1181
+msgid "surprised"
+msgstr "sorprès"
+
+#: ../../include/text.php:1360 ../../include/js_strings.php:76
+msgid "Monday"
+msgstr "Dilluns"
+
+#: ../../include/text.php:1360 ../../include/js_strings.php:77
+msgid "Tuesday"
+msgstr "Dimarts"
+
+#: ../../include/text.php:1360 ../../include/js_strings.php:78
+msgid "Wednesday"
+msgstr "Dimecres"
+
+#: ../../include/text.php:1360 ../../include/js_strings.php:79
+msgid "Thursday"
+msgstr "Dijous"
+
+#: ../../include/text.php:1360 ../../include/js_strings.php:80
+msgid "Friday"
+msgstr "Divendres"
+
+#: ../../include/text.php:1360 ../../include/js_strings.php:81
+msgid "Saturday"
+msgstr "Dissabte"
+
+#: ../../include/text.php:1360 ../../include/js_strings.php:75
+msgid "Sunday"
+msgstr "Diumenge"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:51
+msgid "January"
+msgstr "Gener"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:52
+msgid "February"
+msgstr "Febrer"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:53
+msgid "March"
+msgstr "Març"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:54
+msgid "April"
+msgstr "Abril"
-#: ../../include/account.php:315
+#: ../../include/text.php:1364
+msgid "May"
+msgstr "Maig"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:56
+msgid "June"
+msgstr "Juny"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:57
+msgid "July"
+msgstr "Juliol"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:58
+msgid "August"
+msgstr "Agost"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:59
+msgid "September"
+msgstr "Setembre"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:60
+msgid "October"
+msgstr "Octubre"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:61
+msgid "November"
+msgstr "Novembre"
+
+#: ../../include/text.php:1364 ../../include/js_strings.php:62
+msgid "December"
+msgstr "Desembre"
+
+#: ../../include/text.php:1428 ../../include/text.php:1432
+msgid "Unknown Attachment"
+msgstr "Adjunt Desconegut"
+
+#: ../../include/text.php:1434 ../../include/feedutils.php:852
+msgid "unknown"
+msgstr "desconegut"
+
+#: ../../include/text.php:1470
+msgid "remove category"
+msgstr "elimina categoria"
+
+#: ../../include/text.php:1544
+msgid "remove from file"
+msgstr "elimina del arxiu"
+
+#: ../../include/text.php:1686 ../../include/message.php:12
+msgid "Download binary/encrypted content"
+msgstr "Descarrega el binari o contingut xifrat"
+
+#: ../../include/text.php:1848 ../../include/language.php:397
+msgid "default"
+msgstr "per defecte"
+
+#: ../../include/text.php:1856
+msgid "Page layout"
+msgstr "Disseny de pàgina"
+
+#: ../../include/text.php:1856
+msgid "You can create your own with the layouts tool"
+msgstr "Pots crear el teu propi amb l'editor de dissenys de pàgina."
+
+#: ../../include/text.php:1867
+msgid "HTML"
+msgstr "HTML"
+
+#: ../../include/text.php:1870
+msgid "Comanche Layout"
+msgstr "Disseny Comanche"
+
+#: ../../include/text.php:1875
+msgid "PHP"
+msgstr "PHP"
+
+#: ../../include/text.php:1884
+msgid "Page content type"
+msgstr "Tipus de contingut de la pàgina"
+
+#: ../../include/text.php:2017
+msgid "activity"
+msgstr "activitat"
+
+#: ../../include/text.php:2099
+msgid "a-z, 0-9, -, and _ only"
+msgstr "només caràcters alfanumèrics en minúscula (a-z, 0-9), guió (-) i guió baix (_)"
+
+#: ../../include/text.php:2399
+msgid "Design Tools"
+msgstr "Eines de disseny"
+
+#: ../../include/text.php:2405
+msgid "Pages"
+msgstr "Pàgines"
+
+#: ../../include/text.php:2427
+msgid "Import website..."
+msgstr "Importa un lloc web"
+
+#: ../../include/text.php:2428
+msgid "Select folder to import"
+msgstr "Escull la carpeta a on importar"
+
+#: ../../include/text.php:2429
+msgid "Import from a zipped folder:"
+msgstr "Importa des d'una carpeta comprimida:"
+
+#: ../../include/text.php:2430
+msgid "Import from cloud files:"
+msgstr "Importa des de fitxers penjats a un núvol:"
+
+#: ../../include/text.php:2431
+msgid "/cloud/channel/path/to/folder"
+msgstr "/núvol/canal/ruta/a/la/carpeta"
+
+#: ../../include/text.php:2432
+msgid "Enter path to website files"
+msgstr "Introdueix la ruta als arxius de la web"
+
+#: ../../include/text.php:2433
+msgid "Select folder"
+msgstr "Escull la carpeta"
+
+#: ../../include/text.php:2434
+msgid "Export website..."
+msgstr "Exporta un lloc web"
+
+#: ../../include/text.php:2435
+msgid "Export to a zip file"
+msgstr "Exporta a una carpeta comprimida"
+
+#: ../../include/text.php:2436
+msgid "website.zip"
+msgstr "lloc-web.zip"
+
+#: ../../include/text.php:2437
+msgid "Enter a name for the zip file."
+msgstr "Introdueix un nom per al fitxer comprimit."
+
+#: ../../include/text.php:2438
+msgid "Export to cloud files"
+msgstr "Exporta a arxius de núvol"
+
+#: ../../include/text.php:2439
+msgid "/path/to/export/folder"
+msgstr "/ruta/a/la/carpeta/exportació"
+
+#: ../../include/text.php:2440
+msgid "Enter a path to a cloud files destination."
+msgstr "Introdueix la ruta dels fitxers de núvol de destí."
+
+#: ../../include/text.php:2441
+msgid "Specify folder"
+msgstr "Escull una carpeta"
+
+#: ../../include/contact_widgets.php:11
#, php-format
-msgid "Registration request at %s"
-msgstr "Sol·licitud de registre a %s"
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invitació disponible"
+msgstr[1] "%d invitacions disponibles"
-#: ../../include/account.php:317 ../../include/account.php:344
-#: ../../include/account.php:404 ../../include/network.php:1871
-msgid "Administrator"
-msgstr "Administrador"
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Troba Canals"
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "la teva contrasenya registrada"
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Entra un nom o interes"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Conecta/Segueix"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Exemples: Lionel Messi, Futbolista"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Perfil Aleatori"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Convida Amics"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Exemple avançat: nom=pep i pais=eire"
-#: ../../include/account.php:342 ../../include/account.php:402
+#: ../../include/contact_widgets.php:223
+msgid "Common Connections"
+msgstr "Connexions en comú"
+
+#: ../../include/contact_widgets.php:228
#, php-format
-msgid "Registration details for %s"
-msgstr "Detalls del registre per %s"
+msgid "View all %d common connections"
+msgstr "Mostra totes les connexions en comú amb %d"
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Compte aprovat."
+#: ../../include/markdown.php:158 ../../include/bbcode.php:343
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s va escriure el següent %2$s %3$s"
-#: ../../include/account.php:454
+#: ../../include/follow.php:37
+msgid "Channel is blocked on this site."
+msgstr "El canal està bloquejat en aquest lloc."
+
+#: ../../include/follow.php:42
+msgid "Channel location missing."
+msgstr "Ubicació del canal perduda."
+
+#: ../../include/follow.php:84
+msgid "Response from remote channel was incomplete."
+msgstr "La resposta del canal remot fou incompleta."
+
+#: ../../include/follow.php:101
+msgid "Channel was deleted and no longer exists."
+msgstr "El canal fou esborrat i actualment no existeix."
+
+#: ../../include/follow.php:156
+msgid "Remote channel or protocol unavailable."
+msgstr "El canal remot o el protocol no estan disponibles."
+
+#: ../../include/follow.php:179
+msgid "Channel discovery failed."
+msgstr "Descobriment de canal fallit."
+
+#: ../../include/follow.php:191
+msgid "Protocol disabled."
+msgstr "Protocol desactivat."
+
+#: ../../include/follow.php:202
+msgid "Cannot connect to yourself."
+msgstr "No pots connectar amb tu mateix."
+
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Esborrar aquest item?"
+
+#: ../../include/js_strings.php:8
#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registre revocat per %s"
+msgid "%s show less"
+msgstr "%smostra'n menys"
-#: ../../include/account.php:506
-msgid "Account verified. Please login."
-msgstr "Compte verificat. Si us plau, inicia sessió."
+#: ../../include/js_strings.php:9
+#, php-format
+msgid "%s expand"
+msgstr "%sdesplega"
-#: ../../include/account.php:723 ../../include/account.php:725
-msgid "Click here to upgrade."
-msgstr "Feu clic aquí per actualitzar."
+#: ../../include/js_strings.php:10
+#, php-format
+msgid "%s collapse"
+msgstr "%splega"
-#: ../../include/account.php:731
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Aquesta acció és superior als límits establerts pel seu pla de subscripció."
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Contrasenya massa curta"
-#: ../../include/account.php:736
-msgid "This action is not available under your subscription plan."
-msgstr "Aquesta acció no està disponible en el seu pla de subscripció."
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Les paraules de pas no coincideixen"
+
+#: ../../include/js_strings.php:13
+msgid "everybody"
+msgstr "tothom"
+
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Contrasenya Secreta"
-#: ../../include/attach.php:247 ../../include/attach.php:333
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Pista per la Contrasenya"
+
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Avis: Els permisos han canviat però encara no han estat enviats."
+
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "tanca tot"
+
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Res de nou per aquí"
+
+#: ../../include/js_strings.php:19
+msgid "Rate This Channel (this is public)"
+msgstr "Valora Aquest Canal (això es farà públic)"
+
+#: ../../include/js_strings.php:21
+msgid "Describe (optional)"
+msgstr "Descriu (opcional)"
+
+#: ../../include/js_strings.php:23
+msgid "Please enter a link URL"
+msgstr "Si us plau, entra l'enllaç URL"
+
+#: ../../include/js_strings.php:24
+msgid "Unsaved changes. Are you sure you wish to leave this page?"
+msgstr "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?"
+
+#: ../../include/js_strings.php:31
+msgid "timeago.prefixAgo"
+msgstr "fa"
+
+#: ../../include/js_strings.php:32
+msgid "timeago.prefixFromNow"
+msgstr "d'aquí a"
+
+#: ../../include/js_strings.php:33
+msgid "timeago.suffixAgo"
+msgstr "fa"
+
+#: ../../include/js_strings.php:34
+msgid "timeago.suffixFromNow"
+msgstr "d'aquí a"
+
+#: ../../include/js_strings.php:37
+msgid "less than a minute"
+msgstr "uns segons"
+
+#: ../../include/js_strings.php:38
+msgid "about a minute"
+msgstr "prop d'un minut"
+
+#: ../../include/js_strings.php:39
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuts"
+
+#: ../../include/js_strings.php:40
+msgid "about an hour"
+msgstr "prop d'una hora"
+
+#: ../../include/js_strings.php:41
+#, php-format
+msgid "about %d hours"
+msgstr "unes %d hores"
+
+#: ../../include/js_strings.php:42
+msgid "a day"
+msgstr "un dia"
+
+#: ../../include/js_strings.php:43
+#, php-format
+msgid "%d days"
+msgstr "%d dies"
+
+#: ../../include/js_strings.php:44
+msgid "about a month"
+msgstr "prop d'un mes"
+
+#: ../../include/js_strings.php:45
+#, php-format
+msgid "%d months"
+msgstr "%d mesos"
+
+#: ../../include/js_strings.php:46
+msgid "about a year"
+msgstr "prop d'un any"
+
+#: ../../include/js_strings.php:47
+#, php-format
+msgid "%d years"
+msgstr "%d anys"
+
+#: ../../include/js_strings.php:48
+msgid " "
+msgstr " "
+
+#: ../../include/js_strings.php:49
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
+
+#: ../../include/js_strings.php:55
+msgctxt "long"
+msgid "May"
+msgstr "maig"
+
+#: ../../include/js_strings.php:63
+msgid "Jan"
+msgstr "gen."
+
+#: ../../include/js_strings.php:64
+msgid "Feb"
+msgstr "feb."
+
+#: ../../include/js_strings.php:65
+msgid "Mar"
+msgstr "març"
+
+#: ../../include/js_strings.php:66
+msgid "Apr"
+msgstr "abr."
+
+#: ../../include/js_strings.php:67
+msgctxt "short"
+msgid "May"
+msgstr "maig"
+
+#: ../../include/js_strings.php:68
+msgid "Jun"
+msgstr "juny"
+
+#: ../../include/js_strings.php:69
+msgid "Jul"
+msgstr "jul."
+
+#: ../../include/js_strings.php:70
+msgid "Aug"
+msgstr "ag."
+
+#: ../../include/js_strings.php:71
+msgid "Sep"
+msgstr "set."
+
+#: ../../include/js_strings.php:72
+msgid "Oct"
+msgstr "oct."
+
+#: ../../include/js_strings.php:73
+msgid "Nov"
+msgstr "nov."
+
+#: ../../include/js_strings.php:74
+msgid "Dec"
+msgstr "des."
+
+#: ../../include/js_strings.php:82
+msgid "Sun"
+msgstr "dg."
+
+#: ../../include/js_strings.php:83
+msgid "Mon"
+msgstr "dl."
+
+#: ../../include/js_strings.php:84
+msgid "Tue"
+msgstr "dm."
+
+#: ../../include/js_strings.php:85
+msgid "Wed"
+msgstr "dc."
+
+#: ../../include/js_strings.php:86
+msgid "Thu"
+msgstr "dj."
+
+#: ../../include/js_strings.php:87
+msgid "Fri"
+msgstr "dv."
+
+#: ../../include/js_strings.php:88
+msgid "Sat"
+msgstr "ds."
+
+#: ../../include/js_strings.php:89
+msgctxt "calendar"
+msgid "today"
+msgstr "avui"
+
+#: ../../include/js_strings.php:90
+msgctxt "calendar"
+msgid "month"
+msgstr "mes"
+
+#: ../../include/js_strings.php:91
+msgctxt "calendar"
+msgid "week"
+msgstr "setmana"
+
+#: ../../include/js_strings.php:92
+msgctxt "calendar"
+msgid "day"
+msgstr "dia"
+
+#: ../../include/js_strings.php:93
+msgctxt "calendar"
+msgid "All day"
+msgstr "Tot el dia"
+
+#: ../../include/message.php:40
+msgid "Unable to determine sender."
+msgstr "incapaç de determinar el remitent"
+
+#: ../../include/message.php:79
+msgid "No recipient provided."
+msgstr "No s'ha proporcionat bústia."
+
+#: ../../include/message.php:84
+msgid "[no subject]"
+msgstr "[no subject]"
+
+#: ../../include/message.php:214
+msgid "Stored post could not be verified."
+msgstr "L'entrada guardada no pot ser verificada"
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "i"
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "Perfil públic"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s canviat %2$s a &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Visita %1$s en %2$s"
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s Ha actualitzat %2$s, canviant %3$s."
+
+#: ../../include/attach.php:265 ../../include/attach.php:361
msgid "Item was not found."
msgstr "Article no trobat."
-#: ../../include/attach.php:497
+#: ../../include/attach.php:554
msgid "No source file."
msgstr "No hi ha arxiu d'origen."
-#: ../../include/attach.php:519
+#: ../../include/attach.php:576
msgid "Cannot locate file to replace"
msgstr "No trobo l'arxiu a reemplaçar"
-#: ../../include/attach.php:537
+#: ../../include/attach.php:595
msgid "Cannot locate file to revise/update"
msgstr "No trobo l'arxiu a revisar/actualitzar"
-#: ../../include/attach.php:672
+#: ../../include/attach.php:737
#, php-format
msgid "File exceeds size limit of %d"
msgstr "L'arxiu excedeix la mida limit de %d"
-#: ../../include/attach.php:686
+#: ../../include/attach.php:758
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Has arribat al teu límit de %1$.0f Mbytes de emagatzematge d'adjunts."
-#: ../../include/attach.php:842
+#: ../../include/attach.php:940
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Pujada del arxiu fallida. Possible límit del sistema o acció interrompuda."
-#: ../../include/attach.php:855
+#: ../../include/attach.php:959
msgid "Stored file could not be verified. Upload failed."
msgstr "L'arxiu guardat no es pot verificar. Pujada fallida."
-#: ../../include/attach.php:909 ../../include/attach.php:925
+#: ../../include/attach.php:1033 ../../include/attach.php:1049
msgid "Path not available."
msgstr "Trajectòria no disponible"
-#: ../../include/attach.php:971 ../../include/attach.php:1123
+#: ../../include/attach.php:1098 ../../include/attach.php:1263
msgid "Empty pathname"
msgstr "Trajèctoria vuida."
-#: ../../include/attach.php:997
+#: ../../include/attach.php:1124
msgid "duplicate filename or path"
msgstr "Nom o trajectòria duplicat"
-#: ../../include/attach.php:1019
+#: ../../include/attach.php:1149
msgid "Path not found."
msgstr "Trajectòria no trobada."
-#: ../../include/attach.php:1077
+#: ../../include/attach.php:1217
msgid "mkdir failed."
msgstr "mkdir va fracassar."
-#: ../../include/attach.php:1081
+#: ../../include/attach.php:1221
msgid "database storage failed."
msgstr "Arxiu de base de dades va fallar."
-#: ../../include/attach.php:1129
+#: ../../include/attach.php:1269
msgid "Empty path"
msgstr "Trajèctoria vuida"
-#: ../../include/channel.php:32
+#: ../../include/security.php:532
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "El formulario de la cadena de seguridad no era correcto. Esto probablemente ocurrió porque el formulario se ha abierto durante demasiado tiempo (> 3 horas) antes de enviarlo."
+
+#: ../../include/items.php:885 ../../include/items.php:945
+msgid "(Unknown)"
+msgstr "(Desconegut)"
+
+#: ../../include/items.php:1129
+msgid "Visible to anybody on the internet."
+msgstr "Visible per tothom a la Internet"
+
+#: ../../include/items.php:1131
+msgid "Visible to you only."
+msgstr "Visible només per tú."
+
+#: ../../include/items.php:1133
+msgid "Visible to anybody in this network."
+msgstr "Visible per tothom en aquesta xarxa."
+
+#: ../../include/items.php:1135
+msgid "Visible to anybody authenticated."
+msgstr "Visible per tothom autenticat."
+
+#: ../../include/items.php:1137
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visible per a tothom a %s."
+
+#: ../../include/items.php:1139
+msgid "Visible to all connections."
+msgstr "Visible per a totes les connexions."
+
+#: ../../include/items.php:1141
+msgid "Visible to approved connections."
+msgstr "Visible per a les connexions aprovades."
+
+#: ../../include/items.php:1143
+msgid "Visible to specific connections."
+msgstr "Visible per a específiques connexions."
+
+#: ../../include/items.php:4147
+msgid "Privacy group is empty."
+msgstr "El grup privat està vuit."
+
+#: ../../include/items.php:4154
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Grup privat: %s"
+
+#: ../../include/items.php:4166
+msgid "Connection not found."
+msgstr "Connexió no trobada."
+
+#: ../../include/items.php:4515
+msgid "profile photo"
+msgstr "foto del perfil"
+
+#: ../../include/items.php:4706
+#, php-format
+msgid "[Edited %s]"
+msgstr "[S'ha editat %s]"
+
+#: ../../include/items.php:4706
+msgctxt "edit_activity"
+msgid "Post"
+msgstr "Entrada"
+
+#: ../../include/items.php:4706
+msgctxt "edit_activity"
+msgid "Comment"
+msgstr "Comentari"
+
+#: ../../include/channel.php:35
msgid "Unable to obtain identity information from database"
msgstr "Incapaç de trobar l'informació d'identitat a la base de dades"
-#: ../../include/channel.php:66
+#: ../../include/channel.php:68
msgid "Empty name"
msgstr "Nom buit"
-#: ../../include/channel.php:69
+#: ../../include/channel.php:71
msgid "Name too long"
msgstr "Nom massa llarg"
-#: ../../include/channel.php:180
+#: ../../include/channel.php:188
msgid "No account identifier"
msgstr "Sense identificador de compte"
-#: ../../include/channel.php:192
+#: ../../include/channel.php:200
msgid "Nickname is required."
msgstr "Alies/malnom es requerit."
-#: ../../include/channel.php:206
-msgid "Reserved nickname. Please choose another."
-msgstr "Àlies reservat. Tria un altre."
-
-#: ../../include/channel.php:211
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "L'álies te caracters no soportats o ja esta en ús en aquest lloc"
-
-#: ../../include/channel.php:287
+#: ../../include/channel.php:277
msgid "Unable to retrieve created identity"
msgstr "No es pot recuperar la identitat creada"
-#: ../../include/channel.php:345
+#: ../../include/channel.php:373
msgid "Default Profile"
msgstr "Perfil per Defecte"
-#: ../../include/channel.php:791
-msgid "Requested channel is not available."
-msgstr "El canal demanat no està disponible."
+#: ../../include/channel.php:532 ../../include/channel.php:621
+msgid "Unable to retrieve modified identity"
+msgstr "No s'ha pogut carregar la identitat modificada"
-#: ../../include/channel.php:938
+#: ../../include/channel.php:1298
msgid "Create New Profile"
msgstr "Crear un Perfil Nou"
-#: ../../include/channel.php:958
+#: ../../include/channel.php:1319
msgid "Visible to everybody"
msgstr "Visible per tothom"
-#: ../../include/channel.php:1031 ../../include/channel.php:1142
+#: ../../include/channel.php:1396 ../../include/channel.php:1524
msgid "Gender:"
msgstr "Gènere:"
-#: ../../include/channel.php:1032 ../../include/channel.php:1186
-msgid "Status:"
-msgstr "Estatus:"
-
-#: ../../include/channel.php:1033 ../../include/channel.php:1197
+#: ../../include/channel.php:1398 ../../include/channel.php:1579
msgid "Homepage:"
msgstr "Pàgina Personal:"
-#: ../../include/channel.php:1034
+#: ../../include/channel.php:1399
msgid "Online Now"
msgstr "Ara en Linia"
-#: ../../include/channel.php:1147
+#: ../../include/channel.php:1452
+msgid "Change your profile photo"
+msgstr "Canvia la foto de peril"
+
+#: ../../include/channel.php:1483
+msgid "Trans"
+msgstr "Trans"
+
+#: ../../include/channel.php:1529
msgid "Like this channel"
msgstr "M'agrada aquest canal"
-#: ../../include/channel.php:1171
+#: ../../include/channel.php:1553
msgid "j F, Y"
msgstr "j F, Y"
-#: ../../include/channel.php:1172
+#: ../../include/channel.php:1554
msgid "j F"
msgstr "j F"
-#: ../../include/channel.php:1179
+#: ../../include/channel.php:1561
msgid "Birthday:"
msgstr "Aniversari:"
-#: ../../include/channel.php:1192
+#: ../../include/channel.php:1574
#, php-format
msgid "for %1$d %2$s"
msgstr "per %1$d %2$s"
-#: ../../include/channel.php:1195
+#: ../../include/channel.php:1577
msgid "Sexual Preference:"
msgstr "Preferència Sexual:"
-#: ../../include/channel.php:1201
+#: ../../include/channel.php:1583
msgid "Tags:"
msgstr "Etiquetes:"
-#: ../../include/channel.php:1203
+#: ../../include/channel.php:1585
msgid "Political Views:"
msgstr "Idees Polítiques:"
-#: ../../include/channel.php:1205
+#: ../../include/channel.php:1587
msgid "Religion:"
msgstr "Religió:"
-#: ../../include/channel.php:1209
+#: ../../include/channel.php:1591
msgid "Hobbies/Interests:"
msgstr "Aficions/Interessos:"
-#: ../../include/channel.php:1211
+#: ../../include/channel.php:1593
msgid "Likes:"
msgstr "Agrada:"
-#: ../../include/channel.php:1213
+#: ../../include/channel.php:1595
msgid "Dislikes:"
msgstr "Desagrada:"
-#: ../../include/channel.php:1215
+#: ../../include/channel.php:1597
msgid "Contact information and Social Networks:"
msgstr "Informació de contacte i Xarxes Socials:"
-#: ../../include/channel.php:1217
+#: ../../include/channel.php:1599
msgid "My other channels:"
msgstr "Els meus altres canals:"
-#: ../../include/channel.php:1219
+#: ../../include/channel.php:1601
msgid "Musical interests:"
msgstr "Interessos Musicals:"
-#: ../../include/channel.php:1221
+#: ../../include/channel.php:1603
msgid "Books, literature:"
msgstr "Llibres, literatura:"
-#: ../../include/channel.php:1223
+#: ../../include/channel.php:1605
msgid "Television:"
msgstr "Televisió:"
-#: ../../include/channel.php:1225
+#: ../../include/channel.php:1607
msgid "Film/dance/culture/entertainment:"
msgstr "Películes/Dança/Cultura/Entreteniment:"
-#: ../../include/channel.php:1227
+#: ../../include/channel.php:1609
msgid "Love/Romance:"
msgstr "Amor/Romace:"
-#: ../../include/channel.php:1229
+#: ../../include/channel.php:1611
msgid "Work/employment:"
msgstr "Treball/feina:"
-#: ../../include/channel.php:1231
+#: ../../include/channel.php:1613
msgid "School/education:"
msgstr "Escola/educació:"
-#: ../../include/channel.php:1251
+#: ../../include/channel.php:1636
msgid "Like this thing"
msgstr "M'agrada això"
-#: ../../include/features.php:48
-msgid "General Features"
-msgstr "Característiques Generals"
+#: ../../include/event.php:24 ../../include/event.php:71
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d \\d\\e/\\d' F de Y \\@ H:i T"
-#: ../../include/features.php:50
-msgid "Content Expiration"
-msgstr "Expiració del Contingut"
+#: ../../include/event.php:32 ../../include/event.php:75
+msgid "Starts:"
+msgstr "Inicia:"
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "eliminarà entrades/comentaris i/o missatges privats en un període determinat de temps."
+#: ../../include/event.php:42 ../../include/event.php:79
+msgid "Finishes:"
+msgstr "Acaba:"
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
-msgstr "Multiples Perfils"
+#: ../../include/event.php:1011
+msgid "This event has been added to your calendar."
+msgstr "Aquest succés ha estat afegit al teu calendari."
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
-msgstr "Capacitat per crear multiples perfils"
+#: ../../include/event.php:1227
+msgid "Not specified"
+msgstr "Sense especificar"
+
+#: ../../include/event.php:1228
+msgid "Needs Action"
+msgstr "Necessita una Acció"
+
+#: ../../include/event.php:1229
+msgid "Completed"
+msgstr "Completat"
+
+#: ../../include/event.php:1230
+msgid "In Process"
+msgstr "En Procès"
+
+#: ../../include/event.php:1231
+msgid "Cancelled"
+msgstr "Cancel·lat"
+
+#: ../../include/event.php:1310 ../../include/connections.php:684
+msgid "Home, Voice"
+msgstr "Casa, veu"
+
+#: ../../include/event.php:1311 ../../include/connections.php:685
+msgid "Home, Fax"
+msgstr "Casa, fax"
+
+#: ../../include/event.php:1313 ../../include/connections.php:687
+msgid "Work, Voice"
+msgstr "Feina, veu"
+
+#: ../../include/event.php:1314 ../../include/connections.php:688
+msgid "Work, Fax"
+msgstr "Feina, fax"
+
+#: ../../include/network.php:762
+msgid "view full size"
+msgstr "Veure a mida competa"
+
+#: ../../include/network.php:1769 ../../include/network.php:1770
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:1771
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:1772
+msgid "GNU-Social"
+msgstr "GNU-Social"
+
+#: ../../include/network.php:1773
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:1776
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:1777
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/network.php:1778
+msgid "Zot"
+msgstr "Zot"
+
+#: ../../include/network.php:1779
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/network.php:1780
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:1781
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/language.php:410
+msgid "Select an alternate language"
+msgstr "Tria un idioma alternatiu"
+
+#: ../../include/acl_selectors.php:113
+msgid "Who can see this?"
+msgstr "Qui pot veure això?"
+
+#: ../../include/acl_selectors.php:114
+msgid "Custom selection"
+msgstr "Selecció a mida"
+
+#: ../../include/acl_selectors.php:115
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Selecciona \"Mostrar\" per permetre la visualització. \"No Mostrar\" et permet obviar i limitar l'abast de \"Mostrar\"."
+
+#: ../../include/acl_selectors.php:116
+msgid "Show"
+msgstr "Mostra"
+
+#: ../../include/acl_selectors.php:117
+msgid "Don't show"
+msgstr "No mostrar"
+
+#: ../../include/acl_selectors.php:150
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "Els permisos d'entrada %s no poden esser canviats %s posteriorment a que una entrada ja està compartida. </br />Aquest ajust dels permisos indica qui pot veure l'entrada."
+
+#: ../../include/dba/dba_driver.php:178
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "No s'ha trobat informació de DNS pel servidor de base de dades '%s'"
+
+#: ../../include/bbcode.php:198 ../../include/bbcode.php:1151
+#: ../../include/bbcode.php:1154 ../../include/bbcode.php:1159
+#: ../../include/bbcode.php:1162 ../../include/bbcode.php:1165
+#: ../../include/bbcode.php:1168 ../../include/bbcode.php:1173
+#: ../../include/bbcode.php:1176 ../../include/bbcode.php:1181
+#: ../../include/bbcode.php:1184 ../../include/bbcode.php:1187
+#: ../../include/bbcode.php:1190
+msgid "Image/photo"
+msgstr "Imatge/foto"
+
+#: ../../include/bbcode.php:237 ../../include/bbcode.php:1201
+msgid "Encrypted content"
+msgstr "Contingut encriptat"
+
+#: ../../include/bbcode.php:253
+#, php-format
+msgid "Install %1$s element %2$s"
+msgstr "Instaŀla l'element %2$s del tipus %1$s"
+
+#: ../../include/bbcode.php:257
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Aquesta entrada contè un element %s instal·lable, potser manques de permissos per instal·lar-lo en aquest lloc."
+
+#: ../../include/bbcode.php:335
+msgid "card"
+msgstr "targeta"
+
+#: ../../include/bbcode.php:337
+msgid "article"
+msgstr "article"
+
+#: ../../include/bbcode.php:420 ../../include/bbcode.php:428
+msgid "Click to open/close"
+msgstr "Clic per obrir/tancar"
+
+#: ../../include/bbcode.php:428
+msgid "spoiler"
+msgstr "xafa guitarres"
+
+#: ../../include/bbcode.php:441
+msgid "View article"
+msgstr "Mostra l'article"
+
+#: ../../include/bbcode.php:441
+msgid "View summary"
+msgstr "Mostra'n un resum"
+
+#: ../../include/bbcode.php:1139
+msgid "$1 wrote:"
+msgstr "$1 va escriure:"
+
+#: ../../include/oembed.php:328
+msgid " by "
+msgstr "de"
+
+#: ../../include/oembed.php:329
+msgid " on "
+msgstr "a"
+
+#: ../../include/oembed.php:358
+msgid "Embedded content"
+msgstr "Contingut embegut"
+
+#: ../../include/oembed.php:367
+msgid "Embedding disabled"
+msgstr "Incorporació desactivada"
+
+#: ../../include/zid.php:346
+#, php-format
+msgid "OpenWebAuth: %1$s welcomes %2$s"
+msgstr "OpenWebAuth: %1$s dóna la benvinguda a %2$s"
+
+#: ../../include/features.php:54
+msgid "General Features"
+msgstr "Característiques Generals"
-#: ../../include/features.php:52
+#: ../../include/features.php:60
msgid "Advanced Profiles"
msgstr "Perfils Avançats"
-#: ../../include/features.php:52
+#: ../../include/features.php:61
msgid "Additional profile sections and selections"
msgstr "Seccions i seleccions addicionals de perfils "
-#: ../../include/features.php:53
+#: ../../include/features.php:69
msgid "Profile Import/Export"
msgstr "Importar/Exportar Perfil"
-#: ../../include/features.php:53
+#: ../../include/features.php:70
msgid "Save and load profile details across sites/channels"
msgstr "Guarda i carrega els detalls del perfil al llarg dels llocs/canals"
-#: ../../include/features.php:54
+#: ../../include/features.php:78
msgid "Web Pages"
msgstr "Pàgines Web"
-#: ../../include/features.php:54
+#: ../../include/features.php:79
msgid "Provide managed web pages on your channel"
msgstr "Proporcionar pàgines web gestionades al seu canal"
-#: ../../include/features.php:55
-msgid "Hide Rating"
-msgstr "Amaga la Valoració"
-
-#: ../../include/features.php:55
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Amaga el botó de valoracions al teu canal i pàgines del perfil. Nota: Et poden continuar valorant en altres llocs."
+#: ../../include/features.php:88
+msgid "Provide a wiki for your channel"
+msgstr "Proporciona una wiki per al teu canal"
-#: ../../include/features.php:56
+#: ../../include/features.php:105
msgid "Private Notes"
msgstr "Notes Privades"
-#: ../../include/features.php:56
+#: ../../include/features.php:106
msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr "Activa l'eina per guardar notes i recordatoris (nota:no està encriptat)"
-#: ../../include/features.php:57
+#: ../../include/features.php:115
+msgid "Create personal planning cards"
+msgstr "Crea targetes de planificació personal"
+
+#: ../../include/features.php:125
+msgid "Create interactive articles"
+msgstr "Crea articles interactius"
+
+#: ../../include/features.php:133
msgid "Navigation Channel Select"
msgstr "Navegació pel Selector de Canals"
-#: ../../include/features.php:57
+#: ../../include/features.php:134
msgid "Change channels directly from within the navigation dropdown menu"
msgstr "Canvieu els canals directament des del menú desplegable de navegació"
-#: ../../include/features.php:58
+#: ../../include/features.php:142
msgid "Photo Location"
msgstr "Ubicació de la Foto"
-#: ../../include/features.php:58
+#: ../../include/features.php:143
msgid "If location data is available on uploaded photos, link this to a map."
msgstr "Si les dades d'ubicació estàn disponibles a les fotos pujades, vincular a un mapa."
-#: ../../include/features.php:59
+#: ../../include/features.php:151
msgid "Access Controlled Chatrooms"
msgstr "Accés Controlat a les Sales de Xat"
-#: ../../include/features.php:59
+#: ../../include/features.php:152
msgid "Provide chatrooms and chat services with access control."
msgstr "Proveeix sales de Xat i serveis de Xat amb control d'accés."
-#: ../../include/features.php:60
+#: ../../include/features.php:161
msgid "Smart Birthdays"
msgstr "Aniversaris Intel·ligents"
-#: ../../include/features.php:60
+#: ../../include/features.php:162
msgid ""
"Make birthday events timezone aware in case your friends are scattered "
"across the planet."
msgstr "Fes, conscients de la zona horària, els esdeveniments d'aniversari, en cas que els teus amics estiguin dispersos per tot el planeta."
-#: ../../include/features.php:61
-msgid "Expert Mode"
-msgstr "Manera Experta"
+#: ../../include/features.php:170
+msgid "Event Timezone Selection"
+msgstr "Zona horària dels esdeveniments"
-#: ../../include/features.php:61
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Activar Mode Expert per a proporcionar opcions avançades de configuració"
+#: ../../include/features.php:171
+msgid "Allow event creation in timezones other than your own."
+msgstr "Permet crear esdeveniments en zones horàries diferents a la teva."
-#: ../../include/features.php:62
+#: ../../include/features.php:180
msgid "Premium Channel"
msgstr "Privilegis del Canal"
-#: ../../include/features.php:62
+#: ../../include/features.php:181
msgid ""
"Allows you to set restrictions and terms on those that connect with your "
"channel"
msgstr "Li permet establir restriccions i els termes en els quals es connecten amb el seu canal"
-#: ../../include/features.php:67
+#: ../../include/features.php:189
+msgid "Advanced Directory Search"
+msgstr "Cerca de directori avançada"
+
+#: ../../include/features.php:190
+msgid "Allows creation of complex directory search queries"
+msgstr "Permet fer cerques de directori complexes"
+
+#: ../../include/features.php:198
+msgid "Advanced Theme and Layout Settings"
+msgstr "Configuració de disseny i de tema avançada"
+
+#: ../../include/features.php:199
+msgid "Allows fine tuning of themes and page layouts"
+msgstr "Permet configurar al detall els temes i els dissenys de pàgina"
+
+#: ../../include/features.php:208
+msgid "Access Control and Permissions"
+msgstr "Control d'accés i permisos"
+
+#: ../../include/features.php:212 ../../include/group.php:328
+msgid "Privacy Groups"
+msgstr "Grup Privat"
+
+#: ../../include/features.php:213
+msgid "Enable management and selection of privacy groups"
+msgstr "Habilita gestió i selecció de grups privats"
+
+#: ../../include/features.php:221
+msgid "Multiple Profiles"
+msgstr "Multiples Perfils"
+
+#: ../../include/features.php:222
+msgid "Ability to create multiple profiles"
+msgstr "Capacitat per crear multiples perfils"
+
+#: ../../include/features.php:232
+msgid "Provide alternate connection permission roles."
+msgstr "Proporciona rols diferents per als permisos de connexió."
+
+#: ../../include/features.php:240
+msgid "OAuth Clients"
+msgstr "Clients d'OAuth"
+
+#: ../../include/features.php:241
+msgid "Manage authenticatication tokens for mobile and remote apps."
+msgstr "Gestiona els tokens d'autenticació per al mòbils i aplicacions remotes."
+
+#: ../../include/features.php:249
+msgid "Access Tokens"
+msgstr "Tokens d'accés"
+
+#: ../../include/features.php:250
+msgid "Create access tokens so that non-members can access private content."
+msgstr "Crea tokens d'accés per tal que no-membres puguis accedir contingut privat."
+
+#: ../../include/features.php:261
msgid "Post Composition Features"
msgstr "Característiques de Composició d'Entrades"
-#: ../../include/features.php:70
+#: ../../include/features.php:265
msgid "Large Photos"
msgstr "Grans Fotos"
-#: ../../include/features.php:70
+#: ../../include/features.php:266
msgid ""
"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
"(640px) photo thumbnails"
msgstr "Inclou gran (1024px) foto de miniatura a les entrades. Si no està activat, empra petita (640px) foto de miniatura."
-#: ../../include/features.php:71
+#: ../../include/features.php:275
msgid "Automatically import channel content from other channels or feeds"
msgstr "Importa automàticament el contingut del canal des de altres canals o feeds"
-#: ../../include/features.php:72
+#: ../../include/features.php:283
msgid "Even More Encryption"
msgstr "Encara Més Encriptació"
-#: ../../include/features.php:72
+#: ../../include/features.php:284
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Permet l'encripció opcional del contingut extrem-a-extrem amb clau secreta compartida"
-#: ../../include/features.php:73
+#: ../../include/features.php:292
msgid "Enable Voting Tools"
msgstr "Habilitar Eines de Votació"
-#: ../../include/features.php:73
+#: ../../include/features.php:293
msgid "Provide a class of post which others can vote on"
msgstr "Proporcionar una classe d'entrada que altres puguin votar"
-#: ../../include/features.php:74
+#: ../../include/features.php:301
+msgid "Disable Comments"
+msgstr "Deshabilita els comentaris"
+
+#: ../../include/features.php:302
+msgid "Provide the option to disable comments for a post"
+msgstr "Proporciona l'opció de deshabilitar els comentaris per a una entrada"
+
+#: ../../include/features.php:310
msgid "Delayed Posting"
msgstr "Retarda Publicació"
-#: ../../include/features.php:74
+#: ../../include/features.php:311
msgid "Allow posts to be published at a later date"
msgstr "Permet que les publicacions es publiquin en data posterior"
-#: ../../include/features.php:75
+#: ../../include/features.php:319
+msgid "Content Expiration"
+msgstr "Expiració del Contingut"
+
+#: ../../include/features.php:320
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "eliminarà entrades/comentaris i/o missatges privats en un període determinat de temps."
+
+#: ../../include/features.php:328
msgid "Suppress Duplicate Posts/Comments"
msgstr "Suprimeix Duplicats de Publicacions/Comentaris"
-#: ../../include/features.php:75
+#: ../../include/features.php:329
msgid ""
"Prevent posts with identical content to be published with less than two "
"minutes in between submissions."
msgstr "Evita que publicacions amb identic contingut siguin publicades amb menys de dos minuts entre entregues."
-#: ../../include/features.php:81
+#: ../../include/features.php:340
msgid "Network and Stream Filtering"
msgstr "Filtrat de Xarxa i Flux"
-#: ../../include/features.php:82
+#: ../../include/features.php:344
msgid "Search by Date"
msgstr "Cerca per Data"
-#: ../../include/features.php:82
+#: ../../include/features.php:345
msgid "Ability to select posts by date ranges"
msgstr "Capacitat per seleccionar entrades per rang de dates"
-#: ../../include/features.php:83 ../../include/group.php:311
-msgid "Privacy Groups"
-msgstr "Grup Privat"
-
-#: ../../include/features.php:83
-msgid "Enable management and selection of privacy groups"
-msgstr "Habilita gestió i selecció de grups privats"
-
-#: ../../include/features.php:84
+#: ../../include/features.php:355
msgid "Save search terms for re-use"
msgstr "Guardar els termin de la cerca per a re-usar"
-#: ../../include/features.php:85
+#: ../../include/features.php:363
msgid "Network Personal Tab"
msgstr "Pestanya Personal de Xarxa"
-#: ../../include/features.php:85
+#: ../../include/features.php:364
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Activa la pestanya per mostrar només les entrades de xarxa en les que has intervingut"
-#: ../../include/features.php:86
+#: ../../include/features.php:372
msgid "Network New Tab"
msgstr "Pestanya Nou a la Xarxa"
-#: ../../include/features.php:86
+#: ../../include/features.php:373
msgid "Enable tab to display all new Network activity"
msgstr "Activa pestanya per mostrar tota l'activitat nova de la Xarxa"
-#: ../../include/features.php:87
+#: ../../include/features.php:381
msgid "Affinity Tool"
msgstr "Eina d'Afinitat"
-#: ../../include/features.php:87
+#: ../../include/features.php:382
msgid "Filter stream activity by depth of relationships"
msgstr "Filtre d'activitat del flux per importància de la relació"
-#: ../../include/features.php:88
+#: ../../include/features.php:391
+msgid "Show friend and connection suggestions"
+msgstr "Suggereix connexions o amistats"
+
+#: ../../include/features.php:399
msgid "Connection Filtering"
msgstr "Filtre de Connexió"
-#: ../../include/features.php:88
+#: ../../include/features.php:400
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Filtre de missatges d'entrada de conexions, basat en paraules clau/contingut "
-#: ../../include/features.php:89
-msgid "Show channel suggestions"
-msgstr "Mostra suggerencies de canals"
-
-#: ../../include/features.php:94
+#: ../../include/features.php:412
msgid "Post/Comment Tools"
msgstr "Eina d'Entrades/Comentaris"
-#: ../../include/features.php:95
+#: ../../include/features.php:416
msgid "Community Tagging"
msgstr "Etiquetat per la Comunitat"
-#: ../../include/features.php:95
+#: ../../include/features.php:417
msgid "Ability to tag existing posts"
msgstr "Capacitat d'etiquetar entrades existents"
-#: ../../include/features.php:96
+#: ../../include/features.php:425
msgid "Post Categories"
msgstr "Categories d'Entrades"
-#: ../../include/features.php:96
+#: ../../include/features.php:426
msgid "Add categories to your posts"
msgstr "Afegeix categoria a la teva entrada"
-#: ../../include/features.php:97
+#: ../../include/features.php:434
msgid "Emoji Reactions"
-msgstr ""
+msgstr "Reaccions dels Emoji"
-#: ../../include/features.php:97
+#: ../../include/features.php:435
msgid "Add emoji reaction ability to posts"
-msgstr ""
+msgstr "Afegeix un emoji habilitat per reaccionar a entrades"
-#: ../../include/features.php:98
+#: ../../include/features.php:444
msgid "Ability to file posts under folders"
msgstr "Capacitat de arxivar entrades en les carpetes"
-#: ../../include/features.php:99
+#: ../../include/features.php:452
msgid "Dislike Posts"
msgstr "No Agrada l'Entrada"
-#: ../../include/features.php:99
+#: ../../include/features.php:453
msgid "Ability to dislike posts/comments"
msgstr "Capacitat per marcar amb \"No Agrada\" les entrades/comentaris"
-#: ../../include/features.php:100
+#: ../../include/features.php:461
msgid "Star Posts"
msgstr "Entrades Excel·lents"
-#: ../../include/features.php:100
+#: ../../include/features.php:462
msgid "Ability to mark special posts with a star indicator"
msgstr "Capacitat per marcar entrades especials amb l'indicador d'excel·lencia"
-#: ../../include/features.php:101
+#: ../../include/features.php:470
msgid "Tag Cloud"
msgstr "Núvol d'Etiquetes."
-#: ../../include/features.php:101
+#: ../../include/features.php:471
msgid "Provide a personal tag cloud on your channel page"
msgstr "Proporcionar un núvol d'etiquetes personals a la teva pàgina de canal"
-#: ../../include/oembed.php:324
-msgid "Embedded content"
-msgstr "Contingut embegut"
+#: ../../include/taxonomy.php:384 ../../include/taxonomy.php:405
+msgid "Tags"
+msgstr "Etiquetes"
-#: ../../include/oembed.php:333
-msgid "Embedding disabled"
-msgstr "Incorporació desactivada"
+#: ../../include/taxonomy.php:487
+msgid "Keywords"
+msgstr "Paraules clau"
-#: ../../include/acl_selectors.php:271
-msgid "Who can see this?"
-msgstr "Qui pot veure això?"
+#: ../../include/taxonomy.php:508
+msgid "have"
+msgstr "tinc"
-#: ../../include/acl_selectors.php:272
-msgid "Custom selection"
-msgstr "Selecció a mida"
+#: ../../include/taxonomy.php:508
+msgid "has"
+msgstr "tens"
-#: ../../include/acl_selectors.php:273
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Selecciona \"Mostrar\" per permetre la visualització. \"No Mostrar\" et permet obviar i limitar l'abast de \"Mostrar\"."
+#: ../../include/taxonomy.php:509
+msgid "want"
+msgstr "vull"
-#: ../../include/acl_selectors.php:274
-msgid "Show"
-msgstr "Mostra"
+#: ../../include/taxonomy.php:509
+msgid "wants"
+msgstr "vols"
-#: ../../include/acl_selectors.php:275
-msgid "Don't show"
-msgstr "No mostrar"
+#: ../../include/taxonomy.php:510
+msgid "likes"
+msgstr "agrada"
-#: ../../include/acl_selectors.php:281
-msgid "Other networks and post services"
-msgstr "Altres xarxes i serveis de correu"
+#: ../../include/taxonomy.php:511
+msgid "dislikes"
+msgstr "desagrada"
+
+#: ../../include/account.php:35
+msgid "Not a valid email address"
+msgstr "Adreça de correu electrònic no vàlida"
+
+#: ../../include/account.php:37
+msgid "Your email domain is not among those allowed on this site"
+msgstr "El seu domini de correu electrònic no es troba entre els permesos en aquest lloc"
+
+#: ../../include/account.php:43
+msgid "Your email address is already registered at this site."
+msgstr "La teva adreça de correu electrònic ja esta registrada en aquest lloc"
-#: ../../include/acl_selectors.php:311
+#: ../../include/account.php:75
+msgid "An invitation is required."
+msgstr "Es requereix Invitació"
+
+#: ../../include/account.php:79
+msgid "Invitation could not be verified."
+msgstr "L'invitació no ha pogut ser verificada"
+
+#: ../../include/account.php:157
+msgid "Please enter the required information."
+msgstr "Entra la informació sol·licitada"
+
+#: ../../include/account.php:224
+msgid "Failed to store account information."
+msgstr "Ha fallat guardar la informació del compte"
+
+#: ../../include/account.php:313
#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "Els permisos d'entrada %s no poden esser canviats %s posteriorment a que una entrada ja està compartida. </br />Aquest ajust dels permisos indica qui pot veure l'entrada."
+msgid "Registration confirmation for %s"
+msgstr "Inscripció confirmada per %s"
-#: ../../include/auth.php:105
-msgid "Logged out."
-msgstr "Sortir."
+#: ../../include/account.php:382
+#, php-format
+msgid "Registration request at %s"
+msgstr "Sol·licitud d'inscripció a %s"
-#: ../../include/auth.php:212
-msgid "Failed authentication"
-msgstr "Autenticació fallida"
+#: ../../include/account.php:404
+msgid "your registration password"
+msgstr "la teva contrasenya registrada"
-#: ../../include/datetime.php:135
+#: ../../include/account.php:410 ../../include/account.php:472
+#, php-format
+msgid "Registration details for %s"
+msgstr "Detalls de l'inscripció per %s"
+
+#: ../../include/account.php:483
+msgid "Account approved."
+msgstr "Compte aprovat."
+
+#: ../../include/account.php:523
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Inscripció revocada per %s"
+
+#: ../../include/account.php:802 ../../include/account.php:804
+msgid "Click here to upgrade."
+msgstr "Feu clic aquí per actualitzar."
+
+#: ../../include/account.php:810
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Aquesta acció és superior als límits establerts pel seu pla de subscripció."
+
+#: ../../include/account.php:815
+msgid "This action is not available under your subscription plan."
+msgstr "Aquesta acció no està disponible en el seu pla de subscripció."
+
+#: ../../include/datetime.php:134
msgid "Birthday"
msgstr "Aniversari"
-#: ../../include/datetime.php:137
+#: ../../include/datetime.php:134
msgid "Age: "
msgstr "Edat:"
-#: ../../include/datetime.php:139
+#: ../../include/datetime.php:134
msgid "YYYY-MM-DD or MM-DD"
msgstr "YYYY-MM-DD o MM-DD"
-#: ../../include/datetime.php:272 ../../boot.php:2470
-msgid "never"
-msgstr "mai"
-
-#: ../../include/datetime.php:278
+#: ../../include/datetime.php:238
msgid "less than a second ago"
msgstr "fa menys d'un segon"
-#: ../../include/datetime.php:296
+#: ../../include/datetime.php:256
#, php-format
msgctxt "e.g. 22 hours ago, 1 minute ago"
msgid "%1$d %2$s ago"
msgstr "Fa %1$d %2$s"
-#: ../../include/datetime.php:307
+#: ../../include/datetime.php:267
msgctxt "relative_date"
msgid "year"
msgid_plural "years"
msgstr[0] "any"
msgstr[1] "anys"
-#: ../../include/datetime.php:310
+#: ../../include/datetime.php:270
msgctxt "relative_date"
msgid "month"
msgid_plural "months"
msgstr[0] "mes"
msgstr[1] "mesos "
-#: ../../include/datetime.php:313
+#: ../../include/datetime.php:273
msgctxt "relative_date"
msgid "week"
msgid_plural "weeks"
msgstr[0] "setmana"
msgstr[1] "setmanes"
-#: ../../include/datetime.php:316
+#: ../../include/datetime.php:276
msgctxt "relative_date"
msgid "day"
msgid_plural "days"
msgstr[0] "dia"
msgstr[1] "dies"
-#: ../../include/datetime.php:319
+#: ../../include/datetime.php:279
msgctxt "relative_date"
msgid "hour"
msgid_plural "hours"
msgstr[0] "hora"
msgstr[1] "hores"
-#: ../../include/datetime.php:322
+#: ../../include/datetime.php:282
msgctxt "relative_date"
msgid "minute"
msgid_plural "minutes"
msgstr[0] "minut"
msgstr[1] "minuts"
-#: ../../include/datetime.php:325
+#: ../../include/datetime.php:285
msgctxt "relative_date"
msgid "second"
msgid_plural "seconds"
msgstr[0] "segon"
msgstr[1] "segons"
-#: ../../include/datetime.php:562
+#: ../../include/datetime.php:514
#, php-format
msgid "%1$s's birthday"
msgstr "Aniversari de %1$s"
-#: ../../include/datetime.php:563
+#: ../../include/datetime.php:515
#, php-format
msgid "Happy Birthday %1$s"
msgstr "Feliç Aniversari %1$s"
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent."
-
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
-msgstr "Afegir noves connexions a aquest grup privat"
-
-#: ../../include/group.php:289
-msgid "edit"
-msgstr "edita"
-
-#: ../../include/group.php:312
-msgid "Edit group"
-msgstr "Editar grup"
-
-#: ../../include/group.php:313
-msgid "Add privacy group"
-msgstr "Afegir grup privat"
-
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
-msgstr "Sense canals en grups privats"
-
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Esborrar aquest item?"
-
-#: ../../include/js_strings.php:8
-msgid "[-] show less"
-msgstr "[-] mostra menys"
-
-#: ../../include/js_strings.php:9
-msgid "[+] expand"
-msgstr "[+] expandeix"
-
-#: ../../include/js_strings.php:10
-msgid "[-] collapse"
-msgstr "[-] colapsa"
-
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Contrasenya massa curta"
-
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Les paraules de pas no coincideixen"
-
-#: ../../include/js_strings.php:13
-msgid "everybody"
-msgstr "tothom"
-
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Contrasenya Secreta"
-
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Pista per la Contrasenya"
-
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Avis: Els permisos han canviat però encara no han estat enviats."
-
-#: ../../include/js_strings.php:17
-msgid "close all"
-msgstr "tanca tot"
-
-#: ../../include/js_strings.php:18
-msgid "Nothing new here"
-msgstr "Res de nou per aquí"
-
-#: ../../include/js_strings.php:19
-msgid "Rate This Channel (this is public)"
-msgstr "Valora Aquest Canal (això es farà públic)"
-
-#: ../../include/js_strings.php:21
-msgid "Describe (optional)"
-msgstr "Descriu (opcional)"
-
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Si us plau, entra l'enllaç URL"
-
-#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Hi ha canvis sense desar, estàs segur que vols abandonar la pàgina?"
-
-#: ../../include/js_strings.php:27
-msgid "timeago.prefixAgo"
-msgstr "timeago.prefixAgo"
-
-#: ../../include/js_strings.php:28
-msgid "timeago.prefixFromNow"
-msgstr "timeago.prefixFromNow"
-
-#: ../../include/js_strings.php:29
-msgid "ago"
-msgstr "abans"
-
-#: ../../include/js_strings.php:30
-msgid "from now"
-msgstr "des d'ara"
-
-#: ../../include/js_strings.php:31
-msgid "less than a minute"
-msgstr "menys d'un minut"
-
-#: ../../include/js_strings.php:32
-msgid "about a minute"
-msgstr "prop d'un minut"
-
-#: ../../include/js_strings.php:33
-#, php-format
-msgid "%d minutes"
-msgstr "%d minuts"
-
-#: ../../include/js_strings.php:34
-msgid "about an hour"
-msgstr "prop d'una hora"
-
-#: ../../include/js_strings.php:35
-#, php-format
-msgid "about %d hours"
-msgstr "al voltant de %d hores"
-
-#: ../../include/js_strings.php:36
-msgid "a day"
-msgstr "un dia"
-
-#: ../../include/js_strings.php:37
-#, php-format
-msgid "%d days"
-msgstr "%d dies"
-
-#: ../../include/js_strings.php:38
-msgid "about a month"
-msgstr "prop d'un mes"
-
-#: ../../include/js_strings.php:39
-#, php-format
-msgid "%d months"
-msgstr "%d mesos"
-
-#: ../../include/js_strings.php:40
-msgid "about a year"
-msgstr "prop d'un any"
-
-#: ../../include/js_strings.php:41
-#, php-format
-msgid "%d years"
-msgstr "%d anys"
-
-#: ../../include/js_strings.php:42
-msgid " "
-msgstr " "
-
-#: ../../include/js_strings.php:43
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
-
-#: ../../include/js_strings.php:49
-msgctxt "long"
-msgid "May"
-msgstr "Maig"
-
-#: ../../include/js_strings.php:57
-msgid "Jan"
-msgstr "Gen"
-
-#: ../../include/js_strings.php:58
-msgid "Feb"
-msgstr "Feb"
-
-#: ../../include/js_strings.php:59
-msgid "Mar"
-msgstr "Mar"
-
-#: ../../include/js_strings.php:60
-msgid "Apr"
-msgstr "Apr"
-
-#: ../../include/js_strings.php:61
-msgctxt "short"
-msgid "May"
-msgstr "Maig"
-
-#: ../../include/js_strings.php:62
-msgid "Jun"
-msgstr "Jun"
-
-#: ../../include/js_strings.php:63
-msgid "Jul"
-msgstr "Jul"
-
-#: ../../include/js_strings.php:64
-msgid "Aug"
-msgstr "Ago"
-
-#: ../../include/js_strings.php:65
-msgid "Sep"
-msgstr "Set"
-
-#: ../../include/js_strings.php:66
-msgid "Oct"
-msgstr "Oct"
-
-#: ../../include/js_strings.php:67
-msgid "Nov"
-msgstr "Nov"
-
-#: ../../include/js_strings.php:68
-msgid "Dec"
-msgstr "Des"
-
-#: ../../include/js_strings.php:76
-msgid "Sun"
-msgstr "Dg."
-
-#: ../../include/js_strings.php:77
-msgid "Mon"
-msgstr "Dl."
-
-#: ../../include/js_strings.php:78
-msgid "Tue"
-msgstr "Dm."
-
-#: ../../include/js_strings.php:79
-msgid "Wed"
-msgstr "Dc."
-
-#: ../../include/js_strings.php:80
-msgid "Thu"
-msgstr "Dj."
-
-#: ../../include/js_strings.php:81
-msgid "Fri"
-msgstr "Dv."
+#: ../../include/nav.php:96
+msgid "Remote authentication"
+msgstr "Autenticació remota"
-#: ../../include/js_strings.php:82
-msgid "Sat"
-msgstr "Ds."
+#: ../../include/nav.php:96
+msgid "Click to authenticate to your home hub"
+msgstr "Clica per autentificar-te en el teu node"
-#: ../../include/js_strings.php:83
-msgctxt "calendar"
-msgid "today"
-msgstr "avui"
+#: ../../include/nav.php:102 ../../include/nav.php:190
+msgid "Manage Your Channels"
+msgstr "Gestiona els Teus Canals"
-#: ../../include/js_strings.php:84
-msgctxt "calendar"
-msgid "month"
-msgstr "mes"
+#: ../../include/nav.php:105 ../../include/nav.php:192
+msgid "Account/Channel Settings"
+msgstr "Ajustos de Compte/Canal"
-#: ../../include/js_strings.php:85
-msgctxt "calendar"
-msgid "week"
-msgstr "setmana"
+#: ../../include/nav.php:111 ../../include/nav.php:140
+msgid "End this session"
+msgstr "Finalitza aquesta sessió"
-#: ../../include/js_strings.php:86
-msgctxt "calendar"
-msgid "day"
-msgstr "dia"
+#: ../../include/nav.php:114
+msgid "Your profile page"
+msgstr "La teva pàgina de perfil"
-#: ../../include/js_strings.php:87
-msgctxt "calendar"
-msgid "All day"
-msgstr "Tot el dia"
+#: ../../include/nav.php:117
+msgid "Manage/Edit profiles"
+msgstr "Gestiona/Edita perfils"
-#: ../../include/network.php:657
-msgid "view full size"
-msgstr "Veure a mida competa"
+#: ../../include/nav.php:126 ../../include/nav.php:130
+msgid "Sign in"
+msgstr "Signatura"
-#: ../../include/network.php:1885
-msgid "No Subject"
-msgstr "Sense Assumpte"
+#: ../../include/nav.php:157
+msgid "Take me home"
+msgstr "Porta'm a casa"
-#: ../../include/network.php:2146 ../../include/network.php:2147
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/nav.php:159
+msgid "Log me out of this site"
+msgstr "Tanca'm la sessió en aquest lloc web"
-#: ../../include/network.php:2148
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/nav.php:164
+msgid "Create an account"
+msgstr "Crear un compte"
-#: ../../include/network.php:2149
-msgid "GNU-Social"
-msgstr "GNU-Social"
+#: ../../include/nav.php:176
+msgid "Help and documentation"
+msgstr "Ajuda i documentació"
-#: ../../include/network.php:2150
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/nav.php:179
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Cerca pel lloc @name, #tag, ?docs, contingut"
-#: ../../include/network.php:2152
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/nav.php:199
+msgid "Site Setup and Configuration"
+msgstr "Ajustos i Configuració del Lloc"
-#: ../../include/network.php:2153
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/nav.php:290
+msgid "@name, #tag, ?doc, content"
+msgstr "@nom, #etiqueta, ?doc, contingut"
-#: ../../include/network.php:2154
-msgid "Zot"
-msgstr "Zot"
+#: ../../include/nav.php:291
+msgid "Please wait..."
+msgstr "Si us plau, espera......."
-#: ../../include/network.php:2155
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/nav.php:297
+msgid "Add Apps"
+msgstr "Afegeix aplicacions"
-#: ../../include/network.php:2156
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/nav.php:298
+msgid "Arrange Apps"
+msgstr "Endreça les aplicacions"
-#: ../../include/network.php:2157
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/nav.php:299
+msgid "Toggle System Apps"
+msgstr "Commuta l'estat de les aplicacions de sistema"
-#: ../../include/photos.php:110
+#: ../../include/photos.php:150
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
msgstr "La imatge excedeix la mida limit pel lloc web en %lu bytes"
-#: ../../include/photos.php:117
+#: ../../include/photos.php:161
msgid "Image file is empty."
msgstr "El fitxer d'imatge esta buit."
-#: ../../include/photos.php:255
+#: ../../include/photos.php:322
msgid "Photo storage failed."
msgstr "Fracassà l'emmagatzematge de la Foto"
-#: ../../include/photos.php:295
+#: ../../include/photos.php:364
msgid "a new photo"
msgstr "Una foto nova"
-#: ../../include/photos.php:299
+#: ../../include/photos.php:368
#, php-format
msgctxt "photo_upload"
msgid "%1$s posted %2$s to %3$s"
msgstr "%1$s enviat %2$s a %3$s"
-#: ../../include/photos.php:506
+#: ../../include/photos.php:660
msgid "Upload New Photos"
msgstr "Puja Noves Fotos"
-#: ../../include/zot.php:699
+#: ../../include/zot.php:767
msgid "Invalid data packet"
msgstr "paquet de dades invàlid"
-#: ../../include/zot.php:715
+#: ../../include/zot.php:794
msgid "Unable to verify channel signature"
msgstr "No es pot verificar la signatura del canal"
-#: ../../include/zot.php:2363
+#: ../../include/zot.php:2529
#, php-format
msgid "Unable to verify site signature for %s"
msgstr "No es pot verificar la signatura del lloc per %s"
-#: ../../include/zot.php:3712
+#: ../../include/zot.php:4180
msgid "invalid target signature"
msgstr "Signatura objectiu invàlida"
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Pàgina Nova"
-
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Títol"
-
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Pot veure el flux i entrades normals"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Pot veure el meu perfil del canal per defecte"
-
-#: ../../include/permissions.php:28
-msgid "Can view my connections"
-msgstr "Pot veure les meves connexions"
-
-#: ../../include/permissions.php:29
-msgid "Can view my file storage and photos"
-msgstr "Pot veure al meu magatzem d'arxius i fotos"
-
-#: ../../include/permissions.php:30
-msgid "Can view my webpages"
-msgstr "Pot veure les meves pàgines web"
-
-#: ../../include/permissions.php:33
-msgid "Can send me their channel stream and posts"
-msgstr "Pot enviar-me el flux i entrades del seu canal"
-
-#: ../../include/permissions.php:34
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Pot fer entrades a la meva pàgina de canal (\"mur\")"
-
-#: ../../include/permissions.php:35
-msgid "Can comment on or like my posts"
-msgstr "Pot fer comentaris o dir si agrada en les meves entrades"
-
-#: ../../include/permissions.php:36
-msgid "Can send me private mail messages"
-msgstr "Pot enviar-me un missatge de correu privat"
-
-#: ../../include/permissions.php:37
-msgid "Can like/dislike stuff"
-msgstr "Pot dir si agrada/desagrada "
-
-#: ../../include/permissions.php:37
-msgid "Profiles and things other than posts/comments"
-msgstr "Perfils i altres coses a més d'entrades/comentaris"
-
-#: ../../include/permissions.php:39
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Ho pot enviar a tots els meus contactes del canal via entrades @mencions"
-
-#: ../../include/permissions.php:39
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avançat - capaç de crear canals de grups de foro"
-
-#: ../../include/permissions.php:40
-msgid "Can chat with me (when available)"
-msgstr "Pot xatejar amb mi (si estic disponible)"
-
-#: ../../include/permissions.php:41
-msgid "Can write to my file storage and photos"
-msgstr "Pot escriure al meu magatzem d'arxius i fotos"
-
-#: ../../include/permissions.php:42
-msgid "Can edit my webpages"
-msgstr "Pot editar les meves pàgines web"
-
-#: ../../include/permissions.php:44
-msgid "Can source my public posts in derived channels"
-msgstr "Pot mostrar l'origen de les meves entrades públiques en altres canals"
-
-#: ../../include/permissions.php:44
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Quelcom avançat - molt útil en comunitats obertes"
-
-#: ../../include/permissions.php:46
-msgid "Can administer my channel resources"
-msgstr "Pot administrar els meus recursos del canal"
-
-#: ../../include/permissions.php:46
+#: ../../include/group.php:22
msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Extremadament avançat. No toquis res si no saps que estàs fent"
-
-#: ../../include/permissions.php:877
-msgid "Social Networking"
-msgstr "Xarxes Socials"
-
-#: ../../include/permissions.php:877
-msgid "Social - Mostly Public"
-msgstr "Social - Principalment Públic"
-
-#: ../../include/permissions.php:877
-msgid "Social - Restricted"
-msgstr "Social - Restingit"
-
-#: ../../include/permissions.php:877
-msgid "Social - Private"
-msgstr "Social - Privat"
-
-#: ../../include/permissions.php:878
-msgid "Community Forum"
-msgstr "Foro de Comunitat"
-
-#: ../../include/permissions.php:878
-msgid "Forum - Mostly Public"
-msgstr "Fòrum - Principalment Públic"
-
-#: ../../include/permissions.php:878
-msgid "Forum - Restricted"
-msgstr "Fòrum - Restringit"
-
-#: ../../include/permissions.php:878
-msgid "Forum - Private"
-msgstr "Fòrum - Privat"
-
-#: ../../include/permissions.php:879
-msgid "Feed Republish"
-msgstr "Republicador"
-
-#: ../../include/permissions.php:879
-msgid "Feed - Mostly Public"
-msgstr "Realimentador - Públic Principalment"
-
-#: ../../include/permissions.php:879
-msgid "Feed - Restricted"
-msgstr "Retroalimentador - Restringit"
-
-#: ../../include/permissions.php:880
-msgid "Special Purpose"
-msgstr "Objectiu Especial"
-
-#: ../../include/permissions.php:880
-msgid "Special - Celebrity/Soapbox"
-msgstr "Espacial - Celebritat/Plataforma"
-
-#: ../../include/permissions.php:880
-msgid "Special - Group Repository"
-msgstr "Especial - Repositori d'un Grup"
-
-#: ../../include/permissions.php:881
-msgid "Custom/Expert Mode"
-msgstr "Personalitzat/Manera Experta"
-
-#: ../../include/activities.php:41
-msgid " and "
-msgstr "i"
-
-#: ../../include/activities.php:49
-msgid "public profile"
-msgstr "Perfil públic"
-
-#: ../../include/activities.php:58
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s canviat %2$s a &ldquo;%3$s&rdquo;"
-
-#: ../../include/activities.php:59
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Visita %1$s en %2$s"
-
-#: ../../include/activities.php:62
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s Ha actualitzat %2$s, canviant %3$s."
-
-#: ../../include/bb2diaspora.php:398
-msgid "Attachments:"
-msgstr "Adjuntat:"
-
-#: ../../include/bb2diaspora.php:487
-msgid "$Projectname event notification:"
-msgstr "Notificació d'esdeveniment de $Projectname"
-
-#: ../../view/theme/redbasic/php/config.php:82
-msgid "Focus (Hubzilla default)"
-msgstr "Focus (Hubzilla per defecte)"
-
-#: ../../view/theme/redbasic/php/config.php:103
-msgid "Theme settings"
-msgstr "Ajustos de tema"
-
-#: ../../view/theme/redbasic/php/config.php:104
-msgid "Select scheme"
-msgstr "Tria esquema"
-
-#: ../../view/theme/redbasic/php/config.php:105
-msgid "Narrow navbar"
-msgstr "Barra de navegació estreta"
-
-#: ../../view/theme/redbasic/php/config.php:106
-msgid "Navigation bar background color"
-msgstr "Color de fons de la barra de navegació"
-
-#: ../../view/theme/redbasic/php/config.php:107
-msgid "Navigation bar gradient top color"
-msgstr "Gradient de color de la part superior de la barra de navegació"
-
-#: ../../view/theme/redbasic/php/config.php:108
-msgid "Navigation bar gradient bottom color"
-msgstr "Gradient de color de la part inferior de la barra de navegació"
-
-#: ../../view/theme/redbasic/php/config.php:109
-msgid "Navigation active button gradient top color"
-msgstr "Gradient de color de la part superior del botó actiu de la barra de navegació"
-
-#: ../../view/theme/redbasic/php/config.php:110
-msgid "Navigation active button gradient bottom color"
-msgstr "Gradient de color de la part inferior del botó actiu de la barra de navegació"
-
-#: ../../view/theme/redbasic/php/config.php:111
-msgid "Navigation bar border color "
-msgstr "Color de la barra de navegació"
-
-#: ../../view/theme/redbasic/php/config.php:112
-msgid "Navigation bar icon color "
-msgstr "Color de la icona de la barra de navegació"
-
-#: ../../view/theme/redbasic/php/config.php:113
-msgid "Navigation bar active icon color "
-msgstr "Color de la icona de la barra de navegació activa"
-
-#: ../../view/theme/redbasic/php/config.php:114
-msgid "link color"
-msgstr "Color d'enllaç"
-
-#: ../../view/theme/redbasic/php/config.php:115
-msgid "Set font-color for banner"
-msgstr "Ajusta el color del tipus de lletra per la senyera"
-
-#: ../../view/theme/redbasic/php/config.php:116
-msgid "Set the background color"
-msgstr "Ajusta el color de fons"
-
-#: ../../view/theme/redbasic/php/config.php:117
-msgid "Set the background image"
-msgstr "Ajusta la imatge de fons"
-
-#: ../../view/theme/redbasic/php/config.php:118
-msgid "Set the background color of items"
-msgstr "ajusta el color dels articles de fons"
-
-#: ../../view/theme/redbasic/php/config.php:119
-msgid "Set the background color of comments"
-msgstr "Ajusta el color dels comentaris en segon pla"
-
-#: ../../view/theme/redbasic/php/config.php:120
-msgid "Set the border color of comments"
-msgstr "Canviar el color del marge dels comentaris"
-
-#: ../../view/theme/redbasic/php/config.php:121
-msgid "Set the indent for comments"
-msgstr "ajusta l'indentació dels comentaris"
-
-#: ../../view/theme/redbasic/php/config.php:122
-msgid "Set the basic color for item icons"
-msgstr "ajusta el color basic per les icones dels articles"
-
-#: ../../view/theme/redbasic/php/config.php:123
-msgid "Set the hover color for item icons"
-msgstr "Ajusta el color de la libració de les icones dels articles"
-
-#: ../../view/theme/redbasic/php/config.php:124
-msgid "Set font-size for the entire application"
-msgstr "Ajusta la mida del tipus de lletra per tota l'aplicació"
-
-#: ../../view/theme/redbasic/php/config.php:124
-msgid "Example: 14px"
-msgstr "Exemple: 14px"
-
-#: ../../view/theme/redbasic/php/config.php:125
-msgid "Set font-size for posts and comments"
-msgstr "Ajusta la mida del tipus de lletra per a entrades i comentaris"
-
-#: ../../view/theme/redbasic/php/config.php:126
-msgid "Set font-color for posts and comments"
-msgstr "Ajusta el color del tipus de lletra per entrades i comentaris"
-
-#: ../../view/theme/redbasic/php/config.php:127
-msgid "Set radius of corners"
-msgstr "Ajusta el radi de les cantonades"
-
-#: ../../view/theme/redbasic/php/config.php:128
-msgid "Set shadow depth of photos"
-msgstr "Ajusta la profunditat d'ombres de les fotos"
-
-#: ../../view/theme/redbasic/php/config.php:129
-msgid "Set maximum width of content region in pixel"
-msgstr "Ajusta l'amplada màxima de la zona de contingut en pixels"
-
-#: ../../view/theme/redbasic/php/config.php:129
-msgid "Leave empty for default width"
-msgstr "Deixa en blanc per l'amplada predeterminada"
-
-#: ../../view/theme/redbasic/php/config.php:130
-msgid "Left align page content"
-msgstr "Alineació esquerra del contingut de la pàgina"
-
-#: ../../view/theme/redbasic/php/config.php:131
-msgid "Set minimum opacity of nav bar - to hide it"
-msgstr "Ajusta la opacitat mínima de la harra de navegació - per amagar-la"
-
-#: ../../view/theme/redbasic/php/config.php:132
-msgid "Set size of conversation author photo"
-msgstr "Ajusta la mida de la foto del autor a la conversa"
-
-#: ../../view/theme/redbasic/php/config.php:133
-msgid "Set size of followup author photos"
-msgstr "Ajusta la mida del seguidor de les fotos de l'autor"
-
-#: ../../boot.php:1162
-#, php-format
-msgctxt "opensearch"
-msgid "Search %1$s (%2$s)"
-msgstr "Cerca %1$s(%2$s)"
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Un grup esborrat amb aquest nom fou reviscolat. Els permisos dels items existents <strong>poden</strong> aplicar-se a aquest grup i qualsevol membre futur. Si no es això el que vols, si et plau, crea un altre grup amb un nom diferent."
-#: ../../boot.php:1162
-msgctxt "opensearch"
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../include/group.php:264
+msgid "Add new connections to this privacy group"
+msgstr "Afegir noves connexions a aquest grup privat"
-#: ../../boot.php:1480
-#, php-format
-msgid "Update %s failed. See error logs."
-msgstr "L'actualització %s ha fallat. Mira el registre d'errors."
+#: ../../include/group.php:306
+msgid "edit"
+msgstr "edita"
-#: ../../boot.php:1483
-#, php-format
-msgid "Update Error at %s"
-msgstr "Error d'Actualització a %s"
+#: ../../include/group.php:329
+msgid "Edit group"
+msgstr "Editar grup"
-#: ../../boot.php:1684
-msgid ""
-"Create an account to access services and applications within the Hubzilla"
-msgstr "Crea un compte per accedir als serveis i aplicacions dins de Hubzilla"
+#: ../../include/group.php:330
+msgid "Add privacy group"
+msgstr "Afegir grup privat"
-#: ../../boot.php:1706
-msgid "Password"
-msgstr "Contrasenya"
+#: ../../include/group.php:331
+msgid "Channels not in any privacy group"
+msgstr "Sense canals en grups privats"
-#: ../../boot.php:1707
-msgid "Remember me"
-msgstr "Recorda'm"
+#: ../../include/connections.php:128
+msgid "New window"
+msgstr "Nova finestra"
-#: ../../boot.php:1710
-msgid "Forgot your password?"
-msgstr "Has perdut la Contrasenya?"
+#: ../../include/connections.php:129
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Obrir la localització seleccionada en un altre finestra o pestanya del navegador"
-#: ../../boot.php:2276
-msgid "toggle mobile"
-msgstr "canvia a format per a mòbils"
+#: ../../include/auth.php:148
+msgid "Logged out."
+msgstr "Sortir."
-#: ../../boot.php:2425
-msgid "Website SSL certificate is not valid. Please correct."
-msgstr "El certificat SSL és invalid, soluciona-ho, si us plau."
+#: ../../include/auth.php:263
+msgid "Email validation is incomplete. Please check your email."
+msgstr "Encara no s'ha validat el teu correu. Comprova la safata d'entrada i la paperera."
-#: ../../boot.php:2428
-#, php-format
-msgid "[hubzilla] Website SSL error for %s"
-msgstr "[hubzilla] Error de SSL per la web %s"
+#: ../../include/auth.php:279
+msgid "Failed authentication"
+msgstr "Autenticació fallida"
-#: ../../boot.php:2469
-msgid "Cron/Scheduled tasks not running."
-msgstr "No s'estan executant les tasques programades al cron."
+#: ../../include/help.php:34
+msgid "Help:"
+msgstr "Ajuda:"
-#: ../../boot.php:2473
-#, php-format
-msgid "[hubzilla] Cron tasks not running on %s"
-msgstr "[hubzilla] Les tasques de Cron no rulen a %s"
+#: ../../include/help.php:78
+msgid "Not Found"
+msgstr "No s'ha pogut trobar la pàgina"
diff --git a/view/ca/lostpass_eml.tpl b/view/ca/lostpass_eml.tpl
index 469c429da..5ca7b0323 100644
--- a/view/ca/lostpass_eml.tpl
+++ b/view/ca/lostpass_eml.tpl
@@ -1,35 +1,32 @@
Apreciat/da {{$username}},
-
- S'ha rebut una sol·licitud en {{$sitename}} recentment per restablir
-la teva contrasenya. Per confirmar aquesta sol·licitud, per favor seleccioni l'enllaç de
-verificació sota o copia-ho i pega-ho en la barra d'adreces del teu navegador.
+ Recentment hem rebut una petició en {{$sitename}} per canviar la contrasenya
+del teu compte. Per tal de confirmar aquesta petició, si us plau sel·lecciona l'enllaç de verificació
+de sota o enganxa'l a la barra de direccions del teu navegador.
-Si NO has sol·licitat aquest canvi, per favor NO segueixis l'enllaç indicat i ignora
-i/o elimina aquest missatge.
+Si NO has fet cap petició de canvi, si us plau, NO segueixis l'enllaç
+i ignora i/o esborra aquest missatge.
-La teva contrasenya no es canviarà tret que puguem verificar que ets la teva qui
-va emetre aquesta sol·licitud.
+La teva contrasenya no es modificara mentres no verifiquis que has
+enviat aquesta petició.
Segueix aquest enllaç per verificar la teva identitat:
{{$reset_link}}
-A continuació rebràs un missatge amb la nova contrasenya.
+Rebràs un missatge amb la nova contrasenya.
-Després de accedir, podràs canviar la contrasenya del teu compte a la pàgina de
-configuració.
+pots canviar aquesta contrasenya en el teu compte desprès de que hagis accedit.
-Les dades d'accés són els següents:
+Les dades d'identificació son les següents:
+Localització del Lloc Web: {{$siteurl}}
+Nom Identificatiu:⇥{{$email}}
-Lloc: {{$siteurl}}
-Nom: {{$email}}
+Atentament,
+ {{$sitename}} Administrador
-Salutacions,
- L'administració de {{$sitename}}
-
-
+ \ No newline at end of file
diff --git a/view/ca/messages.po b/view/ca/messages.po
index 7273015bc..6abe8ca65 100644
--- a/view/ca/messages.po
+++ b/view/ca/messages.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the Red package.
#
# Translators:
-# Espart <ranker72@gmail.com>, 2015
+# fadelkon <fadelkon@posteo.net>, 2015
# Rafael Garau, 2016
# Rafael Garau, 2013-2015
# Rafael Garau, 2015
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-20 00:01-0700\n"
-"PO-Revision-Date: 2016-02-19 11:17+0000\n"
+"POT-Creation-Date: 2016-07-08 00:01-0700\n"
+"PO-Revision-Date: 2017-09-23 19:03+0000\n"
"Last-Translator: Rafael Garau\n"
"Language-Team: Catalan (Spain) (http://www.transifex.com/Friendica/red-matrix/language/ca_ES/)\n"
"MIME-Version: 1.0\n"
@@ -199,7 +199,7 @@ msgstr "Editar Perfils"
msgid "Manage/Edit profiles"
msgstr "Gestiona/Edita perfils"
-#: ../../include/nav.php:95 ../../include/identity.php:979
+#: ../../include/nav.php:95 ../../include/identity.php:987
msgid "Edit Profile"
msgstr "Edita Perfil"
@@ -844,7 +844,7 @@ msgstr "Editar Personal App"
#: ../../include/widgets.php:136 ../../include/widgets.php:175
#: ../../include/Contact.php:107 ../../include/conversation.php:956
-#: ../../include/identity.php:956 ../../mod/match.php:64
+#: ../../include/identity.php:964 ../../mod/match.php:64
#: ../../mod/directory.php:316 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Connecta "
@@ -1110,7 +1110,7 @@ msgid "View all"
msgstr "Mostra-ho tot"
#: ../../include/ItemObject.php:179 ../../include/conversation.php:1712
-#: ../../include/identity.php:1266 ../../include/taxonomy.php:396
+#: ../../include/identity.php:1274 ../../include/taxonomy.php:396
#: ../../mod/photos.php:1019
msgctxt "noun"
msgid "Like"
@@ -1470,7 +1470,7 @@ msgstr "Visita %1$s de %2$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s Ha actualitzat %2$s, canviant %3$s."
-#: ../../include/api.php:1178
+#: ../../include/api.php:1203
msgid "Public Timeline"
msgstr "Cronologia pública"
@@ -1482,8 +1482,8 @@ msgstr "Administració"
msgid "Address Book"
msgstr "Adreçes"
-#: ../../include/apps.php:138 ../../include/identity.php:1240
-#: ../../include/identity.php:1357 ../../mod/profperm.php:112
+#: ../../include/apps.php:138 ../../include/identity.php:1248
+#: ../../include/identity.php:1365 ../../mod/profperm.php:112
msgid "Profile"
msgstr "Perfil"
@@ -1659,7 +1659,7 @@ msgstr "Adjuntat:"
#: ../../include/bb2diaspora.php:459 ../../include/event.php:22
msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
+msgstr "l d \\d\\e/\\d' F de Y \\@ H:i T"
#: ../../include/bb2diaspora.php:461
msgid "$Projectname event notification:"
@@ -1674,7 +1674,7 @@ msgid "Finishes:"
msgstr "Acaba:"
#: ../../include/bb2diaspora.php:481 ../../include/event.php:50
-#: ../../include/identity.php:1007 ../../mod/directory.php:302
+#: ../../include/identity.php:1015 ../../mod/directory.php:302
#: ../../mod/events.php:684
msgid "Location:"
msgstr "Lloc:"
@@ -3061,11 +3061,11 @@ msgstr "No es pot recuperar la identitat creada"
msgid "Default Profile"
msgstr "Perfil per Defecte"
-#: ../../include/identity.php:759
+#: ../../include/identity.php:767
msgid "Requested channel is not available."
msgstr "El canal demanat no està disponible."
-#: ../../include/identity.php:806 ../../mod/achievements.php:11
+#: ../../include/identity.php:814 ../../mod/achievements.php:11
#: ../../mod/blocks.php:29 ../../mod/profile.php:16 ../../mod/connect.php:13
#: ../../mod/editblock.php:29 ../../mod/editlayout.php:27
#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
@@ -3073,188 +3073,188 @@ msgstr "El canal demanat no està disponible."
msgid "Requested profile is not available."
msgstr "El perfil demanat no està disponible."
-#: ../../include/identity.php:969 ../../mod/profiles.php:774
+#: ../../include/identity.php:977 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr "Canviar la foto del perfil"
-#: ../../include/identity.php:975
+#: ../../include/identity.php:983
msgid "Profiles"
msgstr "Perfils"
-#: ../../include/identity.php:975
+#: ../../include/identity.php:983
msgid "Manage/edit profiles"
msgstr "Gestiona/edita perfils"
-#: ../../include/identity.php:976 ../../mod/profiles.php:775
+#: ../../include/identity.php:984 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr "Crear un Perfil Nou"
-#: ../../include/identity.php:991 ../../mod/profiles.php:786
+#: ../../include/identity.php:999 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr "Imatge del Perfil"
-#: ../../include/identity.php:994
+#: ../../include/identity.php:1002
msgid "visible to everybody"
msgstr "visible per tothom"
-#: ../../include/identity.php:995 ../../mod/profiles.php:669
+#: ../../include/identity.php:1003 ../../mod/profiles.php:669
#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr "Editar visibilitat"
-#: ../../include/identity.php:1011 ../../include/identity.php:1250
+#: ../../include/identity.php:1019 ../../include/identity.php:1258
msgid "Gender:"
msgstr "Gènere:"
-#: ../../include/identity.php:1012 ../../include/identity.php:1294
+#: ../../include/identity.php:1020 ../../include/identity.php:1302
msgid "Status:"
msgstr "Estatus:"
-#: ../../include/identity.php:1013 ../../include/identity.php:1305
+#: ../../include/identity.php:1021 ../../include/identity.php:1313
msgid "Homepage:"
msgstr "Pàgina Personal:"
-#: ../../include/identity.php:1014
+#: ../../include/identity.php:1022
msgid "Online Now"
msgstr "Ara en Linia"
-#: ../../include/identity.php:1097 ../../include/identity.php:1175
+#: ../../include/identity.php:1105 ../../include/identity.php:1183
#: ../../mod/ping.php:324
msgid "g A l F d"
msgstr "g A l F d"
-#: ../../include/identity.php:1098 ../../include/identity.php:1176
+#: ../../include/identity.php:1106 ../../include/identity.php:1184
msgid "F d"
msgstr "F d"
-#: ../../include/identity.php:1143 ../../include/identity.php:1215
+#: ../../include/identity.php:1151 ../../include/identity.php:1223
#: ../../mod/ping.php:346
msgid "[today]"
msgstr "[avui]"
-#: ../../include/identity.php:1154
+#: ../../include/identity.php:1162
msgid "Birthday Reminders"
msgstr "Recordatori d'Aniversaris"
-#: ../../include/identity.php:1155
+#: ../../include/identity.php:1163
msgid "Birthdays this week:"
msgstr "Aniversari aquesta setmana:"
-#: ../../include/identity.php:1208
+#: ../../include/identity.php:1216
msgid "[No description]"
msgstr "[Sense descripció]"
-#: ../../include/identity.php:1226
+#: ../../include/identity.php:1234
msgid "Event Reminders"
msgstr "Recordatori d'Events"
-#: ../../include/identity.php:1227
+#: ../../include/identity.php:1235
msgid "Events this week:"
msgstr "Event aquesta setmana:"
-#: ../../include/identity.php:1248 ../../mod/settings.php:1056
+#: ../../include/identity.php:1256 ../../mod/settings.php:1056
msgid "Full Name:"
msgstr "Nom Complet:"
-#: ../../include/identity.php:1255
+#: ../../include/identity.php:1263
msgid "Like this channel"
msgstr "M'agrada aquest canal"
-#: ../../include/identity.php:1279
+#: ../../include/identity.php:1287
msgid "j F, Y"
msgstr "j F, Y"
-#: ../../include/identity.php:1280
+#: ../../include/identity.php:1288
msgid "j F"
msgstr "j F"
-#: ../../include/identity.php:1287
+#: ../../include/identity.php:1295
msgid "Birthday:"
msgstr "Aniversari:"
-#: ../../include/identity.php:1291 ../../mod/directory.php:297
+#: ../../include/identity.php:1299 ../../mod/directory.php:297
msgid "Age:"
msgstr "Edat:"
-#: ../../include/identity.php:1300
+#: ../../include/identity.php:1308
#, php-format
msgid "for %1$d %2$s"
msgstr "per %1$d %2$s"
-#: ../../include/identity.php:1303 ../../mod/profiles.php:691
+#: ../../include/identity.php:1311 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr "Preferència Sexual:"
-#: ../../include/identity.php:1307 ../../mod/profiles.php:693
+#: ../../include/identity.php:1315 ../../mod/profiles.php:693
#: ../../mod/directory.php:313
msgid "Hometown:"
msgstr "Ciutat Natal:"
-#: ../../include/identity.php:1309
+#: ../../include/identity.php:1317
msgid "Tags:"
msgstr "Etiquetes:"
-#: ../../include/identity.php:1311 ../../mod/profiles.php:694
+#: ../../include/identity.php:1319 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr "Idees Polítiques:"
-#: ../../include/identity.php:1313
+#: ../../include/identity.php:1321
msgid "Religion:"
msgstr "Religió:"
-#: ../../include/identity.php:1315 ../../mod/directory.php:315
+#: ../../include/identity.php:1323 ../../mod/directory.php:315
msgid "About:"
msgstr "Sobre mi:"
-#: ../../include/identity.php:1317
+#: ../../include/identity.php:1325
msgid "Hobbies/Interests:"
msgstr "Aficions/Interessos:"
-#: ../../include/identity.php:1319 ../../mod/profiles.php:697
+#: ../../include/identity.php:1327 ../../mod/profiles.php:697
msgid "Likes:"
msgstr "M'agrada:"
-#: ../../include/identity.php:1321 ../../mod/profiles.php:698
+#: ../../include/identity.php:1329 ../../mod/profiles.php:698
msgid "Dislikes:"
msgstr "No li agrada:"
-#: ../../include/identity.php:1323
+#: ../../include/identity.php:1331
msgid "Contact information and Social Networks:"
msgstr "Informació de contacte i Xarxes Socials:"
-#: ../../include/identity.php:1325
+#: ../../include/identity.php:1333
msgid "My other channels:"
msgstr "Els meus altres canals:"
-#: ../../include/identity.php:1327
+#: ../../include/identity.php:1335
msgid "Musical interests:"
msgstr "Interessos Musicals:"
-#: ../../include/identity.php:1329
+#: ../../include/identity.php:1337
msgid "Books, literature:"
msgstr "Llibres, literatura:"
-#: ../../include/identity.php:1331
+#: ../../include/identity.php:1339
msgid "Television:"
msgstr "Televisió:"
-#: ../../include/identity.php:1333
+#: ../../include/identity.php:1341
msgid "Film/dance/culture/entertainment:"
msgstr "Películes/Dança/Cultura/Entreteniment:"
-#: ../../include/identity.php:1335
+#: ../../include/identity.php:1343
msgid "Love/Romance:"
msgstr "Amor/Romace:"
-#: ../../include/identity.php:1337
+#: ../../include/identity.php:1345
msgid "Work/employment:"
msgstr "Treball/feina:"
-#: ../../include/identity.php:1339
+#: ../../include/identity.php:1347
msgid "School/education:"
msgstr "Escola/educació:"
-#: ../../include/identity.php:1359
+#: ../../include/identity.php:1367
msgid "Like this thing"
msgstr "M'agrada això"
@@ -8845,7 +8845,7 @@ msgstr "Cerca a xchan"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Cerca a xchan començant per (o webbie)"
-#: ../../mod/zfinger.php:23
+#: ../../mod/zfinger.php:24
msgid "invalid target signature"
msgstr "Signatura objectiu invàlida"
diff --git a/view/ca/passchanged_eml.tpl b/view/ca/passchanged_eml.tpl
index f0d62d9a1..f5f0531b7 100644
--- a/view/ca/passchanged_eml.tpl
+++ b/view/ca/passchanged_eml.tpl
@@ -1,19 +1,20 @@
Apreciat/da {{$username}},
+ La teva contrasenya ha estat canviada com has demanat. Si et plau, recorda
+aquesta informació per a tu (o canvia-la immediatament a
+quelcom que puguis recordar).
- La teva contrasenya ha estat modificada com has sol·licitat. Pren nota d'aquesta informació
-(o canvía immediatament la contrasenya amb quelcom que recordis).
+Les dades d'identificació son les següents:
-Les teves dades d'accés son les següents:
-
-Lloc: {{$siteurl}}
-Nom: {{$email}}
+Localització del lloc Web:⇥{{$siteurl}}
+Nom Identificatiu:⇥{{$email}}
Contrasenya: {{$new_password}}
-Després d'accedir pots canviar la contrasenya des de la pàgina de configuració del teu perfil.
+Pots canviar aquesta contrasenya en el teu compte desprès que hagis accedit.
- {{$sitename}}
+Atentament,
+ {{$sitename}} Administrador
-
+ \ No newline at end of file
diff --git a/view/ca/register_open_eml.tpl b/view/ca/register_open_eml.tpl
index 7da9a2b88..aa84c7f49 100644
--- a/view/ca/register_open_eml.tpl
+++ b/view/ca/register_open_eml.tpl
@@ -1,22 +1,19 @@
-Apreciat/da {{$username}},
+S'ha creat un compte en {{$sitename}} per a aquesta adreça de correu.
+Les dades d'identificació son les següents:
- Gràcies per registrar-te en {{$sitename}}. El teu compte ha estat creat.
+Localització del Lloc Web:⇥{{$siteurl}}
+Identificació:⇥{{$email}}
+Contrasenya: (la que has emprat durant el procés de registre)
+Si aquest compte s'ha creat sense el seu coneixement i no el desitja, pot
+visitar aquest lloc web i canviar la contrasenya. Això li permetrà esborrar el
+compte en els Ajustos de la pàgina, li demanem disculpes
+per qualsevol inconvenient causat.
-Les dades d'accés són les següents:
+Gràcies i benvingut a {{$sitename}}.
+Atentament,
+ {{$sitename}} Administrador
-Lloc: {{$siteurl}}
-Nom: {{$email}}
-Contrasenya: {{$password}}
-
-
-Després d'accedir pots canviar la teva contrasenya a la pàgina de "Configuració".
-
-Pren un moment per revisar les altres configuracions del compte en aquesta pàgina.
-
-
-Gràcies i benvingut/da {{$sitename}}.
-
-
+ \ No newline at end of file
diff --git a/view/ca/register_verify_eml.tpl b/view/ca/register_verify_eml.tpl
index 651e8eff7..a42fe03a9 100644
--- a/view/ca/register_verify_eml.tpl
+++ b/view/ca/register_verify_eml.tpl
@@ -1,23 +1,24 @@
-S'ha rebut la sol·licitud de registre d'un nou usuari en
-{{$sitename}} que requereix la teva aprovació.
+S'ha rebut una nova petició de registre en {{$sitename}} la qual cosa requereix
+la seva aprovació.
-Les dades d'accés són els següents:
-Nom Complet: {{$username}}
-Lloc: {{$siteurl}}
-Nom: {{$email}}
+Les dades d'identificació son les següents:
+Localització del Lloc Web: {{$siteurl}}
+Nom Identificatiu:⇥{{$email}}
+Adreça IP: {{$details}}
-Per aprovar aquesta sol·licitud, visita el següent enllaç:
+Per tal d'aprovar aquesta petició, si us plau, visita el següent enllaç:
-{{$siteurl}}/regmod/allow/{{$hash}}
-Per denegar la sol·licitud i eliminar el compte, per favor visita:
+{{$siteurl}}/regmod/allow/{{$hash}}
-{{$siteurl}}/regmod/deny/{{$hash}}
+Per rebutjar la petició i esborrar el compte, si us plau visita:
-Gràcies.
+{{$siteurl}}/regmod/deny/{{$hash}}
+
+Gràcies.
diff --git a/view/css/conversation.css b/view/css/conversation.css
index f7ab3dcdd..c239a665b 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -282,8 +282,9 @@ code.inline-code {
}
img.smiley.emoji:hover {
- width: 32px;
- height: 32px;
+ transform: scale(2);
+ transition: transform .1s ease-out;
+ filter: drop-shadow(0px 0px 1px rgba(0,0,0,.5));
}
.checklist input {
diff --git a/view/css/mod_admin.css b/view/css/mod_admin.css
index 409744402..5e22fc90c 100644
--- a/view/css/mod_admin.css
+++ b/view/css/mod_admin.css
@@ -70,3 +70,21 @@
margin-top: 0px !important;
margin-left: 0px !important;
}
+
+pre code {
+ background: #F5F5F5;
+ font-family: Courier, monospace;
+ font-size: 1em;
+ padding: 1em 1.5em;
+ display: block;
+ white-space: pre-wrap;
+}
+
+code {
+ background: #F5F5F5;
+ font-family: Courier, monospace;
+ font-size: 1em;
+ display: inline;
+ padding: 0.2em 0.2em;
+ white-space: pre-wrap;
+} \ No newline at end of file
diff --git a/view/css/mod_oauth2testvehicle.css b/view/css/mod_oauth2testvehicle.css
new file mode 100644
index 000000000..0ef2896b5
--- /dev/null
+++ b/view/css/mod_oauth2testvehicle.css
@@ -0,0 +1,4 @@
+.oath2test-form-box {
+ border: #ccc thin solid;
+ padding: 1em;
+} \ No newline at end of file
diff --git a/view/css/widgets.css b/view/css/widgets.css
index f97029aad..48df1811f 100644
--- a/view/css/widgets.css
+++ b/view/css/widgets.css
@@ -230,4 +230,5 @@ a.wikilist {
font-size: 20px;
margin-left: -25px;
margin-top: 25px;
+ opacity: 0.8;
}
diff --git a/view/de-de/hmessages.po b/view/de-de/hmessages.po
index f68a96c22..53dcc0d43 100644
--- a/view/de-de/hmessages.po
+++ b/view/de-de/hmessages.po
@@ -11,22 +11,24 @@
# Ettore Atalan <atalanttore@googlemail.com>, 2015-2017
# Frank Dieckmann <frank@lumina-verte.org>, 2013
# Harald Klimach <harald@klimachs.de>, 2016
+# Herbert Thielen <thielen@hs-worms.de>, 2018
+# Holger - <holger.froese@gmail.com>, 2018
# JooBee <d13@raclan.de>, 2014
# Kai <kai@proppower.de>, 2015
# Oliver <post@toktan.org>, 2015-2017
-# Phellmes <forum@suschka.de>, 2014,2016-2017
+# Phellmes <forum@suschka.de>, 2014,2016-2018
# sasiflo <transiflex@sasiflo.de>, 2014
# Steff <steff@digitalesecho.de>, 2015-2016
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2016
-# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2016-2017
+# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2016-2018
# zottel <transifex@zottel.net>, 2015
# sasiflo <transiflex@sasiflo.de>, 2015
msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-12-13 12:54+0100\n"
-"PO-Revision-Date: 2017-12-19 11:56+0000\n"
+"POT-Creation-Date: 2018-03-01 08:51+0100\n"
+"PO-Revision-Date: 2018-03-04 23:22+0000\n"
"Last-Translator: Phellmes <forum@suschka.de>\n"
"Language-Team: German (http://www.transifex.com/Friendica/red-matrix/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -164,13 +166,13 @@ msgid "Special - Group Repository"
msgstr "Speziell - Gruppenarchiv"
#: ../../Zotlabs/Access/PermissionRoles.php:287
-#: ../../Zotlabs/Module/Cdav.php:1182 ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Settings/Channel.php:474
-#: ../../Zotlabs/Module/Connedit.php:936 ../../Zotlabs/Module/Profiles.php:798
-#: ../../Zotlabs/Module/Register.php:221 ../../include/selectors.php:49
+#: ../../Zotlabs/Module/Cdav.php:1182 ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Settings/Channel.php:473
+#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Register.php:224 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
-#: ../../include/selectors.php:140 ../../include/event.php:1308
-#: ../../include/event.php:1315 ../../include/connections.php:689
+#: ../../include/selectors.php:140 ../../include/event.php:1315
+#: ../../include/event.php:1322 ../../include/connections.php:689
#: ../../include/connections.php:696
msgid "Other"
msgstr "Andere"
@@ -184,7 +186,7 @@ msgstr "Benutzerdefiniert/Expertenmodus"
#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Hcard.php:12
#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Profile.php:20
#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Cards.php:29 ../../Zotlabs/Module/Webpages.php:33
+#: ../../Zotlabs/Module/Cards.php:33 ../../Zotlabs/Module/Webpages.php:33
#: ../../Zotlabs/Module/Filestorage.php:51 ../../include/channel.php:1198
msgid "Requested profile is not available."
msgstr "Das angefragte Profil ist nicht verfügbar."
@@ -199,7 +201,7 @@ msgstr "Das angefragte Profil ist nicht verfügbar."
#: ../../Zotlabs/Module/Appman.php:86 ../../Zotlabs/Module/Regmod.php:21
#: ../../Zotlabs/Module/Article_edit.php:51
#: ../../Zotlabs/Module/New_channel.php:77
-#: ../../Zotlabs/Module/New_channel.php:104
+#: ../../Zotlabs/Module/New_channel.php:102
#: ../../Zotlabs/Module/Sharedwithme.php:16 ../../Zotlabs/Module/Setup.php:209
#: ../../Zotlabs/Module/Moderate.php:13
#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:275
@@ -211,11 +213,11 @@ msgstr "Das angefragte Profil ist nicht verfügbar."
#: ../../Zotlabs/Module/Photos.php:69 ../../Zotlabs/Module/Wiki.php:50
#: ../../Zotlabs/Module/Wiki.php:273 ../../Zotlabs/Module/Wiki.php:400
#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Poke.php:149
-#: ../../Zotlabs/Module/Profile_photo.php:294
-#: ../../Zotlabs/Module/Profile_photo.php:307
-#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Item.php:228
-#: ../../Zotlabs/Module/Item.php:245 ../../Zotlabs/Module/Item.php:255
-#: ../../Zotlabs/Module/Item.php:1085 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Profile_photo.php:302
+#: ../../Zotlabs/Module/Profile_photo.php:315
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Item.php:229
+#: ../../Zotlabs/Module/Item.php:246 ../../Zotlabs/Module/Item.php:256
+#: ../../Zotlabs/Module/Item.php:1099 ../../Zotlabs/Module/Page.php:34
#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Connedit.php:389
#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Layouts.php:71
@@ -226,15 +228,15 @@ msgstr "Das angefragte Profil ist nicht verfügbar."
#: ../../Zotlabs/Module/Editwebpage.php:89
#: ../../Zotlabs/Module/Editwebpage.php:107
#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Manage.php:10
-#: ../../Zotlabs/Module/Cards.php:68 ../../Zotlabs/Module/Webpages.php:118
+#: ../../Zotlabs/Module/Cards.php:72 ../../Zotlabs/Module/Webpages.php:118
#: ../../Zotlabs/Module/Block.php:24 ../../Zotlabs/Module/Block.php:74
#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Sources.php:74
-#: ../../Zotlabs/Module/Like.php:184 ../../Zotlabs/Module/Suggest.php:28
+#: ../../Zotlabs/Module/Like.php:185 ../../Zotlabs/Module/Suggest.php:28
#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mail.php:146
#: ../../Zotlabs/Module/Register.php:77
#: ../../Zotlabs/Module/Cover_photo.php:281
#: ../../Zotlabs/Module/Cover_photo.php:294
-#: ../../Zotlabs/Module/Display.php:404 ../../Zotlabs/Module/Network.php:15
+#: ../../Zotlabs/Module/Display.php:406 ../../Zotlabs/Module/Network.php:15
#: ../../Zotlabs/Module/Filestorage.php:15
#: ../../Zotlabs/Module/Filestorage.php:70
#: ../../Zotlabs/Module/Filestorage.php:85
@@ -244,7 +246,7 @@ msgstr "Das angefragte Profil ist nicht verfügbar."
#: ../../Zotlabs/Module/Service_limits.php:11
#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Card_edit.php:51
#: ../../Zotlabs/Module/Notifications.php:11
-#: ../../Zotlabs/Lib/Chatroom.php:133 ../../Zotlabs/Web/WebServer.php:169
+#: ../../Zotlabs/Lib/Chatroom.php:133 ../../Zotlabs/Web/WebServer.php:123
#: ../../addon/keepout/keepout.php:36 ../../addon/openid/Mod_Id.php:53
#: ../../addon/gitwiki/Mod_Gitwiki.php:196
#: ../../addon/gitwiki/Mod_Gitwiki.php:292 ../../addon/pumpio/pumpio.php:40
@@ -252,9 +254,9 @@ msgstr "Das angefragte Profil ist nicht verfügbar."
#: ../../include/attach.php:270 ../../include/attach.php:284
#: ../../include/attach.php:293 ../../include/attach.php:366
#: ../../include/attach.php:380 ../../include/attach.php:387
-#: ../../include/attach.php:469 ../../include/attach.php:1008
-#: ../../include/attach.php:1082 ../../include/attach.php:1247
-#: ../../include/items.php:3633 ../../include/photos.php:27
+#: ../../include/attach.php:469 ../../include/attach.php:1019
+#: ../../include/attach.php:1093 ../../include/attach.php:1258
+#: ../../include/items.php:3656 ../../include/photos.php:27
msgid "Permission denied."
msgstr "Berechtigung verweigert."
@@ -263,7 +265,7 @@ msgstr "Berechtigung verweigert."
msgid "Block Name"
msgstr "Block-Name"
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2288
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2402
msgid "Blocks"
msgstr "Blöcke"
@@ -282,11 +284,11 @@ msgid "Edited"
msgstr "Geändert"
#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Articles.php:96
-#: ../../Zotlabs/Module/Cdav.php:1185 ../../Zotlabs/Module/New_channel.php:147
-#: ../../Zotlabs/Module/Connedit.php:939 ../../Zotlabs/Module/Menu.php:118
+#: ../../Zotlabs/Module/Cdav.php:1185 ../../Zotlabs/Module/New_channel.php:146
+#: ../../Zotlabs/Module/Connedit.php:921 ../../Zotlabs/Module/Menu.php:118
#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Module/Profiles.php:801
-#: ../../Zotlabs/Module/Cards.php:96 ../../Zotlabs/Module/Webpages.php:239
-#: ../../Zotlabs/Storage/Browser.php:273 ../../Zotlabs/Storage/Browser.php:379
+#: ../../Zotlabs/Module/Cards.php:100 ../../Zotlabs/Module/Webpages.php:239
+#: ../../Zotlabs/Storage/Browser.php:276 ../../Zotlabs/Storage/Browser.php:382
#: ../../Zotlabs/Widget/Cdav.php:128 ../../Zotlabs/Widget/Cdav.php:165
msgid "Create"
msgstr "Erstelle"
@@ -296,15 +298,15 @@ msgstr "Erstelle"
#: ../../Zotlabs/Module/Admin/Profs.php:154
#: ../../Zotlabs/Module/Settings/Oauth.php:149
#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Editblock.php:114
-#: ../../Zotlabs/Module/Connections.php:260
-#: ../../Zotlabs/Module/Connections.php:297
-#: ../../Zotlabs/Module/Connections.php:317 ../../Zotlabs/Module/Wiki.php:202
+#: ../../Zotlabs/Module/Connections.php:265
+#: ../../Zotlabs/Module/Connections.php:303
+#: ../../Zotlabs/Module/Connections.php:323 ../../Zotlabs/Module/Wiki.php:202
#: ../../Zotlabs/Module/Wiki.php:358 ../../Zotlabs/Module/Menu.php:112
#: ../../Zotlabs/Module/Layouts.php:193
#: ../../Zotlabs/Module/Editwebpage.php:142
#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:85
-#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Lib/Apps.php:399
-#: ../../Zotlabs/Lib/ThreadItem.php:121 ../../Zotlabs/Storage/Browser.php:285
+#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Lib/Apps.php:409
+#: ../../Zotlabs/Lib/ThreadItem.php:121 ../../Zotlabs/Storage/Browser.php:288
#: ../../Zotlabs/Widget/Cdav.php:126 ../../Zotlabs/Widget/Cdav.php:162
#: ../../addon/gitwiki/Mod_Gitwiki.php:151
#: ../../addon/gitwiki/Mod_Gitwiki.php:252 ../../include/channel.php:1297
@@ -321,19 +323,19 @@ msgstr "Teilen"
#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editlayout.php:138
#: ../../Zotlabs/Module/Cdav.php:897 ../../Zotlabs/Module/Cdav.php:1187
#: ../../Zotlabs/Module/Article_edit.php:129
-#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
#: ../../Zotlabs/Module/Admin/Channels.php:149
#: ../../Zotlabs/Module/Admin/Profs.php:155
#: ../../Zotlabs/Module/Settings/Oauth.php:150
#: ../../Zotlabs/Module/Thing.php:262 ../../Zotlabs/Module/Editblock.php:139
-#: ../../Zotlabs/Module/Connections.php:268
+#: ../../Zotlabs/Module/Connections.php:273
#: ../../Zotlabs/Module/Photos.php:1203 ../../Zotlabs/Module/Connedit.php:654
-#: ../../Zotlabs/Module/Connedit.php:941 ../../Zotlabs/Module/Group.php:179
+#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Group.php:179
#: ../../Zotlabs/Module/Profiles.php:803
#: ../../Zotlabs/Module/Editwebpage.php:167
#: ../../Zotlabs/Module/Webpages.php:242
-#: ../../Zotlabs/Module/Card_edit.php:129 ../../Zotlabs/Lib/Apps.php:400
-#: ../../Zotlabs/Lib/ThreadItem.php:141 ../../Zotlabs/Storage/Browser.php:286
+#: ../../Zotlabs/Module/Card_edit.php:129 ../../Zotlabs/Lib/Apps.php:410
+#: ../../Zotlabs/Lib/ThreadItem.php:141 ../../Zotlabs/Storage/Browser.php:289
#: ../../include/conversation.php:690 ../../include/conversation.php:733
msgid "Delete"
msgstr "Löschen"
@@ -363,6 +365,7 @@ msgid "Invitation limit exceeded. Please contact your site administrator."
msgstr "Einladungslimit überschritten. Bitte kontaktiere den Administrator Deines $Projectname-Servers."
#: ../../Zotlabs/Module/Invite.php:82
+#: ../../addon/notifyadmin/notifyadmin.php:40
#, php-format
msgid "%s : Message delivery failed."
msgstr "%s : Nachricht konnte nicht zugestellt werden."
@@ -423,35 +426,36 @@ msgstr "3. Klicke auf [Verbinden]"
#: ../../Zotlabs/Module/Connect.php:98
#: ../../Zotlabs/Module/Admin/Features.php:66
#: ../../Zotlabs/Module/Admin/Plugins.php:438
-#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
#: ../../Zotlabs/Module/Admin/Logs.php:84
#: ../../Zotlabs/Module/Admin/Channels.php:147
#: ../../Zotlabs/Module/Admin/Themes.php:158
-#: ../../Zotlabs/Module/Admin/Site.php:277
+#: ../../Zotlabs/Module/Admin/Site.php:289
#: ../../Zotlabs/Module/Admin/Profs.php:157
#: ../../Zotlabs/Module/Admin/Account_edit.php:74
#: ../../Zotlabs/Module/Admin/Security.php:104
#: ../../Zotlabs/Module/Settings/Permcats.php:110
-#: ../../Zotlabs/Module/Settings/Channel.php:489
+#: ../../Zotlabs/Module/Settings/Channel.php:488
#: ../../Zotlabs/Module/Settings/Features.php:47
#: ../../Zotlabs/Module/Settings/Tokens.php:168
#: ../../Zotlabs/Module/Settings/Account.php:118
-#: ../../Zotlabs/Module/Settings/Featured.php:52
-#: ../../Zotlabs/Module/Settings/Display.php:209
+#: ../../Zotlabs/Module/Settings/Featured.php:54
+#: ../../Zotlabs/Module/Settings/Display.php:192
#: ../../Zotlabs/Module/Settings/Oauth.php:87
#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
#: ../../Zotlabs/Module/Import.php:529 ../../Zotlabs/Module/Cal.php:345
#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Photos.php:1082
#: ../../Zotlabs/Module/Photos.php:1122 ../../Zotlabs/Module/Photos.php:1240
#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Module/Pdledit.php:98
-#: ../../Zotlabs/Module/Poke.php:200 ../../Zotlabs/Module/Connedit.php:904
+#: ../../Zotlabs/Module/Poke.php:200 ../../Zotlabs/Module/Connedit.php:887
#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:242
+#: ../../Zotlabs/Module/Email_validation.php:40
#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Defperms.php:249
#: ../../Zotlabs/Module/Group.php:87 ../../Zotlabs/Module/Profiles.php:726
#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Mail.php:431
#: ../../Zotlabs/Module/Filestorage.php:160 ../../Zotlabs/Module/Rate.php:166
-#: ../../Zotlabs/Lib/ThreadItem.php:754
+#: ../../Zotlabs/Lib/ThreadItem.php:750
#: ../../Zotlabs/Widget/Eventstools.php:16
#: ../../Zotlabs/Widget/Wiki_pages.php:40
#: ../../Zotlabs/Widget/Wiki_pages.php:97
@@ -465,7 +469,7 @@ msgstr "3. Klicke auf [Verbinden]"
#: ../../addon/likebanner/likebanner.php:57
#: ../../addon/redphotos/redphotos.php:136 ../../addon/irc/irc.php:53
#: ../../addon/ljpost/ljpost.php:86 ../../addon/startpage/startpage.php:113
-#: ../../addon/diaspora/diaspora.php:816
+#: ../../addon/diaspora/diaspora.php:822
#: ../../addon/gitwiki/Mod_Gitwiki.php:155
#: ../../addon/rainbowtag/rainbowtag.php:85 ../../addon/hzfiles/hzfiles.php:84
#: ../../addon/visage/visage.php:170 ../../addon/nsabait/nsabait.php:161
@@ -480,8 +484,8 @@ msgstr "3. Klicke auf [Verbinden]"
#: ../../addon/statusnet/statusnet.php:322
#: ../../addon/statusnet/statusnet.php:380
#: ../../addon/statusnet/statusnet.php:432
-#: ../../addon/statusnet/statusnet.php:900 ../../addon/twitter/twitter.php:217
-#: ../../addon/twitter/twitter.php:259
+#: ../../addon/statusnet/statusnet.php:900 ../../addon/twitter/twitter.php:218
+#: ../../addon/twitter/twitter.php:265
#: ../../addon/smileybutton/smileybutton.php:219
#: ../../addon/piwik/piwik.php:95 ../../addon/pageheader/pageheader.php:48
#: ../../addon/authchoose/authchoose.php:71 ../../addon/xmpp/xmpp.php:69
@@ -490,21 +494,16 @@ msgstr "3. Klicke auf [Verbinden]"
msgid "Submit"
msgstr "Absenden"
-#: ../../Zotlabs/Module/Articles.php:38 ../../Zotlabs/Module/Cards.php:38
-#: ../../Zotlabs/Module/Cards.php:178 ../../Zotlabs/Lib/Apps.php:224
-#: ../../include/conversation.php:1890 ../../include/features.php:122
-#: ../../include/nav.php:490
-msgid "Cards"
-msgstr "Karten"
+#: ../../Zotlabs/Module/Articles.php:38 ../../Zotlabs/Module/Articles.php:179
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/features.php:124
+#: ../../include/nav.php:469
+msgid "Articles"
+msgstr "Artikel"
#: ../../Zotlabs/Module/Articles.php:95
msgid "Add Article"
msgstr "Artikel hinzufügen"
-#: ../../Zotlabs/Module/Articles.php:178 ../../include/nav.php:501
-msgid "Articles"
-msgstr "Artikel"
-
#: ../../Zotlabs/Module/Editlayout.php:79
#: ../../Zotlabs/Module/Article_edit.php:17
#: ../../Zotlabs/Module/Article_edit.php:33
@@ -533,7 +532,7 @@ msgstr "Layout bearbeiten"
#: ../../Zotlabs/Module/Import_items.php:120
#: ../../Zotlabs/Module/Cloud.php:111 ../../Zotlabs/Module/Group.php:74
#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:68
-#: ../../Zotlabs/Module/Like.php:295 ../../Zotlabs/Web/WebServer.php:168
+#: ../../Zotlabs/Module/Like.php:296 ../../Zotlabs/Web/WebServer.php:122
#: ../../addon/redphotos/redphotos.php:119 ../../addon/hzfiles/hzfiles.php:73
#: ../../addon/frphotos/frphotos.php:81 ../../addon/redfiles/redfiles.php:109
#: ../../include/items.php:358
@@ -548,7 +547,7 @@ msgstr "Ungültiger Profil-Identifikator"
msgid "Profile Visibility Editor"
msgstr "Profil-Sichtbarkeits-Editor"
-#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1633
+#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1634
msgid "Profile"
msgstr "Profil"
@@ -576,9 +575,9 @@ msgstr "Zusammenfassung:"
#: ../../Zotlabs/Module/Cdav.php:786 ../../Zotlabs/Module/Cdav.php:787
#: ../../Zotlabs/Module/Cdav.php:794 ../../Zotlabs/Module/Embedphotos.php:146
#: ../../Zotlabs/Module/Photos.php:817 ../../Zotlabs/Module/Photos.php:1273
-#: ../../Zotlabs/Lib/Apps.php:744 ../../Zotlabs/Lib/Apps.php:822
+#: ../../Zotlabs/Lib/Apps.php:754 ../../Zotlabs/Lib/Apps.php:832
#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Widget/Portfolio.php:95
-#: ../../Zotlabs/Widget/Album.php:84 ../../addon/pubcrawl/as.php:842
+#: ../../Zotlabs/Widget/Album.php:84 ../../addon/pubcrawl/as.php:853
#: ../../include/conversation.php:1160
msgid "Unknown"
msgstr "Unbekannt"
@@ -691,10 +690,12 @@ msgstr "Alles löschen"
#: ../../Zotlabs/Module/Settings/Oauth.php:88
#: ../../Zotlabs/Module/Settings/Oauth.php:114
#: ../../Zotlabs/Module/Wiki.php:345 ../../Zotlabs/Module/Wiki.php:375
-#: ../../Zotlabs/Module/Connedit.php:942 ../../Zotlabs/Module/Fbrowser.php:66
+#: ../../Zotlabs/Module/Profile_photo.php:464
+#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Fbrowser.php:66
#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:804
-#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../addon/gitwiki/Mod_Gitwiki.php:244
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:365
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../addon/gitwiki/Mod_Gitwiki.php:244
#: ../../addon/gitwiki/Mod_Gitwiki.php:267 ../../include/conversation.php:1386
#: ../../include/conversation.php:1435
msgid "Cancel"
@@ -709,85 +710,85 @@ msgstr "Entschuldigung, aber das Bearbeiten von wiederkehrenden Veranstaltungen
#: ../../Zotlabs/Module/Admin/Channels.php:159
#: ../../Zotlabs/Module/Settings/Oauth.php:89
#: ../../Zotlabs/Module/Settings/Oauth.php:115
-#: ../../Zotlabs/Module/Wiki.php:209 ../../Zotlabs/Module/Connedit.php:924
+#: ../../Zotlabs/Module/Wiki.php:209 ../../Zotlabs/Module/Connedit.php:906
#: ../../Zotlabs/Module/Chat.php:251 ../../Zotlabs/Lib/NativeWikiPage.php:558
-#: ../../Zotlabs/Storage/Browser.php:280
+#: ../../Zotlabs/Storage/Browser.php:283
#: ../../Zotlabs/Widget/Wiki_page_history.php:22
#: ../../addon/rendezvous/rendezvous.php:172
#: ../../addon/gitwiki/Mod_Gitwiki.php:158
msgid "Name"
msgstr "Name"
-#: ../../Zotlabs/Module/Cdav.php:1171 ../../Zotlabs/Module/Connedit.php:925
+#: ../../Zotlabs/Module/Cdav.php:1171 ../../Zotlabs/Module/Connedit.php:907
msgid "Organisation"
msgstr "Organisation"
-#: ../../Zotlabs/Module/Cdav.php:1172 ../../Zotlabs/Module/Connedit.php:926
+#: ../../Zotlabs/Module/Cdav.php:1172 ../../Zotlabs/Module/Connedit.php:908
msgid "Title"
msgstr "Titel"
-#: ../../Zotlabs/Module/Cdav.php:1173 ../../Zotlabs/Module/Connedit.php:927
+#: ../../Zotlabs/Module/Cdav.php:1173 ../../Zotlabs/Module/Connedit.php:909
#: ../../Zotlabs/Module/Profiles.php:789
msgid "Phone"
msgstr "Telefon"
#: ../../Zotlabs/Module/Cdav.php:1174
-#: ../../Zotlabs/Module/Admin/Accounts.php:169
-#: ../../Zotlabs/Module/Admin/Accounts.php:181
-#: ../../Zotlabs/Module/Connedit.php:928 ../../Zotlabs/Module/Profiles.php:790
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
+#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:790
#: ../../addon/openid/MysqlProvider.php:56
#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
-#: ../../addon/redred/redred.php:107 ../../include/network.php:1769
+#: ../../addon/redred/redred.php:107 ../../include/network.php:1775
msgid "Email"
msgstr "E-Mail"
-#: ../../Zotlabs/Module/Cdav.php:1175 ../../Zotlabs/Module/Connedit.php:929
+#: ../../Zotlabs/Module/Cdav.php:1175 ../../Zotlabs/Module/Connedit.php:911
#: ../../Zotlabs/Module/Profiles.php:791
msgid "Instant messenger"
msgstr "Sofortnachrichtendienst"
-#: ../../Zotlabs/Module/Cdav.php:1176 ../../Zotlabs/Module/Connedit.php:930
+#: ../../Zotlabs/Module/Cdav.php:1176 ../../Zotlabs/Module/Connedit.php:912
#: ../../Zotlabs/Module/Profiles.php:792
msgid "Website"
msgstr "Webseite"
#: ../../Zotlabs/Module/Cdav.php:1177 ../../Zotlabs/Module/Locs.php:118
#: ../../Zotlabs/Module/Admin/Channels.php:160
-#: ../../Zotlabs/Module/Connedit.php:931 ../../Zotlabs/Module/Profiles.php:502
+#: ../../Zotlabs/Module/Connedit.php:913 ../../Zotlabs/Module/Profiles.php:502
#: ../../Zotlabs/Module/Profiles.php:793
msgid "Address"
msgstr "Adresse"
-#: ../../Zotlabs/Module/Cdav.php:1178 ../../Zotlabs/Module/Connedit.php:932
+#: ../../Zotlabs/Module/Cdav.php:1178 ../../Zotlabs/Module/Connedit.php:914
#: ../../Zotlabs/Module/Profiles.php:794
msgid "Note"
msgstr "Hinweis"
-#: ../../Zotlabs/Module/Cdav.php:1179 ../../Zotlabs/Module/Connedit.php:933
-#: ../../Zotlabs/Module/Profiles.php:795 ../../include/event.php:1301
+#: ../../Zotlabs/Module/Cdav.php:1179 ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Profiles.php:795 ../../include/event.php:1308
#: ../../include/connections.php:682
msgid "Mobile"
msgstr "Mobil"
-#: ../../Zotlabs/Module/Cdav.php:1180 ../../Zotlabs/Module/Connedit.php:934
-#: ../../Zotlabs/Module/Profiles.php:796 ../../include/event.php:1302
+#: ../../Zotlabs/Module/Cdav.php:1180 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Profiles.php:796 ../../include/event.php:1309
#: ../../include/connections.php:683
msgid "Home"
msgstr "Home"
-#: ../../Zotlabs/Module/Cdav.php:1181 ../../Zotlabs/Module/Connedit.php:935
-#: ../../Zotlabs/Module/Profiles.php:797 ../../include/event.php:1305
+#: ../../Zotlabs/Module/Cdav.php:1181 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Profiles.php:797 ../../include/event.php:1312
#: ../../include/connections.php:686
msgid "Work"
msgstr "Arbeit"
-#: ../../Zotlabs/Module/Cdav.php:1183 ../../Zotlabs/Module/Connedit.php:937
+#: ../../Zotlabs/Module/Cdav.php:1183 ../../Zotlabs/Module/Connedit.php:919
#: ../../Zotlabs/Module/Profiles.php:799
#: ../../addon/jappixmini/jappixmini.php:368
msgid "Add Contact"
msgstr "Kontakt hinzufügen"
-#: ../../Zotlabs/Module/Cdav.php:1184 ../../Zotlabs/Module/Connedit.php:938
+#: ../../Zotlabs/Module/Cdav.php:1184 ../../Zotlabs/Module/Connedit.php:920
#: ../../Zotlabs/Module/Profiles.php:800
msgid "Add Field"
msgstr "Feld hinzufügen"
@@ -796,36 +797,36 @@ msgstr "Feld hinzufügen"
#: ../../Zotlabs/Module/Admin/Plugins.php:453
#: ../../Zotlabs/Module/Settings/Oauth.php:42
#: ../../Zotlabs/Module/Settings/Oauth.php:113
-#: ../../Zotlabs/Module/Connedit.php:940 ../../Zotlabs/Module/Profiles.php:802
-#: ../../Zotlabs/Lib/Apps.php:383
+#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Lib/Apps.php:393
msgid "Update"
msgstr "Aktualisieren"
-#: ../../Zotlabs/Module/Cdav.php:1189 ../../Zotlabs/Module/Connedit.php:943
+#: ../../Zotlabs/Module/Cdav.php:1189 ../../Zotlabs/Module/Connedit.php:925
msgid "P.O. Box"
msgstr "Postfach"
-#: ../../Zotlabs/Module/Cdav.php:1190 ../../Zotlabs/Module/Connedit.php:944
+#: ../../Zotlabs/Module/Cdav.php:1190 ../../Zotlabs/Module/Connedit.php:926
msgid "Additional"
msgstr "Zusätzlich"
-#: ../../Zotlabs/Module/Cdav.php:1191 ../../Zotlabs/Module/Connedit.php:945
+#: ../../Zotlabs/Module/Cdav.php:1191 ../../Zotlabs/Module/Connedit.php:927
msgid "Street"
msgstr "Straße"
-#: ../../Zotlabs/Module/Cdav.php:1192 ../../Zotlabs/Module/Connedit.php:946
+#: ../../Zotlabs/Module/Cdav.php:1192 ../../Zotlabs/Module/Connedit.php:928
msgid "Locality"
msgstr "Ortschaft"
-#: ../../Zotlabs/Module/Cdav.php:1193 ../../Zotlabs/Module/Connedit.php:947
+#: ../../Zotlabs/Module/Cdav.php:1193 ../../Zotlabs/Module/Connedit.php:929
msgid "Region"
msgstr "Region"
-#: ../../Zotlabs/Module/Cdav.php:1194 ../../Zotlabs/Module/Connedit.php:948
+#: ../../Zotlabs/Module/Cdav.php:1194 ../../Zotlabs/Module/Connedit.php:930
msgid "ZIP Code"
msgstr "Postleitzahl"
-#: ../../Zotlabs/Module/Cdav.php:1195 ../../Zotlabs/Module/Connedit.php:949
+#: ../../Zotlabs/Module/Cdav.php:1195 ../../Zotlabs/Module/Connedit.php:931
#: ../../Zotlabs/Module/Profiles.php:760
msgid "Country"
msgstr "Land"
@@ -843,7 +844,7 @@ msgid "This site is not a directory server"
msgstr "Diese Webseite ist kein Verzeichnisserver"
#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25
-#: ../../addon/gitwiki/Mod_Gitwiki.php:28 ../../addon/chess/chess.php:431
+#: ../../addon/gitwiki/Mod_Gitwiki.php:28 ../../addon/chess/chess.php:508
msgid "You must be logged in to see this page."
msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können."
@@ -919,10 +920,14 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Diese Inhalts-Sicherungen können wiederhergestellt werden, indem Du <a href=\"%1$s\">%2$s</a> auf jeglichem Hub besuchst, der diesen Kanal enthält. Das funktioniert am besten, wenn Du dabei die zeitliche Reihenfolge einhältst, also die Sicherungen für den ältesten Zeitraum zuerst importierst."
-#: ../../Zotlabs/Module/Hq.php:136
-msgid "Welcome to hubzilla!"
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "Welcome to Hubzilla!"
msgstr "Willkommen bei Hubzilla!"
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "You have got no unseen posts..."
+msgstr "Du hast keine ungelesenen Beiträge..."
+
#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Photos.php:540
#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Directory.php:63
#: ../../Zotlabs/Module/Directory.php:68 ../../Zotlabs/Module/Display.php:30
@@ -930,25 +935,25 @@ msgstr "Willkommen bei Hubzilla!"
msgid "Public access denied."
msgstr "Öffentlichen Zugriff verweigert."
-#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:313
-#: ../../Zotlabs/Lib/Apps.php:250 ../../Zotlabs/Widget/Sitesearch.php:31
-#: ../../include/text.php:1029 ../../include/text.php:1041
-#: ../../include/acl_selectors.php:213 ../../include/nav.php:211
+#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:319
+#: ../../Zotlabs/Lib/Apps.php:256 ../../Zotlabs/Widget/Sitesearch.php:31
+#: ../../include/text.php:1051 ../../include/text.php:1063
+#: ../../include/acl_selectors.php:118 ../../include/nav.php:179
msgid "Search"
msgstr "Suche"
-#: ../../Zotlabs/Module/Search.php:225
+#: ../../Zotlabs/Module/Search.php:226
#, php-format
msgid "Items tagged with: %s"
msgstr "Beiträge mit Schlagwort: %s"
-#: ../../Zotlabs/Module/Search.php:227
+#: ../../Zotlabs/Module/Search.php:228
#, php-format
msgid "Search results for: %s"
msgstr "Suchergebnisse für: %s"
-#: ../../Zotlabs/Module/Pubstream.php:81
-#: ../../Zotlabs/Widget/Notifications.php:129
+#: ../../Zotlabs/Module/Pubstream.php:93
+#: ../../Zotlabs/Widget/Notifications.php:131
msgid "Public Stream"
msgstr "Öffentlicher Beitrags-Stream"
@@ -1048,7 +1053,7 @@ msgid "Menu Item Permissions"
msgstr "Zugriffsrechte des Menü-Elements"
#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
-#: ../../Zotlabs/Module/Settings/Channel.php:522
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid "(click to open/close)"
msgstr "(zum öffnen/schließen anklicken)"
@@ -1072,17 +1077,17 @@ msgstr "Magic-Auth verwenden, falls verfügbar"
#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
#: ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Admin/Site.php:240
+#: ../../Zotlabs/Module/Admin/Site.php:252
#: ../../Zotlabs/Module/Settings/Channel.php:305
-#: ../../Zotlabs/Module/Settings/Display.php:105
-#: ../../Zotlabs/Module/Api.php:97 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Photos.php:697
#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Connedit.php:779
#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
#: ../../Zotlabs/Module/Defperms.php:180 ../../Zotlabs/Module/Profiles.php:681
#: ../../Zotlabs/Module/Filestorage.php:155
#: ../../Zotlabs/Module/Filestorage.php:163
-#: ../../Zotlabs/Storage/Browser.php:394 ../../boot.php:1669
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
#: ../../view/theme/redbasic_c/php/config.php:100
#: ../../view/theme/redbasic_c/php/config.php:115
#: ../../view/theme/redbasic/php/config.php:98
@@ -1107,8 +1112,8 @@ msgstr "Magic-Auth verwenden, falls verfügbar"
#: ../../addon/statusnet/statusnet.php:389
#: ../../addon/statusnet/statusnet.php:411
#: ../../addon/statusnet/statusnet.php:415
-#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:242
-#: ../../addon/twitter/twitter.php:246 ../../addon/twitter/twitter.php:255
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
#: ../../addon/smileybutton/smileybutton.php:211
#: ../../addon/smileybutton/smileybutton.php:215
#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
@@ -1123,17 +1128,17 @@ msgstr "Nein"
#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
#: ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Admin/Site.php:242
+#: ../../Zotlabs/Module/Admin/Site.php:254
#: ../../Zotlabs/Module/Settings/Channel.php:305
-#: ../../Zotlabs/Module/Settings/Display.php:105
-#: ../../Zotlabs/Module/Api.php:96 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Photos.php:697
#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Menu.php:100
#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Defperms.php:180
#: ../../Zotlabs/Module/Profiles.php:681
#: ../../Zotlabs/Module/Filestorage.php:155
#: ../../Zotlabs/Module/Filestorage.php:163
-#: ../../Zotlabs/Storage/Browser.php:394 ../../boot.php:1669
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
#: ../../view/theme/redbasic_c/php/config.php:100
#: ../../view/theme/redbasic_c/php/config.php:115
#: ../../view/theme/redbasic/php/config.php:98
@@ -1158,8 +1163,8 @@ msgstr "Nein"
#: ../../addon/statusnet/statusnet.php:389
#: ../../addon/statusnet/statusnet.php:411
#: ../../addon/statusnet/statusnet.php:415
-#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:242
-#: ../../addon/twitter/twitter.php:246 ../../addon/twitter/twitter.php:255
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
#: ../../addon/smileybutton/smileybutton.php:211
#: ../../addon/smileybutton/smileybutton.php:215
#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
@@ -1276,8 +1281,8 @@ msgid "Event not found."
msgstr "Termin nicht gefunden."
#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Tagger.php:73
-#: ../../Zotlabs/Module/Like.php:384 ../../include/conversation.php:119
-#: ../../include/text.php:1941 ../../include/event.php:1153
+#: ../../Zotlabs/Module/Like.php:385 ../../include/conversation.php:119
+#: ../../include/text.php:2007 ../../include/event.php:1153
msgid "event"
msgstr "Termin"
@@ -1288,7 +1293,7 @@ msgstr "Termintitel bearbeiten"
#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465
#: ../../Zotlabs/Module/Appman.php:140 ../../Zotlabs/Module/Appman.php:141
#: ../../Zotlabs/Module/Profiles.php:748 ../../Zotlabs/Module/Profiles.php:752
-#: ../../include/datetime.php:265
+#: ../../include/datetime.php:205
msgid "Required"
msgstr "Benötigt"
@@ -1339,7 +1344,7 @@ msgid "Edit Location"
msgstr "Ort bearbeiten"
#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Photos.php:1123
-#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/ThreadItem.php:764
+#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/ThreadItem.php:760
#: ../../include/conversation.php:1330
msgid "Preview"
msgstr "Vorschau"
@@ -1369,7 +1374,7 @@ msgid "Delete event"
msgstr "Termin löschen"
#: ../../Zotlabs/Module/Events.php:660 ../../Zotlabs/Module/Cal.php:315
-#: ../../include/text.php:1760
+#: ../../include/text.php:1826
msgid "Link to Source"
msgstr "Link zur Quelle"
@@ -1386,7 +1391,7 @@ msgid "Create Event"
msgstr "Termin anlegen"
#: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Cal.php:341
-#: ../../include/channel.php:1636
+#: ../../include/channel.php:1637
msgid "Export"
msgstr "Exportieren"
@@ -1459,16 +1464,16 @@ msgid "Hub not found."
msgstr "Server nicht gefunden."
#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Tagger.php:69
-#: ../../Zotlabs/Module/Like.php:382
+#: ../../Zotlabs/Module/Like.php:383
#: ../../addon/redphotos/redphotohelper.php:71
-#: ../../addon/diaspora/Receiver.php:1433 ../../addon/pubcrawl/as.php:1295
-#: ../../include/conversation.php:116 ../../include/text.php:1938
+#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
+#: ../../include/conversation.php:116 ../../include/text.php:2004
msgid "photo"
msgstr "Foto"
-#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Like.php:382
-#: ../../addon/diaspora/Receiver.php:1433 ../../addon/pubcrawl/as.php:1295
-#: ../../include/conversation.php:144 ../../include/text.php:1944
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Like.php:383
+#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
+#: ../../include/conversation.php:144 ../../include/text.php:2010
msgid "status"
msgstr "Status"
@@ -1545,66 +1550,70 @@ msgstr "Mit diesem Formular kannst Du existierende Beiträge und Inhalte aus ein
msgid "File to Upload"
msgstr "Hochzuladende Datei:"
-#: ../../Zotlabs/Module/New_channel.php:121
+#: ../../Zotlabs/Module/New_channel.php:119
#: ../../Zotlabs/Module/Manage.php:138
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."
-#: ../../Zotlabs/Module/New_channel.php:134
-#: ../../Zotlabs/Module/Register.php:249
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:254
msgid "Name or caption"
msgstr "Name oder Titel"
-#: ../../Zotlabs/Module/New_channel.php:134
-#: ../../Zotlabs/Module/Register.php:249
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:254
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
msgstr "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ "
-#: ../../Zotlabs/Module/New_channel.php:136
-#: ../../Zotlabs/Module/Register.php:251
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:256
msgid "Choose a short nickname"
msgstr "Wähle einen kurzen Spitznamen"
-#: ../../Zotlabs/Module/New_channel.php:136
-#: ../../Zotlabs/Module/Register.php:251
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:256
#, php-format
msgid ""
"Your nickname will be used to create an easy to remember channel address "
"e.g. nickname%s"
msgstr "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst, z.B. nickname%s"
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:252
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
msgid "Channel role and privacy"
msgstr "Kanaltyp und Privatspäre-Einstellungen"
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:252
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
msgid "Select a channel role with your privacy requirements."
msgstr "Wähle einen passenden Kanaltyp mit den zugehörigen Voreinstellungen zur Privatsphäre."
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:252
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
msgid "Read more about roles"
msgstr "Mehr Informationen über Rollen"
-#: ../../Zotlabs/Module/New_channel.php:140
+#: ../../Zotlabs/Module/New_channel.php:138
msgid "Create Channel"
msgstr "Einen neuen Kanal anlegen"
-#: ../../Zotlabs/Module/New_channel.php:141
+#: ../../Zotlabs/Module/New_channel.php:139
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr "Ein Kanal ist Deine Identität in diesem Netzwerk. Er kann eine Person, ein Blog oder ein Forum repräsentieren, nur um ein paar Beispiele zu nennen. Kanäle können Verbindungen miteinander eingehen, um Informationen zu teilen, jeweils basierend auf sehr detaillierten Berechtigungseinstellungen."
-#: ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/New_channel.php:140
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr "oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server."
+#: ../../Zotlabs/Module/New_channel.php:145
+msgid "Validate"
+msgstr "Überprüfe"
+
#: ../../Zotlabs/Module/Removeme.php:35
msgid ""
"Channel removals are not allowed within 48 hours of changing the account "
@@ -1647,7 +1656,7 @@ msgid ""
msgstr "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk"
#: ../../Zotlabs/Module/Removeme.php:64
-#: ../../Zotlabs/Module/Settings/Channel.php:593
+#: ../../Zotlabs/Module/Settings/Channel.php:592
msgid "Remove Channel"
msgstr "Kanal löschen"
@@ -1660,12 +1669,12 @@ msgid "NEW"
msgstr "NEU"
#: ../../Zotlabs/Module/Sharedwithme.php:107
-#: ../../Zotlabs/Storage/Browser.php:282 ../../include/text.php:1394
+#: ../../Zotlabs/Storage/Browser.php:285 ../../include/text.php:1434
msgid "Size"
msgstr "Größe"
#: ../../Zotlabs/Module/Sharedwithme.php:108
-#: ../../Zotlabs/Storage/Browser.php:283
+#: ../../Zotlabs/Storage/Browser.php:286
msgid "Last Modified"
msgstr "Zuletzt geändert"
@@ -1780,7 +1789,7 @@ msgstr "E-Mail Adresse des Seiten-Administrators"
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
-msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
+msgstr "Die E-Mail-Adresse Deines Kontos muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:343
msgid "Website URL"
@@ -2215,30 +2224,26 @@ msgstr "Zusätzliche Funktionen verwalten"
msgid "Update has been marked successful"
msgstr "Update wurde als erfolgreich markiert"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:29
+#: ../../Zotlabs/Module/Admin/Dbsync.php:31
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#: ../../Zotlabs/Module/Admin/Dbsync.php:34
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s wurde erfolgreich ausgeführt."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:36
+#: ../../Zotlabs/Module/Admin/Dbsync.php:38
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#: ../../Zotlabs/Module/Admin/Dbsync.php:41
#, php-format
msgid "Update function %s could not be found."
msgstr "Update-Funktion %s konnte nicht gefunden werden."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:55
-msgid "No failed updates."
-msgstr "Keine fehlgeschlagenen Aktualisierungen."
-
#: ../../Zotlabs/Module/Admin/Dbsync.php:59
msgid "Failed Updates"
msgstr "Fehlgeschlagene Aktualisierungen"
@@ -2251,12 +2256,16 @@ msgstr "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)"
msgid "Attempt to execute this update step automatically"
msgstr "Versuche, diesen Updateschritt automatisch auszuführen"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:67
+msgid "No failed updates."
+msgstr "Keine fehlgeschlagenen Aktualisierungen."
+
#: ../../Zotlabs/Module/Admin/Plugins.php:259
#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:89
#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:46
-#: ../../Zotlabs/Module/Display.php:408
+#: ../../Zotlabs/Module/Display.php:410
#: ../../Zotlabs/Module/Filestorage.php:24 ../../Zotlabs/Module/Admin.php:62
-#: ../../include/items.php:3546
+#: ../../include/items.php:3569
msgid "Item not found."
msgstr "Element nicht gefunden."
@@ -2282,12 +2291,12 @@ msgstr "Aktivieren"
#: ../../Zotlabs/Module/Admin/Plugins.php:341
#: ../../Zotlabs/Module/Admin/Plugins.php:436
-#: ../../Zotlabs/Module/Admin/Accounts.php:164
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
#: ../../Zotlabs/Module/Admin/Logs.php:82
#: ../../Zotlabs/Module/Admin/Channels.php:145
#: ../../Zotlabs/Module/Admin/Themes.php:122
#: ../../Zotlabs/Module/Admin/Themes.php:156
-#: ../../Zotlabs/Module/Admin/Site.php:275
+#: ../../Zotlabs/Module/Admin/Site.php:287
#: ../../Zotlabs/Module/Admin/Security.php:86
#: ../../Zotlabs/Module/Admin.php:136
msgid "Administration"
@@ -2305,9 +2314,10 @@ msgid "Toggle"
msgstr "Umschalten"
#: ../../Zotlabs/Module/Admin/Plugins.php:344
-#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:236
-#: ../../Zotlabs/Widget/Settings_menu.php:133 ../../include/nav.php:139
-#: ../../include/nav.php:224
+#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:242
+#: ../../Zotlabs/Widget/Newmember.php:55
+#: ../../Zotlabs/Widget/Settings_menu.php:133 ../../include/nav.php:105
+#: ../../include/nav.php:192
msgid "Settings"
msgstr "Einstellungen"
@@ -2370,7 +2380,7 @@ msgstr "Plugin-Repository herunterladen"
msgid "Install new repo"
msgstr "Neues Repository installieren"
-#: ../../Zotlabs/Module/Admin/Plugins.php:422 ../../Zotlabs/Lib/Apps.php:383
+#: ../../Zotlabs/Module/Admin/Plugins.php:422 ../../Zotlabs/Lib/Apps.php:393
msgid "Install"
msgstr "Installieren"
@@ -2396,112 +2406,112 @@ msgstr "Zweig/Branch wechseln"
msgid "Remove"
msgstr "Entfernen"
-#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#: ../../Zotlabs/Module/Admin/Accounts.php:37
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "%s Konto blockiert/freigegeben"
msgstr[1] "%s Konten blockiert/freigegeben"
-#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#: ../../Zotlabs/Module/Admin/Accounts.php:44
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s Konto gelöscht"
msgstr[1] "%s Konten gelöscht"
-#: ../../Zotlabs/Module/Admin/Accounts.php:79
+#: ../../Zotlabs/Module/Admin/Accounts.php:80
msgid "Account not found"
msgstr "Konto nicht gefunden"
-#: ../../Zotlabs/Module/Admin/Accounts.php:90 ../../include/channel.php:2456
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2462
#, php-format
msgid "Account '%s' deleted"
msgstr "Konto '%s' gelöscht"
-#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#: ../../Zotlabs/Module/Admin/Accounts.php:99
#, php-format
msgid "Account '%s' blocked"
msgstr "Konto '%s' blockiert"
-#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#: ../../Zotlabs/Module/Admin/Accounts.php:107
#, php-format
msgid "Account '%s' unblocked"
msgstr "Konto '%s' freigegeben"
-#: ../../Zotlabs/Module/Admin/Accounts.php:165
-#: ../../Zotlabs/Module/Admin/Accounts.php:178
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:179
#: ../../Zotlabs/Module/Admin.php:96 ../../Zotlabs/Widget/Admin.php:23
msgid "Accounts"
msgstr "Konten"
-#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
#: ../../Zotlabs/Module/Admin/Channels.php:148
msgid "select all"
msgstr "Alle auswählen"
-#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
msgid "Registrations waiting for confirm"
msgstr "Registrierungen warten auf Bestätigung"
-#: ../../Zotlabs/Module/Admin/Accounts.php:169
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
msgid "Request date"
msgstr "Antragsdatum"
-#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
msgid "No registrations."
msgstr "Keine Registrierungen."
-#: ../../Zotlabs/Module/Admin/Accounts.php:171
-#: ../../Zotlabs/Module/Connections.php:282 ../../include/conversation.php:732
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Connections.php:287 ../../include/conversation.php:732
msgid "Approve"
msgstr "Genehmigen"
-#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
msgid "Deny"
msgstr "Verweigern"
-#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
#: ../../Zotlabs/Module/Connedit.php:622
msgid "Block"
msgstr "Blockieren"
-#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
#: ../../Zotlabs/Module/Connedit.php:622
msgid "Unblock"
msgstr "Freigeben"
-#: ../../Zotlabs/Module/Admin/Accounts.php:180
+#: ../../Zotlabs/Module/Admin/Accounts.php:181
msgid "ID"
msgstr "ID"
-#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/group.php:284
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:284
msgid "All Channels"
msgstr "Alle Kanäle"
-#: ../../Zotlabs/Module/Admin/Accounts.php:183
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
msgid "Register date"
msgstr "Registrierungs-Datum"
-#: ../../Zotlabs/Module/Admin/Accounts.php:184
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: ../../Zotlabs/Module/Admin/Accounts.php:185
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
msgid "Expires"
msgstr "Verfällt"
-#: ../../Zotlabs/Module/Admin/Accounts.php:186
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
msgid "Service Class"
msgstr "Service-Klasse"
-#: ../../Zotlabs/Module/Admin/Accounts.php:188
+#: ../../Zotlabs/Module/Admin/Accounts.php:189
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?"
-#: ../../Zotlabs/Module/Admin/Accounts.php:189
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
@@ -2610,7 +2620,7 @@ msgid "Disallow Code"
msgstr "Code sperren"
#: ../../Zotlabs/Module/Admin/Channels.php:154
-#: ../../include/conversation.php:1808 ../../include/nav.php:410
+#: ../../include/conversation.php:1808 ../../include/nav.php:378
msgid "Channel"
msgstr "Kanal"
@@ -2655,415 +2665,472 @@ msgstr "[Experimentell]"
msgid "[Unsupported]"
msgstr "[Nicht unterstützt]"
-#: ../../Zotlabs/Module/Admin/Site.php:147
+#: ../../Zotlabs/Module/Admin/Site.php:158
msgid "Site settings updated."
msgstr "Site-Einstellungen aktualisiert."
-#: ../../Zotlabs/Module/Admin/Site.php:173
+#: ../../Zotlabs/Module/Admin/Site.php:184
#: ../../view/theme/redbasic_c/php/config.php:15
-#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:2968
+#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3082
msgid "Default"
msgstr "Standard"
-#: ../../Zotlabs/Module/Admin/Site.php:184
-#: ../../Zotlabs/Module/Settings/Display.php:139
+#: ../../Zotlabs/Module/Admin/Site.php:195
+#: ../../Zotlabs/Module/Settings/Display.php:130
#, php-format
msgid "%s - (Incompatible)"
msgstr "%s - (Inkompatibel)"
-#: ../../Zotlabs/Module/Admin/Site.php:191
-#: ../../Zotlabs/Module/Settings/Display.php:153
+#: ../../Zotlabs/Module/Admin/Site.php:202
msgid "mobile"
msgstr "mobil"
-#: ../../Zotlabs/Module/Admin/Site.php:193
+#: ../../Zotlabs/Module/Admin/Site.php:204
msgid "experimental"
msgstr "experimentell"
-#: ../../Zotlabs/Module/Admin/Site.php:195
+#: ../../Zotlabs/Module/Admin/Site.php:206
msgid "unsupported"
msgstr "nicht unterstützt"
-#: ../../Zotlabs/Module/Admin/Site.php:241
+#: ../../Zotlabs/Module/Admin/Site.php:253
msgid "Yes - with approval"
msgstr "Ja - mit Zustimmung"
-#: ../../Zotlabs/Module/Admin/Site.php:247
+#: ../../Zotlabs/Module/Admin/Site.php:259
msgid "My site is not a public server"
msgstr "Mein Server ist kein öffentlicher Server"
-#: ../../Zotlabs/Module/Admin/Site.php:248
+#: ../../Zotlabs/Module/Admin/Site.php:260
msgid "My site has paid access only"
msgstr "Meine Seite hat nur bezahlten Zugriff"
-#: ../../Zotlabs/Module/Admin/Site.php:249
+#: ../../Zotlabs/Module/Admin/Site.php:261
msgid "My site has free access only"
msgstr "Meine Seite hat nur freien Zugriff"
-#: ../../Zotlabs/Module/Admin/Site.php:250
+#: ../../Zotlabs/Module/Admin/Site.php:262
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades"
-#: ../../Zotlabs/Module/Admin/Site.php:262
+#: ../../Zotlabs/Module/Admin/Site.php:274
msgid "Beginner/Basic"
msgstr "Anfänger/Basis"
-#: ../../Zotlabs/Module/Admin/Site.php:263
+#: ../../Zotlabs/Module/Admin/Site.php:275
msgid "Novice - not skilled but willing to learn"
msgstr "Anfänger - unerfahren, aber bereit zu lernen"
-#: ../../Zotlabs/Module/Admin/Site.php:264
+#: ../../Zotlabs/Module/Admin/Site.php:276
msgid "Intermediate - somewhat comfortable"
msgstr "Fortgeschritten - relativ komfortabel"
-#: ../../Zotlabs/Module/Admin/Site.php:265
+#: ../../Zotlabs/Module/Admin/Site.php:277
msgid "Advanced - very comfortable"
msgstr "Fortgeschritten - sehr komfortabel"
-#: ../../Zotlabs/Module/Admin/Site.php:266
+#: ../../Zotlabs/Module/Admin/Site.php:278
msgid "Expert - I can write computer code"
msgstr "Experte - Ich kann Computercode schreiben"
-#: ../../Zotlabs/Module/Admin/Site.php:267
+#: ../../Zotlabs/Module/Admin/Site.php:279
msgid "Wizard - I probably know more than you do"
msgstr "Zauberer - ich kann wahrscheinlich mehr als Du"
-#: ../../Zotlabs/Module/Admin/Site.php:276 ../../Zotlabs/Widget/Admin.php:22
+#: ../../Zotlabs/Module/Admin/Site.php:288 ../../Zotlabs/Widget/Admin.php:22
msgid "Site"
msgstr "Seite"
-#: ../../Zotlabs/Module/Admin/Site.php:278
-#: ../../Zotlabs/Module/Register.php:263
+#: ../../Zotlabs/Module/Admin/Site.php:290
+#: ../../Zotlabs/Module/Register.php:269
msgid "Registration"
msgstr "Registrierung"
-#: ../../Zotlabs/Module/Admin/Site.php:279
+#: ../../Zotlabs/Module/Admin/Site.php:291
msgid "File upload"
msgstr "Dateiupload"
-#: ../../Zotlabs/Module/Admin/Site.php:280
+#: ../../Zotlabs/Module/Admin/Site.php:292
msgid "Policies"
msgstr "Richtlinien"
-#: ../../Zotlabs/Module/Admin/Site.php:281
+#: ../../Zotlabs/Module/Admin/Site.php:293
#: ../../include/contact_widgets.php:16
msgid "Advanced"
msgstr "Fortgeschritten"
-#: ../../Zotlabs/Module/Admin/Site.php:285
+#: ../../Zotlabs/Module/Admin/Site.php:297
#: ../../addon/statusnet/statusnet.php:891
msgid "Site name"
msgstr "Seitenname"
-#: ../../Zotlabs/Module/Admin/Site.php:287
+#: ../../Zotlabs/Module/Admin/Site.php:299
msgid "Site default technical skill level"
msgstr "Standard-Qualifikationsstufe der Website"
-#: ../../Zotlabs/Module/Admin/Site.php:287
+#: ../../Zotlabs/Module/Admin/Site.php:299
msgid "Used to provide a member experience matched to technical comfort level"
msgstr "Dies wird verwendet, um eine Benutzererfahrung passend zur technischen Qualifikationsstufe zu bieten."
-#: ../../Zotlabs/Module/Admin/Site.php:289
+#: ../../Zotlabs/Module/Admin/Site.php:301
msgid "Lock the technical skill level setting"
msgstr "Sperre die technische Qualifikationsstufe"
-#: ../../Zotlabs/Module/Admin/Site.php:289
+#: ../../Zotlabs/Module/Admin/Site.php:301
msgid "Members can set their own technical comfort level by default"
msgstr "Benutzer können standardmäßig ihre eigene technische Qualifikationsstufe einstellen"
-#: ../../Zotlabs/Module/Admin/Site.php:291
+#: ../../Zotlabs/Module/Admin/Site.php:303
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../Zotlabs/Module/Admin/Site.php:292
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Unfiltered HTML/CSS/JS is allowed"
+msgstr "Ungefiltertes HTML/CSS/JS ist erlaubt"
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
msgid "Administrator Information"
msgstr "Administrator-Informationen"
-#: ../../Zotlabs/Module/Admin/Site.php:292
+#: ../../Zotlabs/Module/Admin/Site.php:304
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden."
-#: ../../Zotlabs/Module/Admin/Site.php:293
-#: ../../Zotlabs/Module/Siteinfo.php:22
+#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Siteinfo.php:21
msgid "Site Information"
msgstr "Seiteninformationen"
-#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../Zotlabs/Module/Admin/Site.php:305
msgid ""
"Publicly visible description of this site. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Öffentlich sichtbare Beschreibung dieses Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann hier verwendet werden."
-#: ../../Zotlabs/Module/Admin/Site.php:294
+#: ../../Zotlabs/Module/Admin/Site.php:306
msgid "System language"
msgstr "System-Sprache"
-#: ../../Zotlabs/Module/Admin/Site.php:295
+#: ../../Zotlabs/Module/Admin/Site.php:307
msgid "System theme"
msgstr "System-Design"
-#: ../../Zotlabs/Module/Admin/Site.php:295
+#: ../../Zotlabs/Module/Admin/Site.php:307
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standard-System-Design – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Design-Einstellungen ändern</a>"
-#: ../../Zotlabs/Module/Admin/Site.php:296
+#: ../../Zotlabs/Module/Admin/Site.php:308
msgid "Mobile system theme"
msgstr "System-Design für mobile Geräte:"
-#: ../../Zotlabs/Module/Admin/Site.php:296
+#: ../../Zotlabs/Module/Admin/Site.php:308
msgid "Theme for mobile devices"
msgstr "Theme für mobile Geräte"
-#: ../../Zotlabs/Module/Admin/Site.php:298
+#: ../../Zotlabs/Module/Admin/Site.php:310
msgid "Allow Feeds as Connections"
msgstr "Feeds als Verbindungen erlauben"
-#: ../../Zotlabs/Module/Admin/Site.php:298
+#: ../../Zotlabs/Module/Admin/Site.php:310
msgid "(Heavy system resource usage)"
msgstr "(führt zu hoher Systemlast)"
-#: ../../Zotlabs/Module/Admin/Site.php:299
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid "Maximum image size"
msgstr "Maximale Bildgröße"
-#: ../../Zotlabs/Module/Admin/Site.php:299
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung)."
-#: ../../Zotlabs/Module/Admin/Site.php:300
+#: ../../Zotlabs/Module/Admin/Site.php:312
msgid "Does this site allow new member registration?"
msgstr "Erlaubt dieser Server die Registrierung neuer Nutzer?"
-#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../Zotlabs/Module/Admin/Site.php:313
msgid "Invitation only"
msgstr "Nur mit Einladung"
-#: ../../Zotlabs/Module/Admin/Site.php:301
+#: ../../Zotlabs/Module/Admin/Site.php:313
msgid ""
"Only allow new member registrations with an invitation code. Above register "
"policy must be set to Yes."
msgstr "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden."
-#: ../../Zotlabs/Module/Admin/Site.php:302
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age"
+msgstr "Mindestalter"
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age (in years) for who may register on this site."
+msgstr "Mindestalter (in Jahren) für alle, die sich auf dieser Website anmelden möchten."
+
+#: ../../Zotlabs/Module/Admin/Site.php:315
msgid "Which best describes the types of account offered by this hub?"
msgstr "Was ist die passendste Beschreibung der Konten auf diesem Hub?"
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:316
msgid "Register text"
msgstr "Registrierungstext"
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:316
msgid "Will be displayed prominently on the registration page."
msgstr "Wird gut sichtbar auf der Registrierungs-Seite angezeigt."
-#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../Zotlabs/Module/Admin/Site.php:317
msgid "Site homepage to show visitors (default: login box)"
msgstr "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)"
-#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../Zotlabs/Module/Admin/Site.php:317
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen."
-#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Admin/Site.php:318
msgid "Preserve site homepage URL"
msgstr "Homepage-URL schützen"
-#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Admin/Site.php:318
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten."
-#: ../../Zotlabs/Module/Admin/Site.php:306
+#: ../../Zotlabs/Module/Admin/Site.php:319
msgid "Accounts abandoned after x days"
msgstr "Konten gelten nach X Tagen als unbenutzt"
-#: ../../Zotlabs/Module/Admin/Site.php:306
+#: ../../Zotlabs/Module/Admin/Site.php:319
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:320
msgid "Allowed friend domains"
msgstr "Erlaubte Domains für Kontakte"
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:320
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-#: ../../Zotlabs/Module/Admin/Site.php:308
+#: ../../Zotlabs/Module/Admin/Site.php:321
msgid "Verify Email Addresses"
msgstr "E-Mail-Adressen überprüfen"
-#: ../../Zotlabs/Module/Admin/Site.php:308
+#: ../../Zotlabs/Module/Admin/Site.php:321
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen)."
-#: ../../Zotlabs/Module/Admin/Site.php:309
+#: ../../Zotlabs/Module/Admin/Site.php:322
msgid "Force publish"
msgstr "Veröffentlichung erzwingen"
-#: ../../Zotlabs/Module/Admin/Site.php:309
+#: ../../Zotlabs/Module/Admin/Site.php:322
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen."
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:323
msgid "Import Public Streams"
msgstr "Öffentliche Beiträge importieren"
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:323
msgid ""
"Import and allow access to public content pulled from other sites. Warning: "
"this content is unmoderated."
msgstr "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert."
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid "Site only Public Streams"
+msgstr "Öffentlichen Beitragsstrom auf diesen Server beschränken"
+
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid ""
+"Allow access to public content originating only from this site if Imported "
+"Public Streams are disabled."
+msgstr "Erlaubt den Zugriff auf öffentliche Beiträge von ausschließlich dieser Website (diesem Server), wenn \"Öffentliche Beiträge importieren\" ausgeschaltet ist."
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid "Allow anybody on the internet to access the Public streams"
+msgstr "Allen im Internet Zugriff auf den öffentlichen Beitragsstrom erlauben"
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid ""
+"Disable to require authentication before viewing. Warning: this content is "
+"unmoderated."
+msgstr "Deaktiviert die erforderliche Authentifizierung vor dem Ansehen. Warnung: Diese Inhalte sind nicht moderiert."
+
+#: ../../Zotlabs/Module/Admin/Site.php:326
msgid "Login on Homepage"
msgstr "Log-in auf der Startseite"
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:326
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden."
-#: ../../Zotlabs/Module/Admin/Site.php:312
+#: ../../Zotlabs/Module/Admin/Site.php:327
msgid "Enable context help"
msgstr "Kontext-Hilfe aktivieren"
-#: ../../Zotlabs/Module/Admin/Site.php:312
+#: ../../Zotlabs/Module/Admin/Site.php:327
msgid ""
"Display contextual help for the current page when the help button is "
"pressed."
msgstr "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird."
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Admin/Site.php:329
msgid "Reply-to email address for system generated email."
msgstr "Antwortadresse (reply-to) für Emails, die vom System generiert wurden."
-#: ../../Zotlabs/Module/Admin/Site.php:315
+#: ../../Zotlabs/Module/Admin/Site.php:330
msgid "Sender (From) email address for system generated email."
msgstr "Absenderadresse (from) für Emails, die vom System generiert wurden."
-#: ../../Zotlabs/Module/Admin/Site.php:316
+#: ../../Zotlabs/Module/Admin/Site.php:331
msgid "Name of email sender for system generated email."
msgstr "Name des Versenders von Emails, die vom System generiert wurden."
-#: ../../Zotlabs/Module/Admin/Site.php:318
+#: ../../Zotlabs/Module/Admin/Site.php:333
msgid "Directory Server URL"
msgstr "Verzeichnisserver-URL"
-#: ../../Zotlabs/Module/Admin/Site.php:318
+#: ../../Zotlabs/Module/Admin/Site.php:333
msgid "Default directory server"
msgstr "Standard-Verzeichnisserver"
-#: ../../Zotlabs/Module/Admin/Site.php:320
+#: ../../Zotlabs/Module/Admin/Site.php:335
msgid "Proxy user"
msgstr "Proxy Benutzer"
-#: ../../Zotlabs/Module/Admin/Site.php:321
+#: ../../Zotlabs/Module/Admin/Site.php:336
msgid "Proxy URL"
msgstr "Proxy URL"
-#: ../../Zotlabs/Module/Admin/Site.php:322
+#: ../../Zotlabs/Module/Admin/Site.php:337
msgid "Network timeout"
msgstr "Netzwerk-Timeout"
-#: ../../Zotlabs/Module/Admin/Site.php:322
+#: ../../Zotlabs/Module/Admin/Site.php:337
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen)."
-#: ../../Zotlabs/Module/Admin/Site.php:323
+#: ../../Zotlabs/Module/Admin/Site.php:338
msgid "Delivery interval"
msgstr "Auslieferung Intervall"
-#: ../../Zotlabs/Module/Admin/Site.php:323
+#: ../../Zotlabs/Module/Admin/Site.php:338
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
-#: ../../Zotlabs/Module/Admin/Site.php:324
+#: ../../Zotlabs/Module/Admin/Site.php:339
msgid "Deliveries per process"
msgstr "Zustellungen pro Prozess"
-#: ../../Zotlabs/Module/Admin/Site.php:324
+#: ../../Zotlabs/Module/Admin/Site.php:339
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5."
-#: ../../Zotlabs/Module/Admin/Site.php:325
+#: ../../Zotlabs/Module/Admin/Site.php:340
msgid "Queue Threshold"
msgstr "Warteschlangen-Grenzwert"
-#: ../../Zotlabs/Module/Admin/Site.php:325
+#: ../../Zotlabs/Module/Admin/Site.php:340
msgid ""
"Always defer immediate delivery if queue contains more than this number of "
"entries."
msgstr "Unmittelbare Zustellung immer verzögern, wenn die Warteschlange mehr als diese Anzahl von Einträgen enthält."
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:341
msgid "Poll interval"
msgstr "Abfrageintervall"
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:341
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet."
-#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:342
msgid "Path to ImageMagick convert program"
msgstr "Pfad zum ImageMagick-Programm convert"
-#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:342
msgid ""
"If set, use this program to generate photo thumbnails for huge images ( > "
"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
"Example: /usr/bin/convert"
msgstr "Wenn gesetzt, dann verwende dieses Programm zum Erzeugen von Vorschaubildern großer Fotos (>4000 Pixel in beiden Richtungen), anderenfalls kann Speicherüberlauf auftreten. Beispiel: /usr/bin/convert"
-#: ../../Zotlabs/Module/Admin/Site.php:328
+#: ../../Zotlabs/Module/Admin/Site.php:343
msgid "Allow SVG thumbnails in file browser"
msgstr "Erlaube SVG-Vorschaubilder im Dateibrowser"
-#: ../../Zotlabs/Module/Admin/Site.php:328
+#: ../../Zotlabs/Module/Admin/Site.php:343
msgid "WARNING: SVG images may contain malicious code."
msgstr "Warnung: SVG-Grafiken können Schadcode enthalten."
-#: ../../Zotlabs/Module/Admin/Site.php:329
+#: ../../Zotlabs/Module/Admin/Site.php:344
msgid "Maximum Load Average"
msgstr "Maximales Load Average"
-#: ../../Zotlabs/Module/Admin/Site.php:329
+#: ../../Zotlabs/Module/Admin/Site.php:344
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50"
-#: ../../Zotlabs/Module/Admin/Site.php:330
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid "Expiration period in days for imported (grid/network) content"
msgstr "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen"
-#: ../../Zotlabs/Module/Admin/Site.php:330
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid "0 for no expiration of imported content"
msgstr "0 = keine Löschung importierter Inhalte"
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
+msgstr "Öffentliche Server: Optionale Einstiegsseite (landing page) für neue Mitglieder vor deren Anmeldung"
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+#, php-format
+msgid "Create this page first. Default is %s/register"
+msgstr "Erstelle zunächst die entsprechende Seite. Standard ist %s/register"
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Page to display after creating a new channel"
+msgstr "Seite, die nach Erstellung eines neuen Kanals angezeigt werden soll"
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Recommend: profiles, go, or settings"
+msgstr "Empfohlen: profiles, go oder settings"
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Optional: site location"
+msgstr "Optional: Standort der Website"
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Region or country"
+msgstr "Region oder Land"
+
#: ../../Zotlabs/Module/Admin/Profs.php:69
msgid "New Profile Field"
msgstr "Neues Profilfeld"
@@ -3106,8 +3173,8 @@ msgstr "Zusätzliche Informationen (optional)"
#: ../../Zotlabs/Module/Admin/Profs.php:74
#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32
#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:53
-#: ../../Zotlabs/Widget/Notes.php:18 ../../include/text.php:1030
-#: ../../include/text.php:1042
+#: ../../Zotlabs/Widget/Notes.php:18 ../../include/text.php:1052
+#: ../../include/text.php:1064
msgid "Save"
msgstr "Speichern"
@@ -3306,7 +3373,7 @@ msgid "Visible to:"
msgstr "Sichtbar für:"
#: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153
-#: ../../Zotlabs/Module/Acl.php:118 ../../include/acl_selectors.php:183
+#: ../../Zotlabs/Module/Acl.php:121 ../../include/acl_selectors.php:88
msgctxt "acl"
msgid "Profile"
msgstr "Profil"
@@ -3339,25 +3406,25 @@ msgstr "Name der Berechtigungsrolle"
#: ../../Zotlabs/Module/Settings/Permcats.php:103
#: ../../Zotlabs/Module/Settings/Tokens.php:161
-#: ../../Zotlabs/Module/Connedit.php:908 ../../Zotlabs/Module/Defperms.php:250
+#: ../../Zotlabs/Module/Connedit.php:891 ../../Zotlabs/Module/Defperms.php:250
msgid "My Settings"
msgstr "Meine Einstellungen"
#: ../../Zotlabs/Module/Settings/Permcats.php:105
#: ../../Zotlabs/Module/Settings/Tokens.php:163
-#: ../../Zotlabs/Module/Connedit.php:903 ../../Zotlabs/Module/Defperms.php:248
+#: ../../Zotlabs/Module/Connedit.php:886 ../../Zotlabs/Module/Defperms.php:248
msgid "inherited"
msgstr "geerbt"
#: ../../Zotlabs/Module/Settings/Permcats.php:108
#: ../../Zotlabs/Module/Settings/Tokens.php:166
-#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Defperms.php:253
+#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Defperms.php:253
msgid "Individual Permissions"
msgstr "Individuelle Zugriffsrechte"
#: ../../Zotlabs/Module/Settings/Permcats.php:109
#: ../../Zotlabs/Module/Settings/Tokens.php:167
-#: ../../Zotlabs/Module/Connedit.php:911
+#: ../../Zotlabs/Module/Connedit.php:894
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -3370,7 +3437,7 @@ msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"
#: ../../Zotlabs/Module/Settings/Channel.php:69
#: ../../Zotlabs/Module/Settings/Channel.php:72
#: ../../Zotlabs/Module/Settings/Channel.php:83
-#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:28
+#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:24
#: ../../include/selectors.php:123 ../../include/channel.php:437
#: ../../include/channel.php:438 ../../include/channel.php:445
msgid "Friends"
@@ -3381,7 +3448,7 @@ msgstr "Freunde"
#: ../../addon/rendezvous/rendezvous.php:82
#: ../../addon/openstreetmap/openstreetmap.php:184
#: ../../addon/msgfooter/msgfooter.php:54 ../../addon/logrot/logrot.php:54
-#: ../../addon/twitter/twitter.php:766 ../../addon/piwik/piwik.php:116
+#: ../../addon/twitter/twitter.php:772 ../../addon/piwik/piwik.php:116
#: ../../addon/xmpp/xmpp.php:102
msgid "Settings updated."
msgstr "Einstellungen aktualisiert."
@@ -3418,371 +3485,370 @@ msgstr "Jeder authentifizierte"
msgid "Anybody on the internet"
msgstr "Jeder im Internet"
-#: ../../Zotlabs/Module/Settings/Channel.php:406
+#: ../../Zotlabs/Module/Settings/Channel.php:405
msgid "Publish your default profile in the network directory"
msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen"
-#: ../../Zotlabs/Module/Settings/Channel.php:411
+#: ../../Zotlabs/Module/Settings/Channel.php:410
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?"
-#: ../../Zotlabs/Module/Settings/Channel.php:415
-#: ../../Zotlabs/Module/Profile_photo.php:443
-#: ../../Zotlabs/Module/Cover_photo.php:365
+#: ../../Zotlabs/Module/Settings/Channel.php:414
msgid "or"
msgstr "oder"
-#: ../../Zotlabs/Module/Settings/Channel.php:420
+#: ../../Zotlabs/Module/Settings/Channel.php:419
msgid "Your channel address is"
msgstr "Deine Kanal-Adresse lautet"
-#: ../../Zotlabs/Module/Settings/Channel.php:423
+#: ../../Zotlabs/Module/Settings/Channel.php:422
msgid "Your files/photos are accessible via WebDAV at"
msgstr "Deine Dateien/Fotos sind via WebDAV verfügbar auf"
-#: ../../Zotlabs/Module/Settings/Channel.php:487
+#: ../../Zotlabs/Module/Settings/Channel.php:486
msgid "Channel Settings"
msgstr "Kanal-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:494
+#: ../../Zotlabs/Module/Settings/Channel.php:493
msgid "Basic Settings"
msgstr "Grundeinstellungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:495
-#: ../../include/channel.php:1521
+#: ../../Zotlabs/Module/Settings/Channel.php:494
+#: ../../include/channel.php:1522
msgid "Full Name:"
msgstr "Voller Name:"
-#: ../../Zotlabs/Module/Settings/Channel.php:496
+#: ../../Zotlabs/Module/Settings/Channel.php:495
#: ../../Zotlabs/Module/Settings/Account.php:119
msgid "Email Address:"
msgstr "Email Adresse:"
-#: ../../Zotlabs/Module/Settings/Channel.php:497
+#: ../../Zotlabs/Module/Settings/Channel.php:496
msgid "Your Timezone:"
msgstr "Ihre Zeitzone:"
-#: ../../Zotlabs/Module/Settings/Channel.php:498
+#: ../../Zotlabs/Module/Settings/Channel.php:497
msgid "Default Post Location:"
msgstr "Standardstandort:"
-#: ../../Zotlabs/Module/Settings/Channel.php:498
+#: ../../Zotlabs/Module/Settings/Channel.php:497
msgid "Geographical location to display on your posts"
msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll"
-#: ../../Zotlabs/Module/Settings/Channel.php:499
+#: ../../Zotlabs/Module/Settings/Channel.php:498
msgid "Use Browser Location:"
msgstr "Standort des Browsers verwenden:"
-#: ../../Zotlabs/Module/Settings/Channel.php:501
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Adult Content"
msgstr "Nicht jugendfreie Inhalte"
-#: ../../Zotlabs/Module/Settings/Channel.php:501
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)"
-#: ../../Zotlabs/Module/Settings/Channel.php:503
+#: ../../Zotlabs/Module/Settings/Channel.php:502
msgid "Security and Privacy Settings"
msgstr "Sicherheits- und Datenschutz-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:505
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern"
-#: ../../Zotlabs/Module/Settings/Channel.php:507
+#: ../../Zotlabs/Module/Settings/Channel.php:506
msgid "Hide my online presence"
msgstr "Meine Online-Präsenz verbergen"
-#: ../../Zotlabs/Module/Settings/Channel.php:507
+#: ../../Zotlabs/Module/Settings/Channel.php:506
msgid "Prevents displaying in your profile that you are online"
msgstr "Verhindert die Anzeige Deines Online-Status in deinem Profil"
-#: ../../Zotlabs/Module/Settings/Channel.php:509
+#: ../../Zotlabs/Module/Settings/Channel.php:508
msgid "Simple Privacy Settings:"
msgstr "Einfache Privatsphäre-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:510
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:511
+#: ../../Zotlabs/Module/Settings/Channel.php:510
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:512
+#: ../../Zotlabs/Module/Settings/Channel.php:511
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privat – <em>Standard privat, nie offen oder öffentlich</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:513
+#: ../../Zotlabs/Module/Settings/Channel.php:512
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Blockiert – <em>Alle standardmäßig blockiert</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:515
+#: ../../Zotlabs/Module/Settings/Channel.php:514
msgid "Allow others to tag your posts"
msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten"
-#: ../../Zotlabs/Module/Settings/Channel.php:515
+#: ../../Zotlabs/Module/Settings/Channel.php:514
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren"
-#: ../../Zotlabs/Module/Settings/Channel.php:517
+#: ../../Zotlabs/Module/Settings/Channel.php:516
msgid "Channel Permission Limits"
msgstr "Kanal-Berechtigungslimits"
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:518
msgid "Expire other channel content after this many days"
msgstr "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen"
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:518
msgid "0 or blank to use the website limit."
msgstr "0 oder leer lassen, um den voreingestellten Wert der Webseite zu verwenden."
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:518
#, php-format
msgid "This website expires after %d days."
msgstr "Diese Webseite läuft nach %d Tagen ab."
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:518
msgid "This website does not expire imported content."
msgstr "Diese Webseite lässt importierte Inhalte nicht verfallen."
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:518
msgid "The website limit takes precedence if lower than your limit."
msgstr "Das Verfallslimit der Webseite hat Vorrang, wenn es niedriger als Deines hier ist."
-#: ../../Zotlabs/Module/Settings/Channel.php:520
+#: ../../Zotlabs/Module/Settings/Channel.php:519
msgid "Maximum Friend Requests/Day:"
msgstr "Maximale Kontaktanfragen pro Tag:"
-#: ../../Zotlabs/Module/Settings/Channel.php:520
+#: ../../Zotlabs/Module/Settings/Channel.php:519
msgid "May reduce spam activity"
msgstr "Kann die Spam-Aktivität verringern"
-#: ../../Zotlabs/Module/Settings/Channel.php:521
+#: ../../Zotlabs/Module/Settings/Channel.php:520
msgid "Default Privacy Group"
msgstr "Standard-Gruppe"
-#: ../../Zotlabs/Module/Settings/Channel.php:523
+#: ../../Zotlabs/Module/Settings/Channel.php:522
msgid "Use my default audience setting for the type of object published"
msgstr "Verwende Deine eingestellte Standard-Zielgruppe des jeweiligen Inhaltstyps"
-#: ../../Zotlabs/Module/Settings/Channel.php:524
+#: ../../Zotlabs/Module/Settings/Channel.php:523
msgid "Profile to assign new connections"
msgstr "Profil, welches neuen Verbindungen zugewiesen wird"
-#: ../../Zotlabs/Module/Settings/Channel.php:533
+#: ../../Zotlabs/Module/Settings/Channel.php:532
msgid "Channel permissions category:"
msgstr "Zugriffsrechte-Kategorie des Kanals:"
-#: ../../Zotlabs/Module/Settings/Channel.php:534
+#: ../../Zotlabs/Module/Settings/Channel.php:533
msgid "Default Permissions Group"
msgstr "Standard-Berechtigungsgruppe"
-#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:539
msgid "Maximum private messages per day from unknown people:"
msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
-#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:539
msgid "Useful to reduce spamming"
msgstr "Nützlich, um Spam zu verringern"
-#: ../../Zotlabs/Module/Settings/Channel.php:543
+#: ../../Zotlabs/Module/Settings/Channel.php:542
+#: ../../Zotlabs/Lib/Enotify.php:68
msgid "Notification Settings"
msgstr "Benachrichtigungs-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:544
+#: ../../Zotlabs/Module/Settings/Channel.php:543
msgid "By default post a status message when:"
msgstr "Sende standardmäßig Status-Nachrichten, wenn:"
-#: ../../Zotlabs/Module/Settings/Channel.php:545
+#: ../../Zotlabs/Module/Settings/Channel.php:544
msgid "accepting a friend request"
msgstr "Du eine Verbindungsanfrage annimmst"
-#: ../../Zotlabs/Module/Settings/Channel.php:546
+#: ../../Zotlabs/Module/Settings/Channel.php:545
msgid "joining a forum/community"
msgstr "Du einem Forum beitrittst"
-#: ../../Zotlabs/Module/Settings/Channel.php:547
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "making an <em>interesting</em> profile change"
msgstr "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst"
-#: ../../Zotlabs/Module/Settings/Channel.php:548
+#: ../../Zotlabs/Module/Settings/Channel.php:547
msgid "Send a notification email when:"
msgstr "Eine E-Mail-Benachrichtigung senden, wenn:"
-#: ../../Zotlabs/Module/Settings/Channel.php:549
+#: ../../Zotlabs/Module/Settings/Channel.php:548
msgid "You receive a connection request"
msgstr "Du eine Verbindungsanfrage erhältst"
-#: ../../Zotlabs/Module/Settings/Channel.php:550
+#: ../../Zotlabs/Module/Settings/Channel.php:549
msgid "Your connections are confirmed"
msgstr "Eine Verbindung bestätigt wurde"
-#: ../../Zotlabs/Module/Settings/Channel.php:551
+#: ../../Zotlabs/Module/Settings/Channel.php:550
msgid "Someone writes on your profile wall"
msgstr "Jemand auf Deine Pinnwand schreibt"
-#: ../../Zotlabs/Module/Settings/Channel.php:552
+#: ../../Zotlabs/Module/Settings/Channel.php:551
msgid "Someone writes a followup comment"
msgstr "Jemand einen Beitrag kommentiert"
-#: ../../Zotlabs/Module/Settings/Channel.php:553
+#: ../../Zotlabs/Module/Settings/Channel.php:552
msgid "You receive a private message"
msgstr "Du eine private Nachricht erhältst"
-#: ../../Zotlabs/Module/Settings/Channel.php:554
+#: ../../Zotlabs/Module/Settings/Channel.php:553
msgid "You receive a friend suggestion"
msgstr "Du einen Kontaktvorschlag erhältst"
-#: ../../Zotlabs/Module/Settings/Channel.php:555
+#: ../../Zotlabs/Module/Settings/Channel.php:554
msgid "You are tagged in a post"
msgstr "Du in einem Beitrag erwähnt wurdest"
-#: ../../Zotlabs/Module/Settings/Channel.php:556
+#: ../../Zotlabs/Module/Settings/Channel.php:555
msgid "You are poked/prodded/etc. in a post"
msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest"
-#: ../../Zotlabs/Module/Settings/Channel.php:558
+#: ../../Zotlabs/Module/Settings/Channel.php:557
msgid "Someone likes your post/comment"
msgstr "Jemand mag Ihren Beitrag/Kommentar"
-#: ../../Zotlabs/Module/Settings/Channel.php:561
+#: ../../Zotlabs/Module/Settings/Channel.php:560
msgid "Show visual notifications including:"
msgstr "Visuelle Benachrichtigungen anzeigen für:"
-#: ../../Zotlabs/Module/Settings/Channel.php:563
+#: ../../Zotlabs/Module/Settings/Channel.php:562
msgid "Unseen grid activity"
msgstr "Ungesehene Netzwerk-Aktivität"
-#: ../../Zotlabs/Module/Settings/Channel.php:564
+#: ../../Zotlabs/Module/Settings/Channel.php:563
msgid "Unseen channel activity"
msgstr "Ungesehene Kanal-Aktivität"
-#: ../../Zotlabs/Module/Settings/Channel.php:565
+#: ../../Zotlabs/Module/Settings/Channel.php:564
msgid "Unseen private messages"
msgstr "Ungelesene persönliche Nachrichten"
-#: ../../Zotlabs/Module/Settings/Channel.php:565
+#: ../../Zotlabs/Module/Settings/Channel.php:564
+#: ../../Zotlabs/Module/Settings/Channel.php:569
#: ../../Zotlabs/Module/Settings/Channel.php:570
#: ../../Zotlabs/Module/Settings/Channel.php:571
-#: ../../Zotlabs/Module/Settings/Channel.php:572
#: ../../addon/jappixmini/jappixmini.php:343
msgid "Recommended"
msgstr "Empfohlen"
-#: ../../Zotlabs/Module/Settings/Channel.php:566
+#: ../../Zotlabs/Module/Settings/Channel.php:565
msgid "Upcoming events"
msgstr "Baldige Termine"
-#: ../../Zotlabs/Module/Settings/Channel.php:567
+#: ../../Zotlabs/Module/Settings/Channel.php:566
msgid "Events today"
msgstr "Heutige Termine"
-#: ../../Zotlabs/Module/Settings/Channel.php:568
+#: ../../Zotlabs/Module/Settings/Channel.php:567
msgid "Upcoming birthdays"
msgstr "Baldige Geburtstage"
-#: ../../Zotlabs/Module/Settings/Channel.php:568
+#: ../../Zotlabs/Module/Settings/Channel.php:567
msgid "Not available in all themes"
msgstr "Nicht in allen Designs verfügbar"
-#: ../../Zotlabs/Module/Settings/Channel.php:569
+#: ../../Zotlabs/Module/Settings/Channel.php:568
msgid "System (personal) notifications"
msgstr "System – (persönliche) Benachrichtigungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:570
+#: ../../Zotlabs/Module/Settings/Channel.php:569
msgid "System info messages"
msgstr "System – Info-Nachrichten"
-#: ../../Zotlabs/Module/Settings/Channel.php:571
+#: ../../Zotlabs/Module/Settings/Channel.php:570
msgid "System critical alerts"
msgstr "System – kritische Warnungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:572
+#: ../../Zotlabs/Module/Settings/Channel.php:571
msgid "New connections"
msgstr "Neue Verbindungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:573
+#: ../../Zotlabs/Module/Settings/Channel.php:572
msgid "System Registrations"
msgstr "System – Registrierungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:574
+#: ../../Zotlabs/Module/Settings/Channel.php:573
msgid "Unseen shared files"
msgstr "Ungesehene geteilte Dateien"
-#: ../../Zotlabs/Module/Settings/Channel.php:575
+#: ../../Zotlabs/Module/Settings/Channel.php:574
msgid "Unseen public activity"
msgstr "Ungesehene öffentliche Aktivität"
-#: ../../Zotlabs/Module/Settings/Channel.php:576
+#: ../../Zotlabs/Module/Settings/Channel.php:575
msgid "Email notification hub (hostname)"
msgstr "Hub für E-Mail-Benachrichtigungen (Hostname)"
-#: ../../Zotlabs/Module/Settings/Channel.php:576
+#: ../../Zotlabs/Module/Settings/Channel.php:575
#, php-format
msgid ""
"If your channel is mirrored to multiple hubs, set this to your preferred "
"location. This will prevent duplicate email notifications. Example: %s"
msgstr "Wenn Dein Kanal auf mehreren Hubs geklont ist, setze die Einstellung auf deinen bevorzugten Hub. Dies verhindert Mehrfachzustellung von E-Mail-Benachrichtigungen. Beispiel: %s"
-#: ../../Zotlabs/Module/Settings/Channel.php:577
+#: ../../Zotlabs/Module/Settings/Channel.php:576
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen anzeigen"
-#: ../../Zotlabs/Module/Settings/Channel.php:579
+#: ../../Zotlabs/Module/Settings/Channel.php:578
msgid "Notify me of events this many days in advance"
msgstr "Benachrichtige mich zu Terminen so viele Tage im Voraus"
-#: ../../Zotlabs/Module/Settings/Channel.php:579
+#: ../../Zotlabs/Module/Settings/Channel.php:578
msgid "Must be greater than 0"
msgstr "Muss größer als 0 sein"
-#: ../../Zotlabs/Module/Settings/Channel.php:585
+#: ../../Zotlabs/Module/Settings/Channel.php:584
msgid "Advanced Account/Page Type Settings"
-msgstr "Erweiterte Account- und Seitenart-Einstellungen"
+msgstr "Erweiterte Konten- und Seitenart-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:586
+#: ../../Zotlabs/Module/Settings/Channel.php:585
msgid "Change the behaviour of this account for special situations"
-msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
+msgstr "Ändere das Verhalten dieses Kontos unter speziellen Umständen"
-#: ../../Zotlabs/Module/Settings/Channel.php:588
+#: ../../Zotlabs/Module/Settings/Channel.php:587
msgid "Miscellaneous Settings"
msgstr "Sonstige Einstellungen"
-#: ../../Zotlabs/Module/Settings/Channel.php:589
+#: ../../Zotlabs/Module/Settings/Channel.php:588
msgid "Default photo upload folder"
msgstr "Voreingestellter Ordner für hochgeladene Fotos"
+#: ../../Zotlabs/Module/Settings/Channel.php:588
#: ../../Zotlabs/Module/Settings/Channel.php:589
-#: ../../Zotlabs/Module/Settings/Channel.php:590
msgid "%Y - current year, %m - current month"
msgstr "%Y - aktuelles Jahr, %m - aktueller Monat"
-#: ../../Zotlabs/Module/Settings/Channel.php:590
+#: ../../Zotlabs/Module/Settings/Channel.php:589
msgid "Default file upload folder"
msgstr "Voreingestellter Ordner für hochgeladene Dateien"
-#: ../../Zotlabs/Module/Settings/Channel.php:592
+#: ../../Zotlabs/Module/Settings/Channel.php:591
msgid "Personal menu to display in your channel pages"
msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals"
-#: ../../Zotlabs/Module/Settings/Channel.php:594
+#: ../../Zotlabs/Module/Settings/Channel.php:593
msgid "Remove this channel."
msgstr "Diesen Kanal löschen"
-#: ../../Zotlabs/Module/Settings/Channel.php:595
+#: ../../Zotlabs/Module/Settings/Channel.php:594
msgid "Firefox Share $Projectname provider"
msgstr "$Projectname-Provider für Firefox Share"
-#: ../../Zotlabs/Module/Settings/Channel.php:596
+#: ../../Zotlabs/Module/Settings/Channel.php:595
msgid "Start calendar week on Monday"
msgstr "Beginne die kalendarische Woche am Montag"
@@ -3835,7 +3901,7 @@ msgid "Expires (yyyy-mm-dd)"
msgstr "Läuft ab (jjjj-mm-tt)"
#: ../../Zotlabs/Module/Settings/Tokens.php:160
-#: ../../Zotlabs/Module/Connedit.php:907
+#: ../../Zotlabs/Module/Connedit.php:890
msgid "Their Settings"
msgstr "Deren Einstellungen"
@@ -3900,8 +3966,10 @@ msgid "Your technical skill level"
msgstr "Deine technische Qualifikationsstufe"
#: ../../Zotlabs/Module/Settings/Account.php:116
-msgid "Used to provide a member experience matched to your comfort level"
-msgstr "Dies wird verwendet, um Dir eine Benutzererfahrung passend zu Deiner technischen Qualifikationsstufe zu bieten."
+msgid ""
+"Used to provide a member experience and additional features consistent with "
+"your comfort level"
+msgstr "Dies wird verwendet, um Dir eine Benutzererfahrung sowie zusätzliche Funktionen passend zu Deiner technischen Qualifikationsstufe zu bieten (Bedienkomfort beim Umgang mit Anwendungen)."
#: ../../Zotlabs/Module/Settings/Account.php:120
#: ../../Zotlabs/Module/Removeaccount.php:61
@@ -3912,148 +3980,152 @@ msgstr "Konto entfernen"
msgid "Remove this account including all its channels"
msgstr "Dieses Konto inklusive all seiner Kanäle löschen"
-#: ../../Zotlabs/Module/Settings/Featured.php:21
+#: ../../Zotlabs/Module/Settings/Featured.php:23
msgid "Affinity Slider settings updated."
msgstr "Die Beziehungsgrad-Schieberegler-Einstellungen wurden aktualisiert."
-#: ../../Zotlabs/Module/Settings/Featured.php:36
+#: ../../Zotlabs/Module/Settings/Featured.php:38
msgid "No feature settings configured"
msgstr "Keine Funktions-Einstellungen konfiguriert"
-#: ../../Zotlabs/Module/Settings/Featured.php:43
+#: ../../Zotlabs/Module/Settings/Featured.php:45
msgid "Default maximum affinity level"
msgstr "Voreinstellung für maximalen Beziehungsgrad"
-#: ../../Zotlabs/Module/Settings/Featured.php:48
+#: ../../Zotlabs/Module/Settings/Featured.php:45
+msgid "0-99 default 99"
+msgstr "0-99 - Standard 99"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:50
msgid "Default minimum affinity level"
msgstr "Voreinstellung für minimalen Beziehungsgrad"
-#: ../../Zotlabs/Module/Settings/Featured.php:52
+#: ../../Zotlabs/Module/Settings/Featured.php:50
+msgid "0-99 - default 0"
+msgstr "0-99 - Standard 0"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:54
msgid "Affinity Slider Settings"
msgstr "Beziehungsgrad-Schieberegler-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Featured.php:62
-msgid "Feature/Addon Settings"
-msgstr "Funktions-/Addon-Einstellungen"
+#: ../../Zotlabs/Module/Settings/Featured.php:64
+msgid "Addon Settings"
+msgstr "Addon-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Display.php:147
-msgid "No special theme for mobile devices"
-msgstr "Kein spezielles Design für mobile Geräte"
+#: ../../Zotlabs/Module/Settings/Featured.php:65
+msgid "Please save/submit changes to any panel before opening another."
+msgstr "Bitte speichere alle Änderungen in diesem Bereich, bevor Du einen anderen öffnest."
-#: ../../Zotlabs/Module/Settings/Display.php:150
+#: ../../Zotlabs/Module/Settings/Display.php:139
#, php-format
msgid "%s - (Experimental)"
msgstr "%s – (experimentell)"
-#: ../../Zotlabs/Module/Settings/Display.php:204
+#: ../../Zotlabs/Module/Settings/Display.php:187
msgid "Display Settings"
msgstr "Anzeige-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Display.php:205
+#: ../../Zotlabs/Module/Settings/Display.php:188
msgid "Theme Settings"
msgstr "Design-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Display.php:206
+#: ../../Zotlabs/Module/Settings/Display.php:189
msgid "Custom Theme Settings"
msgstr "Benutzerdefinierte Design-Einstellungen"
-#: ../../Zotlabs/Module/Settings/Display.php:207
+#: ../../Zotlabs/Module/Settings/Display.php:190
msgid "Content Settings"
msgstr "Inhaltseinstellungen"
-#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:196
msgid "Display Theme:"
msgstr "Anzeige-Design:"
-#: ../../Zotlabs/Module/Settings/Display.php:214
+#: ../../Zotlabs/Module/Settings/Display.php:197
msgid "Select scheme"
msgstr "Schema wählen"
-#: ../../Zotlabs/Module/Settings/Display.php:216
-msgid "Mobile Theme:"
-msgstr "Design für mobile Geräte:"
-
-#: ../../Zotlabs/Module/Settings/Display.php:217
+#: ../../Zotlabs/Module/Settings/Display.php:199
msgid "Preload images before rendering the page"
msgstr "Bilder im voraus laden, bevor die Seite angezeigt wird"
-#: ../../Zotlabs/Module/Settings/Display.php:217
+#: ../../Zotlabs/Module/Settings/Display.php:199
msgid ""
"The subjective page load time will be longer but the page will be ready when"
" displayed"
msgstr "Die empfundene Ladezeit wird sich erhöhen, aber dafür ist das Layout stabil, sobald eine Seite angezeigt wird"
-#: ../../Zotlabs/Module/Settings/Display.php:218
+#: ../../Zotlabs/Module/Settings/Display.php:200
msgid "Enable user zoom on mobile devices"
msgstr "Zoom auf Mobilgeräten aktivieren"
-#: ../../Zotlabs/Module/Settings/Display.php:219
+#: ../../Zotlabs/Module/Settings/Display.php:201
msgid "Update browser every xx seconds"
msgstr "Browser alle xx Sekunden aktualisieren"
-#: ../../Zotlabs/Module/Settings/Display.php:219
+#: ../../Zotlabs/Module/Settings/Display.php:201
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimum 10 Sekunden, kein Maximum"
-#: ../../Zotlabs/Module/Settings/Display.php:220
+#: ../../Zotlabs/Module/Settings/Display.php:202
msgid "Maximum number of conversations to load at any time:"
msgstr "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:"
-#: ../../Zotlabs/Module/Settings/Display.php:220
+#: ../../Zotlabs/Module/Settings/Display.php:202
msgid "Maximum of 100 items"
msgstr "Maximum: 100 Beiträge"
-#: ../../Zotlabs/Module/Settings/Display.php:221
+#: ../../Zotlabs/Module/Settings/Display.php:203
msgid "Show emoticons (smilies) as images"
msgstr "Emoticons (Smilies) als Bilder anzeigen"
-#: ../../Zotlabs/Module/Settings/Display.php:222
+#: ../../Zotlabs/Module/Settings/Display.php:204
msgid "Provide channel menu in navigation bar"
msgstr "Kanal-Menü in der Navigationsleiste zur Verfügung stellen"
-#: ../../Zotlabs/Module/Settings/Display.php:222
+#: ../../Zotlabs/Module/Settings/Display.php:204
msgid "Default: channel menu located in app menu"
msgstr "Voreinstellung: Kanal-Menü ist im App-Menü integriert"
-#: ../../Zotlabs/Module/Settings/Display.php:223
+#: ../../Zotlabs/Module/Settings/Display.php:205
msgid "Manual conversation updates"
msgstr "Manuelle Konversationsaktualisierung"
-#: ../../Zotlabs/Module/Settings/Display.php:223
+#: ../../Zotlabs/Module/Settings/Display.php:205
msgid "Default is on, turning this off may increase screen jumping"
msgstr "Voreinstellung ist An, dies abzuschalten kann das unerwartete Springen der Seitenanzeige erhöhen."
-#: ../../Zotlabs/Module/Settings/Display.php:224
+#: ../../Zotlabs/Module/Settings/Display.php:206
msgid "Link post titles to source"
msgstr "Beitragstitel zum Originalbeitrag verlinken"
-#: ../../Zotlabs/Module/Settings/Display.php:225
+#: ../../Zotlabs/Module/Settings/Display.php:207
msgid "System Page Layout Editor - (advanced)"
msgstr "System-Seitenlayout-Editor (für Experten)"
-#: ../../Zotlabs/Module/Settings/Display.php:228
+#: ../../Zotlabs/Module/Settings/Display.php:210
msgid "Use blog/list mode on channel page"
msgstr "Blog-/Listenmodus auf der Kanalseite verwenden"
-#: ../../Zotlabs/Module/Settings/Display.php:228
-#: ../../Zotlabs/Module/Settings/Display.php:229
+#: ../../Zotlabs/Module/Settings/Display.php:210
+#: ../../Zotlabs/Module/Settings/Display.php:211
msgid "(comments displayed separately)"
msgstr "(Kommentare werden separat angezeigt)"
-#: ../../Zotlabs/Module/Settings/Display.php:229
+#: ../../Zotlabs/Module/Settings/Display.php:211
msgid "Use blog/list mode on grid page"
msgstr "Blog-/Listenmodus auf der Netzwerkseite verwenden"
-#: ../../Zotlabs/Module/Settings/Display.php:230
+#: ../../Zotlabs/Module/Settings/Display.php:212
msgid "Channel page max height of content (in pixels)"
msgstr "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)"
-#: ../../Zotlabs/Module/Settings/Display.php:230
-#: ../../Zotlabs/Module/Settings/Display.php:231
+#: ../../Zotlabs/Module/Settings/Display.php:212
+#: ../../Zotlabs/Module/Settings/Display.php:213
msgid "click to expand content exceeding this height"
msgstr "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden."
-#: ../../Zotlabs/Module/Settings/Display.php:231
+#: ../../Zotlabs/Module/Settings/Display.php:213
msgid "Grid page max height of content (in pixels)"
msgstr "Maximale Höhe (in Pixel) des Inhalts der Netzwerkseite"
@@ -4077,7 +4149,7 @@ msgstr "Name der Anwendung"
#: ../../Zotlabs/Module/Settings/Oauth.php:90
#: ../../Zotlabs/Module/Settings/Oauth.php:116
-#: ../../addon/statusnet/statusnet.php:894 ../../addon/twitter/twitter.php:775
+#: ../../addon/statusnet/statusnet.php:894 ../../addon/twitter/twitter.php:781
msgid "Consumer Key"
msgstr "Consumer Key"
@@ -4088,7 +4160,7 @@ msgstr "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20"
#: ../../Zotlabs/Module/Settings/Oauth.php:91
#: ../../Zotlabs/Module/Settings/Oauth.php:117
-#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:776
+#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:782
msgid "Consumer Secret"
msgstr "Consumer Secret"
@@ -4148,9 +4220,9 @@ msgstr "Album bearbeiten"
#: ../../Zotlabs/Module/Embedphotos.php:158
#: ../../Zotlabs/Module/Photos.php:712 ../../Zotlabs/Module/Photos.php:844
#: ../../Zotlabs/Module/Photos.php:1381
-#: ../../Zotlabs/Module/Profile_photo.php:437
+#: ../../Zotlabs/Module/Profile_photo.php:458
#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Storage/Browser.php:274 ../../Zotlabs/Storage/Browser.php:381
+#: ../../Zotlabs/Storage/Browser.php:277 ../../Zotlabs/Storage/Browser.php:384
#: ../../Zotlabs/Widget/Cdav.php:133 ../../Zotlabs/Widget/Cdav.php:169
#: ../../Zotlabs/Widget/Portfolio.php:110 ../../Zotlabs/Widget/Album.php:97
msgid "Upload"
@@ -4217,7 +4289,7 @@ msgstr "URL eines Fotos der Sache (optional)"
#: ../../Zotlabs/Module/Photos.php:702 ../../Zotlabs/Module/Photos.php:1071
#: ../../Zotlabs/Module/Connedit.php:676 ../../Zotlabs/Module/Chat.php:235
#: ../../Zotlabs/Module/Filestorage.php:147
-#: ../../include/acl_selectors.php:218
+#: ../../include/acl_selectors.php:123
msgid "Permissions"
msgstr "Berechtigungen"
@@ -4314,16 +4386,16 @@ msgstr "Dieser Vorgang kann einige Minuten dauern. Bitte sende das Formular nur
msgid "Authentication failed."
msgstr "Authentifizierung fehlgeschlagen."
-#: ../../Zotlabs/Module/Rmagic.php:75 ../../boot.php:1665
-#: ../../include/channel.php:2301
+#: ../../Zotlabs/Module/Rmagic.php:75 ../../boot.php:1583
+#: ../../include/channel.php:2307
msgid "Remote Authentication"
msgstr "Entfernte Authentifizierung"
-#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:2302
+#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:2308
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
-#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:2303
+#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:2309
msgid "Authenticate"
msgstr "Authentifizieren"
@@ -4331,23 +4403,23 @@ msgstr "Authentifizieren"
msgid "Permissions denied."
msgstr "Berechtigung verweigert."
-#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2312
+#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2426
msgid "Import"
msgstr "Import"
-#: ../../Zotlabs/Module/Api.php:72 ../../Zotlabs/Module/Api.php:93
+#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
msgid "Authorize application connection"
msgstr "Zugriff für die Anwendung autorisieren"
-#: ../../Zotlabs/Module/Api.php:73
+#: ../../Zotlabs/Module/Api.php:75
msgid "Return to your app and insert this Security Code:"
msgstr "Gehen Sie zu Ihrer App zurück und tragen Sie diesen Sicherheitscode ein:"
-#: ../../Zotlabs/Module/Api.php:83
+#: ../../Zotlabs/Module/Api.php:85
msgid "Please login to continue."
msgstr "Zum Weitermachen, bitte einloggen."
-#: ../../Zotlabs/Module/Api.php:95
+#: ../../Zotlabs/Module/Api.php:97
msgid ""
"Do you want to authorize this application to access your posts and contacts,"
" and/or create new posts for you?"
@@ -4365,15 +4437,15 @@ msgstr "Block bearbeiten"
msgid "vcard"
msgstr "VCard"
-#: ../../Zotlabs/Module/Apps.php:47 ../../Zotlabs/Lib/Apps.php:223
+#: ../../Zotlabs/Module/Apps.php:48 ../../Zotlabs/Lib/Apps.php:228
msgid "Apps"
msgstr "Apps"
-#: ../../Zotlabs/Module/Apps.php:50
+#: ../../Zotlabs/Module/Apps.php:51
msgid "Manage apps"
msgstr "Apps verwalten"
-#: ../../Zotlabs/Module/Apps.php:51
+#: ../../Zotlabs/Module/Apps.php:52
msgid "Create new app"
msgstr "Neue App erstellen"
@@ -4383,7 +4455,7 @@ msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s ist %2$s"
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:247
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:253
msgid "Mood"
msgstr "Laune"
@@ -4423,12 +4495,12 @@ msgstr "Neu"
#: ../../Zotlabs/Module/Connections.php:88
#: ../../Zotlabs/Module/Connections.php:102
-#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:30
+#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:26
msgid "All"
msgstr "Alle"
#: ../../Zotlabs/Module/Connections.php:133
-#: ../../Zotlabs/Widget/Notifications.php:82
+#: ../../Zotlabs/Widget/Notifications.php:84
msgid "New Connections"
msgstr "Neue Verbindungen"
@@ -4468,70 +4540,70 @@ msgstr "Archiviert"
msgid "Not connected at this location"
msgstr "An diesem Ort nicht verbunden"
-#: ../../Zotlabs/Module/Connections.php:258
+#: ../../Zotlabs/Module/Connections.php:263
#, php-format
msgid "%1$s [%2$s]"
msgstr "%1$s [%2$s]"
-#: ../../Zotlabs/Module/Connections.php:259
+#: ../../Zotlabs/Module/Connections.php:264
msgid "Edit connection"
msgstr "Verbindung bearbeiten"
-#: ../../Zotlabs/Module/Connections.php:261
+#: ../../Zotlabs/Module/Connections.php:266
msgid "Delete connection"
msgstr "Verbindung löschen"
-#: ../../Zotlabs/Module/Connections.php:270
+#: ../../Zotlabs/Module/Connections.php:275
msgid "Channel address"
msgstr "Kanaladresse"
-#: ../../Zotlabs/Module/Connections.php:272
+#: ../../Zotlabs/Module/Connections.php:277
msgid "Network"
msgstr "Netzwerk"
-#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Connections.php:280
msgid "Call"
msgstr "Anruf"
-#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Connections.php:282
msgid "Status"
msgstr "Status"
-#: ../../Zotlabs/Module/Connections.php:279
+#: ../../Zotlabs/Module/Connections.php:284
msgid "Connected"
msgstr "Verbunden"
-#: ../../Zotlabs/Module/Connections.php:281
+#: ../../Zotlabs/Module/Connections.php:286
msgid "Approve connection"
msgstr "Verbindung genehmigen"
-#: ../../Zotlabs/Module/Connections.php:283
+#: ../../Zotlabs/Module/Connections.php:288
msgid "Ignore connection"
msgstr "Verbindung ignorieren"
-#: ../../Zotlabs/Module/Connections.php:284
+#: ../../Zotlabs/Module/Connections.php:289
#: ../../Zotlabs/Module/Connedit.php:630
msgid "Ignore"
msgstr "Ignorieren"
-#: ../../Zotlabs/Module/Connections.php:285
+#: ../../Zotlabs/Module/Connections.php:290
msgid "Recent activity"
msgstr "Kürzliche Aktivitäten"
-#: ../../Zotlabs/Module/Connections.php:309 ../../Zotlabs/Lib/Apps.php:229
-#: ../../include/text.php:959 ../../include/nav.php:114
+#: ../../Zotlabs/Module/Connections.php:315 ../../Zotlabs/Lib/Apps.php:235
+#: ../../include/text.php:973
msgid "Connections"
msgstr "Verbindungen"
-#: ../../Zotlabs/Module/Connections.php:314
+#: ../../Zotlabs/Module/Connections.php:320
msgid "Search your connections"
msgstr "Verbindungen durchsuchen"
-#: ../../Zotlabs/Module/Connections.php:315
+#: ../../Zotlabs/Module/Connections.php:321
msgid "Connections search"
msgstr "Verbindung suchen"
-#: ../../Zotlabs/Module/Connections.php:316
+#: ../../Zotlabs/Module/Connections.php:322
#: ../../Zotlabs/Module/Directory.php:396
#: ../../Zotlabs/Module/Directory.php:401 ../../include/contact_widgets.php:23
msgid "Find"
@@ -4729,12 +4801,12 @@ msgid "Please wait"
msgstr "Bitte warten"
#: ../../Zotlabs/Module/Photos.php:1119 ../../Zotlabs/Module/Photos.php:1237
-#: ../../Zotlabs/Lib/ThreadItem.php:751
+#: ../../Zotlabs/Lib/ThreadItem.php:747
msgid "This is you"
msgstr "Das bist Du"
#: ../../Zotlabs/Module/Photos.php:1121 ../../Zotlabs/Module/Photos.php:1239
-#: ../../Zotlabs/Lib/ThreadItem.php:753 ../../include/js_strings.php:6
+#: ../../Zotlabs/Lib/ThreadItem.php:749 ../../include/js_strings.php:6
msgid "Comment"
msgstr "Kommentar"
@@ -4784,8 +4856,8 @@ msgid "View all"
msgstr "Alles anzeigen"
#: ../../Zotlabs/Module/Photos.php:1160 ../../Zotlabs/Lib/ThreadItem.php:205
-#: ../../include/conversation.php:1978 ../../include/channel.php:1539
-#: ../../include/taxonomy.php:593
+#: ../../include/conversation.php:1978 ../../include/channel.php:1540
+#: ../../include/taxonomy.php:597
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
@@ -4823,7 +4895,7 @@ msgid "Dislikes"
msgstr "Gefällt nicht"
#: ../../Zotlabs/Module/Photos.php:1293 ../../Zotlabs/Lib/ThreadItem.php:421
-#: ../../include/acl_selectors.php:220
+#: ../../include/acl_selectors.php:125
msgid "Close"
msgstr "Schließen"
@@ -4858,7 +4930,7 @@ msgid "Error downloading wiki: "
msgstr "Fehler beim Herunterladen des Wiki:"
#: ../../Zotlabs/Module/Wiki.php:197 ../../addon/gitwiki/Mod_Gitwiki.php:146
-#: ../../include/conversation.php:1925 ../../include/nav.php:526
+#: ../../include/conversation.php:1925 ../../include/nav.php:494
msgid "Wikis"
msgstr "Wikis"
@@ -4882,23 +4954,23 @@ msgstr "Inhaltstyp"
#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
#: ../../Zotlabs/Widget/Wiki_pages.php:36
-#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1802
-#: ../../include/features.php:378
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../addon/mdpost/mdpost.php:40
+#: ../../include/text.php:1868
msgid "Markdown"
msgstr "Markdown"
#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
#: ../../Zotlabs/Widget/Wiki_pages.php:36
-#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1800
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1866
msgid "BBcode"
msgstr "BBcode"
#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Widget/Wiki_pages.php:36
-#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1803
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1869
msgid "Text"
msgstr "Text"
-#: ../../Zotlabs/Module/Wiki.php:210 ../../Zotlabs/Storage/Browser.php:281
+#: ../../Zotlabs/Module/Wiki.php:210 ../../Zotlabs/Storage/Browser.php:284
#: ../../addon/gitwiki/Mod_Gitwiki.php:159
msgid "Type"
msgstr "Typ"
@@ -4965,8 +5037,11 @@ msgstr "Bild aus Fotoalben einbetten"
msgid "Embed an image from your albums"
msgstr "Betten Sie ein Bild aus Ihren Alben ein"
-#: ../../Zotlabs/Module/Wiki.php:376 ../../addon/gitwiki/Mod_Gitwiki.php:268
-#: ../../include/conversation.php:1387 ../../include/conversation.php:1434
+#: ../../Zotlabs/Module/Wiki.php:376
+#: ../../Zotlabs/Module/Profile_photo.php:465
+#: ../../Zotlabs/Module/Cover_photo.php:366
+#: ../../addon/gitwiki/Mod_Gitwiki.php:268 ../../include/conversation.php:1387
+#: ../../include/conversation.php:1434
msgid "OK"
msgstr "Ok"
@@ -5095,7 +5170,7 @@ msgstr "Ein weiteres Layout bearbeiten"
msgid "System layout"
msgstr "System-Layout"
-#: ../../Zotlabs/Module/Poke.php:182 ../../Zotlabs/Lib/Apps.php:248
+#: ../../Zotlabs/Module/Poke.php:182 ../../Zotlabs/Lib/Apps.php:254
#: ../../include/conversation.php:1092
msgid "Poke"
msgstr "Anstupsen"
@@ -5124,97 +5199,97 @@ msgstr "Wähle, was Du mit dem/r Empfänger/in tun willst"
msgid "Make this post private"
msgstr "Diesen Beitrag privat machen"
-#: ../../Zotlabs/Module/Profile_photo.php:61
+#: ../../Zotlabs/Module/Profile_photo.php:66
#: ../../Zotlabs/Module/Cover_photo.php:56
msgid "Image uploaded but image cropping failed."
msgstr "Bild hochgeladen, aber das Zurechtschneiden schlug fehl."
-#: ../../Zotlabs/Module/Profile_photo.php:115
-#: ../../Zotlabs/Module/Profile_photo.php:240
+#: ../../Zotlabs/Module/Profile_photo.php:120
+#: ../../Zotlabs/Module/Profile_photo.php:248
#: ../../include/photo/photo_driver.php:740
msgid "Profile Photos"
msgstr "Profilfotos"
-#: ../../Zotlabs/Module/Profile_photo.php:137
+#: ../../Zotlabs/Module/Profile_photo.php:142
#: ../../Zotlabs/Module/Cover_photo.php:159
msgid "Image resize failed."
msgstr "Bild-Anpassung fehlgeschlagen."
-#: ../../Zotlabs/Module/Profile_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:218
#: ../../addon/openclipatar/openclipatar.php:298
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird."
-#: ../../Zotlabs/Module/Profile_photo.php:217
+#: ../../Zotlabs/Module/Profile_photo.php:225
#: ../../Zotlabs/Module/Cover_photo.php:173 ../../include/photos.php:195
msgid "Unable to process image"
msgstr "Kann Bild nicht verarbeiten"
-#: ../../Zotlabs/Module/Profile_photo.php:252
+#: ../../Zotlabs/Module/Profile_photo.php:260
#: ../../Zotlabs/Module/Cover_photo.php:197
msgid "Image upload failed."
msgstr "Hochladen des Bilds fehlgeschlagen."
-#: ../../Zotlabs/Module/Profile_photo.php:271
+#: ../../Zotlabs/Module/Profile_photo.php:279
#: ../../Zotlabs/Module/Cover_photo.php:214
msgid "Unable to process image."
msgstr "Kann Bild nicht verarbeiten."
-#: ../../Zotlabs/Module/Profile_photo.php:332
-#: ../../Zotlabs/Module/Profile_photo.php:379
+#: ../../Zotlabs/Module/Profile_photo.php:343
+#: ../../Zotlabs/Module/Profile_photo.php:390
#: ../../Zotlabs/Module/Cover_photo.php:307
#: ../../Zotlabs/Module/Cover_photo.php:322
msgid "Photo not available."
msgstr "Foto nicht verfügbar."
-#: ../../Zotlabs/Module/Profile_photo.php:434
+#: ../../Zotlabs/Module/Profile_photo.php:455
#: ../../Zotlabs/Module/Cover_photo.php:358
msgid "Upload File:"
msgstr "Datei hochladen:"
-#: ../../Zotlabs/Module/Profile_photo.php:435
+#: ../../Zotlabs/Module/Profile_photo.php:456
#: ../../Zotlabs/Module/Cover_photo.php:359
msgid "Select a profile:"
msgstr "Wähle ein Profil:"
-#: ../../Zotlabs/Module/Profile_photo.php:436
+#: ../../Zotlabs/Module/Profile_photo.php:457
msgid "Use Photo for Profile"
msgstr "Foto für Profil verwenden"
-#: ../../Zotlabs/Module/Profile_photo.php:436
-msgid "Upload Profile Photo"
-msgstr "Lade neues Profilfoto hoch"
+#: ../../Zotlabs/Module/Profile_photo.php:457
+msgid "Change Profile Photo"
+msgstr "Profilfoto ändern"
-#: ../../Zotlabs/Module/Profile_photo.php:437
-#: ../../addon/openclipatar/openclipatar.php:182
-#: ../../addon/openclipatar/openclipatar.php:194
+#: ../../Zotlabs/Module/Profile_photo.php:458
msgid "Use"
msgstr "Verwenden"
-#: ../../Zotlabs/Module/Profile_photo.php:443
-#: ../../Zotlabs/Module/Cover_photo.php:365
-msgid "skip this step"
-msgstr "diesen Schritt überspringen"
-
-#: ../../Zotlabs/Module/Profile_photo.php:443
-#: ../../Zotlabs/Module/Cover_photo.php:365
-msgid "select a photo from your photo albums"
-msgstr "ein Foto aus meinen Fotoalben"
-
#: ../../Zotlabs/Module/Profile_photo.php:462
-#: ../../Zotlabs/Module/Cover_photo.php:381
+#: ../../Zotlabs/Module/Profile_photo.php:463
+#: ../../Zotlabs/Module/Cover_photo.php:363
+#: ../../Zotlabs/Module/Cover_photo.php:364
+msgid "Use a photo from your albums"
+msgstr "Ein Foto aus meinen Alben verwenden"
+
+#: ../../Zotlabs/Module/Profile_photo.php:467
+#: ../../Zotlabs/Module/Cover_photo.php:369
+msgid "Select existing photo"
+msgstr "Wähle ein vorhandenes Foto aus"
+
+#: ../../Zotlabs/Module/Profile_photo.php:486
+#: ../../Zotlabs/Module/Cover_photo.php:386
msgid "Crop Image"
msgstr "Bild zuschneiden"
-#: ../../Zotlabs/Module/Profile_photo.php:463
-#: ../../Zotlabs/Module/Cover_photo.php:382
+#: ../../Zotlabs/Module/Profile_photo.php:487
+#: ../../Zotlabs/Module/Cover_photo.php:387
msgid "Please adjust the image cropping for optimum viewing."
msgstr "Bitte schneide das Bild für eine optimale Anzeige passend zu."
-#: ../../Zotlabs/Module/Profile_photo.php:465
-#: ../../Zotlabs/Module/Cover_photo.php:384
+#: ../../Zotlabs/Module/Profile_photo.php:489
+#: ../../Zotlabs/Module/Cover_photo.php:389
msgid "Done Editing"
msgstr "Bearbeitung fertigstellen"
@@ -5226,65 +5301,65 @@ msgstr "Abwesend"
msgid "Online"
msgstr "Online"
-#: ../../Zotlabs/Module/Item.php:193
+#: ../../Zotlabs/Module/Item.php:194
msgid "Unable to locate original post."
msgstr "Originalbeitrag nicht gefunden."
-#: ../../Zotlabs/Module/Item.php:475
+#: ../../Zotlabs/Module/Item.php:476
msgid "Empty post discarded."
msgstr "Leeren Beitrag verworfen."
-#: ../../Zotlabs/Module/Item.php:853
+#: ../../Zotlabs/Module/Item.php:867
msgid "Duplicate post suppressed."
msgstr "Doppelter Beitrag unterdrückt."
-#: ../../Zotlabs/Module/Item.php:998
+#: ../../Zotlabs/Module/Item.php:1012
msgid "System error. Post not saved."
msgstr "Systemfehler. Beitrag nicht gespeichert."
-#: ../../Zotlabs/Module/Item.php:1034
+#: ../../Zotlabs/Module/Item.php:1048
msgid "Your comment is awaiting approval."
msgstr "Dein Kommentar muss noch bestätigt werden."
-#: ../../Zotlabs/Module/Item.php:1139
+#: ../../Zotlabs/Module/Item.php:1153
msgid "Unable to obtain post information from database."
msgstr "Beitragsinformationen können nicht aus der Datenbank abgerufen werden."
-#: ../../Zotlabs/Module/Item.php:1168
+#: ../../Zotlabs/Module/Item.php:1182
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
-#: ../../Zotlabs/Module/Item.php:1175
+#: ../../Zotlabs/Module/Item.php:1189
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-#: ../../Zotlabs/Module/Ping.php:311
+#: ../../Zotlabs/Module/Ping.php:320
msgid "sent you a private message"
msgstr "hat Dir eine private Nachricht geschickt"
-#: ../../Zotlabs/Module/Ping.php:360
+#: ../../Zotlabs/Module/Ping.php:372
msgid "added your channel"
msgstr "hat deinen Kanal hinzugefügt"
-#: ../../Zotlabs/Module/Ping.php:384
+#: ../../Zotlabs/Module/Ping.php:396
msgid "requires approval"
msgstr "Zustimmung erforderlich"
-#: ../../Zotlabs/Module/Ping.php:394
+#: ../../Zotlabs/Module/Ping.php:406
msgid "g A l F d"
msgstr "l, d. F, G:i \\U\\h\\r"
-#: ../../Zotlabs/Module/Ping.php:412
+#: ../../Zotlabs/Module/Ping.php:424
msgid "[today]"
msgstr "[Heute]"
-#: ../../Zotlabs/Module/Ping.php:421
+#: ../../Zotlabs/Module/Ping.php:433
msgid "posted an event"
msgstr "hat einen Termin veröffentlicht"
-#: ../../Zotlabs/Module/Ping.php:454
+#: ../../Zotlabs/Module/Ping.php:466
msgid "shared a file with you"
msgstr "hat eine Datei mit Dir geteilt"
@@ -5294,7 +5369,7 @@ msgstr "Ungültiges Element."
#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Block.php:77
#: ../../Zotlabs/Module/Display.php:133
-#: ../../Zotlabs/Lib/NativeWikiPage.php:519 ../../Zotlabs/Web/Router.php:168
+#: ../../Zotlabs/Lib/NativeWikiPage.php:519 ../../Zotlabs/Web/Router.php:167
#: ../../include/help.php:81
msgid "Page not found."
msgstr "Seite nicht gefunden."
@@ -5347,9 +5422,9 @@ msgstr "Konnte die Adressbuch-Parameter nicht setzen."
msgid "Connection has been removed."
msgstr "Verbindung wurde gelöscht."
-#: ../../Zotlabs/Module/Connedit.php:594 ../../Zotlabs/Lib/Apps.php:241
+#: ../../Zotlabs/Module/Connedit.php:594 ../../Zotlabs/Lib/Apps.php:247
#: ../../addon/openclipatar/openclipatar.php:57
-#: ../../include/conversation.php:1032 ../../include/nav.php:148
+#: ../../include/conversation.php:1032 ../../include/nav.php:114
msgid "View Profile"
msgstr "Profil ansehen"
@@ -5459,15 +5534,15 @@ msgstr "Beziehung"
msgid "Open Set Affinity section by default"
msgstr "Öffne standardmäßig den Bereich für Beziehungsgrad-Einstellungen"
-#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:26
+#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:22
msgid "Me"
msgstr "Ich"
-#: ../../Zotlabs/Module/Connedit.php:710 ../../Zotlabs/Widget/Affinity.php:27
+#: ../../Zotlabs/Module/Connedit.php:710 ../../Zotlabs/Widget/Affinity.php:23
msgid "Family"
msgstr "Familie"
-#: ../../Zotlabs/Module/Connedit.php:712 ../../Zotlabs/Widget/Affinity.php:29
+#: ../../Zotlabs/Module/Connedit.php:712 ../../Zotlabs/Widget/Affinity.php:25
msgid "Acquaintances"
msgstr "Bekannte"
@@ -5499,119 +5574,124 @@ msgstr "Profil festlegen"
msgid "Set Affinity & Profile"
msgstr "Beziehung und Profile festlegen"
-#: ../../Zotlabs/Module/Connedit.php:855
+#: ../../Zotlabs/Module/Connedit.php:838
msgid "This connection is unreachable from this location."
msgstr "Diese Verbindung ist von diesem Ort unerreichbar."
-#: ../../Zotlabs/Module/Connedit.php:856
+#: ../../Zotlabs/Module/Connedit.php:839
msgid "This connection may be unreachable from other channel locations."
msgstr "Diese Verbindung könnte von anderen Standpunkten des Kanals nicht erreichbar sein."
-#: ../../Zotlabs/Module/Connedit.php:858
+#: ../../Zotlabs/Module/Connedit.php:841
msgid "Location independence is not supported by their network."
msgstr "Standort Unabhängigkeit wird vom anderen Netzwerk nicht unterstützt."
-#: ../../Zotlabs/Module/Connedit.php:864
+#: ../../Zotlabs/Module/Connedit.php:847
msgid ""
"This connection is unreachable from this location. Location independence is "
"not supported by their network."
msgstr "Diese Verbindung ist von diesem Standort aus unerreichbar. Standort Unabhängigkeit wird vom anderen Netzwerk nicht unterstützt."
-#: ../../Zotlabs/Module/Connedit.php:867 ../../Zotlabs/Module/Defperms.php:238
+#: ../../Zotlabs/Module/Connedit.php:850 ../../Zotlabs/Module/Defperms.php:238
#: ../../Zotlabs/Widget/Settings_menu.php:109
msgid "Connection Default Permissions"
msgstr "Standardzugriffsrechte für neue Verbindungen:"
-#: ../../Zotlabs/Module/Connedit.php:867 ../../include/items.php:4134
+#: ../../Zotlabs/Module/Connedit.php:850 ../../include/items.php:4164
#, php-format
msgid "Connection: %s"
msgstr "Verbindung: %s"
-#: ../../Zotlabs/Module/Connedit.php:868 ../../Zotlabs/Module/Defperms.php:239
+#: ../../Zotlabs/Module/Connedit.php:851 ../../Zotlabs/Module/Defperms.php:239
msgid "Apply these permissions automatically"
msgstr "Diese Berechtigungen automatisch anwenden"
-#: ../../Zotlabs/Module/Connedit.php:868
+#: ../../Zotlabs/Module/Connedit.php:851
msgid "Connection requests will be approved without your interaction"
msgstr "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist."
-#: ../../Zotlabs/Module/Connedit.php:869 ../../Zotlabs/Module/Defperms.php:240
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
msgid "Permission role"
msgstr "Berechtigungsrolle"
-#: ../../Zotlabs/Module/Connedit.php:870 ../../Zotlabs/Module/Defperms.php:241
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
+#: ../../Zotlabs/Widget/Notifications.php:151 ../../include/nav.php:284
+msgid "Loading"
+msgstr "Lädt..."
+
+#: ../../Zotlabs/Module/Connedit.php:853 ../../Zotlabs/Module/Defperms.php:241
msgid "Add permission role"
msgstr "Berechtigungsrolle hinzufügen"
-#: ../../Zotlabs/Module/Connedit.php:877
+#: ../../Zotlabs/Module/Connedit.php:860
msgid "This connection's primary address is"
msgstr "Die Hauptadresse der Verbindung ist"
-#: ../../Zotlabs/Module/Connedit.php:878
+#: ../../Zotlabs/Module/Connedit.php:861
msgid "Available locations:"
msgstr "Verfügbare Klone:"
-#: ../../Zotlabs/Module/Connedit.php:883 ../../Zotlabs/Module/Defperms.php:245
+#: ../../Zotlabs/Module/Connedit.php:866 ../../Zotlabs/Module/Defperms.php:245
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "Die auf dieser Seite angegebenen Berechtigungen werden auf alle neuen Verbindungen angewendet."
-#: ../../Zotlabs/Module/Connedit.php:884
+#: ../../Zotlabs/Module/Connedit.php:867
msgid "Connection Tools"
msgstr "Verbindungswerkzeuge"
-#: ../../Zotlabs/Module/Connedit.php:886
+#: ../../Zotlabs/Module/Connedit.php:869
msgid "Slide to adjust your degree of friendship"
msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
-#: ../../Zotlabs/Module/Connedit.php:887 ../../Zotlabs/Module/Rate.php:155
+#: ../../Zotlabs/Module/Connedit.php:870 ../../Zotlabs/Module/Rate.php:155
#: ../../include/js_strings.php:20
msgid "Rating"
msgstr "Bewertung"
-#: ../../Zotlabs/Module/Connedit.php:888
+#: ../../Zotlabs/Module/Connedit.php:871
msgid "Slide to adjust your rating"
msgstr "Verschieben, um Deine Bewertung einzustellen"
-#: ../../Zotlabs/Module/Connedit.php:889 ../../Zotlabs/Module/Connedit.php:894
+#: ../../Zotlabs/Module/Connedit.php:872 ../../Zotlabs/Module/Connedit.php:877
msgid "Optionally explain your rating"
msgstr "Optional kannst Du Deine Bewertung begründen"
-#: ../../Zotlabs/Module/Connedit.php:891
+#: ../../Zotlabs/Module/Connedit.php:874
msgid "Custom Filter"
msgstr "Benutzerdefinierter Filter"
-#: ../../Zotlabs/Module/Connedit.php:892
+#: ../../Zotlabs/Module/Connedit.php:875
msgid "Only import posts with this text"
msgstr "Nur Beiträge mit diesem Text importieren"
-#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Connedit.php:893
+#: ../../Zotlabs/Module/Connedit.php:875 ../../Zotlabs/Module/Connedit.php:876
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "Einzelne Wörter pro Zeile, #Tags oder /Reguläre Ausdrücke/. lang=xx (z.B. lang=de) ermöglicht Filterung nach Sprache. Leer lassen, um alle Beiträge zu importieren."
-#: ../../Zotlabs/Module/Connedit.php:893
+#: ../../Zotlabs/Module/Connedit.php:876
msgid "Do not import posts with this text"
msgstr "Beiträge mit diesem Text nicht importieren"
-#: ../../Zotlabs/Module/Connedit.php:895
+#: ../../Zotlabs/Module/Connedit.php:878
msgid "This information is public!"
msgstr "Diese Information ist öffentlich!"
-#: ../../Zotlabs/Module/Connedit.php:900
+#: ../../Zotlabs/Module/Connedit.php:883
msgid "Connection Pending Approval"
msgstr "Verbindung wartet auf Bestätigung"
-#: ../../Zotlabs/Module/Connedit.php:905
+#: ../../Zotlabs/Module/Connedit.php:888
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
-#: ../../Zotlabs/Module/Connedit.php:912
+#: ../../Zotlabs/Module/Connedit.php:895
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -5619,11 +5699,11 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung. Werden geerbte Einstellungen hier geändert, hat dies keine Auswirkungen."
-#: ../../Zotlabs/Module/Connedit.php:913
+#: ../../Zotlabs/Module/Connedit.php:896
msgid "Last update:"
msgstr "Letzte Aktualisierung:"
-#: ../../Zotlabs/Module/Connedit.php:922
+#: ../../Zotlabs/Module/Connedit.php:904
msgid "Details"
msgstr "Details"
@@ -5657,7 +5737,7 @@ msgid "Please enter a link URL:"
msgstr "Gib eine URL ein:"
#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:294
-#: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Lib/ThreadItem.php:768
+#: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Lib/ThreadItem.php:764
#: ../../include/conversation.php:1432
msgid "Encrypt text"
msgstr "Text verschlüsseln"
@@ -5691,14 +5771,14 @@ msgstr "Verfall"
msgid "min"
msgstr "min"
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:242
-#: ../../include/conversation.php:1831 ../../include/nav.php:433
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:248
+#: ../../include/conversation.php:1831 ../../include/nav.php:401
msgid "Photos"
msgstr "Fotos"
-#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:237
-#: ../../Zotlabs/Storage/Browser.php:269 ../../include/conversation.php:1839
-#: ../../include/nav.php:441
+#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:243
+#: ../../Zotlabs/Storage/Browser.php:272 ../../include/conversation.php:1839
+#: ../../include/nav.php:409
msgid "Files"
msgstr "Dateien"
@@ -5738,7 +5818,7 @@ msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
msgid "Submit and proceed"
msgstr "Absenden und fortfahren"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2289
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2403
msgid "Menus"
msgstr "Menüs"
@@ -5790,12 +5870,12 @@ msgstr "Menü Titel wie er von anderen gesehen wird"
msgid "Allow bookmarks"
msgstr "Erlaube Lesezeichen"
-#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2290
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2404
msgid "Layouts"
msgstr "Layouts"
-#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:245
-#: ../../include/nav.php:208 ../../include/nav.php:312
+#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:251
+#: ../../include/nav.php:176 ../../include/nav.php:280
#: ../../include/help.php:68 ../../include/help.php:74
msgid "Help"
msgstr "Hilfe"
@@ -5813,20 +5893,49 @@ msgid "Download PDL file"
msgstr "PDL-Datei herunterladen"
#: ../../Zotlabs/Module/Cloud.php:114
+msgid "Please refresh page"
+msgstr "Bitte die Seite neu laden"
+
+#: ../../Zotlabs/Module/Cloud.php:117
msgid "Unknown error"
msgstr "Unbekannter Fehler"
+#: ../../Zotlabs/Module/Email_validation.php:24
+#: ../../Zotlabs/Module/Email_resend.php:12
+msgid "Token verification failed."
+msgstr "Überprüfung des Verifizierungscodes fehlgeschlagen."
+
+#: ../../Zotlabs/Module/Email_validation.php:36
+msgid "Email Verification Required"
+msgstr "Email-Überprüfung erforderlich"
+
+#: ../../Zotlabs/Module/Email_validation.php:37
+#, php-format
+msgid ""
+"A verification token was sent to your email address [%s]. Enter that token "
+"here to complete the account verification step. Please allow a few minutes "
+"for delivery, and check your spam folder if you do not see the message."
+msgstr "Ein Verifizierungscode wurde an Deine Emailadresse versendet [%s]. Gib diesen Code hier ein, um die Überprüfung abzuschließen. Bedenke, dass die Zustellung der Mail einige Zeit dauern kann, und überprüfe ggf. auch Spam- und andere Filter-Ordner, falls die Nachricht nicht erscheint."
+
+#: ../../Zotlabs/Module/Email_validation.php:38
+msgid "Resend Email"
+msgstr "Email erneut versenden"
+
+#: ../../Zotlabs/Module/Email_validation.php:41
+msgid "Validation token"
+msgstr "Verifizierungscode"
+
#: ../../Zotlabs/Module/Tagger.php:48
msgid "Post not found."
msgstr "Beitrag nicht gefunden."
#: ../../Zotlabs/Module/Tagger.php:77 ../../include/markdown.php:160
-#: ../../include/bbcode.php:335
+#: ../../include/bbcode.php:339
msgid "post"
msgstr "Beitrag"
#: ../../Zotlabs/Module/Tagger.php:79 ../../include/conversation.php:146
-#: ../../include/text.php:1946
+#: ../../include/text.php:2012
msgid "comment"
msgstr "Kommentar"
@@ -5874,7 +5983,7 @@ msgid "Could not create privacy group."
msgstr "Gruppe konnte nicht erstellt werden."
#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:143
-#: ../../include/items.php:4101
+#: ../../include/items.php:4131
msgid "Privacy group not found."
msgstr "Gruppe nicht gefunden."
@@ -6049,7 +6158,8 @@ msgstr "Persönlich"
msgid "Relation"
msgstr "Beziehung"
-#: ../../Zotlabs/Module/Profiles.php:739 ../../include/datetime.php:58
+#: ../../Zotlabs/Module/Profiles.php:739 ../../Zotlabs/Widget/Newmember.php:53
+#: ../../include/datetime.php:58
msgid "Miscellaneous"
msgstr "Verschiedenes"
@@ -6191,10 +6301,73 @@ msgid "Profile Image"
msgstr "Profilfoto:"
#: ../../Zotlabs/Module/Profiles.php:833 ../../include/channel.php:1297
-#: ../../include/nav.php:151
+#: ../../include/nav.php:117
msgid "Edit Profiles"
msgstr "Profile bearbeiten"
+#: ../../Zotlabs/Module/Go.php:21
+msgid "This page is available only to site members"
+msgstr "Diese Seite ist nur für Mitglieder verfügbar"
+
+#: ../../Zotlabs/Module/Go.php:27
+msgid "Welcome"
+msgstr "Willkommen"
+
+#: ../../Zotlabs/Module/Go.php:29
+msgid "What would you like to do?"
+msgstr "Was möchtest Du gerne tun?"
+
+#: ../../Zotlabs/Module/Go.php:31
+msgid ""
+"Please bookmark this page if you would like to return to it in the future"
+msgstr "Bitte speichere diese Seite in Deinen Lesezeichen, falls Du später zu ihr zurückkehren möchtest."
+
+#: ../../Zotlabs/Module/Go.php:35
+msgid "Upload a profile photo"
+msgstr "Ein Profilfoto hochladen"
+
+#: ../../Zotlabs/Module/Go.php:36
+msgid "Upload a cover photo"
+msgstr "Ein Titelbild hochladen"
+
+#: ../../Zotlabs/Module/Go.php:37
+msgid "Edit your default profile"
+msgstr "Dein Standardprofil bearbeiten"
+
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:43
+msgid "View friend suggestions"
+msgstr "Freundschafts- und Verbindungsvorschläge ansehen"
+
+#: ../../Zotlabs/Module/Go.php:39 ../../Zotlabs/Widget/Newmember.php:42
+msgid "View the channel directory"
+msgstr "Das Kanalverzeichnis ansehen"
+
+#: ../../Zotlabs/Module/Go.php:40
+msgid "View/edit your channel settings"
+msgstr "Deine Kanaleinstellungen ansehen/bearbeiten"
+
+#: ../../Zotlabs/Module/Go.php:41
+msgid "View the site or project documentation"
+msgstr "Die Website-/Projektdokumentation ansehen"
+
+#: ../../Zotlabs/Module/Go.php:42
+msgid "Visit your channel homepage"
+msgstr "Deine Kanal-Startseite aufrufen"
+
+#: ../../Zotlabs/Module/Go.php:43
+msgid ""
+"View your connections and/or add somebody whose address you already know"
+msgstr "Deine Verbindungen ansehen und/oder jemanden hinzufügen, dessen Kanal-Adresse Du bereits kennst"
+
+#: ../../Zotlabs/Module/Go.php:44
+msgid ""
+"View your personal stream (this may be empty until you add some connections)"
+msgstr "Deinen persönlichen Beitragsstrom ansehen (dieser kann leer sein, bis Du ein paar Verbindungen hinzugefügt hast)"
+
+#: ../../Zotlabs/Module/Go.php:52
+msgid "View the public stream. Warning: this content is not moderated"
+msgstr "Den öffentlichen Beitragsstrom ansehen. Warnung: Diese Inhalte sind nicht moderiert."
+
#: ../../Zotlabs/Module/Editwebpage.php:139
msgid "Page link"
msgstr "Seiten-Link"
@@ -6207,8 +6380,8 @@ msgstr "Webseite bearbeiten"
msgid "Create a new channel"
msgstr "Neuen Kanal anlegen"
-#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:234
-#: ../../include/nav.php:136 ../../include/nav.php:222
+#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:240
+#: ../../include/nav.php:102 ../../include/nav.php:190
msgid "Channel Manager"
msgstr "Kanal-Manager"
@@ -6242,7 +6415,13 @@ msgstr "%d neue Vorstellungen"
msgid "Delegated Channel"
msgstr "Delegierte Kanäle"
-#: ../../Zotlabs/Module/Cards.php:95
+#: ../../Zotlabs/Module/Cards.php:42 ../../Zotlabs/Module/Cards.php:181
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1890
+#: ../../include/features.php:114 ../../include/nav.php:458
+msgid "Cards"
+msgstr "Karten"
+
+#: ../../Zotlabs/Module/Cards.php:99
msgid "Add Card"
msgstr "Karte hinzufügen"
@@ -6250,45 +6429,45 @@ msgstr "Karte hinzufügen"
msgid "This directory server requires an access token"
msgstr "Dieser Verzeichnisserver benötigt einen Zugriffstoken"
-#: ../../Zotlabs/Module/Siteinfo.php:19
+#: ../../Zotlabs/Module/Siteinfo.php:18
msgid "About this site"
msgstr "Ãœber diese Seite"
-#: ../../Zotlabs/Module/Siteinfo.php:20
+#: ../../Zotlabs/Module/Siteinfo.php:19
msgid "Site Name"
msgstr "Seitenname"
-#: ../../Zotlabs/Module/Siteinfo.php:24
+#: ../../Zotlabs/Module/Siteinfo.php:23
msgid "Administrator"
msgstr "Administrator"
-#: ../../Zotlabs/Module/Siteinfo.php:26 ../../Zotlabs/Module/Register.php:229
+#: ../../Zotlabs/Module/Siteinfo.php:25 ../../Zotlabs/Module/Register.php:232
msgid "Terms of Service"
msgstr "Nutzungsbedingungen"
-#: ../../Zotlabs/Module/Siteinfo.php:27
+#: ../../Zotlabs/Module/Siteinfo.php:26
msgid "Software and Project information"
msgstr "Software und Projektinformationen"
-#: ../../Zotlabs/Module/Siteinfo.php:28
+#: ../../Zotlabs/Module/Siteinfo.php:27
msgid "This site is powered by $Projectname"
msgstr "Diese Website wird bereitgestellt durch $Projectname"
-#: ../../Zotlabs/Module/Siteinfo.php:29
+#: ../../Zotlabs/Module/Siteinfo.php:28
msgid ""
"Federated and decentralised networking and identity services provided by Zot"
msgstr "Verbundene, dezentrale Netzwerk- und Identitätsdienste, ermöglicht mittels Zot"
-#: ../../Zotlabs/Module/Siteinfo.php:31
+#: ../../Zotlabs/Module/Siteinfo.php:30
#, php-format
msgid "Version %s"
msgstr "Version %s"
-#: ../../Zotlabs/Module/Siteinfo.php:32
+#: ../../Zotlabs/Module/Siteinfo.php:31
msgid "Project homepage"
msgstr "Projekt-Website"
-#: ../../Zotlabs/Module/Siteinfo.php:33
+#: ../../Zotlabs/Module/Siteinfo.php:32
msgid "Developer homepage"
msgstr "Entwickler-Website"
@@ -6329,8 +6508,8 @@ msgstr "Webseitenelemente exportieren"
msgid "Export selected"
msgstr "Exportieren ausgewählt"
-#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:238
-#: ../../include/conversation.php:1912 ../../include/nav.php:513
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:244
+#: ../../include/conversation.php:1912 ../../include/nav.php:481
msgid "Webpages"
msgstr "Webseiten"
@@ -6490,7 +6669,7 @@ msgid "*"
msgstr "*"
#: ../../Zotlabs/Module/Sources.php:96
-#: ../../Zotlabs/Widget/Settings_menu.php:125 ../../include/features.php:228
+#: ../../Zotlabs/Widget/Settings_menu.php:125 ../../include/features.php:274
msgid "Channel Sources"
msgstr "Kanal-Quellen"
@@ -6546,88 +6725,88 @@ msgstr "Quelle gelöscht"
msgid "Unable to remove source."
msgstr "Konnte die Quelle nicht löschen."
-#: ../../Zotlabs/Module/Like.php:22
+#: ../../Zotlabs/Module/Like.php:54
msgid "Like/Dislike"
msgstr "Mögen/Nicht mögen"
-#: ../../Zotlabs/Module/Like.php:27
+#: ../../Zotlabs/Module/Like.php:59
msgid "This action is restricted to members."
msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden."
-#: ../../Zotlabs/Module/Like.php:28
+#: ../../Zotlabs/Module/Like.php:60
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner $Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues $Projectname-Mitglied</a>."
-#: ../../Zotlabs/Module/Like.php:108 ../../Zotlabs/Module/Like.php:134
-#: ../../Zotlabs/Module/Like.php:172
+#: ../../Zotlabs/Module/Like.php:109 ../../Zotlabs/Module/Like.php:135
+#: ../../Zotlabs/Module/Like.php:173
msgid "Invalid request."
msgstr "Ungültige Anfrage."
-#: ../../Zotlabs/Module/Like.php:120 ../../include/conversation.php:122
+#: ../../Zotlabs/Module/Like.php:121 ../../include/conversation.php:122
msgid "channel"
msgstr "Kanal"
-#: ../../Zotlabs/Module/Like.php:149
+#: ../../Zotlabs/Module/Like.php:150
msgid "thing"
msgstr "Sache"
-#: ../../Zotlabs/Module/Like.php:195
+#: ../../Zotlabs/Module/Like.php:196
msgid "Channel unavailable."
msgstr "Kanal nicht vorhanden."
-#: ../../Zotlabs/Module/Like.php:243
+#: ../../Zotlabs/Module/Like.php:244
msgid "Previous action reversed."
msgstr "Die vorherige Aktion wurde rückgängig gemacht."
-#: ../../Zotlabs/Module/Like.php:435 ../../addon/diaspora/Receiver.php:1462
-#: ../../addon/pubcrawl/as.php:1330 ../../include/conversation.php:160
+#: ../../Zotlabs/Module/Like.php:436 ../../addon/diaspora/Receiver.php:1547
+#: ../../addon/pubcrawl/as.php:1394 ../../include/conversation.php:160
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "%1$s gefällt %2$ss %3$s"
-#: ../../Zotlabs/Module/Like.php:437 ../../addon/pubcrawl/as.php:1332
+#: ../../Zotlabs/Module/Like.php:438 ../../addon/pubcrawl/as.php:1396
#: ../../include/conversation.php:163
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s gefällt %2$ss %3$s nicht"
-#: ../../Zotlabs/Module/Like.php:439
+#: ../../Zotlabs/Module/Like.php:440
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%1$s stimmt %2$ss %3$s zu"
-#: ../../Zotlabs/Module/Like.php:441
+#: ../../Zotlabs/Module/Like.php:442
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%1$s lehnt %2$ss %3$s ab"
-#: ../../Zotlabs/Module/Like.php:443
+#: ../../Zotlabs/Module/Like.php:444
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%1$s enthält sich zu %2$ss %3$s"
-#: ../../Zotlabs/Module/Like.php:445
+#: ../../Zotlabs/Module/Like.php:446 ../../addon/diaspora/Receiver.php:2031
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%1$s nimmt an %2$ss %3$s teil"
-#: ../../Zotlabs/Module/Like.php:447
+#: ../../Zotlabs/Module/Like.php:448 ../../addon/diaspora/Receiver.php:2033
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%1$s nimmt an %2$ss %3$s nicht teil"
-#: ../../Zotlabs/Module/Like.php:449
+#: ../../Zotlabs/Module/Like.php:450 ../../addon/diaspora/Receiver.php:2035
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%1$s nimmt vielleicht an %2$ss %3$s teil"
-#: ../../Zotlabs/Module/Like.php:561
+#: ../../Zotlabs/Module/Like.php:562
msgid "Action completed."
msgstr "Aktion durchgeführt."
-#: ../../Zotlabs/Module/Like.php:562
+#: ../../Zotlabs/Module/Like.php:563
msgid "Thank you."
msgstr "Vielen Dank."
@@ -6650,12 +6829,12 @@ msgstr "Status:"
msgid "Homepage: "
msgstr "Webseite:"
-#: ../../Zotlabs/Module/Directory.php:314 ../../include/channel.php:1564
+#: ../../Zotlabs/Module/Directory.php:314 ../../include/channel.php:1565
msgid "Age:"
msgstr "Alter:"
#: ../../Zotlabs/Module/Directory.php:319 ../../include/channel.php:1392
-#: ../../include/event.php:53 ../../include/event.php:85
+#: ../../include/event.php:54 ../../include/event.php:86
msgid "Location:"
msgstr "Ort:"
@@ -6663,11 +6842,11 @@ msgstr "Ort:"
msgid "Description:"
msgstr "Beschreibung:"
-#: ../../Zotlabs/Module/Directory.php:330 ../../include/channel.php:1580
+#: ../../Zotlabs/Module/Directory.php:330 ../../include/channel.php:1581
msgid "Hometown:"
msgstr "Heimatstadt:"
-#: ../../Zotlabs/Module/Directory.php:332 ../../include/channel.php:1588
+#: ../../Zotlabs/Module/Directory.php:332 ../../include/channel.php:1589
msgid "About:"
msgstr "Ãœber:"
@@ -6907,19 +7086,19 @@ msgstr "Software"
msgid "Rate"
msgstr "Bewerten"
-#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:263
+#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:267
msgid "webpage"
msgstr "Webseite"
-#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:269
+#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:273
msgid "block"
msgstr "Block"
-#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:266
+#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:270
msgid "layout"
msgstr "Layout"
-#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:272
+#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:276
msgid "menu"
msgstr "Menü"
@@ -6979,21 +7158,21 @@ msgstr "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen."
msgid "Passwords do not match."
msgstr "Passwörter stimmen nicht überein."
-#: ../../Zotlabs/Module/Register.php:127 ../../Zotlabs/Module/Register.php:137
+#: ../../Zotlabs/Module/Register.php:132
+msgid "Registration successful. Continue to create your first channel..."
+msgstr "Registrierung erfolgreich. Fahre fort, indem Du Deinen ersten Kanal anlegst..."
+
+#: ../../Zotlabs/Module/Register.php:135
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet."
-#: ../../Zotlabs/Module/Register.php:135
-msgid "Registration successful. Continue to create your first channel..."
-msgstr "Registrierung erfolgreich. Fahre fort, indem Du Deinen ersten Kanal anlegst..."
-
-#: ../../Zotlabs/Module/Register.php:144
+#: ../../Zotlabs/Module/Register.php:142
msgid "Your registration is pending approval by the site owner."
msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
-#: ../../Zotlabs/Module/Register.php:147
+#: ../../Zotlabs/Module/Register.php:145
msgid "Your registration can not be processed."
msgstr "Deine Registrierung konnte nicht verarbeitet werden."
@@ -7015,97 +7194,97 @@ msgid ""
"Please try again tomorrow."
msgstr "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal."
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/Register.php:238
#, php-format
msgid "I accept the %s for this website"
msgstr "Ich akzeptiere die %s für diese Webseite"
-#: ../../Zotlabs/Module/Register.php:241
+#: ../../Zotlabs/Module/Register.php:245
#, php-format
msgid "I am over %s years of age and accept the %s for this website"
msgstr "Ich bin älter als %s Jahre und akzeptiere die %s dieser Website."
-#: ../../Zotlabs/Module/Register.php:245
+#: ../../Zotlabs/Module/Register.php:250
msgid "Your email address"
msgstr "Ihre E-Mail Adresse"
-#: ../../Zotlabs/Module/Register.php:246
+#: ../../Zotlabs/Module/Register.php:251
msgid "Choose a password"
msgstr "Passwort"
-#: ../../Zotlabs/Module/Register.php:247
+#: ../../Zotlabs/Module/Register.php:252
msgid "Please re-enter your password"
msgstr "Bitte gib Dein Passwort noch einmal ein"
-#: ../../Zotlabs/Module/Register.php:248
+#: ../../Zotlabs/Module/Register.php:253
msgid "Please enter your invitation code"
msgstr "Bitte trage Deinen Einladungs-Code ein"
-#: ../../Zotlabs/Module/Register.php:253
+#: ../../Zotlabs/Module/Register.php:258
msgid "no"
msgstr "nein"
-#: ../../Zotlabs/Module/Register.php:253
+#: ../../Zotlabs/Module/Register.php:258
msgid "yes"
msgstr "ja"
-#: ../../Zotlabs/Module/Register.php:268
+#: ../../Zotlabs/Module/Register.php:274
msgid "Membership on this site is by invitation only."
msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
-#: ../../Zotlabs/Module/Register.php:280 ../../boot.php:1645
-#: ../../include/nav.php:196
+#: ../../Zotlabs/Module/Register.php:286 ../../boot.php:1563
+#: ../../include/nav.php:164
msgid "Register"
msgstr "Registrieren"
-#: ../../Zotlabs/Module/Register.php:281
+#: ../../Zotlabs/Module/Register.php:287
msgid ""
-"This site may require email verification after submitting this form. If you "
-"are returned to a login page, please check your email for instructions."
-msgstr "Diese Seite verlangt möglicherweise eine Emailbestätigung nach dem Absenden des Formulars. Wenn Du auf eine Login-Seite zurückgeleitet wirst, prüfe bitte Deinen Posteingang auf neue Mails mit entsprechenden Hinweisen."
+"This site requires email verification. After completing this form, please "
+"check your email for further instructions."
+msgstr "Diese Website erfordert eine Email-Bestätigung. Bitte prüfe Deine Emails nach Ausfüllen und Absenden des Formulars, um weitere Hinweise zu bekommen."
#: ../../Zotlabs/Module/Cover_photo.php:136
#: ../../Zotlabs/Module/Cover_photo.php:186
msgid "Cover Photos"
msgstr "Cover Foto"
-#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4478
+#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4508
msgid "female"
msgstr "weiblich"
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4479
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4509
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s hat ihr %2$s aktualisiert"
-#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4480
+#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4510
msgid "male"
msgstr "männlich"
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4481
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4511
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s hat sein %2$s aktualisiert"
-#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4483
+#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4513
#, php-format
msgid "%1$s updated their %2$s"
msgstr "%1$s hat sein/ihr %2$s aktualisiert"
-#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:2053
+#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:2059
msgid "cover photo"
msgstr "Cover Foto"
#: ../../Zotlabs/Module/Cover_photo.php:360
-msgid "Upload Cover Photo"
-msgstr "Cover Foto hochladen"
+msgid "Change Cover Photo"
+msgstr "Titelbild ändern"
#: ../../Zotlabs/Module/Help.php:23
msgid "Documentation Search"
msgstr "Suche in der Dokumentation"
#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1821
-#: ../../include/nav.php:423
+#: ../../include/nav.php:391
msgid "About"
msgstr "Ãœber"
@@ -7129,11 +7308,11 @@ msgstr "$Projectname-Dokumentation"
msgid "Contents"
msgstr "Inhalt"
-#: ../../Zotlabs/Module/Display.php:349
+#: ../../Zotlabs/Module/Display.php:351
msgid "Article"
msgstr "Artikel"
-#: ../../Zotlabs/Module/Display.php:401
+#: ../../Zotlabs/Module/Display.php:403
msgid "Item has been removed."
msgstr "Der Beitrag wurde entfernt."
@@ -7149,44 +7328,44 @@ msgstr "Schlagwort entfernen"
msgid "Select a tag to remove: "
msgstr "Schlagwort zum Entfernen auswählen:"
-#: ../../Zotlabs/Module/Network.php:97
+#: ../../Zotlabs/Module/Network.php:100
msgid "No such group"
msgstr "Gruppe nicht gefunden"
-#: ../../Zotlabs/Module/Network.php:137
+#: ../../Zotlabs/Module/Network.php:142
msgid "No such channel"
msgstr "Kanal nicht gefunden"
-#: ../../Zotlabs/Module/Network.php:142
+#: ../../Zotlabs/Module/Network.php:147
msgid "forum"
msgstr "Forum"
-#: ../../Zotlabs/Module/Network.php:154
+#: ../../Zotlabs/Module/Network.php:159
msgid "Search Results For:"
msgstr "Suchergebnisse für:"
-#: ../../Zotlabs/Module/Network.php:222
+#: ../../Zotlabs/Module/Network.php:230
msgid "Privacy group is empty"
msgstr "Gruppe ist leer"
-#: ../../Zotlabs/Module/Network.php:231
+#: ../../Zotlabs/Module/Network.php:240
msgid "Privacy group: "
msgstr "Gruppe:"
-#: ../../Zotlabs/Module/Network.php:257
+#: ../../Zotlabs/Module/Network.php:268
msgid "Invalid connection."
msgstr "Ungültige Verbindung."
-#: ../../Zotlabs/Module/Network.php:276 ../../addon/redred/redred.php:65
+#: ../../Zotlabs/Module/Network.php:289 ../../addon/redred/redred.php:65
msgid "Invalid channel."
msgstr "Ungültiger Kanal."
-#: ../../Zotlabs/Module/Acl.php:358
+#: ../../Zotlabs/Module/Acl.php:361
msgid "network"
msgstr "Netzwerk"
#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
-#: ../../addon/opensearch/opensearch.php:42
+#: ../../Zotlabs/Lib/Enotify.php:66 ../../addon/opensearch/opensearch.php:42
msgid "$Projectname"
msgstr "$Projectname"
@@ -7236,7 +7415,7 @@ msgid "Show URL to this file"
msgstr "URL zu dieser Datei anzeigen"
#: ../../Zotlabs/Module/Filestorage.php:163
-#: ../../Zotlabs/Storage/Browser.php:394
+#: ../../Zotlabs/Storage/Browser.php:397
msgid "Show in your contacts shared folder"
msgstr "Im geteilten Ordner Deiner Kontakte anzeigen"
@@ -7252,16 +7431,24 @@ msgstr "Keine gemeinsamen Verbindungen."
msgid "View Common Connections"
msgstr "Zeige gemeinsame Verbindungen"
+#: ../../Zotlabs/Module/Email_resend.php:30
+msgid "Email verification resent"
+msgstr "Email zur Verifizierung wurde erneut versendet"
+
+#: ../../Zotlabs/Module/Email_resend.php:33
+msgid "Unable to resend email verification message."
+msgstr "Erneutes Versenden der Email zur Verifizierung nicht möglich."
+
#: ../../Zotlabs/Module/Viewconnections.php:65
msgid "No connections."
msgstr "Keine Verbindungen."
-#: ../../Zotlabs/Module/Viewconnections.php:78
+#: ../../Zotlabs/Module/Viewconnections.php:83
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "%ss Profil [%s] besuchen"
-#: ../../Zotlabs/Module/Viewconnections.php:107
+#: ../../Zotlabs/Module/Viewconnections.php:113
msgid "View Connections"
msgstr "Verbindungen anzeigen"
@@ -7370,7 +7557,7 @@ msgid ""
"Password reset failed."
msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen."
-#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1673
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1591
msgid "Password Reset"
msgstr "Zurücksetzen des Kennworts"
@@ -7444,143 +7631,143 @@ msgstr "4. Experte - Ich kann Computercode schreiben"
msgid "5. Wizard - I probably know more than you do"
msgstr "5. Zauberer - ich kann wahrscheinlich mehr als Du"
-#: ../../Zotlabs/Lib/Apps.php:225
+#: ../../Zotlabs/Lib/Apps.php:231
msgid "Site Admin"
msgstr "Hub-Administration"
-#: ../../Zotlabs/Lib/Apps.php:226 ../../addon/buglink/buglink.php:16
+#: ../../Zotlabs/Lib/Apps.php:232 ../../addon/buglink/buglink.php:16
msgid "Report Bug"
msgstr "Fehler melden"
-#: ../../Zotlabs/Lib/Apps.php:227
+#: ../../Zotlabs/Lib/Apps.php:233
msgid "View Bookmarks"
msgstr "Lesezeichen ansehen"
-#: ../../Zotlabs/Lib/Apps.php:228
+#: ../../Zotlabs/Lib/Apps.php:234
msgid "My Chatrooms"
msgstr "Meine Chaträume"
-#: ../../Zotlabs/Lib/Apps.php:230
+#: ../../Zotlabs/Lib/Apps.php:236
msgid "Firefox Share"
msgstr "Teilen-Knopf für Firefox"
-#: ../../Zotlabs/Lib/Apps.php:231
+#: ../../Zotlabs/Lib/Apps.php:237
msgid "Remote Diagnostics"
msgstr "Ferndiagnose"
-#: ../../Zotlabs/Lib/Apps.php:232 ../../include/features.php:352
+#: ../../Zotlabs/Lib/Apps.php:238 ../../include/features.php:390
msgid "Suggest Channels"
msgstr "Kanäle vorschlagen"
-#: ../../Zotlabs/Lib/Apps.php:233 ../../boot.php:1664
-#: ../../include/nav.php:160 ../../include/nav.php:164
+#: ../../Zotlabs/Lib/Apps.php:239 ../../boot.php:1582
+#: ../../include/nav.php:126 ../../include/nav.php:130
msgid "Login"
msgstr "Anmelden"
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/nav.php:105
+#: ../../Zotlabs/Lib/Apps.php:241
msgid "Activity"
msgstr "Aktivität"
-#: ../../Zotlabs/Lib/Apps.php:239 ../../include/conversation.php:1928
-#: ../../include/features.php:95 ../../include/nav.php:529
+#: ../../Zotlabs/Lib/Apps.php:245 ../../include/conversation.php:1928
+#: ../../include/features.php:87 ../../include/nav.php:497
msgid "Wiki"
msgstr "Wiki"
-#: ../../Zotlabs/Lib/Apps.php:240 ../../include/nav.php:109
+#: ../../Zotlabs/Lib/Apps.php:246
msgid "Channel Home"
msgstr "Mein Kanal"
-#: ../../Zotlabs/Lib/Apps.php:243 ../../include/conversation.php:1850
-#: ../../include/conversation.php:1853 ../../include/nav.php:131
+#: ../../Zotlabs/Lib/Apps.php:249 ../../include/conversation.php:1850
+#: ../../include/conversation.php:1853
msgid "Events"
msgstr "Termine"
-#: ../../Zotlabs/Lib/Apps.php:244
+#: ../../Zotlabs/Lib/Apps.php:250
msgid "Directory"
msgstr "Verzeichnis"
-#: ../../Zotlabs/Lib/Apps.php:246 ../../include/nav.php:123
+#: ../../Zotlabs/Lib/Apps.php:252
msgid "Mail"
msgstr "Mail"
-#: ../../Zotlabs/Lib/Apps.php:249
+#: ../../Zotlabs/Lib/Apps.php:255
msgid "Chat"
msgstr "Chat"
-#: ../../Zotlabs/Lib/Apps.php:251
+#: ../../Zotlabs/Lib/Apps.php:257
msgid "Probe"
msgstr "Testen"
-#: ../../Zotlabs/Lib/Apps.php:252
+#: ../../Zotlabs/Lib/Apps.php:258
msgid "Suggest"
msgstr "Empfehlen"
-#: ../../Zotlabs/Lib/Apps.php:253
+#: ../../Zotlabs/Lib/Apps.php:259
msgid "Random Channel"
msgstr "Zufälliger Kanal"
-#: ../../Zotlabs/Lib/Apps.php:254
+#: ../../Zotlabs/Lib/Apps.php:260
msgid "Invite"
msgstr "Einladen"
-#: ../../Zotlabs/Lib/Apps.php:255 ../../Zotlabs/Widget/Admin.php:26
+#: ../../Zotlabs/Lib/Apps.php:261 ../../Zotlabs/Widget/Admin.php:26
msgid "Features"
msgstr "Funktionen"
-#: ../../Zotlabs/Lib/Apps.php:256 ../../addon/openid/MysqlProvider.php:69
+#: ../../Zotlabs/Lib/Apps.php:262 ../../addon/openid/MysqlProvider.php:69
msgid "Language"
msgstr "Sprache"
-#: ../../Zotlabs/Lib/Apps.php:257
+#: ../../Zotlabs/Lib/Apps.php:263
msgid "Post"
msgstr "Beitrag schreiben"
-#: ../../Zotlabs/Lib/Apps.php:258 ../../addon/openid/MysqlProvider.php:58
+#: ../../Zotlabs/Lib/Apps.php:264 ../../addon/openid/MysqlProvider.php:58
#: ../../addon/openid/MysqlProvider.php:59
#: ../../addon/openid/MysqlProvider.php:60
msgid "Profile Photo"
msgstr "Profilfoto"
-#: ../../Zotlabs/Lib/Apps.php:397
+#: ../../Zotlabs/Lib/Apps.php:407
msgid "Purchase"
msgstr "Kaufen"
-#: ../../Zotlabs/Lib/Apps.php:401
+#: ../../Zotlabs/Lib/Apps.php:411
msgid "Undelete"
msgstr "Wieder hergestellt"
-#: ../../Zotlabs/Lib/Apps.php:409
+#: ../../Zotlabs/Lib/Apps.php:419
msgid "Add to app-tray"
msgstr "Zum App-Menü hinzufügen"
-#: ../../Zotlabs/Lib/Apps.php:410
+#: ../../Zotlabs/Lib/Apps.php:420
msgid "Remove from app-tray"
msgstr "Aus dem App-Menü entfernen"
-#: ../../Zotlabs/Lib/Apps.php:411
+#: ../../Zotlabs/Lib/Apps.php:421
msgid "Pin to navbar"
msgstr "An Navigationsleiste anpinnen"
-#: ../../Zotlabs/Lib/Apps.php:412
+#: ../../Zotlabs/Lib/Apps.php:422
msgid "Unpin from navbar"
msgstr "Von Navigationsleiste entfernen"
-#: ../../Zotlabs/Lib/Permcat.php:58
+#: ../../Zotlabs/Lib/Permcat.php:82
msgctxt "permcat"
msgid "default"
msgstr "Standard"
-#: ../../Zotlabs/Lib/Permcat.php:96
+#: ../../Zotlabs/Lib/Permcat.php:133
msgctxt "permcat"
msgid "follower"
msgstr "Abonnent"
-#: ../../Zotlabs/Lib/Permcat.php:100
+#: ../../Zotlabs/Lib/Permcat.php:137
msgctxt "permcat"
msgid "contributor"
msgstr "Beitragender"
-#: ../../Zotlabs/Lib/Permcat.php:104
+#: ../../Zotlabs/Lib/Permcat.php:141
msgctxt "permcat"
msgid "publisher"
msgstr "Autor"
@@ -7649,18 +7836,18 @@ msgid "Message"
msgstr "Nachricht"
#: ../../Zotlabs/Lib/NativeWikiPage.php:597
-#: ../../addon/gitwiki/gitwiki_backend.php:579 ../../include/bbcode.php:674
-#: ../../include/bbcode.php:822
+#: ../../addon/gitwiki/gitwiki_backend.php:579 ../../include/bbcode.php:706
+#: ../../include/bbcode.php:865
msgid "Different viewers will see this text differently"
msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"
#: ../../Zotlabs/Lib/PermissionDescription.php:34
-#: ../../include/acl_selectors.php:128
+#: ../../include/acl_selectors.php:33
msgid "Visible to your default audience"
msgstr "Standard-Sichtbarkeit gemäß Kanaleinstellungen"
#: ../../Zotlabs/Lib/PermissionDescription.php:107
-#: ../../include/acl_selectors.php:201
+#: ../../include/acl_selectors.php:106
msgid "Only me"
msgstr "Nur ich"
@@ -7741,8 +7928,8 @@ msgstr "Der Chatraum ist voll"
msgid "$Projectname Notification"
msgstr "$Projectname-Benachrichtigung"
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../addon/diaspora/util.php:283
-#: ../../addon/diaspora/util.php:296 ../../addon/diaspora/p.php:48
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../addon/diaspora/util.php:308
+#: ../../addon/diaspora/util.php:321 ../../addon/diaspora/p.php:48
msgid "$projectname"
msgstr "$projectname"
@@ -7755,219 +7942,258 @@ msgstr "Danke."
msgid "%s Administrator"
msgstr "der Administrator von %s"
-#: ../../Zotlabs/Lib/Enotify.php:116
+#: ../../Zotlabs/Lib/Enotify.php:66
+#, php-format
+msgid "This email was sent by %1$s at %2$s."
+msgstr "Diese Email wurde von %1$s auf %2$s gesendet."
+
+#: ../../Zotlabs/Lib/Enotify.php:67
+#, php-format
+msgid ""
+"To stop receiving these messages, please adjust your Notification Settings "
+"at %s"
+msgstr "Um diese Nachrichten nicht mehr zu erhalten, passe bitte Deine Benachrichtigungseinstellungen unter folgendem Link an: %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:68
+#, php-format
+msgid "To stop receiving these messages, please adjust your %s."
+msgstr "Um diese Nachrichten nicht mehr zu erhalten, passe bitte Deine %s an."
+
+#: ../../Zotlabs/Lib/Enotify.php:120
#, php-format
msgid "%s <!item_type!>"
msgstr "%s <!item_type!>"
-#: ../../Zotlabs/Lib/Enotify.php:120
+#: ../../Zotlabs/Lib/Enotify.php:124
#, php-format
msgid "[$Projectname:Notify] New mail received at %s"
msgstr "[$Projectname:Benachrichtigung] Neue Mail empfangen auf %s"
-#: ../../Zotlabs/Lib/Enotify.php:122
+#: ../../Zotlabs/Lib/Enotify.php:126
#, php-format
msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet."
-#: ../../Zotlabs/Lib/Enotify.php:123
+#: ../../Zotlabs/Lib/Enotify.php:127
#, php-format
msgid "%1$s sent you %2$s."
msgstr "%1$s hat Dir %2$s geschickt."
-#: ../../Zotlabs/Lib/Enotify.php:123
+#: ../../Zotlabs/Lib/Enotify.php:127
msgid "a private message"
msgstr "eine private Nachricht"
-#: ../../Zotlabs/Lib/Enotify.php:124
+#: ../../Zotlabs/Lib/Enotify.php:128
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."
-#: ../../Zotlabs/Lib/Enotify.php:184
+#: ../../Zotlabs/Lib/Enotify.php:141
+msgid "commented on"
+msgstr "kommentierte"
+
+#: ../../Zotlabs/Lib/Enotify.php:152
+msgid "liked"
+msgstr "gefiel"
+
+#: ../../Zotlabs/Lib/Enotify.php:155
+msgid "disliked"
+msgstr "missfiel"
+
+#: ../../Zotlabs/Lib/Enotify.php:198
#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert"
+msgid "%1$s, %2$s %3$s [zrl=%4$s]a %5$s[/zrl]"
+msgstr "%1$s, %2$s %3$s [zrl=%4$s]ein %5$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:192
+#: ../../Zotlabs/Lib/Enotify.php:207
#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert"
+msgid "%1$s, %2$s %3$s [zrl=%4$s]%5$s's %6$s[/zrl]"
+msgstr "%1$s, %2$s %3$s [zrl=%4$s]%5$s's %6$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:201
+#: ../../Zotlabs/Lib/Enotify.php:217
#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert"
+msgid "%1$s, %2$s %3$s [zrl=%4$s]your %5$s[/zrl]"
+msgstr "%1$s, %2$s %3$s [zrl=%4$s]Dein %5$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:213
+#: ../../Zotlabs/Lib/Enotify.php:230
#, php-format
msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
msgstr "[$Projectname:Benachrichtigung] Moderierter Kommantar in Unterhaltung #%1$d von %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:215
+#: ../../Zotlabs/Lib/Enotify.php:232
#, php-format
msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
msgstr "[$Projectname:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:216
+#: ../../Zotlabs/Lib/Enotify.php:233
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst."
-#: ../../Zotlabs/Lib/Enotify.php:219 ../../Zotlabs/Lib/Enotify.php:301
-#: ../../Zotlabs/Lib/Enotify.php:318 ../../Zotlabs/Lib/Enotify.php:344
-#: ../../Zotlabs/Lib/Enotify.php:362 ../../Zotlabs/Lib/Enotify.php:376
+#: ../../Zotlabs/Lib/Enotify.php:236 ../../Zotlabs/Lib/Enotify.php:318
+#: ../../Zotlabs/Lib/Enotify.php:335 ../../Zotlabs/Lib/Enotify.php:361
+#: ../../Zotlabs/Lib/Enotify.php:379 ../../Zotlabs/Lib/Enotify.php:393
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."
-#: ../../Zotlabs/Lib/Enotify.php:223 ../../Zotlabs/Lib/Enotify.php:224
+#: ../../Zotlabs/Lib/Enotify.php:240 ../../Zotlabs/Lib/Enotify.php:241
#, php-format
msgid "Please visit %s to approve or reject this comment."
msgstr "Bitte besuche %s, um diesen Kommentar anzunehmen oder abzulehnen."
-#: ../../Zotlabs/Lib/Enotify.php:282
+#: ../../Zotlabs/Lib/Enotify.php:299
#, php-format
msgid "%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]"
msgstr "%1$s, %2$s gefällt [zrl=%3$s]dein %4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:297
+#: ../../Zotlabs/Lib/Enotify.php:314
#, php-format
msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
msgstr "[$Projectname:Benachrichtigung] Gefällt mir in Unterhaltung #%1$d von %2$s erhalten"
-#: ../../Zotlabs/Lib/Enotify.php:298
+#: ../../Zotlabs/Lib/Enotify.php:315
#, php-format
msgid "%1$s, %2$s liked an item/conversation you created."
msgstr "%1$s, %2$s gefällt ein Beitrag oder eine Unterhaltung von Dir"
-#: ../../Zotlabs/Lib/Enotify.php:309
+#: ../../Zotlabs/Lib/Enotify.php:326
#, php-format
msgid "[$Projectname:Notify] %s posted to your profile wall"
msgstr "[$Projectname:Benachrichtigung] %s schrieb auf Deine Pinnwand"
-#: ../../Zotlabs/Lib/Enotify.php:311
+#: ../../Zotlabs/Lib/Enotify.php:328
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben"
-#: ../../Zotlabs/Lib/Enotify.php:313
+#: ../../Zotlabs/Lib/Enotify.php:330
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben"
-#: ../../Zotlabs/Lib/Enotify.php:337
+#: ../../Zotlabs/Lib/Enotify.php:354
#, php-format
msgid "[$Projectname:Notify] %s tagged you"
msgstr "[$Projectname:Benachrichtigung] %s hat Dich erwähnt"
-#: ../../Zotlabs/Lib/Enotify.php:338
+#: ../../Zotlabs/Lib/Enotify.php:355
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt"
-#: ../../Zotlabs/Lib/Enotify.php:339
+#: ../../Zotlabs/Lib/Enotify.php:356
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:351
+#: ../../Zotlabs/Lib/Enotify.php:368
#, php-format
msgid "[$Projectname:Notify] %1$s poked you"
msgstr "[$Projectname:Benachrichtigung] %1$s hat Dich angestupst"
-#: ../../Zotlabs/Lib/Enotify.php:352
+#: ../../Zotlabs/Lib/Enotify.php:369
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr "%1$s, %2$s hat Dich auf %3$s angestupst"
-#: ../../Zotlabs/Lib/Enotify.php:353
+#: ../../Zotlabs/Lib/Enotify.php:370
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:369
+#: ../../Zotlabs/Lib/Enotify.php:386
#, php-format
msgid "[$Projectname:Notify] %s tagged your post"
msgstr "[$Projectname:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"
-#: ../../Zotlabs/Lib/Enotify.php:370
+#: ../../Zotlabs/Lib/Enotify.php:387
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet"
-#: ../../Zotlabs/Lib/Enotify.php:371
+#: ../../Zotlabs/Lib/Enotify.php:388
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet"
-#: ../../Zotlabs/Lib/Enotify.php:383
+#: ../../Zotlabs/Lib/Enotify.php:400
msgid "[$Projectname:Notify] Introduction received"
msgstr "[$Projectname:Benachrichtigung] Verbindungsanfrage erhalten"
-#: ../../Zotlabs/Lib/Enotify.php:384
+#: ../../Zotlabs/Lib/Enotify.php:401
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten"
-#: ../../Zotlabs/Lib/Enotify.php:385
+#: ../../Zotlabs/Lib/Enotify.php:402
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten."
-#: ../../Zotlabs/Lib/Enotify.php:389 ../../Zotlabs/Lib/Enotify.php:408
+#: ../../Zotlabs/Lib/Enotify.php:406 ../../Zotlabs/Lib/Enotify.php:425
#, php-format
msgid "You may visit their profile at %s"
msgstr "Du kannst Dir das Profil unter %s ansehen"
-#: ../../Zotlabs/Lib/Enotify.php:391
+#: ../../Zotlabs/Lib/Enotify.php:408
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."
-#: ../../Zotlabs/Lib/Enotify.php:398
+#: ../../Zotlabs/Lib/Enotify.php:415
msgid "[$Projectname:Notify] Friend suggestion received"
msgstr "[$Projectname:Benachrichtigung] Freundschaftsvorschlag erhalten"
-#: ../../Zotlabs/Lib/Enotify.php:399
+#: ../../Zotlabs/Lib/Enotify.php:416
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten"
-#: ../../Zotlabs/Lib/Enotify.php:400
+#: ../../Zotlabs/Lib/Enotify.php:417
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
"%4$s."
msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten."
-#: ../../Zotlabs/Lib/Enotify.php:406
+#: ../../Zotlabs/Lib/Enotify.php:423
msgid "Name:"
msgstr "Name:"
-#: ../../Zotlabs/Lib/Enotify.php:407
+#: ../../Zotlabs/Lib/Enotify.php:424
msgid "Photo:"
msgstr "Foto:"
-#: ../../Zotlabs/Lib/Enotify.php:410
+#: ../../Zotlabs/Lib/Enotify.php:427
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
-#: ../../Zotlabs/Lib/Enotify.php:629
+#: ../../Zotlabs/Lib/Enotify.php:647
msgid "[$Projectname:Notify]"
msgstr "[$Projectname:Benachrichtigung]"
-#: ../../Zotlabs/Lib/Enotify.php:793
+#: ../../Zotlabs/Lib/Enotify.php:815
msgid "created a new post"
msgstr "Neuer Beitrag wurde erzeugt"
-#: ../../Zotlabs/Lib/Enotify.php:794
+#: ../../Zotlabs/Lib/Enotify.php:816
#, php-format
msgid "commented on %s's post"
msgstr "hat %s's Beitrag kommentiert"
+#: ../../Zotlabs/Lib/Enotify.php:823
+#, php-format
+msgid "edited a post dated %s"
+msgstr "hat einen Beitrag vom %s bearbeitet"
+
+#: ../../Zotlabs/Lib/Enotify.php:827
+#, php-format
+msgid "edited a comment dated %s"
+msgstr "hat einen Kommentar vom %s bearbeitet"
+
#: ../../Zotlabs/Lib/NativeWiki.php:151
msgid "Wiki updated successfully"
msgstr "Wiki erfolgreich aktualisiert"
@@ -7976,12 +8202,12 @@ msgstr "Wiki erfolgreich aktualisiert"
msgid "Wiki files deleted successfully"
msgstr "Wiki-Dateien erfolgreich gelöscht"
-#: ../../Zotlabs/Lib/DB_Upgrade.php:95
+#: ../../Zotlabs/Lib/DB_Upgrade.php:83
#, php-format
msgid "Update Error at %s"
msgstr "Aktualisierungsfehler auf %s"
-#: ../../Zotlabs/Lib/DB_Upgrade.php:101
+#: ../../Zotlabs/Lib/DB_Upgrade.php:89
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."
@@ -8046,11 +8272,11 @@ msgstr "Signatur nicht korrekt"
msgid "Add Tag"
msgstr "Tag hinzufügen"
-#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:506
+#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:510
msgid "like"
msgstr "mag"
-#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:507
+#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:511
msgid "dislike"
msgstr "verurteile"
@@ -8143,51 +8369,51 @@ msgstr "Dies ist eine nicht gespeicherte Vorschau"
msgid "%s show all"
msgstr "%s mehr anzeigen"
-#: ../../Zotlabs/Lib/ThreadItem.php:755 ../../include/conversation.php:1377
+#: ../../Zotlabs/Lib/ThreadItem.php:751 ../../include/conversation.php:1377
msgid "Bold"
msgstr "Fett"
-#: ../../Zotlabs/Lib/ThreadItem.php:756 ../../include/conversation.php:1378
+#: ../../Zotlabs/Lib/ThreadItem.php:752 ../../include/conversation.php:1378
msgid "Italic"
msgstr "Kursiv"
-#: ../../Zotlabs/Lib/ThreadItem.php:757 ../../include/conversation.php:1379
+#: ../../Zotlabs/Lib/ThreadItem.php:753 ../../include/conversation.php:1379
msgid "Underline"
msgstr "Unterstrichen"
-#: ../../Zotlabs/Lib/ThreadItem.php:758 ../../include/conversation.php:1380
+#: ../../Zotlabs/Lib/ThreadItem.php:754 ../../include/conversation.php:1380
msgid "Quote"
msgstr "Zitat"
-#: ../../Zotlabs/Lib/ThreadItem.php:759 ../../include/conversation.php:1381
+#: ../../Zotlabs/Lib/ThreadItem.php:755 ../../include/conversation.php:1381
msgid "Code"
msgstr "Code"
-#: ../../Zotlabs/Lib/ThreadItem.php:760
+#: ../../Zotlabs/Lib/ThreadItem.php:756
msgid "Image"
msgstr "Bild"
-#: ../../Zotlabs/Lib/ThreadItem.php:761
+#: ../../Zotlabs/Lib/ThreadItem.php:757
msgid "Attach File"
msgstr "Datei anhängen"
-#: ../../Zotlabs/Lib/ThreadItem.php:762
+#: ../../Zotlabs/Lib/ThreadItem.php:758
msgid "Insert Link"
msgstr "Link einfügen"
-#: ../../Zotlabs/Lib/ThreadItem.php:763
+#: ../../Zotlabs/Lib/ThreadItem.php:759
msgid "Video"
msgstr "Video"
-#: ../../Zotlabs/Lib/ThreadItem.php:773
+#: ../../Zotlabs/Lib/ThreadItem.php:769
msgid "Your full name (required)"
msgstr "Ihr vollständiger Name (erforderlich)"
-#: ../../Zotlabs/Lib/ThreadItem.php:774
+#: ../../Zotlabs/Lib/ThreadItem.php:770
msgid "Your email address (required)"
msgstr "Ihre E-Mail-Adresse (erforderlich)"
-#: ../../Zotlabs/Lib/ThreadItem.php:775
+#: ../../Zotlabs/Lib/ThreadItem.php:771
msgid "Your website URL (optional)"
msgstr "Ihre Webseiten-URL (optional)"
@@ -8203,11 +8429,11 @@ msgstr "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angeme
msgid "Welcome %s. Remote authentication successful."
msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:284
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:287
msgid "parent"
msgstr "Ãœbergeordnetes Verzeichnis"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2707
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2821
msgid "Collection"
msgstr "Sammlung"
@@ -8219,8 +8445,8 @@ msgstr "Prinzipal"
msgid "Addressbook"
msgstr "Adressbuch"
-#: ../../Zotlabs/Storage/Browser.php:140 ../../include/nav.php:452
-#: ../../include/nav.php:455
+#: ../../Zotlabs/Storage/Browser.php:140 ../../include/nav.php:420
+#: ../../include/nav.php:423
msgid "Calendar"
msgstr "Kalender"
@@ -8232,41 +8458,41 @@ msgstr "Posteingang für überwachte Kalender"
msgid "Schedule Outbox"
msgstr "Postausgang für überwachte Kalender"
-#: ../../Zotlabs/Storage/Browser.php:270
+#: ../../Zotlabs/Storage/Browser.php:273
msgid "Total"
msgstr "Summe"
-#: ../../Zotlabs/Storage/Browser.php:272
+#: ../../Zotlabs/Storage/Browser.php:275
msgid "Shared"
msgstr "Geteilt"
-#: ../../Zotlabs/Storage/Browser.php:350
+#: ../../Zotlabs/Storage/Browser.php:353
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Sie verwenden %1$s von Ihrem verfügbaren Dateispeicher."
-#: ../../Zotlabs/Storage/Browser.php:355
+#: ../../Zotlabs/Storage/Browser.php:358
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Sie verwenden %1$s von %2$s verfügbarem Dateispeicher. (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:366
+#: ../../Zotlabs/Storage/Browser.php:369
msgid "WARNING:"
msgstr "WARNUNG:"
-#: ../../Zotlabs/Storage/Browser.php:378
+#: ../../Zotlabs/Storage/Browser.php:381
msgid "Create new folder"
msgstr "Neuen Ordner anlegen"
-#: ../../Zotlabs/Storage/Browser.php:380
+#: ../../Zotlabs/Storage/Browser.php:383
msgid "Upload file"
msgstr "Datei hochladen"
-#: ../../Zotlabs/Storage/Browser.php:393
+#: ../../Zotlabs/Storage/Browser.php:396
msgid "Drop files here to immediately upload"
msgstr "Dateien zum sofortigen Hochladen hier fallen lassen"
-#: ../../Zotlabs/Widget/Forums.php:99
+#: ../../Zotlabs/Widget/Forums.php:100
msgid "Forums"
msgstr "Foren"
@@ -8349,8 +8575,8 @@ msgstr "Adressbuch zum Hineinimportieren auswählen"
#: ../../Zotlabs/Widget/Appcategories.php:40
#: ../../Zotlabs/Widget/Tagcloud.php:25 ../../include/contact_widgets.php:97
#: ../../include/contact_widgets.php:141 ../../include/contact_widgets.php:186
-#: ../../include/taxonomy.php:337 ../../include/taxonomy.php:419
-#: ../../include/taxonomy.php:439 ../../include/taxonomy.php:460
+#: ../../include/taxonomy.php:344 ../../include/taxonomy.php:426
+#: ../../include/taxonomy.php:446 ../../include/taxonomy.php:467
msgid "Categories"
msgstr "Kategorien"
@@ -8392,21 +8618,21 @@ msgstr "Private Nachrichten"
msgid "Combined View"
msgstr "Kombinierte Anzeige"
-#: ../../Zotlabs/Widget/Mailmenu.php:20 ../../include/nav.php:126
+#: ../../Zotlabs/Widget/Mailmenu.php:20
msgid "Inbox"
msgstr "Eingang"
-#: ../../Zotlabs/Widget/Mailmenu.php:25 ../../include/nav.php:127
+#: ../../Zotlabs/Widget/Mailmenu.php:25
msgid "Outbox"
msgstr "Ausgang"
-#: ../../Zotlabs/Widget/Mailmenu.php:30 ../../include/nav.php:128
+#: ../../Zotlabs/Widget/Mailmenu.php:30
msgid "New Message"
msgstr "Neue Nachricht"
#: ../../Zotlabs/Widget/Chatroom_list.php:16
#: ../../include/conversation.php:1864 ../../include/conversation.php:1867
-#: ../../include/nav.php:466 ../../include/nav.php:469
+#: ../../include/nav.php:434 ../../include/nav.php:437
msgid "Chatrooms"
msgstr "Chaträume"
@@ -8488,7 +8714,7 @@ msgstr "Foto/Bild"
msgid "Remove term"
msgstr "Eintrag löschen"
-#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:316
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:354
msgid "Saved Searches"
msgstr "Gespeicherte Suchanfragen"
@@ -8513,7 +8739,7 @@ msgstr "Wikiseiten"
msgid "Page name"
msgstr "Seitenname"
-#: ../../Zotlabs/Widget/Affinity.php:49
+#: ../../Zotlabs/Widget/Affinity.php:45
msgid "Refresh"
msgstr "Aktualisieren"
@@ -8530,7 +8756,7 @@ msgid "See more..."
msgstr "Mehr anzeigen …"
#: ../../Zotlabs/Widget/Filer.php:28 ../../include/contact_widgets.php:53
-#: ../../include/features.php:414
+#: ../../include/features.php:443
msgid "Saved Folders"
msgstr "Gespeicherte Ordner"
@@ -8538,6 +8764,54 @@ msgstr "Gespeicherte Ordner"
msgid "Click to show more"
msgstr "Klick, um mehr anzuzeigen"
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "Profile Creation"
+msgstr "Profilerstellung"
+
+#: ../../Zotlabs/Widget/Newmember.php:35
+msgid "Upload profile photo"
+msgstr "Profilfoto hochladen"
+
+#: ../../Zotlabs/Widget/Newmember.php:36
+msgid "Upload cover photo"
+msgstr "Titelbild hochladen"
+
+#: ../../Zotlabs/Widget/Newmember.php:37 ../../include/nav.php:119
+msgid "Edit your profile"
+msgstr "Profil bearbeiten"
+
+#: ../../Zotlabs/Widget/Newmember.php:40
+msgid "Find and Connect with others"
+msgstr "Finden und Verbinden von/mit Anderen"
+
+#: ../../Zotlabs/Widget/Newmember.php:44
+msgid "Manage your connections"
+msgstr "Deine Verbindungen verwalten"
+
+#: ../../Zotlabs/Widget/Newmember.php:47
+msgid "Communicate"
+msgstr "Kommunizieren"
+
+#: ../../Zotlabs/Widget/Newmember.php:49
+msgid "View your channel homepage"
+msgstr "Deine Kanal-Startseite ansehen"
+
+#: ../../Zotlabs/Widget/Newmember.php:50
+msgid "View your network stream"
+msgstr "Deine Netzwerk-Aktivitäten ansehen"
+
+#: ../../Zotlabs/Widget/Newmember.php:56
+msgid "Documentation"
+msgstr "Dokumentation"
+
+#: ../../Zotlabs/Widget/Newmember.php:67
+msgid "View public stream. Warning: not moderated"
+msgstr "Öffentliche Beitragsaktivitäten ansehen. Warnung: Diese Inhalte sind nicht moderiert."
+
+#: ../../Zotlabs/Widget/Newmember.php:71
+msgid "New Member Links"
+msgstr "Links für neue Mitglieder"
+
#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
msgid "Member registrations waiting for confirmation"
msgstr "Nutzer-Anmeldungen, die auf Bestätigung warten"
@@ -8550,7 +8824,7 @@ msgstr "Warteschlange kontrollieren"
msgid "DB updates"
msgstr "DB-Aktualisierungen"
-#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:231
+#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:199
msgid "Admin"
msgstr "Administration"
@@ -8571,8 +8845,8 @@ msgid "Additional features"
msgstr "Zusätzliche Funktionen"
#: ../../Zotlabs/Widget/Settings_menu.php:57
-msgid "Feature/Addon settings"
-msgstr "Plugin-Einstellungen"
+msgid "Addon settings"
+msgstr "Addon-Einstellungen"
#: ../../Zotlabs/Widget/Settings_menu.php:63
msgid "Display settings"
@@ -8590,7 +8864,7 @@ msgstr "Kanal exportieren"
msgid "Connected apps"
msgstr "Verbundene Apps"
-#: ../../Zotlabs/Widget/Settings_menu.php:100 ../../include/features.php:168
+#: ../../Zotlabs/Widget/Settings_menu.php:100 ../../include/features.php:231
msgid "Permission Groups"
msgstr "Berechtigungsrollen"
@@ -8610,7 +8884,7 @@ msgstr "Neue Netzwerk-Aktivitäten"
msgid "New Network Activity Notifications"
msgstr "Benachrichtigungen für neue Netzwerk-Aktivitäten"
-#: ../../Zotlabs/Widget/Notifications.php:20 ../../include/nav.php:106
+#: ../../Zotlabs/Widget/Notifications.php:20
msgid "View your network activity"
msgstr "Zeige Deine Netzwerk-Aktivitäten"
@@ -8619,161 +8893,163 @@ msgid "Mark all notifications read"
msgstr "Alle Benachrichtigungen als gesehen markieren"
#: ../../Zotlabs/Widget/Notifications.php:26
-#: ../../Zotlabs/Widget/Notifications.php:44
-#: ../../Zotlabs/Widget/Notifications.php:139
+#: ../../Zotlabs/Widget/Notifications.php:45
+#: ../../Zotlabs/Widget/Notifications.php:141
msgid "Show new posts only"
msgstr "Zeige nur neue Beiträge"
-#: ../../Zotlabs/Widget/Notifications.php:34
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:142
+msgid "Filter by name"
+msgstr "Nach Namen filtern"
+
+#: ../../Zotlabs/Widget/Notifications.php:35
msgid "New Home Activity"
msgstr "Neue Kanal-Aktivitäten"
-#: ../../Zotlabs/Widget/Notifications.php:35
+#: ../../Zotlabs/Widget/Notifications.php:36
msgid "New Home Activity Notifications"
msgstr "Benachrichtigungen für neue Kanal-Aktivitäten"
-#: ../../Zotlabs/Widget/Notifications.php:38
+#: ../../Zotlabs/Widget/Notifications.php:39
msgid "View your home activity"
msgstr "Zeige Deine Kanal-Aktivitäten"
-#: ../../Zotlabs/Widget/Notifications.php:41
-#: ../../Zotlabs/Widget/Notifications.php:136
+#: ../../Zotlabs/Widget/Notifications.php:42
+#: ../../Zotlabs/Widget/Notifications.php:138
msgid "Mark all notifications seen"
msgstr "Alle Benachrichtigungen als gesehen markieren"
-#: ../../Zotlabs/Widget/Notifications.php:52
+#: ../../Zotlabs/Widget/Notifications.php:54
msgid "New Mails"
msgstr "Neue Mails"
-#: ../../Zotlabs/Widget/Notifications.php:53
+#: ../../Zotlabs/Widget/Notifications.php:55
msgid "New Mails Notifications"
msgstr "Benachrichtigungen für neue Mails"
-#: ../../Zotlabs/Widget/Notifications.php:56
+#: ../../Zotlabs/Widget/Notifications.php:58
msgid "View your private mails"
msgstr "Zeige Deine persönlichen Mails"
-#: ../../Zotlabs/Widget/Notifications.php:59
+#: ../../Zotlabs/Widget/Notifications.php:61
msgid "Mark all messages seen"
msgstr "Alle Mails als gelesen markieren"
-#: ../../Zotlabs/Widget/Notifications.php:67
+#: ../../Zotlabs/Widget/Notifications.php:69
msgid "New Events"
msgstr "Neue Termine"
-#: ../../Zotlabs/Widget/Notifications.php:68
+#: ../../Zotlabs/Widget/Notifications.php:70
msgid "New Events Notifications"
msgstr "Benachrichtigungen für neue Termine"
-#: ../../Zotlabs/Widget/Notifications.php:71 ../../include/nav.php:132
+#: ../../Zotlabs/Widget/Notifications.php:73
msgid "View events"
msgstr "Termine ansehen"
-#: ../../Zotlabs/Widget/Notifications.php:74 ../../include/nav.php:133
+#: ../../Zotlabs/Widget/Notifications.php:76
msgid "Mark all events seen"
msgstr "Markiere alle Termine als gesehen"
-#: ../../Zotlabs/Widget/Notifications.php:83
+#: ../../Zotlabs/Widget/Notifications.php:85
msgid "New Connections Notifications"
msgstr "Benachrichtigungen für neue Verbindungen"
-#: ../../Zotlabs/Widget/Notifications.php:86
+#: ../../Zotlabs/Widget/Notifications.php:88
msgid "View all connections"
msgstr "Zeige alle Verbindungen"
-#: ../../Zotlabs/Widget/Notifications.php:94
+#: ../../Zotlabs/Widget/Notifications.php:96
msgid "New Files"
msgstr "Neue Dateien"
-#: ../../Zotlabs/Widget/Notifications.php:95
+#: ../../Zotlabs/Widget/Notifications.php:97
msgid "New Files Notifications"
msgstr "Benachrichtigungen für neue Dateien"
-#: ../../Zotlabs/Widget/Notifications.php:102
-#: ../../Zotlabs/Widget/Notifications.php:103 ../../include/nav.php:119
+#: ../../Zotlabs/Widget/Notifications.php:104
+#: ../../Zotlabs/Widget/Notifications.php:105
msgid "Notices"
msgstr "Benachrichtigungen"
-#: ../../Zotlabs/Widget/Notifications.php:106
+#: ../../Zotlabs/Widget/Notifications.php:108
msgid "View all notices"
msgstr "Alle Notizen ansehen"
-#: ../../Zotlabs/Widget/Notifications.php:109
+#: ../../Zotlabs/Widget/Notifications.php:111
msgid "Mark all notices seen"
msgstr "Alle Notizen als gesehen markieren"
-#: ../../Zotlabs/Widget/Notifications.php:119
+#: ../../Zotlabs/Widget/Notifications.php:121
msgid "New Registrations"
msgstr "Neue Registrierungen"
-#: ../../Zotlabs/Widget/Notifications.php:120
+#: ../../Zotlabs/Widget/Notifications.php:122
msgid "New Registrations Notifications"
msgstr "Benachrichtigungen für neue Registrierungen"
-#: ../../Zotlabs/Widget/Notifications.php:130
+#: ../../Zotlabs/Widget/Notifications.php:132
msgid "Public Stream Notifications"
msgstr "Benachrichtigungen für öffentlichen Beitrags-Stream"
-#: ../../Zotlabs/Widget/Notifications.php:133
+#: ../../Zotlabs/Widget/Notifications.php:135
msgid "View the public stream"
msgstr "Zeige öffentlichen Beitrags-Stream"
-#: ../../Zotlabs/Widget/Notifications.php:147 ../../include/nav.php:316
-msgid "Loading"
-msgstr "Lädt..."
+#: ../../Zotlabs/Widget/Notifications.php:150
+msgid "Sorry, you have got no notifications at the moment"
+msgstr "Du hast momentan keine Benachrichtigungen"
#: ../../util/nconfig.php:34
msgid "Source channel not found."
msgstr "Quellkanal nicht gefunden."
-#: ../../boot.php:1644
+#: ../../boot.php:1562
msgid "Create an account to access services and applications"
msgstr "Erstelle ein Konto, um auf Dienste und Anwendungen zugreifen zu können."
-#: ../../boot.php:1663 ../../include/nav.php:145 ../../include/nav.php:174
-#: ../../include/nav.php:191
+#: ../../boot.php:1581 ../../include/nav.php:111 ../../include/nav.php:140
+#: ../../include/nav.php:159
msgid "Logout"
msgstr "Abmelden"
-#: ../../boot.php:1667
+#: ../../boot.php:1585
msgid "Login/Email"
msgstr "Anmelden/E-Mail"
-#: ../../boot.php:1668
+#: ../../boot.php:1586
msgid "Password"
msgstr "Kennwort"
-#: ../../boot.php:1669
+#: ../../boot.php:1587
msgid "Remember me"
msgstr "Angaben speichern"
-#: ../../boot.php:1672
+#: ../../boot.php:1590
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: ../../boot.php:2257
-msgid "toggle mobile"
-msgstr "auf/von mobile Ansicht wechseln"
-
-#: ../../boot.php:2419
+#: ../../boot.php:2347
#, php-format
msgid "[$Projectname] Website SSL error for %s"
msgstr "[$Projectname] Webseiten-SSL-Fehler für %s"
-#: ../../boot.php:2424
+#: ../../boot.php:2352
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Das SSL-Zertifikat der Website ist nicht gültig. Bitte beheben."
-#: ../../boot.php:2540
+#: ../../boot.php:2468
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
msgstr "[$Projectname] Cron-Jobs laufen nicht auf %s"
-#: ../../boot.php:2545
+#: ../../boot.php:2473
msgid "Cron/Scheduled tasks not running."
msgstr "Cron-Aufgaben laufen nicht."
-#: ../../boot.php:2546 ../../include/datetime.php:292
+#: ../../boot.php:2474 ../../include/datetime.php:232
msgid "never"
msgstr "Nie"
@@ -8898,7 +9174,7 @@ msgid "Errors encountered deleting database table "
msgstr "Beim Löschen der Datenbanktabelle sind Fehler aufgetreten."
#: ../../addon/rendezvous/rendezvous.php:95
-#: ../../addon/twitter/twitter.php:773
+#: ../../addon/twitter/twitter.php:779
msgid "Submit Settings"
msgstr "Einstellungen absenden"
@@ -9101,7 +9377,7 @@ msgid "Page to load after image selection."
msgstr "Die Seite, die nach Auswahl eines Bildes geladen werden soll."
#: ../../addon/openclipatar/openclipatar.php:58 ../../include/channel.php:1301
-#: ../../include/nav.php:153
+#: ../../include/nav.php:119
msgid "Edit Profile"
msgstr "Profil bearbeiten"
@@ -9158,6 +9434,11 @@ msgstr "Hochgeladen von: "
msgid "Drawn by: "
msgstr "Gezeichnet von: "
+#: ../../addon/openclipatar/openclipatar.php:182
+#: ../../addon/openclipatar/openclipatar.php:194
+msgid "Use this image"
+msgstr ""
+
#: ../../addon/openclipatar/openclipatar.php:192
msgid "Or select from a free OpenClipart.org image:"
msgstr "Oder wähle ein freies Bild von OpenClipart.org:"
@@ -9174,10 +9455,6 @@ msgstr "Unbekannter Fehler. Bitte versuchen Sie es später erneut."
msgid "Profile photo updated successfully."
msgstr "Profilfoto erfolgreich aktualisiert."
-#: ../../addon/zotvi/zot6.php:25 ../../include/zot.php:4051
-msgid "invalid target signature"
-msgstr "Ungültige Signatur des Ziels"
-
#: ../../addon/adultphotoflag/adultphotoflag.php:24
msgid "Flag Adult Photos"
msgstr "Nicht jugendfreie Fotos markieren"
@@ -9274,7 +9551,7 @@ msgstr "NSFW-Einstellungen gespeichert."
msgid "Possible adult content"
msgstr "Möglicherweise nicht jugendfreie Inhalte"
-#: ../../addon/nsfw/nsfw.php:211
+#: ../../addon/nsfw/nsfw.php:222
#, php-format
msgid "%s - view"
msgstr "%s - ansehen"
@@ -9331,6 +9608,15 @@ msgstr "Standardmäßig auf auf Dreamwidth posten"
msgid "Dreamwidth Post Settings"
msgstr "Dreamwidth-Beitragseinstellungen"
+#: ../../addon/notifyadmin/notifyadmin.php:34
+msgid "New registration"
+msgstr ""
+
+#: ../../addon/notifyadmin/notifyadmin.php:42
+#, php-format
+msgid "Message sent to %s. New account registration: %s"
+msgstr "Nachricht gesendet an %s. Neue Kontoregistrierung: %s"
+
#: ../../addon/dirstats/dirstats.php:94
msgid "Hubzilla Directory Stats"
msgstr "Hubzilla-Verzeichnisstatistiken"
@@ -9579,17 +9865,17 @@ msgstr "Geburtsdatum"
msgid "OpenID protocol error. No ID returned."
msgstr "OpenID-Protokollfehler. Keine Kennung zurückgegeben."
-#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:289
+#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:290
msgid "Login failed."
msgstr "Login fehlgeschlagen."
#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:49
-#: ../../include/selectors.php:66 ../../include/channel.php:1480
+#: ../../include/selectors.php:66 ../../include/channel.php:1481
msgid "Male"
msgstr "Männlich"
#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:49
-#: ../../include/selectors.php:66 ../../include/channel.php:1478
+#: ../../include/selectors.php:66 ../../include/channel.php:1479
msgid "Female"
msgstr "Weiblich"
@@ -9690,11 +9976,11 @@ msgstr "verlockt"
#: ../../addon/morepokes/morepokes.php:27
msgid "raise eyebrows at"
-msgstr ""
+msgstr "Augenbrauen hochziehen"
#: ../../addon/morepokes/morepokes.php:27
msgid "raised their eyebrows at"
-msgstr ""
+msgstr "zog die Augenbrauen hoch"
#: ../../addon/morepokes/morepokes.php:28
msgid "insult"
@@ -9770,45 +10056,45 @@ msgstr ""
#: ../../addon/morepokes/morepokes.php:37
msgid "declare undying love for"
-msgstr ""
+msgstr "erkläre unsterbliche Liebe"
#: ../../addon/morepokes/morepokes.php:37
msgid "declared undying love for"
-msgstr ""
+msgstr "erklärte unsterbliche Liebe"
-#: ../../addon/diaspora/diaspora.php:772
+#: ../../addon/diaspora/diaspora.php:778
msgid "Diaspora Protocol Settings updated."
msgstr "Diaspora Protokoll Einstellungen aktualisiert"
-#: ../../addon/diaspora/diaspora.php:791
+#: ../../addon/diaspora/diaspora.php:797
msgid ""
"The Diaspora protocol does not support location independence. Connections "
"you make within that network may be unreachable from alternate channel "
"locations."
msgstr "Das Diaspora-Protokoll unterstützt keine Server-unabhängigen Identitäten. Verbindungen, die Du mit diesem Netzwerk eingehst, können von anderen Orten (Klonen) dieses Kanals aus unerreichbar sein."
-#: ../../addon/diaspora/diaspora.php:794
+#: ../../addon/diaspora/diaspora.php:800
msgid "Enable the Diaspora protocol for this channel"
msgstr "Das Diaspora Protokoll für diesen Kanal aktivieren"
-#: ../../addon/diaspora/diaspora.php:798
+#: ../../addon/diaspora/diaspora.php:804
msgid "Allow any Diaspora member to comment on your public posts"
msgstr "Erlaube jedem Diaspora Nutzer deine öffentlichen Beiträge zu kommentieren"
-#: ../../addon/diaspora/diaspora.php:802
+#: ../../addon/diaspora/diaspora.php:808
msgid "Prevent your hashtags from being redirected to other sites"
msgstr "Verhindern, dass Deine Hashtags zu anderen Seiten umgeleitet werden"
-#: ../../addon/diaspora/diaspora.php:806
+#: ../../addon/diaspora/diaspora.php:812
msgid ""
"Sign and forward posts and comments with no existing Diaspora signature"
msgstr "Signieren und Weiterleiten von Beiträgen und Kommentaren ohne vorhandene Diaspora-Signatur"
-#: ../../addon/diaspora/diaspora.php:811
+#: ../../addon/diaspora/diaspora.php:817
msgid "Followed hashtags (comma separated, do not include the #)"
msgstr "Verfolgte Hashtags (Komma separierte Liste, ohne die #)"
-#: ../../addon/diaspora/diaspora.php:816
+#: ../../addon/diaspora/diaspora.php:822
msgid "Diaspora Protocol Settings"
msgstr "Diaspora Protokoll Einstellungen"
@@ -9823,11 +10109,11 @@ msgstr "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Im
#: ../../addon/testdrive/testdrive.php:104
#, php-format
msgid "Your account on %s will expire in a few days."
-msgstr "Dein Account auf %s wird in ein paar Tagen ablaufen."
+msgstr "Dein Konto auf %s wird in ein paar Tagen ablaufen."
#: ../../addon/testdrive/testdrive.php:105
msgid "Your $Productname test account is about to expire."
-msgstr "Dein $Productname Test-Account wird bald auslaufen."
+msgstr "Dein $Productname Test-Konto wird bald auslaufen."
#: ../../addon/rainbowtag/rainbowtag.php:81
msgid "Enable Rainbowtag"
@@ -9919,15 +10205,15 @@ msgstr "Gravatar-Einstellungen aktualisiert."
#: ../../addon/hzfiles/hzfiles.php:79
msgid "Hubzilla File Storage Import"
-msgstr ""
+msgstr "Hubzilla-Datenspeicher-Import"
#: ../../addon/hzfiles/hzfiles.php:80
msgid "This will import all your cloud files from another server."
-msgstr ""
+msgstr "Hiermit werden alle Deine Cloud-Dateien von einem anderen Server importiert."
#: ../../addon/hzfiles/hzfiles.php:81
msgid "Hubzilla Server base URL"
-msgstr ""
+msgstr "Basis-URL des Habzilla-Servers"
#: ../../addon/hzfiles/hzfiles.php:82
msgid "Since modified date yyyy-mm-dd"
@@ -10002,6 +10288,10 @@ msgstr "Mail Test"
msgid "Message subject"
msgstr "Betreff der Nachricht"
+#: ../../addon/mdpost/mdpost.php:41
+msgid "Use markdown for editing posts"
+msgstr "Verwende Markdown zum Bearbeiten von Beiträgen"
+
#: ../../addon/openstreetmap/openstreetmap.php:146
msgid "View Larger"
msgstr "Größer anzeigen"
@@ -10084,7 +10374,7 @@ msgid "Hubzilla to Friendica Post Settings"
msgstr "Hubzilla-zu-Friendica Beitragseinstellungen"
#: ../../addon/jappixmini/jappixmini.php:305 ../../include/channel.php:1397
-#: ../../include/channel.php:1567
+#: ../../include/channel.php:1568
msgid "Status:"
msgstr "Status:"
@@ -10211,7 +10501,7 @@ msgstr "Hubzilla-Kanalname"
#: ../../addon/redred/redred.php:119
msgid "Hubzilla Crosspost Settings"
-msgstr ""
+msgstr "Hubzilla Crosspost Einstellungen"
#: ../../addon/logrot/logrot.php:36
msgid "Logfile archive directory"
@@ -10249,37 +10539,37 @@ msgstr "Friendica-Anmeldebenutzername"
msgid "Friendica Login Password"
msgstr "Friendica-Anmeldepasswort"
-#: ../../addon/pubcrawl/as.php:1077 ../../addon/pubcrawl/as.php:1164
-#: ../../addon/pubcrawl/as.php:1339 ../../include/network.php:1768
+#: ../../addon/pubcrawl/as.php:1101 ../../addon/pubcrawl/as.php:1228
+#: ../../addon/pubcrawl/as.php:1403 ../../include/network.php:1774
msgid "ActivityPub"
msgstr "ActivityPub"
-#: ../../addon/pubcrawl/pubcrawl.php:1033
+#: ../../addon/pubcrawl/pubcrawl.php:1034
msgid "ActivityPub Protocol Settings updated."
-msgstr ""
+msgstr "ActivityPub Protokoll Einstellungen aktualisiert"
-#: ../../addon/pubcrawl/pubcrawl.php:1042
+#: ../../addon/pubcrawl/pubcrawl.php:1043
msgid ""
"The ActivityPub protocol does not support location independence. Connections"
" you make within that network may be unreachable from alternate channel "
"locations."
msgstr ""
-#: ../../addon/pubcrawl/pubcrawl.php:1045
+#: ../../addon/pubcrawl/pubcrawl.php:1046
msgid "Enable the ActivityPub protocol for this channel"
-msgstr ""
+msgstr "Aktiviere das ActivityPub Protokoll für diesen Kanal"
-#: ../../addon/pubcrawl/pubcrawl.php:1048
+#: ../../addon/pubcrawl/pubcrawl.php:1049
msgid "Send multi-media HTML articles"
-msgstr ""
+msgstr "Multimedia HTML Artikel versenden"
-#: ../../addon/pubcrawl/pubcrawl.php:1048
+#: ../../addon/pubcrawl/pubcrawl.php:1049
msgid "Not supported by some microblog services such as Mastodon"
-msgstr ""
+msgstr "Wird von einigen Microblogging-Plattformen wie Mastodon nicht unterstützt"
#: ../../addon/pubcrawl/pubcrawl.php:1053
msgid "ActivityPub Protocol Settings"
-msgstr ""
+msgstr "ActivityPub Protokoll Einstellungen"
#: ../../addon/donate/donate.php:21
msgid "Project Servers and Resources"
@@ -10583,7 +10873,7 @@ msgstr "Aktuelle GNU social API ist"
msgid "Cancel GNU social Connection"
msgstr "GNU social Verbindung trennen"
-#: ../../addon/statusnet/statusnet.php:401 ../../addon/twitter/twitter.php:232
+#: ../../addon/statusnet/statusnet.php:401 ../../addon/twitter/twitter.php:233
msgid "Currently connected to: "
msgstr "Momentan verbunden mit:"
@@ -10603,7 +10893,7 @@ msgstr "Erlaube die Veröffentlichung bei GNU social"
msgid ""
"If enabled your public postings can be posted to the associated GNU-social "
"account"
-msgstr "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen GNU social Account veröffentlicht werden."
+msgstr "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen GNU social Konto veröffentlicht werden."
#: ../../addon/statusnet/statusnet.php:415
msgid "Post to GNU social by default"
@@ -10613,9 +10903,9 @@ msgstr "Standardmäßig bei GNU social veröffentlichen"
msgid ""
"If enabled your public postings will be posted to the associated GNU-social "
"account by default"
-msgstr "Wenn aktiv werden all deine öffentlichen Beiträge standardmäßig bei dem verbundenen GNU social Account veröffentlicht."
+msgstr "Wenn aktiv werden all deine öffentlichen Beiträge standardmäßig bei dem verbundenen GNU social Konto veröffentlicht."
-#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:255
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:261
msgid "Clear OAuth configuration"
msgstr "OAuth Konfiguration löschen"
@@ -10643,39 +10933,39 @@ msgstr "QR-Generator"
msgid "Enter some text"
msgstr "Etwas Text eingeben"
-#: ../../addon/chess/chess.php:278 ../../addon/chess/chess.php:465
+#: ../../addon/chess/chess.php:353 ../../addon/chess/chess.php:542
msgid "Invalid game."
msgstr "Ungültiges Spiel."
-#: ../../addon/chess/chess.php:284 ../../addon/chess/chess.php:471
+#: ../../addon/chess/chess.php:359 ../../addon/chess/chess.php:582
msgid "You are not a player in this game."
msgstr "Sie sind kein Spieler in diesem Spiel."
-#: ../../addon/chess/chess.php:340
+#: ../../addon/chess/chess.php:415
msgid "You must be a local channel to create a game."
msgstr "Um ein Spiel zu eröffnen, musst du ein lokaler Kanal sein"
-#: ../../addon/chess/chess.php:358
+#: ../../addon/chess/chess.php:433
msgid "You must select one opponent that is not yourself."
msgstr "Du musst einen Gegner wählen, der nicht du selbst ist"
-#: ../../addon/chess/chess.php:367
-msgid "You must select white or black."
-msgstr "Sie müssen weiß oder schwarz auswählen."
+#: ../../addon/chess/chess.php:444
+msgid "Random color chosen."
+msgstr ""
-#: ../../addon/chess/chess.php:375
+#: ../../addon/chess/chess.php:452
msgid "Error creating new game."
msgstr "Fehler beim Erstellen eines neuen Spiels."
-#: ../../addon/chess/chess.php:409 ../../include/channel.php:1152
+#: ../../addon/chess/chess.php:486 ../../include/channel.php:1152
msgid "Requested channel is not available."
-msgstr "Angeforderte Kanal nicht verfügbar."
+msgstr "Angeforderter Kanal nicht verfügbar."
-#: ../../addon/chess/chess.php:423
+#: ../../addon/chess/chess.php:500
msgid "You must select a local channel /chess/channelname"
msgstr "Du musst einen lokalen Kanal/Schach(Kanalnamen aufwählen"
-#: ../../addon/chess/chess.php:969
+#: ../../addon/chess/chess.php:1066
msgid "Enable notifications"
msgstr "Benachrichtigungen aktivieren"
@@ -10683,17 +10973,17 @@ msgstr "Benachrichtigungen aktivieren"
msgid "Post to Twitter"
msgstr "Bei Twitter veröffentlichen"
-#: ../../addon/twitter/twitter.php:154
+#: ../../addon/twitter/twitter.php:155
msgid "Twitter settings updated."
msgstr "Twitter-Einstellungen aktualisiert."
-#: ../../addon/twitter/twitter.php:183
+#: ../../addon/twitter/twitter.php:184
msgid ""
"No consumer key pair for Twitter found. Please contact your site "
"administrator."
msgstr "Es wurde kein Consumer-Schlüsselpaar für Twitter gefunden. Bitte kontaktiere deinen Seiten-Administrator."
-#: ../../addon/twitter/twitter.php:205
+#: ../../addon/twitter/twitter.php:206
msgid ""
"At this Hubzilla instance the Twitter plugin was enabled but you have not "
"yet connected your account to your Twitter account. To do so click the "
@@ -10702,15 +10992,15 @@ msgid ""
" be posted to Twitter."
msgstr "Auf diesem Hubzilla-Server ist das Twitter-Plugin aktiviert, aber Du hast Dich hier noch nicht mit Deinem Twitter-Konto verbunden. Um dies zu tun, klicke die Schaltfläche unten, um eine PIN von Twitter zu erhalten, die Du dann in das Eingabefeld darunter einfügen und das Formular bestätigen musst. Nur Deine <strong>öffentlichen</strong> Beiträge werden auf Twitter geteilt."
-#: ../../addon/twitter/twitter.php:207
+#: ../../addon/twitter/twitter.php:208
msgid "Log in with Twitter"
msgstr "Mit Twitter anmelden"
-#: ../../addon/twitter/twitter.php:210
+#: ../../addon/twitter/twitter.php:211
msgid "Copy the PIN from Twitter here"
msgstr "PIN von Twitter hier her kopieren"
-#: ../../addon/twitter/twitter.php:237
+#: ../../addon/twitter/twitter.php:238
msgid ""
"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
"details from unknown viewers?</em>) the link potentially included in public "
@@ -10718,27 +11008,35 @@ msgid ""
"the visitor that the access to your profile has been restricted."
msgstr "<strong>Hinweis:</strong> Entsprechend Deiner Privatsphären-Einstellungen (<em>Profil-Details vor nicht angemeldeten Besuchern verbergen?</em>) kann ein ggf. zu Twitter geteilter Link Besucher auf eine leere Seite führen, die darüber informiert, dass der Zugriff zu Deinem Profil eingeschränkt ist."
-#: ../../addon/twitter/twitter.php:242
+#: ../../addon/twitter/twitter.php:243
msgid "Allow posting to Twitter"
msgstr "Erlaube die Veröffentlichung bei Twitter"
-#: ../../addon/twitter/twitter.php:242
+#: ../../addon/twitter/twitter.php:243
msgid ""
"If enabled your public postings can be posted to the associated Twitter "
"account"
-msgstr "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen Twitter Account veröffentlicht werden."
+msgstr "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen Twitter Konto veröffentlicht werden."
+
+#: ../../addon/twitter/twitter.php:247
+msgid "Twitter post length"
+msgstr ""
+
+#: ../../addon/twitter/twitter.php:247
+msgid "Maximum tweet length"
+msgstr ""
-#: ../../addon/twitter/twitter.php:246
+#: ../../addon/twitter/twitter.php:252
msgid "Send public postings to Twitter by default"
msgstr "Standardmäßig öffentliche Beiträge bei Twitter veröffentlichen"
-#: ../../addon/twitter/twitter.php:246
+#: ../../addon/twitter/twitter.php:252
msgid ""
"If enabled your public postings will be posted to the associated Twitter "
"account by default"
-msgstr "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen Twitter Account veröffentlicht werden."
+msgstr "Wenn aktiv werden deine öffentlichen Beiträge bei dem verbundenen Twitter Konto veröffentlicht werden."
-#: ../../addon/twitter/twitter.php:264
+#: ../../addon/twitter/twitter.php:270
msgid "Twitter Post Settings"
msgstr "Twitter-Beitragseinstellungen"
@@ -10962,8 +11260,8 @@ msgstr "Erweitertes Teilen von Identitäten"
#: ../../addon/sendzid/sendzid.php:26
msgid ""
"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
-msgstr "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Hubzilla-Servern geteilt."
+"identity is only shared with $Projectname sites."
+msgstr "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit $Projectname - Servern geteilt."
#: ../../addon/tictac/tictac.php:21
msgid "Three Dimensional Tic-Tac-Toe"
@@ -11240,7 +11538,7 @@ msgstr "Ein Konto wurde für Sie erstellt."
#: ../../addon/ldapauth/ldapauth.php:68
msgid "Authentication successful but rejected: account creation is disabled."
-msgstr "Authentifizierung war erfolgreich wurde aber abgewiesen! Das Anlegen von Accounts wurde deaktiviert."
+msgstr "Authentifizierung war erfolgreich, wurde aber abgewiesen! Das Anlegen von Konten wurde deaktiviert."
#: ../../addon/opensearch/opensearch.php:26
#, php-format
@@ -11346,11 +11644,11 @@ msgstr "Transsexuell"
msgid "Hermaphrodite"
msgstr "Zwitter"
-#: ../../include/selectors.php:49 ../../include/channel.php:1484
+#: ../../include/selectors.php:49 ../../include/channel.php:1485
msgid "Neuter"
msgstr "Geschlechtslos"
-#: ../../include/selectors.php:49 ../../include/channel.php:1486
+#: ../../include/selectors.php:49 ../../include/channel.php:1487
msgid "Non-specific"
msgstr "unklar"
@@ -11533,12 +11831,12 @@ msgstr "Frag mich mal"
#: ../../include/conversation.php:169
#, php-format
msgid "likes %1$s's %2$s"
-msgstr ""
+msgstr "gefällt %1$ss %2$s"
#: ../../include/conversation.php:172
#, php-format
msgid "doesn't like %1$s's %2$s"
-msgstr ""
+msgstr "missfällt %1$ss %2$s"
#: ../../include/conversation.php:212
#, php-format
@@ -11550,8 +11848,8 @@ msgstr "%1$s ist jetzt mit %2$s verbunden"
msgid "%1$s poked %2$s"
msgstr "%1$s stupste %2$s an"
-#: ../../include/conversation.php:251 ../../include/text.php:1104
-#: ../../include/text.php:1109
+#: ../../include/conversation.php:251 ../../include/text.php:1129
+#: ../../include/text.php:1133
msgid "poked"
msgstr "stupste"
@@ -11753,32 +12051,32 @@ msgstr "Spam"
msgid "Posts flagged as SPAM"
msgstr "Nachrichten, die als SPAM markiert wurden"
-#: ../../include/conversation.php:1811 ../../include/nav.php:413
+#: ../../include/conversation.php:1811 ../../include/nav.php:381
msgid "Status Messages and Posts"
msgstr "Statusnachrichten und Beiträge"
-#: ../../include/conversation.php:1824 ../../include/nav.php:426
+#: ../../include/conversation.php:1824 ../../include/nav.php:394
msgid "Profile Details"
msgstr "Profil-Details"
-#: ../../include/conversation.php:1834 ../../include/nav.php:436
+#: ../../include/conversation.php:1834 ../../include/nav.php:404
#: ../../include/photos.php:655
msgid "Photo Albums"
msgstr "Fotoalben"
-#: ../../include/conversation.php:1842 ../../include/nav.php:444
+#: ../../include/conversation.php:1842 ../../include/nav.php:412
msgid "Files and Storage"
msgstr "Dateien und Speicher"
-#: ../../include/conversation.php:1879 ../../include/nav.php:479
+#: ../../include/conversation.php:1879 ../../include/nav.php:447
msgid "Bookmarks"
msgstr "Lesezeichen"
-#: ../../include/conversation.php:1882 ../../include/nav.php:482
+#: ../../include/conversation.php:1882 ../../include/nav.php:450
msgid "Saved Bookmarks"
msgstr "Gespeicherte Lesezeichen"
-#: ../../include/conversation.php:1893 ../../include/nav.php:493
+#: ../../include/conversation.php:1893 ../../include/nav.php:461
msgid "View Cards"
msgstr "Karten anzeigen"
@@ -11786,11 +12084,11 @@ msgstr "Karten anzeigen"
msgid "articles"
msgstr "Artikel"
-#: ../../include/conversation.php:1904 ../../include/nav.php:504
+#: ../../include/conversation.php:1904 ../../include/nav.php:472
msgid "View Articles"
msgstr "Artikel anzeigen"
-#: ../../include/conversation.php:1915 ../../include/nav.php:516
+#: ../../include/conversation.php:1915 ../../include/nav.php:484
msgid "View Webpages"
msgstr "Webseiten anzeigen"
@@ -11862,368 +12160,368 @@ msgid ""
"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen."
-#: ../../include/import.php:105
+#: ../../include/import.php:106
msgid "Cloned channel not found. Import failed."
msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
-#: ../../include/text.php:478
+#: ../../include/text.php:492
msgid "prev"
msgstr "vorherige"
-#: ../../include/text.php:480
+#: ../../include/text.php:494
msgid "first"
msgstr "erste"
-#: ../../include/text.php:509
+#: ../../include/text.php:523
msgid "last"
msgstr "letzte"
-#: ../../include/text.php:512
+#: ../../include/text.php:526
msgid "next"
msgstr "nächste"
-#: ../../include/text.php:523
+#: ../../include/text.php:537
msgid "older"
msgstr "älter"
-#: ../../include/text.php:525
+#: ../../include/text.php:539
msgid "newer"
msgstr "neuer"
-#: ../../include/text.php:947
+#: ../../include/text.php:961
msgid "No connections"
msgstr "Keine Verbindungen"
-#: ../../include/text.php:972
+#: ../../include/text.php:993
#, php-format
msgid "View all %s connections"
msgstr "Alle Verbindungen von %s anzeigen"
-#: ../../include/text.php:1104 ../../include/text.php:1109
+#: ../../include/text.php:1129 ../../include/text.php:1133
msgid "poke"
msgstr "anstupsen"
-#: ../../include/text.php:1110
+#: ../../include/text.php:1134
msgid "ping"
msgstr "anpingen"
-#: ../../include/text.php:1110
+#: ../../include/text.php:1134
msgid "pinged"
msgstr "pingte"
-#: ../../include/text.php:1111
+#: ../../include/text.php:1135
msgid "prod"
msgstr "knuffen"
-#: ../../include/text.php:1111
+#: ../../include/text.php:1135
msgid "prodded"
msgstr "knuffte"
-#: ../../include/text.php:1112
+#: ../../include/text.php:1136
msgid "slap"
msgstr "ohrfeigen"
-#: ../../include/text.php:1112
+#: ../../include/text.php:1136
msgid "slapped"
msgstr "ohrfeigte"
-#: ../../include/text.php:1113
+#: ../../include/text.php:1137
msgid "finger"
msgstr "befummeln"
-#: ../../include/text.php:1113
+#: ../../include/text.php:1137
msgid "fingered"
msgstr "befummelte"
-#: ../../include/text.php:1114
+#: ../../include/text.php:1138
msgid "rebuff"
msgstr "eine Abfuhr erteilen"
-#: ../../include/text.php:1114
+#: ../../include/text.php:1138
msgid "rebuffed"
msgstr "zurückgewiesen"
-#: ../../include/text.php:1126
+#: ../../include/text.php:1161
msgid "happy"
msgstr "glücklich"
-#: ../../include/text.php:1127
+#: ../../include/text.php:1162
msgid "sad"
msgstr "traurig"
-#: ../../include/text.php:1128
+#: ../../include/text.php:1163
msgid "mellow"
msgstr "sanft"
-#: ../../include/text.php:1129
+#: ../../include/text.php:1164
msgid "tired"
msgstr "müde"
-#: ../../include/text.php:1130
+#: ../../include/text.php:1165
msgid "perky"
msgstr "frech"
-#: ../../include/text.php:1131
+#: ../../include/text.php:1166
msgid "angry"
msgstr "sauer"
-#: ../../include/text.php:1132
+#: ../../include/text.php:1167
msgid "stupefied"
msgstr "verblüfft"
-#: ../../include/text.php:1133
+#: ../../include/text.php:1168
msgid "puzzled"
msgstr "verwirrt"
-#: ../../include/text.php:1134
+#: ../../include/text.php:1169
msgid "interested"
msgstr "interessiert"
-#: ../../include/text.php:1135
+#: ../../include/text.php:1170
msgid "bitter"
msgstr "verbittert"
-#: ../../include/text.php:1136
+#: ../../include/text.php:1171
msgid "cheerful"
msgstr "fröhlich"
-#: ../../include/text.php:1137
+#: ../../include/text.php:1172
msgid "alive"
msgstr "lebendig"
-#: ../../include/text.php:1138
+#: ../../include/text.php:1173
msgid "annoyed"
msgstr "verärgert"
-#: ../../include/text.php:1139
+#: ../../include/text.php:1174
msgid "anxious"
msgstr "unruhig"
-#: ../../include/text.php:1140
+#: ../../include/text.php:1175
msgid "cranky"
msgstr "schrullig"
-#: ../../include/text.php:1141
+#: ../../include/text.php:1176
msgid "disturbed"
msgstr "verstört"
-#: ../../include/text.php:1142
+#: ../../include/text.php:1177
msgid "frustrated"
msgstr "frustriert"
-#: ../../include/text.php:1143
+#: ../../include/text.php:1178
msgid "depressed"
msgstr "deprimiert"
-#: ../../include/text.php:1144
+#: ../../include/text.php:1179
msgid "motivated"
msgstr "motiviert"
-#: ../../include/text.php:1145
+#: ../../include/text.php:1180
msgid "relaxed"
msgstr "entspannt"
-#: ../../include/text.php:1146
+#: ../../include/text.php:1181
msgid "surprised"
msgstr "überrascht"
-#: ../../include/text.php:1320 ../../include/js_strings.php:70
+#: ../../include/text.php:1360 ../../include/js_strings.php:76
msgid "Monday"
msgstr "Montag"
-#: ../../include/text.php:1320 ../../include/js_strings.php:71
+#: ../../include/text.php:1360 ../../include/js_strings.php:77
msgid "Tuesday"
msgstr "Dienstag"
-#: ../../include/text.php:1320 ../../include/js_strings.php:72
+#: ../../include/text.php:1360 ../../include/js_strings.php:78
msgid "Wednesday"
msgstr "Mittwoch"
-#: ../../include/text.php:1320 ../../include/js_strings.php:73
+#: ../../include/text.php:1360 ../../include/js_strings.php:79
msgid "Thursday"
msgstr "Donnerstag"
-#: ../../include/text.php:1320 ../../include/js_strings.php:74
+#: ../../include/text.php:1360 ../../include/js_strings.php:80
msgid "Friday"
msgstr "Freitag"
-#: ../../include/text.php:1320 ../../include/js_strings.php:75
+#: ../../include/text.php:1360 ../../include/js_strings.php:81
msgid "Saturday"
msgstr "Samstag"
-#: ../../include/text.php:1320 ../../include/js_strings.php:69
+#: ../../include/text.php:1360 ../../include/js_strings.php:75
msgid "Sunday"
msgstr "Sonntag"
-#: ../../include/text.php:1324 ../../include/js_strings.php:45
+#: ../../include/text.php:1364 ../../include/js_strings.php:51
msgid "January"
msgstr "Januar"
-#: ../../include/text.php:1324 ../../include/js_strings.php:46
+#: ../../include/text.php:1364 ../../include/js_strings.php:52
msgid "February"
msgstr "Februar"
-#: ../../include/text.php:1324 ../../include/js_strings.php:47
+#: ../../include/text.php:1364 ../../include/js_strings.php:53
msgid "March"
msgstr "März"
-#: ../../include/text.php:1324 ../../include/js_strings.php:48
+#: ../../include/text.php:1364 ../../include/js_strings.php:54
msgid "April"
msgstr "April"
-#: ../../include/text.php:1324
+#: ../../include/text.php:1364
msgid "May"
msgstr "Mai"
-#: ../../include/text.php:1324 ../../include/js_strings.php:50
+#: ../../include/text.php:1364 ../../include/js_strings.php:56
msgid "June"
msgstr "Juni"
-#: ../../include/text.php:1324 ../../include/js_strings.php:51
+#: ../../include/text.php:1364 ../../include/js_strings.php:57
msgid "July"
msgstr "Juli"
-#: ../../include/text.php:1324 ../../include/js_strings.php:52
+#: ../../include/text.php:1364 ../../include/js_strings.php:58
msgid "August"
msgstr "August"
-#: ../../include/text.php:1324 ../../include/js_strings.php:53
+#: ../../include/text.php:1364 ../../include/js_strings.php:59
msgid "September"
msgstr "September"
-#: ../../include/text.php:1324 ../../include/js_strings.php:54
+#: ../../include/text.php:1364 ../../include/js_strings.php:60
msgid "October"
msgstr "Oktober"
-#: ../../include/text.php:1324 ../../include/js_strings.php:55
+#: ../../include/text.php:1364 ../../include/js_strings.php:61
msgid "November"
msgstr "November"
-#: ../../include/text.php:1324 ../../include/js_strings.php:56
+#: ../../include/text.php:1364 ../../include/js_strings.php:62
msgid "December"
msgstr "Dezember"
-#: ../../include/text.php:1388 ../../include/text.php:1392
+#: ../../include/text.php:1428 ../../include/text.php:1432
msgid "Unknown Attachment"
msgstr "Unbekannter Anhang"
-#: ../../include/text.php:1394 ../../include/feedutils.php:825
+#: ../../include/text.php:1434 ../../include/feedutils.php:852
msgid "unknown"
msgstr "unbekannt"
-#: ../../include/text.php:1430
+#: ../../include/text.php:1470
msgid "remove category"
msgstr "Kategorie entfernen"
-#: ../../include/text.php:1504
+#: ../../include/text.php:1544
msgid "remove from file"
msgstr "aus der Datei entfernen"
-#: ../../include/text.php:1623 ../../include/message.php:12
+#: ../../include/text.php:1686 ../../include/message.php:12
msgid "Download binary/encrypted content"
msgstr "Binären/verschlüsselten Inhalt herunterladen"
-#: ../../include/text.php:1782 ../../include/language.php:364
+#: ../../include/text.php:1848 ../../include/language.php:397
msgid "default"
msgstr "Standard"
-#: ../../include/text.php:1790
+#: ../../include/text.php:1856
msgid "Page layout"
msgstr "Seiten-Layout"
-#: ../../include/text.php:1790
+#: ../../include/text.php:1856
msgid "You can create your own with the layouts tool"
msgstr "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen"
-#: ../../include/text.php:1801
+#: ../../include/text.php:1867
msgid "HTML"
msgstr "HTML"
-#: ../../include/text.php:1804
+#: ../../include/text.php:1870
msgid "Comanche Layout"
msgstr "Comanche-Layout"
-#: ../../include/text.php:1809
+#: ../../include/text.php:1875
msgid "PHP"
msgstr "PHP"
-#: ../../include/text.php:1818
+#: ../../include/text.php:1884
msgid "Page content type"
msgstr "Art des Seiteninhalts"
-#: ../../include/text.php:1951
+#: ../../include/text.php:2017
msgid "activity"
msgstr "Aktivität"
-#: ../../include/text.php:2014
+#: ../../include/text.php:2099
msgid "a-z, 0-9, -, and _ only"
msgstr "nur a-z, 0-9, - und _"
-#: ../../include/text.php:2285
+#: ../../include/text.php:2399
msgid "Design Tools"
msgstr "Gestaltungswerkzeuge"
-#: ../../include/text.php:2291
+#: ../../include/text.php:2405
msgid "Pages"
msgstr "Seiten"
-#: ../../include/text.php:2313
+#: ../../include/text.php:2427
msgid "Import website..."
msgstr "Webseite importieren..."
-#: ../../include/text.php:2314
+#: ../../include/text.php:2428
msgid "Select folder to import"
msgstr "Ordner zum Importieren auswählen"
-#: ../../include/text.php:2315
+#: ../../include/text.php:2429
msgid "Import from a zipped folder:"
msgstr "Aus einem gezippten Ordner importieren:"
-#: ../../include/text.php:2316
+#: ../../include/text.php:2430
msgid "Import from cloud files:"
msgstr "Aus Cloud-Dateien importieren:"
-#: ../../include/text.php:2317
+#: ../../include/text.php:2431
msgid "/cloud/channel/path/to/folder"
msgstr "/Cloud/Kanal/Pfad/zum/Ordner"
-#: ../../include/text.php:2318
+#: ../../include/text.php:2432
msgid "Enter path to website files"
msgstr "Pfad zu Webseitendateien eingeben"
-#: ../../include/text.php:2319
+#: ../../include/text.php:2433
msgid "Select folder"
msgstr "Ordner auswählen"
-#: ../../include/text.php:2320
+#: ../../include/text.php:2434
msgid "Export website..."
msgstr "Webseite exportieren..."
-#: ../../include/text.php:2321
+#: ../../include/text.php:2435
msgid "Export to a zip file"
msgstr "In eine ZIP-Datei exportieren"
-#: ../../include/text.php:2322
+#: ../../include/text.php:2436
msgid "website.zip"
msgstr "website.zip"
-#: ../../include/text.php:2323
+#: ../../include/text.php:2437
msgid "Enter a name for the zip file."
msgstr "Geben Sie einen für die ZIP-Datei ein."
-#: ../../include/text.php:2324
+#: ../../include/text.php:2438
msgid "Export to cloud files"
msgstr "In Cloud-Dateien exportieren"
-#: ../../include/text.php:2325
+#: ../../include/text.php:2439
msgid "/path/to/export/folder"
msgstr "/Pfad/zum/exportierenden/Ordner"
-#: ../../include/text.php:2326
+#: ../../include/text.php:2440
msgid "Enter a path to a cloud files destination."
msgstr "Gib den Pfad zu einem Datei-Speicherort in der Cloud ein."
-#: ../../include/text.php:2327
+#: ../../include/text.php:2441
msgid "Specify folder"
msgstr "Ordner angeben"
@@ -12271,7 +12569,7 @@ msgstr "Gemeinsame Verbindungen"
msgid "View all %d common connections"
msgstr "Zeige alle %d gemeinsamen Verbindungen"
-#: ../../include/markdown.php:158 ../../include/bbcode.php:339
+#: ../../include/markdown.php:158 ../../include/bbcode.php:343
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr "%1$s schrieb den folgenden %2$s %3$s"
@@ -12375,182 +12673,182 @@ msgstr "Gib eine URL ein:"
msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr "Ungespeicherte Änderungen. Bist Du sicher, dass Du diese Seite verlassen möchtest?"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:31
msgid "timeago.prefixAgo"
msgstr "vor"
-#: ../../include/js_strings.php:28
+#: ../../include/js_strings.php:32
msgid "timeago.prefixFromNow"
msgstr "in"
-#: ../../include/js_strings.php:29
+#: ../../include/js_strings.php:33
msgid "timeago.suffixAgo"
msgstr "NONE"
-#: ../../include/js_strings.php:30
+#: ../../include/js_strings.php:34
msgid "timeago.suffixFromNow"
msgstr "NONE"
-#: ../../include/js_strings.php:31
+#: ../../include/js_strings.php:37
msgid "less than a minute"
msgstr "weniger als einer Minute"
-#: ../../include/js_strings.php:32
+#: ../../include/js_strings.php:38
msgid "about a minute"
msgstr "ungefähr einer Minute"
-#: ../../include/js_strings.php:33
+#: ../../include/js_strings.php:39
#, php-format
msgid "%d minutes"
msgstr "%d Minuten"
-#: ../../include/js_strings.php:34
+#: ../../include/js_strings.php:40
msgid "about an hour"
msgstr "ungefähr einer Stunde"
-#: ../../include/js_strings.php:35
+#: ../../include/js_strings.php:41
#, php-format
msgid "about %d hours"
msgstr "ungefähr %d Stunden"
-#: ../../include/js_strings.php:36
+#: ../../include/js_strings.php:42
msgid "a day"
msgstr "einem Tag"
-#: ../../include/js_strings.php:37
+#: ../../include/js_strings.php:43
#, php-format
msgid "%d days"
msgstr "%d Tagen"
-#: ../../include/js_strings.php:38
+#: ../../include/js_strings.php:44
msgid "about a month"
msgstr "ungefähr einem Monat"
-#: ../../include/js_strings.php:39
+#: ../../include/js_strings.php:45
#, php-format
msgid "%d months"
msgstr "%d Monaten"
-#: ../../include/js_strings.php:40
+#: ../../include/js_strings.php:46
msgid "about a year"
msgstr "ungefähr einem Jahr"
-#: ../../include/js_strings.php:41
+#: ../../include/js_strings.php:47
#, php-format
msgid "%d years"
msgstr "%d Jahren"
-#: ../../include/js_strings.php:42
+#: ../../include/js_strings.php:48
msgid " "
msgstr " "
-#: ../../include/js_strings.php:43
+#: ../../include/js_strings.php:49
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/js_strings.php:49
+#: ../../include/js_strings.php:55
msgctxt "long"
msgid "May"
msgstr "Mai"
-#: ../../include/js_strings.php:57
+#: ../../include/js_strings.php:63
msgid "Jan"
msgstr "Jan"
-#: ../../include/js_strings.php:58
+#: ../../include/js_strings.php:64
msgid "Feb"
msgstr "Feb"
-#: ../../include/js_strings.php:59
+#: ../../include/js_strings.php:65
msgid "Mar"
msgstr "Mär"
-#: ../../include/js_strings.php:60
+#: ../../include/js_strings.php:66
msgid "Apr"
msgstr "Apr"
-#: ../../include/js_strings.php:61
+#: ../../include/js_strings.php:67
msgctxt "short"
msgid "May"
msgstr "Mai"
-#: ../../include/js_strings.php:62
+#: ../../include/js_strings.php:68
msgid "Jun"
msgstr "Jun"
-#: ../../include/js_strings.php:63
+#: ../../include/js_strings.php:69
msgid "Jul"
msgstr "Jul"
-#: ../../include/js_strings.php:64
+#: ../../include/js_strings.php:70
msgid "Aug"
msgstr "Aug"
-#: ../../include/js_strings.php:65
+#: ../../include/js_strings.php:71
msgid "Sep"
msgstr "Sep"
-#: ../../include/js_strings.php:66
+#: ../../include/js_strings.php:72
msgid "Oct"
msgstr "Okt"
-#: ../../include/js_strings.php:67
+#: ../../include/js_strings.php:73
msgid "Nov"
msgstr "Nov"
-#: ../../include/js_strings.php:68
+#: ../../include/js_strings.php:74
msgid "Dec"
msgstr "Dez"
-#: ../../include/js_strings.php:76
+#: ../../include/js_strings.php:82
msgid "Sun"
msgstr "So"
-#: ../../include/js_strings.php:77
+#: ../../include/js_strings.php:83
msgid "Mon"
msgstr "Mo"
-#: ../../include/js_strings.php:78
+#: ../../include/js_strings.php:84
msgid "Tue"
msgstr "Di"
-#: ../../include/js_strings.php:79
+#: ../../include/js_strings.php:85
msgid "Wed"
msgstr "Mi"
-#: ../../include/js_strings.php:80
+#: ../../include/js_strings.php:86
msgid "Thu"
msgstr "Do"
-#: ../../include/js_strings.php:81
+#: ../../include/js_strings.php:87
msgid "Fri"
msgstr "Fr"
-#: ../../include/js_strings.php:82
+#: ../../include/js_strings.php:88
msgid "Sat"
msgstr "Sa"
-#: ../../include/js_strings.php:83
+#: ../../include/js_strings.php:89
msgctxt "calendar"
msgid "today"
msgstr "heute"
-#: ../../include/js_strings.php:84
+#: ../../include/js_strings.php:90
msgctxt "calendar"
msgid "month"
msgstr "Monat"
-#: ../../include/js_strings.php:85
+#: ../../include/js_strings.php:91
msgctxt "calendar"
msgid "week"
msgstr "Woche"
-#: ../../include/js_strings.php:86
+#: ../../include/js_strings.php:92
msgctxt "calendar"
msgid "day"
msgstr "Tag"
-#: ../../include/js_strings.php:87
+#: ../../include/js_strings.php:93
msgctxt "calendar"
msgid "All day"
msgstr "Ganztägig"
@@ -12598,61 +12896,61 @@ msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
msgid "Item was not found."
msgstr "Beitrag wurde nicht gefunden."
-#: ../../include/attach.php:553
+#: ../../include/attach.php:554
msgid "No source file."
msgstr "Keine Quelldatei."
-#: ../../include/attach.php:575
+#: ../../include/attach.php:576
msgid "Cannot locate file to replace"
msgstr "Kann Datei zum Ersetzen nicht finden"
-#: ../../include/attach.php:593
+#: ../../include/attach.php:595
msgid "Cannot locate file to revise/update"
msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
-#: ../../include/attach.php:734
+#: ../../include/attach.php:737
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Datei überschreitet das Größen-Limit von %d"
-#: ../../include/attach.php:754
+#: ../../include/attach.php:758
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
-#: ../../include/attach.php:929
+#: ../../include/attach.php:940
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
-#: ../../include/attach.php:948
+#: ../../include/attach.php:959
msgid "Stored file could not be verified. Upload failed."
msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
-#: ../../include/attach.php:1022 ../../include/attach.php:1038
+#: ../../include/attach.php:1033 ../../include/attach.php:1049
msgid "Path not available."
msgstr "Pfad nicht verfügbar."
-#: ../../include/attach.php:1087 ../../include/attach.php:1252
+#: ../../include/attach.php:1098 ../../include/attach.php:1263
msgid "Empty pathname"
msgstr "Leere Pfadangabe"
-#: ../../include/attach.php:1113
+#: ../../include/attach.php:1124
msgid "duplicate filename or path"
msgstr "doppelter Dateiname oder Pfad"
-#: ../../include/attach.php:1138
+#: ../../include/attach.php:1149
msgid "Path not found."
msgstr "Pfad nicht gefunden."
-#: ../../include/attach.php:1206
+#: ../../include/attach.php:1217
msgid "mkdir failed."
msgstr "mkdir fehlgeschlagen."
-#: ../../include/attach.php:1210
+#: ../../include/attach.php:1221
msgid "database storage failed."
msgstr "Speichern in der Datenbank fehlgeschlagen."
-#: ../../include/attach.php:1258
+#: ../../include/attach.php:1269
msgid "Empty path"
msgstr "Leere Pfadangabe"
@@ -12699,34 +12997,34 @@ msgstr "Nur für akzeptierte Verbindungen sichtbar."
msgid "Visible to specific connections."
msgstr "Sichtbar für bestimmte Verbindungen."
-#: ../../include/items.php:4117
+#: ../../include/items.php:4147
msgid "Privacy group is empty."
msgstr "Gruppe ist leer."
-#: ../../include/items.php:4124
+#: ../../include/items.php:4154
#, php-format
msgid "Privacy group: %s"
msgstr "Gruppe: %s"
-#: ../../include/items.php:4136
+#: ../../include/items.php:4166
msgid "Connection not found."
msgstr "Die Verbindung wurde nicht gefunden."
-#: ../../include/items.php:4485
+#: ../../include/items.php:4515
msgid "profile photo"
msgstr "Profilfoto"
-#: ../../include/items.php:4676
+#: ../../include/items.php:4706
#, php-format
msgid "[Edited %s]"
msgstr "[%s wurde bearbeitet]"
-#: ../../include/items.php:4676
+#: ../../include/items.php:4706
msgctxt "edit_activity"
msgid "Post"
msgstr "Beitrag"
-#: ../../include/items.php:4676
+#: ../../include/items.php:4706
msgctxt "edit_activity"
msgid "Comment"
msgstr "Kommentar"
@@ -12745,7 +13043,7 @@ msgstr "Name ist zu lang"
#: ../../include/channel.php:188
msgid "No account identifier"
-msgstr "Keine Account-Kennung"
+msgstr "Keine Konten-Kennung"
#: ../../include/channel.php:200
msgid "Nickname is required."
@@ -12771,11 +13069,11 @@ msgstr "Neues Profil erstellen"
msgid "Visible to everybody"
msgstr "Für jeden sichtbar"
-#: ../../include/channel.php:1396 ../../include/channel.php:1523
+#: ../../include/channel.php:1396 ../../include/channel.php:1524
msgid "Gender:"
msgstr "Geschlecht:"
-#: ../../include/channel.php:1398 ../../include/channel.php:1578
+#: ../../include/channel.php:1398 ../../include/channel.php:1579
msgid "Homepage:"
msgstr "Homepage:"
@@ -12783,108 +13081,112 @@ msgstr "Homepage:"
msgid "Online Now"
msgstr "gerade online"
-#: ../../include/channel.php:1482
+#: ../../include/channel.php:1452
+msgid "Change your profile photo"
+msgstr "Dein Profilfoto ändern"
+
+#: ../../include/channel.php:1483
msgid "Trans"
-msgstr ""
+msgstr "Trans"
-#: ../../include/channel.php:1528
+#: ../../include/channel.php:1529
msgid "Like this channel"
msgstr "Dieser Kanal gefällt mir"
-#: ../../include/channel.php:1552
+#: ../../include/channel.php:1553
msgid "j F, Y"
msgstr "j. F Y"
-#: ../../include/channel.php:1553
+#: ../../include/channel.php:1554
msgid "j F"
msgstr "j. F"
-#: ../../include/channel.php:1560
+#: ../../include/channel.php:1561
msgid "Birthday:"
msgstr "Geburtstag:"
-#: ../../include/channel.php:1573
+#: ../../include/channel.php:1574
#, php-format
msgid "for %1$d %2$s"
msgstr "seit %1$d %2$s"
-#: ../../include/channel.php:1576
+#: ../../include/channel.php:1577
msgid "Sexual Preference:"
msgstr "Sexuelle Orientierung:"
-#: ../../include/channel.php:1582
+#: ../../include/channel.php:1583
msgid "Tags:"
msgstr "Schlagworte:"
-#: ../../include/channel.php:1584
+#: ../../include/channel.php:1585
msgid "Political Views:"
msgstr "Politische Ansichten:"
-#: ../../include/channel.php:1586
+#: ../../include/channel.php:1587
msgid "Religion:"
msgstr "Religion:"
-#: ../../include/channel.php:1590
+#: ../../include/channel.php:1591
msgid "Hobbies/Interests:"
msgstr "Hobbys/Interessen:"
-#: ../../include/channel.php:1592
+#: ../../include/channel.php:1593
msgid "Likes:"
msgstr "Gefällt:"
-#: ../../include/channel.php:1594
+#: ../../include/channel.php:1595
msgid "Dislikes:"
msgstr "Gefällt nicht:"
-#: ../../include/channel.php:1596
+#: ../../include/channel.php:1597
msgid "Contact information and Social Networks:"
msgstr "Kontaktinformation und soziale Netzwerke:"
-#: ../../include/channel.php:1598
+#: ../../include/channel.php:1599
msgid "My other channels:"
msgstr "Meine anderen Kanäle:"
-#: ../../include/channel.php:1600
+#: ../../include/channel.php:1601
msgid "Musical interests:"
msgstr "Musikalische Interessen:"
-#: ../../include/channel.php:1602
+#: ../../include/channel.php:1603
msgid "Books, literature:"
msgstr "Bücher, Literatur:"
-#: ../../include/channel.php:1604
+#: ../../include/channel.php:1605
msgid "Television:"
msgstr "Fernsehen:"
-#: ../../include/channel.php:1606
+#: ../../include/channel.php:1607
msgid "Film/dance/culture/entertainment:"
msgstr "Film/Tanz/Kultur/Unterhaltung:"
-#: ../../include/channel.php:1608
+#: ../../include/channel.php:1609
msgid "Love/Romance:"
msgstr "Liebe/Romantik:"
-#: ../../include/channel.php:1610
+#: ../../include/channel.php:1611
msgid "Work/employment:"
msgstr "Arbeit/Anstellung:"
-#: ../../include/channel.php:1612
+#: ../../include/channel.php:1613
msgid "School/education:"
msgstr "Schule/Ausbildung:"
-#: ../../include/channel.php:1635
+#: ../../include/channel.php:1636
msgid "Like this thing"
msgstr "Gefällt mir"
-#: ../../include/event.php:23 ../../include/event.php:70
+#: ../../include/event.php:24 ../../include/event.php:71
msgid "l F d, Y \\@ g:i A"
msgstr "l, d. F Y, H:i"
-#: ../../include/event.php:31 ../../include/event.php:74
+#: ../../include/event.php:32 ../../include/event.php:75
msgid "Starts:"
msgstr "Beginnt:"
-#: ../../include/event.php:41 ../../include/event.php:78
+#: ../../include/event.php:42 ../../include/event.php:79
msgid "Finishes:"
msgstr "Endet:"
@@ -12892,167 +13194,175 @@ msgstr "Endet:"
msgid "This event has been added to your calendar."
msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt"
-#: ../../include/event.php:1220
+#: ../../include/event.php:1227
msgid "Not specified"
msgstr "Keine Angabe"
-#: ../../include/event.php:1221
+#: ../../include/event.php:1228
msgid "Needs Action"
msgstr "Aktion erforderlich"
-#: ../../include/event.php:1222
+#: ../../include/event.php:1229
msgid "Completed"
msgstr "Abgeschlossen"
-#: ../../include/event.php:1223
+#: ../../include/event.php:1230
msgid "In Process"
msgstr "In Bearbeitung"
-#: ../../include/event.php:1224
+#: ../../include/event.php:1231
msgid "Cancelled"
msgstr "gestrichen"
-#: ../../include/event.php:1303 ../../include/connections.php:684
+#: ../../include/event.php:1310 ../../include/connections.php:684
msgid "Home, Voice"
msgstr "Zuhause, Sprache"
-#: ../../include/event.php:1304 ../../include/connections.php:685
+#: ../../include/event.php:1311 ../../include/connections.php:685
msgid "Home, Fax"
msgstr "Zuhause, Fax"
-#: ../../include/event.php:1306 ../../include/connections.php:687
+#: ../../include/event.php:1313 ../../include/connections.php:687
msgid "Work, Voice"
msgstr "Arbeit, Sprache"
-#: ../../include/event.php:1307 ../../include/connections.php:688
+#: ../../include/event.php:1314 ../../include/connections.php:688
msgid "Work, Fax"
msgstr "Arbeit, Fax"
-#: ../../include/network.php:761
+#: ../../include/network.php:762
msgid "view full size"
msgstr "In Vollbildansicht anschauen"
-#: ../../include/network.php:1763 ../../include/network.php:1764
+#: ../../include/network.php:1769 ../../include/network.php:1770
msgid "Friendica"
msgstr "Friendica"
-#: ../../include/network.php:1765
+#: ../../include/network.php:1771
msgid "OStatus"
msgstr "OStatus"
-#: ../../include/network.php:1766
+#: ../../include/network.php:1772
msgid "GNU-Social"
msgstr "GNU-Social"
-#: ../../include/network.php:1767
+#: ../../include/network.php:1773
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/network.php:1770
+#: ../../include/network.php:1776
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../include/network.php:1771
+#: ../../include/network.php:1777
msgid "Facebook"
msgstr "Facebook"
-#: ../../include/network.php:1772
+#: ../../include/network.php:1778
msgid "Zot"
-msgstr "Zot!"
+msgstr "Zot"
-#: ../../include/network.php:1773
+#: ../../include/network.php:1779
msgid "LinkedIn"
msgstr "LinkedIn"
-#: ../../include/network.php:1774
+#: ../../include/network.php:1780
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/network.php:1775
+#: ../../include/network.php:1781
msgid "MySpace"
msgstr "MySpace"
-#: ../../include/language.php:377
+#: ../../include/language.php:410
msgid "Select an alternate language"
msgstr "Wähle eine alternative Sprache"
-#: ../../include/acl_selectors.php:208
+#: ../../include/acl_selectors.php:113
msgid "Who can see this?"
msgstr "Wer kann das sehen?"
-#: ../../include/acl_selectors.php:209
+#: ../../include/acl_selectors.php:114
msgid "Custom selection"
msgstr "Benutzerdefinierte Auswahl"
-#: ../../include/acl_selectors.php:210
+#: ../../include/acl_selectors.php:115
msgid ""
"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
" the scope of \"Show\"."
msgstr "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen."
-#: ../../include/acl_selectors.php:211
+#: ../../include/acl_selectors.php:116
msgid "Show"
msgstr "Anzeigen"
-#: ../../include/acl_selectors.php:212
+#: ../../include/acl_selectors.php:117
msgid "Don't show"
msgstr "Nicht anzeigen"
-#: ../../include/acl_selectors.php:245
+#: ../../include/acl_selectors.php:150
#, php-format
msgid ""
"Post permissions %s cannot be changed %s after a post is shared.</br />These"
" permissions set who is allowed to view the post."
msgstr "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann."
-#: ../../include/dba/dba_driver.php:190
+#: ../../include/dba/dba_driver.php:178
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"
-#: ../../include/bbcode.php:194 ../../include/bbcode.php:1106
-#: ../../include/bbcode.php:1109 ../../include/bbcode.php:1114
-#: ../../include/bbcode.php:1117 ../../include/bbcode.php:1120
-#: ../../include/bbcode.php:1123 ../../include/bbcode.php:1128
-#: ../../include/bbcode.php:1131 ../../include/bbcode.php:1136
-#: ../../include/bbcode.php:1139 ../../include/bbcode.php:1142
-#: ../../include/bbcode.php:1145
+#: ../../include/bbcode.php:198 ../../include/bbcode.php:1151
+#: ../../include/bbcode.php:1154 ../../include/bbcode.php:1159
+#: ../../include/bbcode.php:1162 ../../include/bbcode.php:1165
+#: ../../include/bbcode.php:1168 ../../include/bbcode.php:1173
+#: ../../include/bbcode.php:1176 ../../include/bbcode.php:1181
+#: ../../include/bbcode.php:1184 ../../include/bbcode.php:1187
+#: ../../include/bbcode.php:1190
msgid "Image/photo"
msgstr "Bild/Foto"
-#: ../../include/bbcode.php:233 ../../include/bbcode.php:1156
+#: ../../include/bbcode.php:237 ../../include/bbcode.php:1201
msgid "Encrypted content"
msgstr "Verschlüsselter Inhalt"
-#: ../../include/bbcode.php:249
+#: ../../include/bbcode.php:253
#, php-format
msgid "Install %1$s element %2$s"
-msgstr ""
+msgstr "Installiere %1$s Element %2$s"
-#: ../../include/bbcode.php:253
+#: ../../include/bbcode.php:257
#, php-format
msgid ""
"This post contains an installable %s element, however you lack permissions "
"to install it on this site."
msgstr "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren."
-#: ../../include/bbcode.php:331
+#: ../../include/bbcode.php:335
msgid "card"
msgstr "Karte"
-#: ../../include/bbcode.php:333
+#: ../../include/bbcode.php:337
msgid "article"
msgstr "Artikel"
-#: ../../include/bbcode.php:416 ../../include/bbcode.php:424
+#: ../../include/bbcode.php:420 ../../include/bbcode.php:428
msgid "Click to open/close"
msgstr "Klicke zum Öffnen/Schließen"
-#: ../../include/bbcode.php:424
+#: ../../include/bbcode.php:428
msgid "spoiler"
msgstr "Spoiler"
-#: ../../include/bbcode.php:1094
+#: ../../include/bbcode.php:441
+msgid "View article"
+msgstr "Artikel ansehen"
+
+#: ../../include/bbcode.php:441
+msgid "View summary"
+msgstr "Zusammenfassung ansehen"
+
+#: ../../include/bbcode.php:1139
msgid "$1 wrote:"
msgstr "$1 schrieb:"
@@ -13072,7 +13382,7 @@ msgstr "Eingebetteter Inhalt"
msgid "Embedding disabled"
msgstr "Einbetten deaktiviert"
-#: ../../include/zid.php:340
+#: ../../include/zid.php:346
#, php-format
msgid "OpenWebAuth: %1$s welcomes %2$s"
msgstr "OpenWebAuth: %1$s heißt %2$s willkommen"
@@ -13081,344 +13391,364 @@ msgstr "OpenWebAuth: %1$s heißt %2$s willkommen"
msgid "General Features"
msgstr "Allgemeine Funktionen"
-#: ../../include/features.php:59
-msgid "Multiple Profiles"
-msgstr "Mehrfachprofile"
-
#: ../../include/features.php:60
-msgid "Ability to create multiple profiles"
-msgstr "Ermöglicht das Anlegen mehrerer Profile pro Kanal"
-
-#: ../../include/features.php:68
msgid "Advanced Profiles"
msgstr "Erweiterte Profile"
-#: ../../include/features.php:69
+#: ../../include/features.php:61
msgid "Additional profile sections and selections"
msgstr "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung"
-#: ../../include/features.php:77
+#: ../../include/features.php:69
msgid "Profile Import/Export"
msgstr "Profil-Import/Export"
-#: ../../include/features.php:78
+#: ../../include/features.php:70
msgid "Save and load profile details across sites/channels"
msgstr "Ermöglicht das Speichern von Profilen, um sie in einen anderen Kanal zu importieren"
-#: ../../include/features.php:86
+#: ../../include/features.php:78
msgid "Web Pages"
msgstr "Webseiten"
-#: ../../include/features.php:87
+#: ../../include/features.php:79
msgid "Provide managed web pages on your channel"
msgstr "Ermöglicht das Erstellen von Webseiten in Deinem Kanal"
-#: ../../include/features.php:96
+#: ../../include/features.php:88
msgid "Provide a wiki for your channel"
msgstr "Stelle ein Wiki in Deinem Kanal zur Verfügung"
-#: ../../include/features.php:113
+#: ../../include/features.php:105
msgid "Private Notes"
msgstr "Private Notizen"
-#: ../../include/features.php:114
+#: ../../include/features.php:106
msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)"
-#: ../../include/features.php:123
+#: ../../include/features.php:115
msgid "Create personal planning cards"
msgstr "Erstelle persönliche (Notiz-)Karten zur Planung/Koordination oder ähnlichen Zwecken"
-#: ../../include/features.php:141
+#: ../../include/features.php:125
+msgid "Create interactive articles"
+msgstr "Erstelle interaktive Artikel"
+
+#: ../../include/features.php:133
msgid "Navigation Channel Select"
msgstr "Kanal-Auswahl in der Navigationsleiste"
-#: ../../include/features.php:142
+#: ../../include/features.php:134
msgid "Change channels directly from within the navigation dropdown menu"
msgstr "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü"
-#: ../../include/features.php:150
+#: ../../include/features.php:142
msgid "Photo Location"
msgstr "Aufnahmeort"
-#: ../../include/features.php:151
+#: ../../include/features.php:143
msgid "If location data is available on uploaded photos, link this to a map."
msgstr "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte"
-#: ../../include/features.php:159
+#: ../../include/features.php:151
msgid "Access Controlled Chatrooms"
msgstr "Zugriffskontrollierte Chaträume"
-#: ../../include/features.php:160
+#: ../../include/features.php:152
msgid "Provide chatrooms and chat services with access control."
msgstr "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an."
-#: ../../include/features.php:169
-msgid "Provide alternate connection permission roles."
-msgstr "Stelle benutzerdefinierte Berechtigungsrollen für Verbindungen zur Verfügung."
-
-#: ../../include/features.php:177
+#: ../../include/features.php:161
msgid "Smart Birthdays"
msgstr "Smarte Geburtstage"
-#: ../../include/features.php:178
+#: ../../include/features.php:162
msgid ""
"Make birthday events timezone aware in case your friends are scattered "
"across the planet."
msgstr "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind."
-#: ../../include/features.php:186
+#: ../../include/features.php:170
msgid "Event Timezone Selection"
msgstr "Termin-Zeitzonenauswahl"
-#: ../../include/features.php:187
+#: ../../include/features.php:171
msgid "Allow event creation in timezones other than your own."
msgstr "Ermögliche das Erstellen von Terminen in anderen Zeitzonen als Deiner eigenen."
-#: ../../include/features.php:195
+#: ../../include/features.php:180
+msgid "Premium Channel"
+msgstr "Premium-Kanal"
+
+#: ../../include/features.php:181
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen"
+
+#: ../../include/features.php:189
msgid "Advanced Directory Search"
msgstr "Erweiterte Verzeichnissuche"
-#: ../../include/features.php:196
+#: ../../include/features.php:190
msgid "Allows creation of complex directory search queries"
msgstr "Ermöglicht die Erstellung komplexer Verzeichnis-Suchabfragen"
-#: ../../include/features.php:204
+#: ../../include/features.php:198
msgid "Advanced Theme and Layout Settings"
msgstr "Erweiterte Design- und Layout-Einstellungen"
-#: ../../include/features.php:205
+#: ../../include/features.php:199
msgid "Allows fine tuning of themes and page layouts"
msgstr "Erlaubt die Feineinstellung von Designs und Seitenlayouts"
-#: ../../include/features.php:215
+#: ../../include/features.php:208
+msgid "Access Control and Permissions"
+msgstr "Zugriffskontrolle und Berechtigungen"
+
+#: ../../include/features.php:212 ../../include/group.php:328
+msgid "Privacy Groups"
+msgstr "Gruppen"
+
+#: ../../include/features.php:213
+msgid "Enable management and selection of privacy groups"
+msgstr "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren"
+
+#: ../../include/features.php:221
+msgid "Multiple Profiles"
+msgstr "Mehrfachprofile"
+
+#: ../../include/features.php:222
+msgid "Ability to create multiple profiles"
+msgstr "Ermöglicht das Anlegen mehrerer Profile pro Kanal"
+
+#: ../../include/features.php:232
+msgid "Provide alternate connection permission roles."
+msgstr "Stelle benutzerdefinierte Berechtigungsrollen für Verbindungen zur Verfügung."
+
+#: ../../include/features.php:240
+msgid "OAuth Clients"
+msgstr "OAuth Clients"
+
+#: ../../include/features.php:241
+msgid "Manage authenticatication tokens for mobile and remote apps."
+msgstr "Verwalte Tokens für den Zugriff von mobilen bzw. externen Anwendungen."
+
+#: ../../include/features.php:249
+msgid "Access Tokens"
+msgstr "Zugangstokens"
+
+#: ../../include/features.php:250
+msgid "Create access tokens so that non-members can access private content."
+msgstr "Erzeuge Tokens für den Zugriff von Nicht-Mitgliedern auf private Inhalte."
+
+#: ../../include/features.php:261
msgid "Post Composition Features"
msgstr "Nachbearbeitungsfunktionen"
-#: ../../include/features.php:219
+#: ../../include/features.php:265
msgid "Large Photos"
msgstr "Große Fotos"
-#: ../../include/features.php:220
+#: ../../include/features.php:266
msgid ""
"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
"(640px) photo thumbnails"
msgstr "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet."
-#: ../../include/features.php:229
+#: ../../include/features.php:275
msgid "Automatically import channel content from other channels or feeds"
msgstr "Ermöglicht den automatischen Import von Inhalten für diesen Kanal von anderen Kanälen oder Feeds"
-#: ../../include/features.php:237
+#: ../../include/features.php:283
msgid "Even More Encryption"
msgstr "Noch mehr Verschlüsselung"
-#: ../../include/features.php:238
+#: ../../include/features.php:284
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Ermöglicht optional die zusätzliche Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Schlüssel)"
-#: ../../include/features.php:246
+#: ../../include/features.php:292
msgid "Enable Voting Tools"
msgstr "Umfragewerkzeuge aktivieren"
-#: ../../include/features.php:247
+#: ../../include/features.php:293
msgid "Provide a class of post which others can vote on"
msgstr "Aktiviert die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, einem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)"
-#: ../../include/features.php:255
+#: ../../include/features.php:301
msgid "Disable Comments"
msgstr "Kommentare deaktivieren"
-#: ../../include/features.php:256
+#: ../../include/features.php:302
msgid "Provide the option to disable comments for a post"
msgstr "Ermöglicht, die Kommentarfunktion für einzelne Beiträge abzuschalten"
-#: ../../include/features.php:264
+#: ../../include/features.php:310
msgid "Delayed Posting"
msgstr "Verzögertes Senden"
-#: ../../include/features.php:265
+#: ../../include/features.php:311
msgid "Allow posts to be published at a later date"
msgstr "Ermöglicht es, Beiträge zu einem späteren Zeitpunkt zu veröffentlichen"
-#: ../../include/features.php:273
+#: ../../include/features.php:319
msgid "Content Expiration"
msgstr "Verfall von Inhalten"
-#: ../../include/features.php:274
+#: ../../include/features.php:320
msgid "Remove posts/comments and/or private messages at a future time"
msgstr "Ermöglicht das automatische Löschen von Beiträgen, Kommentaren und/oder privaten Nachrichten zu einem zukünftigen Datum."
-#: ../../include/features.php:282
+#: ../../include/features.php:328
msgid "Suppress Duplicate Posts/Comments"
msgstr "Doppelte Beiträge unterdrücken"
-#: ../../include/features.php:283
+#: ../../include/features.php:329
msgid ""
"Prevent posts with identical content to be published with less than two "
"minutes in between submissions."
msgstr "Verhindert, dass innerhalb von zwei Minuten Beiträge mit identischem Inhalt veröffentlicht werden."
-#: ../../include/features.php:294
+#: ../../include/features.php:340
msgid "Network and Stream Filtering"
msgstr "Netzwerk- und Stream-Filter"
-#: ../../include/features.php:298
+#: ../../include/features.php:344
msgid "Search by Date"
msgstr "Suche nach Datum"
-#: ../../include/features.php:299
+#: ../../include/features.php:345
msgid "Ability to select posts by date ranges"
msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
-#: ../../include/features.php:307 ../../include/group.php:328
-msgid "Privacy Groups"
-msgstr "Gruppen"
-
-#: ../../include/features.php:308
-msgid "Enable management and selection of privacy groups"
-msgstr "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren"
-
-#: ../../include/features.php:317
+#: ../../include/features.php:355
msgid "Save search terms for re-use"
msgstr "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung"
-#: ../../include/features.php:325
+#: ../../include/features.php:363
msgid "Network Personal Tab"
msgstr "Persönlicher Netzwerkreiter"
-#: ../../include/features.php:326
+#: ../../include/features.php:364
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast"
-#: ../../include/features.php:334
+#: ../../include/features.php:372
msgid "Network New Tab"
msgstr "Netzwerkreiter Neu"
-#: ../../include/features.php:335
+#: ../../include/features.php:373
msgid "Enable tab to display all new Network activity"
msgstr "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt"
-#: ../../include/features.php:343
+#: ../../include/features.php:381
msgid "Affinity Tool"
msgstr "Beziehungs-Tool"
-#: ../../include/features.php:344
+#: ../../include/features.php:382
msgid "Filter stream activity by depth of relationships"
msgstr "Aktiviert ein Werkzeug in der Grid-Ansicht, das den Stream nach Grad der Beziehung filtern kann"
-#: ../../include/features.php:353
+#: ../../include/features.php:391
msgid "Show friend and connection suggestions"
msgstr "Freund- und Verbindungsvorschläge anzeigen"
-#: ../../include/features.php:361
+#: ../../include/features.php:399
msgid "Connection Filtering"
msgstr "Filter für Verbindungen"
-#: ../../include/features.php:362
+#: ../../include/features.php:400
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)"
-#: ../../include/features.php:374
+#: ../../include/features.php:412
msgid "Post/Comment Tools"
msgstr "Beitrag-/Kommentar-Tools"
-#: ../../include/features.php:379
-msgid "Use markdown for editing posts"
-msgstr "Verwende Markdown zum Bearbeiten von Beiträgen"
-
-#: ../../include/features.php:387
+#: ../../include/features.php:416
msgid "Community Tagging"
msgstr "Gemeinschaftliches Verschlagworten"
-#: ../../include/features.php:388
+#: ../../include/features.php:417
msgid "Ability to tag existing posts"
msgstr "Ermöglicht das Verschlagworten existierender Beiträge"
-#: ../../include/features.php:396
+#: ../../include/features.php:425
msgid "Post Categories"
msgstr "Beitrags-Kategorien"
-#: ../../include/features.php:397
+#: ../../include/features.php:426
msgid "Add categories to your posts"
msgstr "Aktiviert Kategorien für Beiträge"
-#: ../../include/features.php:405
+#: ../../include/features.php:434
msgid "Emoji Reactions"
msgstr "Emoji Reaktionen"
-#: ../../include/features.php:406
+#: ../../include/features.php:435
msgid "Add emoji reaction ability to posts"
msgstr "Aktiviert Emoji-Reaktionen für Beiträge"
-#: ../../include/features.php:415
+#: ../../include/features.php:444
msgid "Ability to file posts under folders"
msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
-#: ../../include/features.php:423
+#: ../../include/features.php:452
msgid "Dislike Posts"
msgstr "Gefällt-mir-nicht-Beiträge"
-#: ../../include/features.php:424
+#: ../../include/features.php:453
msgid "Ability to dislike posts/comments"
msgstr "Aktiviert die „Gefällt mir nicht“-Schaltfläche"
-#: ../../include/features.php:432
+#: ../../include/features.php:461
msgid "Star Posts"
msgstr "Beiträge mit Sternchen versehen"
-#: ../../include/features.php:433
+#: ../../include/features.php:462
msgid "Ability to mark special posts with a star indicator"
msgstr "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol"
-#: ../../include/features.php:441
+#: ../../include/features.php:470
msgid "Tag Cloud"
msgstr "Schlagwort-Wolke"
-#: ../../include/features.php:442
+#: ../../include/features.php:471
msgid "Provide a personal tag cloud on your channel page"
msgstr "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite"
-#: ../../include/features.php:453
-msgid "Premium Channel"
-msgstr "Premium-Kanal"
-
-#: ../../include/features.php:454
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen"
-
-#: ../../include/taxonomy.php:377 ../../include/taxonomy.php:398
+#: ../../include/taxonomy.php:384 ../../include/taxonomy.php:405
msgid "Tags"
msgstr "Schlagwörter"
-#: ../../include/taxonomy.php:483
+#: ../../include/taxonomy.php:487
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: ../../include/taxonomy.php:504
+#: ../../include/taxonomy.php:508
msgid "have"
msgstr "habe"
-#: ../../include/taxonomy.php:504
+#: ../../include/taxonomy.php:508
msgid "has"
msgstr "hat"
-#: ../../include/taxonomy.php:505
+#: ../../include/taxonomy.php:509
msgid "want"
msgstr "will"
-#: ../../include/taxonomy.php:505
+#: ../../include/taxonomy.php:509
msgid "wants"
msgstr "will"
-#: ../../include/taxonomy.php:506
+#: ../../include/taxonomy.php:510
msgid "likes"
msgstr "gefällt"
-#: ../../include/taxonomy.php:507
+#: ../../include/taxonomy.php:511
msgid "dislikes"
msgstr "missfällt"
@@ -13450,256 +13780,200 @@ msgstr "Bitte gib die benötigten Informationen ein."
msgid "Failed to store account information."
msgstr "Speichern der Nutzerkontodaten fehlgeschlagen."
-#: ../../include/account.php:291
+#: ../../include/account.php:313
#, php-format
msgid "Registration confirmation for %s"
msgstr "Registrierungsbestätigung für %s"
-#: ../../include/account.php:360
+#: ../../include/account.php:382
#, php-format
msgid "Registration request at %s"
msgstr "Registrierungsanfrage auf %s"
-#: ../../include/account.php:382
+#: ../../include/account.php:404
msgid "your registration password"
msgstr "Dein Registrierungspasswort"
-#: ../../include/account.php:388 ../../include/account.php:450
+#: ../../include/account.php:410 ../../include/account.php:472
#, php-format
msgid "Registration details for %s"
msgstr "Registrierungsdetails für %s"
-#: ../../include/account.php:461
+#: ../../include/account.php:483
msgid "Account approved."
msgstr "Nutzerkonto bestätigt."
-#: ../../include/account.php:501
+#: ../../include/account.php:523
#, php-format
msgid "Registration revoked for %s"
msgstr "Registrierung für %s wurde widerrufen"
-#: ../../include/account.php:780 ../../include/account.php:782
+#: ../../include/account.php:802 ../../include/account.php:804
msgid "Click here to upgrade."
msgstr "Klicke hier, um das Upgrade durchzuführen."
-#: ../../include/account.php:788
+#: ../../include/account.php:810
msgid "This action exceeds the limits set by your subscription plan."
msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
-#: ../../include/account.php:793
+#: ../../include/account.php:815
msgid "This action is not available under your subscription plan."
msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
-#: ../../include/datetime.php:150
+#: ../../include/datetime.php:134
msgid "Birthday"
msgstr "Geburtstag"
-#: ../../include/datetime.php:152
+#: ../../include/datetime.php:134
msgid "Age: "
msgstr "Alter:"
-#: ../../include/datetime.php:154
+#: ../../include/datetime.php:134
msgid "YYYY-MM-DD or MM-DD"
msgstr "JJJJ-MM-TT oder MM-TT"
-#: ../../include/datetime.php:298
+#: ../../include/datetime.php:238
msgid "less than a second ago"
msgstr "Vor weniger als einer Sekunde"
-#: ../../include/datetime.php:316
+#: ../../include/datetime.php:256
#, php-format
msgctxt "e.g. 22 hours ago, 1 minute ago"
msgid "%1$d %2$s ago"
msgstr "vor %1$d %2$s"
-#: ../../include/datetime.php:327
+#: ../../include/datetime.php:267
msgctxt "relative_date"
msgid "year"
msgid_plural "years"
msgstr[0] "Jahr"
msgstr[1] "Jahre"
-#: ../../include/datetime.php:330
+#: ../../include/datetime.php:270
msgctxt "relative_date"
msgid "month"
msgid_plural "months"
msgstr[0] "Monat"
msgstr[1] "Monate"
-#: ../../include/datetime.php:333
+#: ../../include/datetime.php:273
msgctxt "relative_date"
msgid "week"
msgid_plural "weeks"
msgstr[0] "Woche"
msgstr[1] "Wochen"
-#: ../../include/datetime.php:336
+#: ../../include/datetime.php:276
msgctxt "relative_date"
msgid "day"
msgid_plural "days"
msgstr[0] "Tag"
msgstr[1] "Tage"
-#: ../../include/datetime.php:339
+#: ../../include/datetime.php:279
msgctxt "relative_date"
msgid "hour"
msgid_plural "hours"
msgstr[0] "Stunde"
msgstr[1] "Stunden"
-#: ../../include/datetime.php:342
+#: ../../include/datetime.php:282
msgctxt "relative_date"
msgid "minute"
msgid_plural "minutes"
msgstr[0] "Minute"
msgstr[1] "Minuten"
-#: ../../include/datetime.php:345
+#: ../../include/datetime.php:285
msgctxt "relative_date"
msgid "second"
msgid_plural "seconds"
msgstr[0] "Sekunde"
msgstr[1] "Sekunden"
-#: ../../include/datetime.php:579
+#: ../../include/datetime.php:514
#, php-format
msgid "%1$s's birthday"
msgstr "%1$ss Geburtstag"
-#: ../../include/datetime.php:580
+#: ../../include/datetime.php:515
#, php-format
msgid "Happy Birthday %1$s"
msgstr "Alles Gute zum Geburtstag, %1$s"
-#: ../../include/nav.php:98
+#: ../../include/nav.php:96
msgid "Remote authentication"
msgstr "Ãœber Konto auf anderem Server einloggen"
-#: ../../include/nav.php:98
+#: ../../include/nav.php:96
msgid "Click to authenticate to your home hub"
msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren"
-#: ../../include/nav.php:105
-msgid "Network Activity"
-msgstr "Netzwerk-Aktivitäten"
-
-#: ../../include/nav.php:107
-msgid "Mark all activity notifications seen"
-msgstr "Alle Benachrichtigungen als gesehen markieren"
-
-#: ../../include/nav.php:109
-msgid "Channel home"
-msgstr "Mein Kanal"
-
-#: ../../include/nav.php:110
-msgid "View your channel home"
-msgstr "Zeige Deine Kanalseite an"
-
-#: ../../include/nav.php:111
-msgid "Mark all channel notifications seen"
-msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
-
-#: ../../include/nav.php:116
-msgid "Registrations"
-msgstr "Registrierungen"
-
-#: ../../include/nav.php:119
-msgid "Notifications"
-msgstr "Benachrichtigungen"
-
-#: ../../include/nav.php:120
-msgid "View all notifications"
-msgstr "Alle Benachrichtigungen ansehen"
-
-#: ../../include/nav.php:121
-msgid "Mark all system notifications seen"
-msgstr "Markiere alle System-Benachrichtigungen als gesehen"
-
-#: ../../include/nav.php:123
-msgid "Private mail"
-msgstr "Persönliche Mail"
-
-#: ../../include/nav.php:124
-msgid "View your private messages"
-msgstr "Zeige Deine persönlichen Nachrichten an"
-
-#: ../../include/nav.php:125
-msgid "Mark all private messages seen"
-msgstr "Markiere alle persönlichen Nachrichten als gesehen"
-
-#: ../../include/nav.php:131
-msgid "Event Calendar"
-msgstr "Terminkalender"
-
-#: ../../include/nav.php:136 ../../include/nav.php:222
+#: ../../include/nav.php:102 ../../include/nav.php:190
msgid "Manage Your Channels"
msgstr "Verwalte Deine Kanäle"
-#: ../../include/nav.php:139 ../../include/nav.php:224
+#: ../../include/nav.php:105 ../../include/nav.php:192
msgid "Account/Channel Settings"
msgstr "Konto-/Kanal-Einstellungen"
-#: ../../include/nav.php:145 ../../include/nav.php:174
+#: ../../include/nav.php:111 ../../include/nav.php:140
msgid "End this session"
msgstr "Beende diese Sitzung"
-#: ../../include/nav.php:148
+#: ../../include/nav.php:114
msgid "Your profile page"
msgstr "Deine Profilseite"
-#: ../../include/nav.php:151
+#: ../../include/nav.php:117
msgid "Manage/Edit profiles"
msgstr "Profile verwalten"
-#: ../../include/nav.php:153
-msgid "Edit your profile"
-msgstr "Profil bearbeiten"
-
-#: ../../include/nav.php:160 ../../include/nav.php:164
+#: ../../include/nav.php:126 ../../include/nav.php:130
msgid "Sign in"
msgstr "Anmelden"
-#: ../../include/nav.php:189
+#: ../../include/nav.php:157
msgid "Take me home"
msgstr "Bringe mich nach Hause (eigener Kanal)"
-#: ../../include/nav.php:191
+#: ../../include/nav.php:159
msgid "Log me out of this site"
msgstr "Logge mich von dieser Seite aus"
-#: ../../include/nav.php:196
+#: ../../include/nav.php:164
msgid "Create an account"
msgstr "Erzeuge ein Konto"
-#: ../../include/nav.php:208
+#: ../../include/nav.php:176
msgid "Help and documentation"
msgstr "Hilfe und Dokumentation"
-#: ../../include/nav.php:211
+#: ../../include/nav.php:179
msgid "Search site @name, #tag, ?docs, content"
msgstr "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt"
-#: ../../include/nav.php:231
+#: ../../include/nav.php:199
msgid "Site Setup and Configuration"
msgstr "Seiten-Einrichtung und -Konfiguration"
-#: ../../include/nav.php:322
+#: ../../include/nav.php:290
msgid "@name, #tag, ?doc, content"
msgstr "@Name, #Schlagwort, ?Dokumentation, Inhalt"
-#: ../../include/nav.php:323
+#: ../../include/nav.php:291
msgid "Please wait..."
msgstr "Bitte warten..."
-#: ../../include/nav.php:329
+#: ../../include/nav.php:297
msgid "Add Apps"
msgstr "Apps hinzufügen"
-#: ../../include/nav.php:330
+#: ../../include/nav.php:298
msgid "Arrange Apps"
msgstr "Apps anordnen"
-#: ../../include/nav.php:331
+#: ../../include/nav.php:299
msgid "Toggle System Apps"
msgstr "System-Apps umschalten"
@@ -13730,19 +14004,23 @@ msgstr "%1$s hat %2$s auf %3$s veröffentlicht"
msgid "Upload New Photos"
msgstr "Neue Fotos hochladen"
-#: ../../include/zot.php:675
+#: ../../include/zot.php:767
msgid "Invalid data packet"
msgstr "Ungültiges Datenpaket"
-#: ../../include/zot.php:702
+#: ../../include/zot.php:794
msgid "Unable to verify channel signature"
msgstr "Konnte die Signatur des Kanals nicht verifizieren"
-#: ../../include/zot.php:2409
+#: ../../include/zot.php:2529
#, php-format
msgid "Unable to verify site signature for %s"
msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
+#: ../../include/zot.php:4180
+msgid "invalid target signature"
+msgstr "Ungültige Signatur des Ziels"
+
#: ../../include/group.php:22
msgid ""
"A deleted group with this name was revived. Existing item permissions "
@@ -13786,7 +14064,7 @@ msgstr "Ausgeloggt."
msgid "Email validation is incomplete. Please check your email."
msgstr "E-Mail-Bestätigung nicht abgeschlossen. Bitte prüfe Deine E-Mails (ggf. Spam-Filterung mit berücksichtigen)."
-#: ../../include/auth.php:278
+#: ../../include/auth.php:279
msgid "Failed authentication"
msgstr "Authentifizierung fehlgeschlagen"
diff --git a/view/de-de/hstrings.php b/view/de-de/hstrings.php
index e87f660f0..a96dd02b7 100644
--- a/view/de-de/hstrings.php
+++ b/view/de-de/hstrings.php
@@ -71,9 +71,8 @@ App::$strings["2. Enter my \$Projectname network address into the site searchbar
App::$strings["or visit"] = "oder besuche";
App::$strings["3. Click [Connect]"] = "3. Klicke auf [Verbinden]";
App::$strings["Submit"] = "Absenden";
-App::$strings["Cards"] = "Karten";
-App::$strings["Add Article"] = "Artikel hinzufügen";
App::$strings["Articles"] = "Artikel";
+App::$strings["Add Article"] = "Artikel hinzufügen";
App::$strings["Item not found"] = "Element nicht gefunden";
App::$strings["Layout Name"] = "Layout-Name";
App::$strings["Layout Description (Optional)"] = "Layout-Beschreibung (optional)";
@@ -151,7 +150,8 @@ App::$strings["You may also export your posts and conversations for a particular
App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Um alle Beiträge eines bestimmten Jahres, zum Beispiel dieses Jahres, auszuwählen, klicke <a href=\"%1\$s\">%2\$s</a>.";
App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Um alle Beiträge eines bestimmten Monats auszuwählen, zum Beispiel vom Januar diesen Jahres, klicke <a href=\"%1\$s\">%2\$s</a>.";
App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Diese Inhalts-Sicherungen können wiederhergestellt werden, indem Du <a href=\"%1\$s\">%2\$s</a> auf jeglichem Hub besuchst, der diesen Kanal enthält. Das funktioniert am besten, wenn Du dabei die zeitliche Reihenfolge einhältst, also die Sicherungen für den ältesten Zeitraum zuerst importierst.";
-App::$strings["Welcome to hubzilla!"] = "Willkommen bei Hubzilla!";
+App::$strings["Welcome to Hubzilla!"] = "Willkommen bei Hubzilla!";
+App::$strings["You have got no unseen posts..."] = "Du hast keine ungelesenen Beiträge...";
App::$strings["Public access denied."] = "Öffentlichen Zugriff verweigert.";
App::$strings["Search"] = "Suche";
App::$strings["Items tagged with: %s"] = "Beiträge mit Schlagwort: %s";
@@ -282,6 +282,7 @@ App::$strings["Read more about roles"] = "Mehr Informationen über Rollen";
App::$strings["Create Channel"] = "Einen neuen Kanal anlegen";
App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Ein Kanal ist Deine Identität in diesem Netzwerk. Er kann eine Person, ein Blog oder ein Forum repräsentieren, nur um ein paar Beispiele zu nennen. Kanäle können Verbindungen miteinander eingehen, um Informationen zu teilen, jeweils basierend auf sehr detaillierten Berechtigungseinstellungen.";
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server.";
+App::$strings["Validate"] = "Überprüfe";
App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden.";
App::$strings["Remove This Channel"] = "Diesen Kanal löschen";
App::$strings["WARNING: "] = "WARNUNG: ";
@@ -319,7 +320,7 @@ App::$strings["Database Login Password"] = "Datenbank-Passwort";
App::$strings["Database Name"] = "Datenbankname";
App::$strings["Database Type"] = "Datenbanktyp";
App::$strings["Site administrator email address"] = "E-Mail Adresse des Seiten-Administrators";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Kontos muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
App::$strings["Website URL"] = "Webseiten-URL";
App::$strings["Please use SSL (https) URL if available."] = "Nutze wenn möglich eine SSL-URL (https).";
App::$strings["Please select a default timezone for your website"] = "Standard-Zeitzone für Deinen Server";
@@ -412,10 +413,10 @@ App::$strings["Executing %s failed. Check system logs."] = "Ausführen von %s fe
App::$strings["Update %s was successfully applied."] = "Update %s wurde erfolgreich ausgeführt.";
App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt.";
App::$strings["Update function %s could not be found."] = "Update-Funktion %s konnte nicht gefunden werden.";
-App::$strings["No failed updates."] = "Keine fehlgeschlagenen Aktualisierungen.";
App::$strings["Failed Updates"] = "Fehlgeschlagene Aktualisierungen";
App::$strings["Mark success (if update was manually applied)"] = "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)";
App::$strings["Attempt to execute this update step automatically"] = "Versuche, diesen Updateschritt automatisch auszuführen";
+App::$strings["No failed updates."] = "Keine fehlgeschlagenen Aktualisierungen.";
App::$strings["Item not found."] = "Element nicht gefunden.";
App::$strings["Plugin %s disabled."] = "Plug-In %s deaktiviert.";
App::$strings["Plugin %s enabled."] = "Plug-In %s aktiviert.";
@@ -542,6 +543,7 @@ App::$strings["Used to provide a member experience matched to technical comfort
App::$strings["Lock the technical skill level setting"] = "Sperre die technische Qualifikationsstufe";
App::$strings["Members can set their own technical comfort level by default"] = "Benutzer können standardmäßig ihre eigene technische Qualifikationsstufe einstellen";
App::$strings["Banner/Logo"] = "Banner/Logo";
+App::$strings["Unfiltered HTML/CSS/JS is allowed"] = "Ungefiltertes HTML/CSS/JS ist erlaubt";
App::$strings["Administrator Information"] = "Administrator-Informationen";
App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden.";
App::$strings["Site Information"] = "Seiteninformationen";
@@ -558,6 +560,8 @@ App::$strings["Maximum size in bytes of uploaded images. Default is 0, which mea
App::$strings["Does this site allow new member registration?"] = "Erlaubt dieser Server die Registrierung neuer Nutzer?";
App::$strings["Invitation only"] = "Nur mit Einladung";
App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden.";
+App::$strings["Minimum age"] = "Mindestalter";
+App::$strings["Minimum age (in years) for who may register on this site."] = "Mindestalter (in Jahren) für alle, die sich auf dieser Website anmelden möchten.";
App::$strings["Which best describes the types of account offered by this hub?"] = "Was ist die passendste Beschreibung der Konten auf diesem Hub?";
App::$strings["Register text"] = "Registrierungstext";
App::$strings["Will be displayed prominently on the registration page."] = "Wird gut sichtbar auf der Registrierungs-Seite angezeigt.";
@@ -575,6 +579,10 @@ App::$strings["Force publish"] = "Veröffentlichung erzwingen";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen.";
App::$strings["Import Public Streams"] = "Öffentliche Beiträge importieren";
App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert.";
+App::$strings["Site only Public Streams"] = "Öffentlichen Beitragsstrom auf diesen Server beschränken";
+App::$strings["Allow access to public content originating only from this site if Imported Public Streams are disabled."] = "Erlaubt den Zugriff auf öffentliche Beiträge von ausschließlich dieser Website (diesem Server), wenn \"Öffentliche Beiträge importieren\" ausgeschaltet ist.";
+App::$strings["Allow anybody on the internet to access the Public streams"] = "Allen im Internet Zugriff auf den öffentlichen Beitragsstrom erlauben";
+App::$strings["Disable to require authentication before viewing. Warning: this content is unmoderated."] = "Deaktiviert die erforderliche Authentifizierung vor dem Ansehen. Warnung: Diese Inhalte sind nicht moderiert.";
App::$strings["Login on Homepage"] = "Log-in auf der Startseite";
App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden.";
App::$strings["Enable context help"] = "Kontext-Hilfe aktivieren";
@@ -604,6 +612,12 @@ App::$strings["Maximum Load Average"] = "Maximales Load Average";
App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50";
App::$strings["Expiration period in days for imported (grid/network) content"] = "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen";
App::$strings["0 for no expiration of imported content"] = "0 = keine Löschung importierter Inhalte";
+App::$strings["Public servers: Optional landing (marketing) webpage for new registrants"] = "Öffentliche Server: Optionale Einstiegsseite (landing page) für neue Mitglieder vor deren Anmeldung";
+App::$strings["Create this page first. Default is %s/register"] = "Erstelle zunächst die entsprechende Seite. Standard ist %s/register";
+App::$strings["Page to display after creating a new channel"] = "Seite, die nach Erstellung eines neuen Kanals angezeigt werden soll";
+App::$strings["Recommend: profiles, go, or settings"] = "Empfohlen: profiles, go oder settings";
+App::$strings["Optional: site location"] = "Optional: Standort der Website";
+App::$strings["Region or country"] = "Region oder Land";
App::$strings["New Profile Field"] = "Neues Profilfeld";
App::$strings["Field nickname"] = "Kurzname für das Feld";
App::$strings["System name of field"] = "Systemname des Feldes";
@@ -754,8 +768,8 @@ App::$strings["If your channel is mirrored to multiple hubs, set this to your pr
App::$strings["Also show new wall posts, private messages and connections under Notices"] = "Neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen anzeigen";
App::$strings["Notify me of events this many days in advance"] = "Benachrichtige mich zu Terminen so viele Tage im Voraus";
App::$strings["Must be greater than 0"] = "Muss größer als 0 sein";
-App::$strings["Advanced Account/Page Type Settings"] = "Erweiterte Account- und Seitenart-Einstellungen";
-App::$strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Accounts unter speziellen Umständen";
+App::$strings["Advanced Account/Page Type Settings"] = "Erweiterte Konten- und Seitenart-Einstellungen";
+App::$strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Kontos unter speziellen Umständen";
App::$strings["Miscellaneous Settings"] = "Sonstige Einstellungen";
App::$strings["Default photo upload folder"] = "Voreingestellter Ordner für hochgeladene Fotos";
App::$strings["%Y - current year, %m - current month"] = "%Y - aktuelles Jahr, %m - aktueller Monat";
@@ -790,16 +804,18 @@ App::$strings["Enter New Password"] = "Gib ein neues Passwort ein";
App::$strings["Confirm New Password"] = "Bestätige das neue Passwort";
App::$strings["Leave password fields blank unless changing"] = "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern";
App::$strings["Your technical skill level"] = "Deine technische Qualifikationsstufe";
-App::$strings["Used to provide a member experience matched to your comfort level"] = "Dies wird verwendet, um Dir eine Benutzererfahrung passend zu Deiner technischen Qualifikationsstufe zu bieten.";
+App::$strings["Used to provide a member experience and additional features consistent with your comfort level"] = "Dies wird verwendet, um Dir eine Benutzererfahrung sowie zusätzliche Funktionen passend zu Deiner technischen Qualifikationsstufe zu bieten (Bedienkomfort beim Umgang mit Anwendungen).";
App::$strings["Remove Account"] = "Konto entfernen";
App::$strings["Remove this account including all its channels"] = "Dieses Konto inklusive all seiner Kanäle löschen";
App::$strings["Affinity Slider settings updated."] = "Die Beziehungsgrad-Schieberegler-Einstellungen wurden aktualisiert.";
App::$strings["No feature settings configured"] = "Keine Funktions-Einstellungen konfiguriert";
App::$strings["Default maximum affinity level"] = "Voreinstellung für maximalen Beziehungsgrad";
+App::$strings["0-99 default 99"] = "0-99 - Standard 99";
App::$strings["Default minimum affinity level"] = "Voreinstellung für minimalen Beziehungsgrad";
+App::$strings["0-99 - default 0"] = "0-99 - Standard 0";
App::$strings["Affinity Slider Settings"] = "Beziehungsgrad-Schieberegler-Einstellungen";
-App::$strings["Feature/Addon Settings"] = "Funktions-/Addon-Einstellungen";
-App::$strings["No special theme for mobile devices"] = "Kein spezielles Design für mobile Geräte";
+App::$strings["Addon Settings"] = "Addon-Einstellungen";
+App::$strings["Please save/submit changes to any panel before opening another."] = "Bitte speichere alle Änderungen in diesem Bereich, bevor Du einen anderen öffnest.";
App::$strings["%s - (Experimental)"] = "%s – (experimentell)";
App::$strings["Display Settings"] = "Anzeige-Einstellungen";
App::$strings["Theme Settings"] = "Design-Einstellungen";
@@ -807,7 +823,6 @@ App::$strings["Custom Theme Settings"] = "Benutzerdefinierte Design-Einstellunge
App::$strings["Content Settings"] = "Inhaltseinstellungen";
App::$strings["Display Theme:"] = "Anzeige-Design:";
App::$strings["Select scheme"] = "Schema wählen";
-App::$strings["Mobile Theme:"] = "Design für mobile Geräte:";
App::$strings["Preload images before rendering the page"] = "Bilder im voraus laden, bevor die Seite angezeigt wird";
App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Die empfundene Ladezeit wird sich erhöhen, aber dafür ist das Layout stabil, sobald eine Seite angezeigt wird";
App::$strings["Enable user zoom on mobile devices"] = "Zoom auf Mobilgeräten aktivieren";
@@ -1082,10 +1097,10 @@ App::$strings["Photo not available."] = "Foto nicht verfügbar.";
App::$strings["Upload File:"] = "Datei hochladen:";
App::$strings["Select a profile:"] = "Wähle ein Profil:";
App::$strings["Use Photo for Profile"] = "Foto für Profil verwenden";
-App::$strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch";
+App::$strings["Change Profile Photo"] = "Profilfoto ändern";
App::$strings["Use"] = "Verwenden";
-App::$strings["skip this step"] = "diesen Schritt überspringen";
-App::$strings["select a photo from your photo albums"] = "ein Foto aus meinen Fotoalben";
+App::$strings["Use a photo from your albums"] = "Ein Foto aus meinen Alben verwenden";
+App::$strings["Select existing photo"] = "Wähle ein vorhandenes Foto aus";
App::$strings["Crop Image"] = "Bild zuschneiden";
App::$strings["Please adjust the image cropping for optimum viewing."] = "Bitte schneide das Bild für eine optimale Anzeige passend zu.";
App::$strings["Done Editing"] = "Bearbeitung fertigstellen";
@@ -1164,6 +1179,7 @@ App::$strings["Connection: %s"] = "Verbindung: %s";
App::$strings["Apply these permissions automatically"] = "Diese Berechtigungen automatisch anwenden";
App::$strings["Connection requests will be approved without your interaction"] = "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist.";
App::$strings["Permission role"] = "Berechtigungsrolle";
+App::$strings["Loading"] = "Lädt...";
App::$strings["Add permission role"] = "Berechtigungsrolle hinzufügen";
App::$strings["This connection's primary address is"] = "Die Hauptadresse der Verbindung ist";
App::$strings["Available locations:"] = "Verfügbare Klone:";
@@ -1227,7 +1243,13 @@ App::$strings["Help"] = "Hilfe";
App::$strings["Comanche page description language help"] = "Hilfe zur Comanche-Seitenbeschreibungssprache";
App::$strings["Layout Description"] = "Layout-Beschreibung";
App::$strings["Download PDL file"] = "PDL-Datei herunterladen";
+App::$strings["Please refresh page"] = "Bitte die Seite neu laden";
App::$strings["Unknown error"] = "Unbekannter Fehler";
+App::$strings["Token verification failed."] = "Überprüfung des Verifizierungscodes fehlgeschlagen.";
+App::$strings["Email Verification Required"] = "Email-Überprüfung erforderlich";
+App::$strings["A verification token was sent to your email address [%s]. Enter that token here to complete the account verification step. Please allow a few minutes for delivery, and check your spam folder if you do not see the message."] = "Ein Verifizierungscode wurde an Deine Emailadresse versendet [%s]. Gib diesen Code hier ein, um die Überprüfung abzuschließen. Bedenke, dass die Zustellung der Mail einige Zeit dauern kann, und überprüfe ggf. auch Spam- und andere Filter-Ordner, falls die Nachricht nicht erscheint.";
+App::$strings["Resend Email"] = "Email erneut versenden";
+App::$strings["Validation token"] = "Verifizierungscode";
App::$strings["Post not found."] = "Beitrag nicht gefunden.";
App::$strings["post"] = "Beitrag";
App::$strings["comment"] = "Kommentar";
@@ -1319,6 +1341,21 @@ App::$strings["My other channels"] = "Meine anderen Kanäle";
App::$strings["Communications"] = "Kommunikation";
App::$strings["Profile Image"] = "Profilfoto:";
App::$strings["Edit Profiles"] = "Profile bearbeiten";
+App::$strings["This page is available only to site members"] = "Diese Seite ist nur für Mitglieder verfügbar";
+App::$strings["Welcome"] = "Willkommen";
+App::$strings["What would you like to do?"] = "Was möchtest Du gerne tun?";
+App::$strings["Please bookmark this page if you would like to return to it in the future"] = "Bitte speichere diese Seite in Deinen Lesezeichen, falls Du später zu ihr zurückkehren möchtest.";
+App::$strings["Upload a profile photo"] = "Ein Profilfoto hochladen";
+App::$strings["Upload a cover photo"] = "Ein Titelbild hochladen";
+App::$strings["Edit your default profile"] = "Dein Standardprofil bearbeiten";
+App::$strings["View friend suggestions"] = "Freundschafts- und Verbindungsvorschläge ansehen";
+App::$strings["View the channel directory"] = "Das Kanalverzeichnis ansehen";
+App::$strings["View/edit your channel settings"] = "Deine Kanaleinstellungen ansehen/bearbeiten";
+App::$strings["View the site or project documentation"] = "Die Website-/Projektdokumentation ansehen";
+App::$strings["Visit your channel homepage"] = "Deine Kanal-Startseite aufrufen";
+App::$strings["View your connections and/or add somebody whose address you already know"] = "Deine Verbindungen ansehen und/oder jemanden hinzufügen, dessen Kanal-Adresse Du bereits kennst";
+App::$strings["View your personal stream (this may be empty until you add some connections)"] = "Deinen persönlichen Beitragsstrom ansehen (dieser kann leer sein, bis Du ein paar Verbindungen hinzugefügt hast)";
+App::$strings["View the public stream. Warning: this content is not moderated"] = "Den öffentlichen Beitragsstrom ansehen. Warnung: Diese Inhalte sind nicht moderiert.";
App::$strings["Page link"] = "Seiten-Link";
App::$strings["Edit Webpage"] = "Webseite bearbeiten";
App::$strings["Create a new channel"] = "Neuen Kanal anlegen";
@@ -1330,6 +1367,7 @@ App::$strings["Make Default"] = "Zum Standard machen";
App::$strings["%d new messages"] = "%d neue Nachrichten";
App::$strings["%d new introductions"] = "%d neue Vorstellungen";
App::$strings["Delegated Channel"] = "Delegierte Kanäle";
+App::$strings["Cards"] = "Karten";
App::$strings["Add Card"] = "Karte hinzufügen";
App::$strings["This directory server requires an access token"] = "Dieser Verzeichnisserver benötigt einen Zugriffstoken";
App::$strings["About this site"] = "Ãœber diese Seite";
@@ -1504,8 +1542,8 @@ App::$strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen
App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal.";
App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen.";
App::$strings["Passwords do not match."] = "Passwörter stimmen nicht überein.";
-App::$strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
App::$strings["Registration successful. Continue to create your first channel..."] = "Registrierung erfolgreich. Fahre fort, indem Du Deinen ersten Kanal anlegst...";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
App::$strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
App::$strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
App::$strings["Registration on this hub is disabled."] = "Die Registrierung auf diesem Hub ist nicht möglich.";
@@ -1522,7 +1560,7 @@ App::$strings["no"] = "nein";
App::$strings["yes"] = "ja";
App::$strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
App::$strings["Register"] = "Registrieren";
-App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Diese Seite verlangt möglicherweise eine Emailbestätigung nach dem Absenden des Formulars. Wenn Du auf eine Login-Seite zurückgeleitet wirst, prüfe bitte Deinen Posteingang auf neue Mails mit entsprechenden Hinweisen.";
+App::$strings["This site requires email verification. After completing this form, please check your email for further instructions."] = "Diese Website erfordert eine Email-Bestätigung. Bitte prüfe Deine Emails nach Ausfüllen und Absenden des Formulars, um weitere Hinweise zu bekommen.";
App::$strings["Cover Photos"] = "Cover Foto";
App::$strings["female"] = "weiblich";
App::$strings["%1\$s updated her %2\$s"] = "%1\$s hat ihr %2\$s aktualisiert";
@@ -1530,7 +1568,7 @@ App::$strings["male"] = "männlich";
App::$strings["%1\$s updated his %2\$s"] = "%1\$s hat sein %2\$s aktualisiert";
App::$strings["%1\$s updated their %2\$s"] = "%1\$s hat sein/ihr %2\$s aktualisiert";
App::$strings["cover photo"] = "Cover Foto";
-App::$strings["Upload Cover Photo"] = "Cover Foto hochladen";
+App::$strings["Change Cover Photo"] = "Titelbild ändern";
App::$strings["Documentation Search"] = "Suche in der Dokumentation";
App::$strings["About"] = "Ãœber";
App::$strings["Administrators"] = "Administratoren";
@@ -1568,6 +1606,8 @@ App::$strings["Show in your contacts shared folder"] = "Im geteilten Ordner Dein
App::$strings["No channel."] = "Kein Kanal.";
App::$strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
App::$strings["View Common Connections"] = "Zeige gemeinsame Verbindungen";
+App::$strings["Email verification resent"] = "Email zur Verifizierung wurde erneut versendet";
+App::$strings["Unable to resend email verification message."] = "Erneutes Versenden der Email zur Verifizierung nicht möglich.";
App::$strings["No connections."] = "Keine Verbindungen.";
App::$strings["Visit %s's profile [%s]"] = "%ss Profil [%s] besuchen";
App::$strings["View Connections"] = "Verbindungen anzeigen";
@@ -1684,15 +1724,21 @@ App::$strings["\$Projectname Notification"] = "\$Projectname-Benachrichtigung";
App::$strings["\$projectname"] = "\$projectname";
App::$strings["Thank You,"] = "Danke.";
App::$strings["%s Administrator"] = "der Administrator von %s";
+App::$strings["This email was sent by %1\$s at %2\$s."] = "Diese Email wurde von %1\$s auf %2\$s gesendet.";
+App::$strings["To stop receiving these messages, please adjust your Notification Settings at %s"] = "Um diese Nachrichten nicht mehr zu erhalten, passe bitte Deine Benachrichtigungseinstellungen unter folgendem Link an: %s";
+App::$strings["To stop receiving these messages, please adjust your %s."] = "Um diese Nachrichten nicht mehr zu erhalten, passe bitte Deine %s an.";
App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Benachrichtigung] Neue Mail empfangen auf %s";
App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet.";
App::$strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt.";
App::$strings["a private message"] = "eine private Nachricht";
App::$strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert";
+App::$strings["commented on"] = "kommentierte";
+App::$strings["liked"] = "gefiel";
+App::$strings["disliked"] = "missfiel";
+App::$strings["%1\$s, %2\$s %3\$s [zrl=%4\$s]a %5\$s[/zrl]"] = "%1\$s, %2\$s %3\$s [zrl=%4\$s]ein %5\$s[/zrl]";
+App::$strings["%1\$s, %2\$s %3\$s [zrl=%4\$s]%5\$s's %6\$s[/zrl]"] = "%1\$s, %2\$s %3\$s [zrl=%4\$s]%5\$s's %6\$s[/zrl]";
+App::$strings["%1\$s, %2\$s %3\$s [zrl=%4\$s]your %5\$s[/zrl]"] = "%1\$s, %2\$s %3\$s [zrl=%4\$s]Dein %5\$s[/zrl]";
App::$strings["[\$Projectname:Notify] Moderated Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Benachrichtigung] Moderierter Kommantar in Unterhaltung #%1\$d von %2\$s";
App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s";
App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst.";
@@ -1727,6 +1773,8 @@ App::$strings["Please visit %s to approve or reject the suggestion."] = "Bitte b
App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Benachrichtigung]";
App::$strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
App::$strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
+App::$strings["edited a post dated %s"] = "hat einen Beitrag vom %s bearbeitet";
+App::$strings["edited a comment dated %s"] = "hat einen Kommentar vom %s bearbeitet";
App::$strings["Wiki updated successfully"] = "Wiki erfolgreich aktualisiert";
App::$strings["Wiki files deleted successfully"] = "Wiki-Dateien erfolgreich gelöscht";
App::$strings["Update Error at %s"] = "Aktualisierungsfehler auf %s";
@@ -1865,6 +1913,18 @@ App::$strings["Suggestions"] = "Vorschläge";
App::$strings["See more..."] = "Mehr anzeigen …";
App::$strings["Saved Folders"] = "Gespeicherte Ordner";
App::$strings["Click to show more"] = "Klick, um mehr anzuzeigen";
+App::$strings["Profile Creation"] = "Profilerstellung";
+App::$strings["Upload profile photo"] = "Profilfoto hochladen";
+App::$strings["Upload cover photo"] = "Titelbild hochladen";
+App::$strings["Edit your profile"] = "Profil bearbeiten";
+App::$strings["Find and Connect with others"] = "Finden und Verbinden von/mit Anderen";
+App::$strings["Manage your connections"] = "Deine Verbindungen verwalten";
+App::$strings["Communicate"] = "Kommunizieren";
+App::$strings["View your channel homepage"] = "Deine Kanal-Startseite ansehen";
+App::$strings["View your network stream"] = "Deine Netzwerk-Aktivitäten ansehen";
+App::$strings["Documentation"] = "Dokumentation";
+App::$strings["View public stream. Warning: not moderated"] = "Öffentliche Beitragsaktivitäten ansehen. Warnung: Diese Inhalte sind nicht moderiert.";
+App::$strings["New Member Links"] = "Links für neue Mitglieder";
App::$strings["Member registrations waiting for confirmation"] = "Nutzer-Anmeldungen, die auf Bestätigung warten";
App::$strings["Inspect queue"] = "Warteschlange kontrollieren";
App::$strings["DB updates"] = "DB-Aktualisierungen";
@@ -1873,7 +1933,7 @@ App::$strings["Plugin Features"] = "Plug-In Funktionen";
App::$strings["Account settings"] = "Konto-Einstellungen";
App::$strings["Channel settings"] = "Kanal-Einstellungen";
App::$strings["Additional features"] = "Zusätzliche Funktionen";
-App::$strings["Feature/Addon settings"] = "Plugin-Einstellungen";
+App::$strings["Addon settings"] = "Addon-Einstellungen";
App::$strings["Display settings"] = "Anzeige-Einstellungen";
App::$strings["Manage locations"] = "Klon-Adressen verwalten";
App::$strings["Export channel"] = "Kanal exportieren";
@@ -1886,6 +1946,7 @@ App::$strings["New Network Activity Notifications"] = "Benachrichtigungen für n
App::$strings["View your network activity"] = "Zeige Deine Netzwerk-Aktivitäten";
App::$strings["Mark all notifications read"] = "Alle Benachrichtigungen als gesehen markieren";
App::$strings["Show new posts only"] = "Zeige nur neue Beiträge";
+App::$strings["Filter by name"] = "Nach Namen filtern";
App::$strings["New Home Activity"] = "Neue Kanal-Aktivitäten";
App::$strings["New Home Activity Notifications"] = "Benachrichtigungen für neue Kanal-Aktivitäten";
App::$strings["View your home activity"] = "Zeige Deine Kanal-Aktivitäten";
@@ -1909,7 +1970,7 @@ App::$strings["New Registrations"] = "Neue Registrierungen";
App::$strings["New Registrations Notifications"] = "Benachrichtigungen für neue Registrierungen";
App::$strings["Public Stream Notifications"] = "Benachrichtigungen für öffentlichen Beitrags-Stream";
App::$strings["View the public stream"] = "Zeige öffentlichen Beitrags-Stream";
-App::$strings["Loading"] = "Lädt...";
+App::$strings["Sorry, you have got no notifications at the moment"] = "Du hast momentan keine Benachrichtigungen";
App::$strings["Source channel not found."] = "Quellkanal nicht gefunden.";
App::$strings["Create an account to access services and applications"] = "Erstelle ein Konto, um auf Dienste und Anwendungen zugreifen zu können.";
App::$strings["Logout"] = "Abmelden";
@@ -1917,7 +1978,6 @@ App::$strings["Login/Email"] = "Anmelden/E-Mail";
App::$strings["Password"] = "Kennwort";
App::$strings["Remember me"] = "Angaben speichern";
App::$strings["Forgot your password?"] = "Passwort vergessen?";
-App::$strings["toggle mobile"] = "auf/von mobile Ansicht wechseln";
App::$strings["[\$Projectname] Website SSL error for %s"] = "[\$Projectname] Webseiten-SSL-Fehler für %s";
App::$strings["Website SSL certificate is not valid. Please correct."] = "Das SSL-Zertifikat der Website ist nicht gültig. Bitte beheben.";
App::$strings["[\$Projectname] Cron tasks not running on %s"] = "[\$Projectname] Cron-Jobs laufen nicht auf %s";
@@ -2005,11 +2065,11 @@ App::$strings["Preferred IDs Message"] = "Nachricht für bevorzugte IDs";
App::$strings["Message to display above preferred results."] = "Nachricht, die über den Ergebnissen mit den bevorzugten IDs angezeigt werden soll.";
App::$strings["Uploaded by: "] = "Hochgeladen von: ";
App::$strings["Drawn by: "] = "Gezeichnet von: ";
+App::$strings["Use this image"] = "";
App::$strings["Or select from a free OpenClipart.org image:"] = "Oder wähle ein freies Bild von OpenClipart.org:";
App::$strings["Search Term"] = "Suchbegriff";
App::$strings["Unknown error. Please try again later."] = "Unbekannter Fehler. Bitte versuchen Sie es später erneut.";
App::$strings["Profile photo updated successfully."] = "Profilfoto erfolgreich aktualisiert.";
-App::$strings["invalid target signature"] = "Ungültige Signatur des Ziels";
App::$strings["Flag Adult Photos"] = "Nicht jugendfreie Fotos markieren";
App::$strings["Provide photo edit option to hide inappropriate photos from default album view"] = "Stellt eine Option zum Verstecken von Fotos mit unangemessenen Inhalten in der Standard-Albumansicht bereit";
App::$strings["Post to WordPress"] = "Auf WordPress posten";
@@ -2046,6 +2106,8 @@ App::$strings["Dreamwidth username"] = "Dreamwidth-Benutzername";
App::$strings["Dreamwidth password"] = "Dreamwidth-Passwort";
App::$strings["Post to Dreamwidth by default"] = "Standardmäßig auf auf Dreamwidth posten";
App::$strings["Dreamwidth Post Settings"] = "Dreamwidth-Beitragseinstellungen";
+App::$strings["New registration"] = "";
+App::$strings["Message sent to %s. New account registration: %s"] = "Nachricht gesendet an %s. Neue Kontoregistrierung: %s";
App::$strings["Hubzilla Directory Stats"] = "Hubzilla-Verzeichnisstatistiken";
App::$strings["Total Hubs"] = "Hubs insgesamt";
App::$strings["Hubzilla Hubs"] = "Hubzilla Hubs";
@@ -2132,8 +2194,8 @@ App::$strings["kiss"] = "küssen";
App::$strings["kissed"] = "geküsst";
App::$strings["tempt"] = "verlocken";
App::$strings["tempted"] = "verlockt";
-App::$strings["raise eyebrows at"] = "";
-App::$strings["raised their eyebrows at"] = "";
+App::$strings["raise eyebrows at"] = "Augenbrauen hochziehen";
+App::$strings["raised their eyebrows at"] = "zog die Augenbrauen hoch";
App::$strings["insult"] = "beleidigen";
App::$strings["insulted"] = "beleidigt";
App::$strings["praise"] = "loben";
@@ -2152,8 +2214,8 @@ App::$strings["fuck"] = "ficken";
App::$strings["fucked"] = "gefickt";
App::$strings["bonk"] = "";
App::$strings["bonked"] = "";
-App::$strings["declare undying love for"] = "";
-App::$strings["declared undying love for"] = "";
+App::$strings["declare undying love for"] = "erkläre unsterbliche Liebe";
+App::$strings["declared undying love for"] = "erklärte unsterbliche Liebe";
App::$strings["Diaspora Protocol Settings updated."] = "Diaspora Protokoll Einstellungen aktualisiert";
App::$strings["The Diaspora protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Das Diaspora-Protokoll unterstützt keine Server-unabhängigen Identitäten. Verbindungen, die Du mit diesem Netzwerk eingehst, können von anderen Orten (Klonen) dieses Kanals aus unerreichbar sein.";
App::$strings["Enable the Diaspora protocol for this channel"] = "Das Diaspora Protokoll für diesen Kanal aktivieren";
@@ -2164,8 +2226,8 @@ App::$strings["Followed hashtags (comma separated, do not include the #)"] = "Ve
App::$strings["Diaspora Protocol Settings"] = "Diaspora Protokoll Einstellungen";
App::$strings["No username found in import file."] = "Es wurde kein Nutzername in der importierten Datei gefunden.";
App::$strings["Unable to create a unique channel address. Import failed."] = "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Import ist fehlgeschlagen.";
-App::$strings["Your account on %s will expire in a few days."] = "Dein Account auf %s wird in ein paar Tagen ablaufen.";
-App::$strings["Your $Productname test account is about to expire."] = "Dein $Productname Test-Account wird bald auslaufen.";
+App::$strings["Your account on %s will expire in a few days."] = "Dein Konto auf %s wird in ein paar Tagen ablaufen.";
+App::$strings["Your $Productname test account is about to expire."] = "Dein $Productname Test-Konto wird bald auslaufen.";
App::$strings["Enable Rainbowtag"] = "Rainbowtag aktivieren";
App::$strings["Rainbowtag Settings"] = "Rainbowtag-Einstellungen";
App::$strings["Rainbowtag Settings saved."] = "Rainbowtag-Einstellungen gespeichert.";
@@ -2187,9 +2249,9 @@ App::$strings["Select default avatar image if none was found at Gravatar. See RE
App::$strings["Rating of images"] = "Bewertungen der Bilder";
App::$strings["Select the appropriate avatar rating for your site. See README"] = "";
App::$strings["Gravatar settings updated."] = "Gravatar-Einstellungen aktualisiert.";
-App::$strings["Hubzilla File Storage Import"] = "";
-App::$strings["This will import all your cloud files from another server."] = "";
-App::$strings["Hubzilla Server base URL"] = "";
+App::$strings["Hubzilla File Storage Import"] = "Hubzilla-Datenspeicher-Import";
+App::$strings["This will import all your cloud files from another server."] = "Hiermit werden alle Deine Cloud-Dateien von einem anderen Server importiert.";
+App::$strings["Hubzilla Server base URL"] = "Basis-URL des Habzilla-Servers";
App::$strings["Since modified date yyyy-mm-dd"] = "";
App::$strings["Until modified date yyyy-mm-dd"] = "";
App::$strings["Recent Channel/Profile Viewers"] = "Kürzliche Kanal/Profil Besucher";
@@ -2208,6 +2270,7 @@ App::$strings["Mail sent."] = "Mail gesendet.";
App::$strings["Sending of mail failed."] = "Senden der E-Mail fehlgeschlagen.";
App::$strings["Mail Test"] = "Mail Test";
App::$strings["Message subject"] = "Betreff der Nachricht";
+App::$strings["Use markdown for editing posts"] = "Verwende Markdown zum Bearbeiten von Beiträgen";
App::$strings["View Larger"] = "Größer anzeigen";
App::$strings["Tile Server URL"] = "Kachelserver-URL";
App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Eine Liste <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">öffentlicher Kachelserver</a>";
@@ -2258,7 +2321,7 @@ App::$strings["Send public postings to Hubzilla channel by default"] = "";
App::$strings["Hubzilla API Path"] = "Hubzilla-API-Pfad";
App::$strings["Hubzilla login name"] = "Hubzilla-Anmeldename";
App::$strings["Hubzilla channel name"] = "Hubzilla-Kanalname";
-App::$strings["Hubzilla Crosspost Settings"] = "";
+App::$strings["Hubzilla Crosspost Settings"] = "Hubzilla Crosspost Einstellungen";
App::$strings["Logfile archive directory"] = "Verzeichnis der Logdatei";
App::$strings["Directory to store rotated logs"] = "Verzeichnis, in dem rotierte Logs gespeichert werden sollen";
App::$strings["Logfile size in bytes before rotating"] = "zu erreichende Logdateigröße in Bytes, bevor rotiert wird";
@@ -2269,12 +2332,12 @@ App::$strings["Friendica Server base URL"] = "BasisURL des Friendica Servers";
App::$strings["Friendica Login Username"] = "Friendica-Anmeldebenutzername";
App::$strings["Friendica Login Password"] = "Friendica-Anmeldepasswort";
App::$strings["ActivityPub"] = "ActivityPub";
-App::$strings["ActivityPub Protocol Settings updated."] = "";
+App::$strings["ActivityPub Protocol Settings updated."] = "ActivityPub Protokoll Einstellungen aktualisiert";
App::$strings["The ActivityPub protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "";
-App::$strings["Enable the ActivityPub protocol for this channel"] = "";
-App::$strings["Send multi-media HTML articles"] = "";
-App::$strings["Not supported by some microblog services such as Mastodon"] = "";
-App::$strings["ActivityPub Protocol Settings"] = "";
+App::$strings["Enable the ActivityPub protocol for this channel"] = "Aktiviere das ActivityPub Protokoll für diesen Kanal";
+App::$strings["Send multi-media HTML articles"] = "Multimedia HTML Artikel versenden";
+App::$strings["Not supported by some microblog services such as Mastodon"] = "Wird von einigen Microblogging-Plattformen wie Mastodon nicht unterstützt";
+App::$strings["ActivityPub Protocol Settings"] = "ActivityPub Protokoll Einstellungen";
App::$strings["Project Servers and Resources"] = "Projektserver und -ressourcen";
App::$strings["Project Creator and Tech Lead"] = "Projektersteller und Technischer Leiter";
App::$strings["Admin, developer, directorymin, support bloke"] = "Administrator, Entwickler, Verzeichnis Betreibender, Supportleistende";
@@ -2343,9 +2406,9 @@ App::$strings["Cancel GNU social Connection"] = "GNU social Verbindung trennen";
App::$strings["Currently connected to: "] = "Momentan verbunden mit:";
App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
App::$strings["Allow posting to GNU social"] = "Erlaube die Veröffentlichung bei GNU social";
-App::$strings["If enabled your public postings can be posted to the associated GNU-social account"] = "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen GNU social Account veröffentlicht werden.";
+App::$strings["If enabled your public postings can be posted to the associated GNU-social account"] = "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen GNU social Konto veröffentlicht werden.";
App::$strings["Post to GNU social by default"] = "Standardmäßig bei GNU social veröffentlichen";
-App::$strings["If enabled your public postings will be posted to the associated GNU-social account by default"] = "Wenn aktiv werden all deine öffentlichen Beiträge standardmäßig bei dem verbundenen GNU social Account veröffentlicht.";
+App::$strings["If enabled your public postings will be posted to the associated GNU-social account by default"] = "Wenn aktiv werden all deine öffentlichen Beiträge standardmäßig bei dem verbundenen GNU social Konto veröffentlicht.";
App::$strings["Clear OAuth configuration"] = "OAuth Konfiguration löschen";
App::$strings["GNU social Post Settings"] = "GNU social Einstellungen";
App::$strings["API URL"] = "API-URL";
@@ -2357,9 +2420,9 @@ App::$strings["Invalid game."] = "Ungültiges Spiel.";
App::$strings["You are not a player in this game."] = "Sie sind kein Spieler in diesem Spiel.";
App::$strings["You must be a local channel to create a game."] = "Um ein Spiel zu eröffnen, musst du ein lokaler Kanal sein";
App::$strings["You must select one opponent that is not yourself."] = "Du musst einen Gegner wählen, der nicht du selbst ist";
-App::$strings["You must select white or black."] = "Sie müssen weiß oder schwarz auswählen.";
+App::$strings["Random color chosen."] = "";
App::$strings["Error creating new game."] = "Fehler beim Erstellen eines neuen Spiels.";
-App::$strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
+App::$strings["Requested channel is not available."] = "Angeforderter Kanal nicht verfügbar.";
App::$strings["You must select a local channel /chess/channelname"] = "Du musst einen lokalen Kanal/Schach(Kanalnamen aufwählen";
App::$strings["Enable notifications"] = "Benachrichtigungen aktivieren";
App::$strings["Post to Twitter"] = "Bei Twitter veröffentlichen";
@@ -2370,9 +2433,11 @@ App::$strings["Log in with Twitter"] = "Mit Twitter anmelden";
App::$strings["Copy the PIN from Twitter here"] = "PIN von Twitter hier her kopieren";
App::$strings["<strong>Note:</strong> Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Hinweis:</strong> Entsprechend Deiner Privatsphären-Einstellungen (<em>Profil-Details vor nicht angemeldeten Besuchern verbergen?</em>) kann ein ggf. zu Twitter geteilter Link Besucher auf eine leere Seite führen, die darüber informiert, dass der Zugriff zu Deinem Profil eingeschränkt ist.";
App::$strings["Allow posting to Twitter"] = "Erlaube die Veröffentlichung bei Twitter";
-App::$strings["If enabled your public postings can be posted to the associated Twitter account"] = "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen Twitter Account veröffentlicht werden.";
+App::$strings["If enabled your public postings can be posted to the associated Twitter account"] = "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen Twitter Konto veröffentlicht werden.";
+App::$strings["Twitter post length"] = "";
+App::$strings["Maximum tweet length"] = "";
App::$strings["Send public postings to Twitter by default"] = "Standardmäßig öffentliche Beiträge bei Twitter veröffentlichen";
-App::$strings["If enabled your public postings will be posted to the associated Twitter account by default"] = "Wenn aktiv können deine öffentlichen Beiträge bei dem verbundenen Twitter Account veröffentlicht werden.";
+App::$strings["If enabled your public postings will be posted to the associated Twitter account by default"] = "Wenn aktiv werden deine öffentlichen Beiträge bei dem verbundenen Twitter Konto veröffentlicht werden.";
App::$strings["Twitter Post Settings"] = "Twitter-Beitragseinstellungen";
App::$strings["Deactivate the feature"] = "Diese Funktion abschalten";
App::$strings["Hide the button and show the smilies directly."] = "Verstecke die Schaltfläche und zeige die Smilies direkt an.";
@@ -2422,7 +2487,7 @@ App::$strings["If you see this icon you can be sure that the sender is who it sa
App::$strings["Danger! It seems someone tried to forge a message! This message is not necessarily from who it says it is from!"] = "Vorsicht! Es kann sein, dass jemand versucht, eine Nachricht zu fälschen! Diese Nachricht muss nicht unbedingt vom angegebenen Absender stammen!";
App::$strings["Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can pause it at any time and continue where you left off by reloading the page, or navigting to another page.</p><p>You can also advance by pressing the return key"] = "Willkommen zu Hubzilla! Möchtest Du eine Tour der Benutzeroberfläche angezeigt bekommen?</p><p>Du kannst zu jeder Zeit pausieren und fortsetzen, wo Du aufgehört hast, indem Du die Seite neu lädtst, oder zu einer anderen Seite springst.</p><p>Du kannst auc durch das Drücken der Enter-Taste weitergehen.";
App::$strings["Extended Identity Sharing"] = "Erweitertes Teilen von Identitäten";
-App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Hubzilla-Servern geteilt.";
+App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with \$Projectname sites."] = "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit \$Projectname - Servern geteilt.";
App::$strings["Three Dimensional Tic-Tac-Toe"] = "Dreidimensionales Tic-Tac-Toe";
App::$strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe";
App::$strings["New game"] = "Neues Spiel";
@@ -2489,7 +2554,7 @@ App::$strings["Mirror all public posts"] = "Öffentliche Beiträge spiegeln";
App::$strings["Pump.io Post Settings"] = "Pump.io-Beitragseinstellungen";
App::$strings["PumpIO Settings saved."] = "PumpIO-Einstellungen gespeichert.";
App::$strings["An account has been created for you."] = "Ein Konto wurde für Sie erstellt.";
-App::$strings["Authentication successful but rejected: account creation is disabled."] = "Authentifizierung war erfolgreich wurde aber abgewiesen! Das Anlegen von Accounts wurde deaktiviert.";
+App::$strings["Authentication successful but rejected: account creation is disabled."] = "Authentifizierung war erfolgreich, wurde aber abgewiesen! Das Anlegen von Konten wurde deaktiviert.";
App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Suche %1\$s (%2\$s)";
App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
App::$strings["Search \$Projectname"] = "\$Projectname suchen";
@@ -2561,8 +2626,8 @@ App::$strings["Uncertain"] = "Ungewiss";
App::$strings["It's complicated"] = "Es ist kompliziert";
App::$strings["Don't care"] = "Interessiert mich nicht";
App::$strings["Ask me"] = "Frag mich mal";
-App::$strings["likes %1\$s's %2\$s"] = "";
-App::$strings["doesn't like %1\$s's %2\$s"] = "";
+App::$strings["likes %1\$s's %2\$s"] = "gefällt %1\$ss %2\$s";
+App::$strings["doesn't like %1\$s's %2\$s"] = "missfällt %1\$ss %2\$s";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ist jetzt mit %2\$s verbunden";
App::$strings["%1\$s poked %2\$s"] = "%1\$s stupste %2\$s an";
App::$strings["poked"] = "stupste";
@@ -2876,7 +2941,7 @@ App::$strings["__ctx:edit_activity__ Comment"] = "Kommentar";
App::$strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
App::$strings["Empty name"] = "Namensfeld leer";
App::$strings["Name too long"] = "Name ist zu lang";
-App::$strings["No account identifier"] = "Keine Account-Kennung";
+App::$strings["No account identifier"] = "Keine Konten-Kennung";
App::$strings["Nickname is required."] = "Spitzname ist erforderlich.";
App::$strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
App::$strings["Default Profile"] = "Standard-Profil";
@@ -2886,7 +2951,8 @@ App::$strings["Visible to everybody"] = "Für jeden sichtbar";
App::$strings["Gender:"] = "Geschlecht:";
App::$strings["Homepage:"] = "Homepage:";
App::$strings["Online Now"] = "gerade online";
-App::$strings["Trans"] = "";
+App::$strings["Change your profile photo"] = "Dein Profilfoto ändern";
+App::$strings["Trans"] = "Trans";
App::$strings["Like this channel"] = "Dieser Kanal gefällt mir";
App::$strings["j F, Y"] = "j. F Y";
App::$strings["j F"] = "j. F";
@@ -2929,7 +2995,7 @@ App::$strings["GNU-Social"] = "GNU-Social";
App::$strings["RSS/Atom"] = "RSS/Atom";
App::$strings["Diaspora"] = "Diaspora";
App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot!";
+App::$strings["Zot"] = "Zot";
App::$strings["LinkedIn"] = "LinkedIn";
App::$strings["XMPP/IM"] = "XMPP/IM";
App::$strings["MySpace"] = "MySpace";
@@ -2943,12 +3009,14 @@ App::$strings["Post permissions %s cannot be changed %s after a post is shared.<
App::$strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden";
App::$strings["Image/photo"] = "Bild/Foto";
App::$strings["Encrypted content"] = "Verschlüsselter Inhalt";
-App::$strings["Install %1\$s element %2\$s"] = "";
+App::$strings["Install %1\$s element %2\$s"] = "Installiere %1\$s Element %2\$s";
App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren.";
App::$strings["card"] = "Karte";
App::$strings["article"] = "Artikel";
App::$strings["Click to open/close"] = "Klicke zum Öffnen/Schließen";
App::$strings["spoiler"] = "Spoiler";
+App::$strings["View article"] = "Artikel ansehen";
+App::$strings["View summary"] = "Zusammenfassung ansehen";
App::$strings["$1 wrote:"] = "$1 schrieb:";
App::$strings[" by "] = "von";
App::$strings[" on "] = "am";
@@ -2956,8 +3024,6 @@ App::$strings["Embedded content"] = "Eingebetteter Inhalt";
App::$strings["Embedding disabled"] = "Einbetten deaktiviert";
App::$strings["OpenWebAuth: %1\$s welcomes %2\$s"] = "OpenWebAuth: %1\$s heißt %2\$s willkommen";
App::$strings["General Features"] = "Allgemeine Funktionen";
-App::$strings["Multiple Profiles"] = "Mehrfachprofile";
-App::$strings["Ability to create multiple profiles"] = "Ermöglicht das Anlegen mehrerer Profile pro Kanal";
App::$strings["Advanced Profiles"] = "Erweiterte Profile";
App::$strings["Additional profile sections and selections"] = "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung";
App::$strings["Profile Import/Export"] = "Profil-Import/Export";
@@ -2968,21 +3034,33 @@ App::$strings["Provide a wiki for your channel"] = "Stelle ein Wiki in Deinem Ka
App::$strings["Private Notes"] = "Private Notizen";
App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)";
App::$strings["Create personal planning cards"] = "Erstelle persönliche (Notiz-)Karten zur Planung/Koordination oder ähnlichen Zwecken";
+App::$strings["Create interactive articles"] = "Erstelle interaktive Artikel";
App::$strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
App::$strings["Change channels directly from within the navigation dropdown menu"] = "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü";
App::$strings["Photo Location"] = "Aufnahmeort";
App::$strings["If location data is available on uploaded photos, link this to a map."] = "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte";
App::$strings["Access Controlled Chatrooms"] = "Zugriffskontrollierte Chaträume";
App::$strings["Provide chatrooms and chat services with access control."] = "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an.";
-App::$strings["Provide alternate connection permission roles."] = "Stelle benutzerdefinierte Berechtigungsrollen für Verbindungen zur Verfügung.";
App::$strings["Smart Birthdays"] = "Smarte Geburtstage";
App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind.";
App::$strings["Event Timezone Selection"] = "Termin-Zeitzonenauswahl";
App::$strings["Allow event creation in timezones other than your own."] = "Ermögliche das Erstellen von Terminen in anderen Zeitzonen als Deiner eigenen.";
+App::$strings["Premium Channel"] = "Premium-Kanal";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen";
App::$strings["Advanced Directory Search"] = "Erweiterte Verzeichnissuche";
App::$strings["Allows creation of complex directory search queries"] = "Ermöglicht die Erstellung komplexer Verzeichnis-Suchabfragen";
App::$strings["Advanced Theme and Layout Settings"] = "Erweiterte Design- und Layout-Einstellungen";
App::$strings["Allows fine tuning of themes and page layouts"] = "Erlaubt die Feineinstellung von Designs und Seitenlayouts";
+App::$strings["Access Control and Permissions"] = "Zugriffskontrolle und Berechtigungen";
+App::$strings["Privacy Groups"] = "Gruppen";
+App::$strings["Enable management and selection of privacy groups"] = "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren";
+App::$strings["Multiple Profiles"] = "Mehrfachprofile";
+App::$strings["Ability to create multiple profiles"] = "Ermöglicht das Anlegen mehrerer Profile pro Kanal";
+App::$strings["Provide alternate connection permission roles."] = "Stelle benutzerdefinierte Berechtigungsrollen für Verbindungen zur Verfügung.";
+App::$strings["OAuth Clients"] = "OAuth Clients";
+App::$strings["Manage authenticatication tokens for mobile and remote apps."] = "Verwalte Tokens für den Zugriff von mobilen bzw. externen Anwendungen.";
+App::$strings["Access Tokens"] = "Zugangstokens";
+App::$strings["Create access tokens so that non-members can access private content."] = "Erzeuge Tokens für den Zugriff von Nicht-Mitgliedern auf private Inhalte.";
App::$strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
App::$strings["Large Photos"] = "Große Fotos";
App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet.";
@@ -3002,8 +3080,6 @@ App::$strings["Prevent posts with identical content to be published with less th
App::$strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
App::$strings["Search by Date"] = "Suche nach Datum";
App::$strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
-App::$strings["Privacy Groups"] = "Gruppen";
-App::$strings["Enable management and selection of privacy groups"] = "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren";
App::$strings["Save search terms for re-use"] = "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung";
App::$strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast";
@@ -3015,7 +3091,6 @@ App::$strings["Show friend and connection suggestions"] = "Freund- und Verbindun
App::$strings["Connection Filtering"] = "Filter für Verbindungen";
App::$strings["Filter incoming posts from connections based on keywords/content"] = "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)";
App::$strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
-App::$strings["Use markdown for editing posts"] = "Verwende Markdown zum Bearbeiten von Beiträgen";
App::$strings["Community Tagging"] = "Gemeinschaftliches Verschlagworten";
App::$strings["Ability to tag existing posts"] = "Ermöglicht das Verschlagworten existierender Beiträge";
App::$strings["Post Categories"] = "Beitrags-Kategorien";
@@ -3029,8 +3104,6 @@ App::$strings["Star Posts"] = "Beiträge mit Sternchen versehen";
App::$strings["Ability to mark special posts with a star indicator"] = "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol";
App::$strings["Tag Cloud"] = "Schlagwort-Wolke";
App::$strings["Provide a personal tag cloud on your channel page"] = "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite";
-App::$strings["Premium Channel"] = "Premium-Kanal";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen";
App::$strings["Tags"] = "Schlagwörter";
App::$strings["Keywords"] = "Schlüsselwörter";
App::$strings["have"] = "habe";
@@ -3092,25 +3165,11 @@ App::$strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
App::$strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
App::$strings["Remote authentication"] = "Ãœber Konto auf anderem Server einloggen";
App::$strings["Click to authenticate to your home hub"] = "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren";
-App::$strings["Network Activity"] = "Netzwerk-Aktivitäten";
-App::$strings["Mark all activity notifications seen"] = "Alle Benachrichtigungen als gesehen markieren";
-App::$strings["Channel home"] = "Mein Kanal";
-App::$strings["View your channel home"] = "Zeige Deine Kanalseite an";
-App::$strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
-App::$strings["Registrations"] = "Registrierungen";
-App::$strings["Notifications"] = "Benachrichtigungen";
-App::$strings["View all notifications"] = "Alle Benachrichtigungen ansehen";
-App::$strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
-App::$strings["Private mail"] = "Persönliche Mail";
-App::$strings["View your private messages"] = "Zeige Deine persönlichen Nachrichten an";
-App::$strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
-App::$strings["Event Calendar"] = "Terminkalender";
App::$strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
App::$strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
App::$strings["End this session"] = "Beende diese Sitzung";
App::$strings["Your profile page"] = "Deine Profilseite";
App::$strings["Manage/Edit profiles"] = "Profile verwalten";
-App::$strings["Edit your profile"] = "Profil bearbeiten";
App::$strings["Sign in"] = "Anmelden";
App::$strings["Take me home"] = "Bringe mich nach Hause (eigener Kanal)";
App::$strings["Log me out of this site"] = "Logge mich von dieser Seite aus";
@@ -3132,6 +3191,7 @@ App::$strings["Upload New Photos"] = "Neue Fotos hochladen";
App::$strings["Invalid data packet"] = "Ungültiges Datenpaket";
App::$strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
App::$strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
+App::$strings["invalid target signature"] = "Ungültige Signatur des Ziels";
App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Es hat früher schon einmal eine Gruppe mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Gruppe den Zugriff erlauben. Wenn das nicht Deine Absicht ist, erstelle bitte eine neue Gruppe mit einem anderen Namen.";
App::$strings["Add new connections to this privacy group"] = "Neue Verbindung zu dieser Gruppe hinzufügen";
App::$strings["edit"] = "Bearbeiten";
diff --git a/view/fr/hmessages.po b/view/fr/hmessages.po
index 6f0453f9d..f13ec864b 100644
--- a/view/fr/hmessages.po
+++ b/view/fr/hmessages.po
@@ -4,16 +4,19 @@
#
# Translators:
# kris1373 <aktosc@gmail.com>, 2015-2016
+# marlo <marlo@mailcatch.com>, 2018
+# Philip Wittamore <philip@wittamore.com>, 2018
+# Pierre Boudes <boudes@univ-paris13.fr>, 2018
# rmonret <raymond.monret@retmesagxo.net>, 2016
-# rmonret <raymond.monret@retmesagxo.net>, 2017
+# rmonret <raymond.monret@retmesagxo.net>, 2017-2018
# Seraph Ino, 2016
msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-03-31 10:53+0200\n"
-"PO-Revision-Date: 2017-04-01 09:31+0000\n"
-"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
+"POT-Creation-Date: 2018-04-13 21:54+0200\n"
+"PO-Revision-Date: 2018-04-16 12:24+0000\n"
+"Last-Translator: Philip Wittamore <philip@wittamore.com>\n"
"Language-Team: French (http://www.transifex.com/Friendica/red-matrix/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,247 +24,239 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: ../../Zotlabs/Access/Permissions.php:46
+#: ../../Zotlabs/Access/Permissions.php:56
msgid "Can view my channel stream and posts"
-msgstr "Peut voir mon canal et mes publicatiosn"
+msgstr "Peut voir mon canal et mes publications"
-#: ../../Zotlabs/Access/Permissions.php:47 ../../include/permissions.php:42
+#: ../../Zotlabs/Access/Permissions.php:57
msgid "Can send me their channel stream and posts"
msgstr "Peuvent m'envoyer leur flux et les publications de leur canal"
-#: ../../Zotlabs/Access/Permissions.php:48 ../../include/permissions.php:36
+#: ../../Zotlabs/Access/Permissions.php:58
msgid "Can view my default channel profile"
-msgstr "Peut voir le profil par défaut du canal."
+msgstr "Peut voir le profil par défaut du canal"
-#: ../../Zotlabs/Access/Permissions.php:49 ../../include/permissions.php:37
+#: ../../Zotlabs/Access/Permissions.php:59
msgid "Can view my connections"
msgstr "Peut voir mes contacts"
-#: ../../Zotlabs/Access/Permissions.php:50 ../../include/permissions.php:38
+#: ../../Zotlabs/Access/Permissions.php:60
msgid "Can view my file storage and photos"
msgstr "Peut voir mes fichiers et photos"
-#: ../../Zotlabs/Access/Permissions.php:51
+#: ../../Zotlabs/Access/Permissions.php:61
msgid "Can upload/modify my file storage and photos"
msgstr "Peut télécharger/modifier mes fichiers et mes photos"
-#: ../../Zotlabs/Access/Permissions.php:52
+#: ../../Zotlabs/Access/Permissions.php:62
msgid "Can view my channel webpages"
msgstr "Peut voir les pages web de mon canal"
-#: ../../Zotlabs/Access/Permissions.php:53
+#: ../../Zotlabs/Access/Permissions.php:63
msgid "Can view my wiki pages"
msgstr "Peut voir les pages de mon wiki"
-#: ../../Zotlabs/Access/Permissions.php:54
+#: ../../Zotlabs/Access/Permissions.php:64
msgid "Can create/edit my channel webpages"
msgstr "Peut créer ou modifier les pages web de mon canal"
-#: ../../Zotlabs/Access/Permissions.php:55
+#: ../../Zotlabs/Access/Permissions.php:65
msgid "Can write to my wiki pages"
msgstr "Peut écrire sur mon wiki"
-#: ../../Zotlabs/Access/Permissions.php:56
+#: ../../Zotlabs/Access/Permissions.php:66
msgid "Can post on my channel (wall) page"
-msgstr "Peut écrire sur le mur de mon canal (mur)"
+msgstr "Peut poster sur mon canal (\"mur\")"
-#: ../../Zotlabs/Access/Permissions.php:57 ../../include/permissions.php:44
+#: ../../Zotlabs/Access/Permissions.php:67
msgid "Can comment on or like my posts"
msgstr "Peuvent commenter et/ou aimer mes publications"
-#: ../../Zotlabs/Access/Permissions.php:58 ../../include/permissions.php:45
+#: ../../Zotlabs/Access/Permissions.php:68
msgid "Can send me private mail messages"
msgstr "Peuvent m'envoyer des messages privés"
-#: ../../Zotlabs/Access/Permissions.php:59
+#: ../../Zotlabs/Access/Permissions.php:69
msgid "Can like/dislike profiles and profile things"
-msgstr "Peut aimer ou détester des profiles"
+msgstr "Peut aimer ou détester des profils"
-#: ../../Zotlabs/Access/Permissions.php:60
+#: ../../Zotlabs/Access/Permissions.php:70
msgid "Can forward to all my channel connections via @+ mentions in posts"
msgstr "Peut faire suivre à tous mes contacts avec la mention @+ dans une publication"
-#: ../../Zotlabs/Access/Permissions.php:61
+#: ../../Zotlabs/Access/Permissions.php:71
msgid "Can chat with me"
msgstr "Peut discuter avec moi"
-#: ../../Zotlabs/Access/Permissions.php:62 ../../include/permissions.php:53
+#: ../../Zotlabs/Access/Permissions.php:72
msgid "Can source my public posts in derived channels"
msgstr "Peut rediriger mes publications publiques vers des canaux dérivés"
-#: ../../Zotlabs/Access/Permissions.php:63
+#: ../../Zotlabs/Access/Permissions.php:73
msgid "Can administer my channel"
msgstr "Peut administrer mon canal"
-#: ../../Zotlabs/Access/PermissionRoles.php:248
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/PermissionRoles.php:283
msgid "Social Networking"
msgstr "Réseau social"
-#: ../../Zotlabs/Access/PermissionRoles.php:249
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/PermissionRoles.php:284
+msgid "Social - Party"
+msgstr "Social - Fête"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:285
msgid "Social - Mostly Public"
msgstr "Social - principalement public"
-#: ../../Zotlabs/Access/PermissionRoles.php:250
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/PermissionRoles.php:286
msgid "Social - Restricted"
msgstr "Social - restreint"
-#: ../../Zotlabs/Access/PermissionRoles.php:251
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/PermissionRoles.php:287
msgid "Social - Private"
msgstr "Social - privé"
-#: ../../Zotlabs/Access/PermissionRoles.php:254
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:290
msgid "Community Forum"
msgstr "Forum communautaire"
-#: ../../Zotlabs/Access/PermissionRoles.php:255
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:291
msgid "Forum - Mostly Public"
msgstr "Forum - principalement public"
-#: ../../Zotlabs/Access/PermissionRoles.php:256
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:292
msgid "Forum - Restricted"
msgstr "Forum - restreint"
-#: ../../Zotlabs/Access/PermissionRoles.php:257
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:293
msgid "Forum - Private"
msgstr "Forum - privé"
-#: ../../Zotlabs/Access/PermissionRoles.php:260
-#: ../../include/permissions.php:947
+#: ../../Zotlabs/Access/PermissionRoles.php:296
msgid "Feed Republish"
msgstr "Republication de flux"
-#: ../../Zotlabs/Access/PermissionRoles.php:261
-#: ../../include/permissions.php:947
+#: ../../Zotlabs/Access/PermissionRoles.php:297
msgid "Feed - Mostly Public"
msgstr "Flux - principalement public"
-#: ../../Zotlabs/Access/PermissionRoles.php:262
-#: ../../include/permissions.php:947
+#: ../../Zotlabs/Access/PermissionRoles.php:298
msgid "Feed - Restricted"
msgstr "Flux - restreint"
-#: ../../Zotlabs/Access/PermissionRoles.php:265
-#: ../../include/permissions.php:948
+#: ../../Zotlabs/Access/PermissionRoles.php:301
msgid "Special Purpose"
msgstr "Utilisation spécifique"
-#: ../../Zotlabs/Access/PermissionRoles.php:266
-#: ../../include/permissions.php:948
+#: ../../Zotlabs/Access/PermissionRoles.php:302
msgid "Special - Celebrity/Soapbox"
msgstr "Spécial - célébrité/vitrine"
-#: ../../Zotlabs/Access/PermissionRoles.php:267
-#: ../../include/permissions.php:948
+#: ../../Zotlabs/Access/PermissionRoles.php:303
msgid "Special - Group Repository"
msgstr "Spécial - dépôt partagé"
-#: ../../Zotlabs/Access/PermissionRoles.php:270
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Settings/Channel.php:463
-#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:798
-#: ../../Zotlabs/Module/Register.php:213 ../../addon/cdav/Mod_Cdav.php:1148
-#: ../../addon/cdav/cdav.php:277 ../../addon/cdav/cdav.php:284
-#: ../../include/selectors.php:49 ../../include/selectors.php:66
-#: ../../include/selectors.php:104 ../../include/selectors.php:140
-#: ../../include/permissions.php:949 ../../include/connections.php:675
-#: ../../include/connections.php:682
+#: ../../Zotlabs/Access/PermissionRoles.php:306
+#: ../../Zotlabs/Module/Cdav.php:1182 ../../Zotlabs/Module/New_channel.php:144
+#: ../../Zotlabs/Module/Settings/Channel.php:479
+#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:795
+#: ../../Zotlabs/Module/Register.php:224 ../../include/selectors.php:49
+#: ../../include/selectors.php:66 ../../include/selectors.php:104
+#: ../../include/selectors.php:140 ../../include/event.php:1315
+#: ../../include/event.php:1322 ../../include/connections.php:697
+#: ../../include/connections.php:704
msgid "Other"
msgstr "Autre"
-#: ../../Zotlabs/Access/PermissionRoles.php:271
-#: ../../include/permissions.php:949
+#: ../../Zotlabs/Access/PermissionRoles.php:307
msgid "Custom/Expert Mode"
msgstr "Mode expert/spécifique"
-#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31
-#: ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Articles.php:29
+#: ../../Zotlabs/Module/Editlayout.php:31 ../../Zotlabs/Module/Connect.php:17
#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Hcard.php:12
#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Profile.php:20
#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Webpages.php:33
-#: ../../Zotlabs/Module/Filestorage.php:59 ../../include/channel.php:943
+#: ../../Zotlabs/Module/Cards.php:33 ../../Zotlabs/Module/Webpages.php:33
+#: ../../Zotlabs/Module/Filestorage.php:51 ../../include/channel.php:1197
msgid "Requested profile is not available."
msgstr "Profil demandé non disponible."
#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:94
-#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Channel.php:115
-#: ../../Zotlabs/Module/Channel.php:245 ../../Zotlabs/Module/Channel.php:285
+#: ../../Zotlabs/Module/Articles.php:68 ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Channel.php:110
+#: ../../Zotlabs/Module/Channel.php:248 ../../Zotlabs/Module/Channel.php:288
#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:87
#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Events.php:271
-#: ../../Zotlabs/Module/Appman.php:82 ../../Zotlabs/Module/Regmod.php:21
-#: ../../Zotlabs/Module/New_channel.php:77
-#: ../../Zotlabs/Module/New_channel.php:104
-#: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Setup.php:212
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:274
-#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:335
+#: ../../Zotlabs/Module/Appman.php:87 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Article_edit.php:51
+#: ../../Zotlabs/Module/New_channel.php:91
+#: ../../Zotlabs/Module/New_channel.php:116
+#: ../../Zotlabs/Module/Sharedwithme.php:16 ../../Zotlabs/Module/Setup.php:209
+#: ../../Zotlabs/Module/Moderate.php:13
+#: ../../Zotlabs/Module/Settings/Features.php:38
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:280
+#: ../../Zotlabs/Module/Thing.php:300 ../../Zotlabs/Module/Thing.php:341
#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Editblock.php:67
-#: ../../Zotlabs/Module/Profile.php:83 ../../Zotlabs/Module/Profile.php:100
+#: ../../Zotlabs/Module/Profile.php:85 ../../Zotlabs/Module/Profile.php:101
#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Connections.php:29
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Bookmarks.php:64
#: ../../Zotlabs/Module/Photos.php:69 ../../Zotlabs/Module/Wiki.php:50
-#: ../../Zotlabs/Module/Wiki.php:216 ../../Zotlabs/Module/Wiki.php:315
-#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Poke.php:137
-#: ../../Zotlabs/Module/Profile_photo.php:280
-#: ../../Zotlabs/Module/Profile_photo.php:293
-#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Item.php:220
-#: ../../Zotlabs/Module/Item.php:230 ../../Zotlabs/Module/Item.php:1037
-#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
-#: ../../Zotlabs/Module/Connedit.php:385 ../../Zotlabs/Module/Chat.php:98
-#: ../../Zotlabs/Module/Chat.php:103 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Wiki.php:273 ../../Zotlabs/Module/Wiki.php:404
+#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Poke.php:149
+#: ../../Zotlabs/Module/Profile_photo.php:302
+#: ../../Zotlabs/Module/Profile_photo.php:315
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Item.php:229
+#: ../../Zotlabs/Module/Item.php:246 ../../Zotlabs/Module/Item.php:256
+#: ../../Zotlabs/Module/Item.php:1106 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Connedit.php:389
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Layouts.php:71
+#: ../../Zotlabs/Module/Layouts.php:78 ../../Zotlabs/Module/Layouts.php:89
+#: ../../Zotlabs/Module/Defperms.php:173 ../../Zotlabs/Module/Group.php:13
#: ../../Zotlabs/Module/Profiles.php:198 ../../Zotlabs/Module/Profiles.php:635
#: ../../Zotlabs/Module/Editwebpage.php:68
#: ../../Zotlabs/Module/Editwebpage.php:89
-#: ../../Zotlabs/Module/Editwebpage.php:104
-#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Manage.php:10
-#: ../../Zotlabs/Module/Webpages.php:116 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Editpost.php:17
-#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Like.php:181
-#: ../../Zotlabs/Module/Suggest.php:28 ../../Zotlabs/Module/Message.php:18
-#: ../../Zotlabs/Module/Mail.php:164 ../../Zotlabs/Module/Register.php:77
+#: ../../Zotlabs/Module/Editwebpage.php:107
+#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Cards.php:72 ../../Zotlabs/Module/Webpages.php:118
+#: ../../Zotlabs/Module/Block.php:24 ../../Zotlabs/Module/Block.php:74
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Sources.php:74
+#: ../../Zotlabs/Module/Like.php:185 ../../Zotlabs/Module/Suggest.php:28
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mail.php:146
+#: ../../Zotlabs/Module/Register.php:77
#: ../../Zotlabs/Module/Cover_photo.php:281
#: ../../Zotlabs/Module/Cover_photo.php:294
-#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Filestorage.php:23
-#: ../../Zotlabs/Module/Filestorage.php:78
-#: ../../Zotlabs/Module/Filestorage.php:93
-#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Common.php:39
+#: ../../Zotlabs/Module/Display.php:449 ../../Zotlabs/Module/Network.php:15
+#: ../../Zotlabs/Module/Filestorage.php:15
+#: ../../Zotlabs/Module/Filestorage.php:70
+#: ../../Zotlabs/Module/Filestorage.php:85
+#: ../../Zotlabs/Module/Filestorage.php:117 ../../Zotlabs/Module/Common.php:38
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Notifications.php:11
-#: ../../Zotlabs/Lib/Chatroom.php:137 ../../Zotlabs/Web/WebServer.php:131
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Card_edit.php:51
+#: ../../Zotlabs/Module/Notifications.php:11
+#: ../../Zotlabs/Lib/Chatroom.php:133 ../../Zotlabs/Web/WebServer.php:123
#: ../../addon/keepout/keepout.php:36 ../../addon/openid/Mod_Id.php:53
-#: ../../addon/gitwiki/Mod_Gitwiki.php:196
-#: ../../addon/gitwiki/Mod_Gitwiki.php:292
-#: ../../addon/diaspora_reconnect/diaspora_reconnect.php:58
-#: ../../addon/pumpio/pumpio.php:40 ../../include/attach.php:144
-#: ../../include/attach.php:191 ../../include/attach.php:255
-#: ../../include/attach.php:269 ../../include/attach.php:276
-#: ../../include/attach.php:344 ../../include/attach.php:358
-#: ../../include/attach.php:365 ../../include/attach.php:442
-#: ../../include/attach.php:909 ../../include/attach.php:983
-#: ../../include/attach.php:1148 ../../include/items.php:3457
+#: ../../addon/pumpio/pumpio.php:40 ../../include/attach.php:150
+#: ../../include/attach.php:197 ../../include/attach.php:270
+#: ../../include/attach.php:284 ../../include/attach.php:293
+#: ../../include/attach.php:366 ../../include/attach.php:380
+#: ../../include/attach.php:387 ../../include/attach.php:469
+#: ../../include/attach.php:1029 ../../include/attach.php:1103
+#: ../../include/attach.php:1268 ../../include/items.php:3706
#: ../../include/photos.php:27
msgid "Permission denied."
-msgstr "Permission refusée."
+msgstr "Accès refusé."
#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
#: ../../Zotlabs/Module/Editblock.php:113
msgid "Block Name"
msgstr "Nom du Bloc"
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2275
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2405
msgid "Blocks"
msgstr "Blocs"
@@ -270,78 +265,76 @@ msgid "Block Title"
msgstr "Titre du bloc"
#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:114
-#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:256
-#: ../../include/page_widgets.php:47
+#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:251
msgid "Created"
msgstr "Créé(e)"
#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:115
-#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Webpages.php:257
-#: ../../include/page_widgets.php:48
+#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Webpages.php:252
msgid "Edited"
msgstr "Modifié(e)"
-#: ../../Zotlabs/Module/Blocks.php:159
-#: ../../Zotlabs/Module/New_channel.php:147
-#: ../../Zotlabs/Module/Connedit.php:925 ../../Zotlabs/Module/Menu.php:118
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Module/Profiles.php:801
-#: ../../Zotlabs/Module/Webpages.php:244 ../../Zotlabs/Storage/Browser.php:228
-#: ../../Zotlabs/Storage/Browser.php:332 ../../addon/cdav/Mod_Cdav.php:1151
-#: ../../addon/cdav/include/widgets.php:127
-#: ../../addon/cdav/include/widgets.php:164
+#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Articles.php:96
+#: ../../Zotlabs/Module/Cdav.php:1185 ../../Zotlabs/Module/New_channel.php:160
+#: ../../Zotlabs/Module/Connedit.php:921 ../../Zotlabs/Module/Menu.php:118
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Cards.php:100 ../../Zotlabs/Module/Webpages.php:239
+#: ../../Zotlabs/Storage/Browser.php:276 ../../Zotlabs/Storage/Browser.php:382
+#: ../../Zotlabs/Widget/Cdav.php:128 ../../Zotlabs/Widget/Cdav.php:165
msgid "Create"
msgstr "Créer"
#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
-#: ../../Zotlabs/Module/Admin/Profs.php:154
-#: ../../Zotlabs/Module/Settings/Oauth.php:149
-#: ../../Zotlabs/Module/Thing.php:260 ../../Zotlabs/Module/Editblock.php:114
-#: ../../Zotlabs/Module/Connections.php:296
-#: ../../Zotlabs/Module/Connections.php:316 ../../Zotlabs/Module/Wiki.php:165
-#: ../../Zotlabs/Module/Wiki.php:275 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Article_edit.php:99
+#: ../../Zotlabs/Module/Admin/Profs.php:175
+#: ../../Zotlabs/Module/Settings/Oauth2.php:149
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Module/Thing.php:266 ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:281
+#: ../../Zotlabs/Module/Connections.php:319
+#: ../../Zotlabs/Module/Connections.php:339 ../../Zotlabs/Module/Wiki.php:202
+#: ../../Zotlabs/Module/Wiki.php:362 ../../Zotlabs/Module/Menu.php:112
#: ../../Zotlabs/Module/Layouts.php:193
-#: ../../Zotlabs/Module/Editwebpage.php:147
-#: ../../Zotlabs/Module/Webpages.php:245 ../../Zotlabs/Module/Editpost.php:85
-#: ../../Zotlabs/Lib/Apps.php:357 ../../Zotlabs/Lib/ThreadItem.php:107
-#: ../../Zotlabs/Storage/Browser.php:238
-#: ../../addon/cdav/include/widgets.php:125
-#: ../../addon/cdav/include/widgets.php:161
-#: ../../addon/gitwiki/Mod_Gitwiki.php:151
-#: ../../addon/gitwiki/Mod_Gitwiki.php:252 ../../include/channel.php:1042
-#: ../../include/channel.php:1046 ../../include/menu.php:113
-#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39
+#: ../../Zotlabs/Module/Editwebpage.php:142
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Card_edit.php:99
+#: ../../Zotlabs/Lib/Apps.php:409 ../../Zotlabs/Lib/ThreadItem.php:121
+#: ../../Zotlabs/Storage/Browser.php:288 ../../Zotlabs/Widget/Cdav.php:126
+#: ../../Zotlabs/Widget/Cdav.php:162 ../../include/channel.php:1296
+#: ../../include/channel.php:1300 ../../include/menu.php:113
msgid "Edit"
msgstr "Modifier"
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1042
-#: ../../Zotlabs/Module/Layouts.php:194 ../../Zotlabs/Module/Webpages.php:246
-#: ../../addon/cdav/include/widgets.php:123
-#: ../../include/conversation.php:1311
+#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1102
+#: ../../Zotlabs/Module/Wiki.php:287 ../../Zotlabs/Module/Layouts.php:194
+#: ../../Zotlabs/Module/Webpages.php:241 ../../Zotlabs/Widget/Cdav.php:124
+#: ../../include/conversation.php:1366
msgid "Share"
msgstr "Partager"
#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editlayout.php:138
-#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../Zotlabs/Module/Cdav.php:897 ../../Zotlabs/Module/Cdav.php:1187
+#: ../../Zotlabs/Module/Article_edit.php:129
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
#: ../../Zotlabs/Module/Admin/Channels.php:149
-#: ../../Zotlabs/Module/Admin/Profs.php:155
-#: ../../Zotlabs/Module/Settings/Oauth.php:150
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Editblock.php:139
-#: ../../Zotlabs/Module/Connections.php:267
-#: ../../Zotlabs/Module/Photos.php:1143 ../../Zotlabs/Module/Connedit.php:658
-#: ../../Zotlabs/Module/Connedit.php:927 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Profiles.php:803
-#: ../../Zotlabs/Module/Editwebpage.php:172
-#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/Apps.php:358
-#: ../../Zotlabs/Lib/ThreadItem.php:127 ../../Zotlabs/Storage/Browser.php:239
-#: ../../addon/cdav/Mod_Cdav.php:864 ../../addon/cdav/Mod_Cdav.php:1153
-#: ../../include/conversation.php:654
+#: ../../Zotlabs/Module/Admin/Profs.php:176
+#: ../../Zotlabs/Module/Settings/Oauth2.php:150
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+#: ../../Zotlabs/Module/Thing.php:267 ../../Zotlabs/Module/Editblock.php:139
+#: ../../Zotlabs/Module/Connections.php:289
+#: ../../Zotlabs/Module/Photos.php:1203 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Group.php:179
+#: ../../Zotlabs/Module/Profiles.php:800
+#: ../../Zotlabs/Module/Editwebpage.php:167
+#: ../../Zotlabs/Module/Webpages.php:242
+#: ../../Zotlabs/Module/Card_edit.php:129 ../../Zotlabs/Lib/Apps.php:410
+#: ../../Zotlabs/Lib/ThreadItem.php:141 ../../Zotlabs/Storage/Browser.php:289
+#: ../../include/conversation.php:690 ../../include/conversation.php:733
msgid "Delete"
msgstr "Supprimer"
#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Events.php:694
-#: ../../Zotlabs/Module/Wiki.php:167 ../../Zotlabs/Module/Layouts.php:198
-#: ../../Zotlabs/Module/Webpages.php:251 ../../Zotlabs/Module/Pubsites.php:59
-#: ../../addon/gitwiki/Mod_Gitwiki.php:153 ../../include/page_widgets.php:42
+#: ../../Zotlabs/Module/Wiki.php:204 ../../Zotlabs/Module/Layouts.php:198
+#: ../../Zotlabs/Module/Webpages.php:246 ../../Zotlabs/Module/Pubsites.php:60
msgid "View"
msgstr "Voir"
@@ -363,6 +356,7 @@ msgid "Invitation limit exceeded. Please contact your site administrator."
msgstr "Limite d'invitations dépassée. Merci de contacter l'administration de votre site."
#: ../../Zotlabs/Module/Invite.php:82
+#: ../../addon/notifyadmin/notifyadmin.php:40
#, php-format
msgid "%s : Message delivery failed."
msgstr "%s&nbsp;: Échec de distribution du message."
@@ -374,123 +368,141 @@ msgid_plural "%d messages sent."
msgstr[0] "%d message envoyé."
msgstr[1] "%d messages envoyés."
-#: ../../Zotlabs/Module/Invite.php:105
+#: ../../Zotlabs/Module/Invite.php:107
msgid "You have no more invitations available"
msgstr "Vous ne disposez plus d'aucune invitation"
-#: ../../Zotlabs/Module/Invite.php:136
+#: ../../Zotlabs/Module/Invite.php:138
msgid "Send invitations"
msgstr "Envoyer des invitations"
-#: ../../Zotlabs/Module/Invite.php:137
+#: ../../Zotlabs/Module/Invite.php:139
msgid "Enter email addresses, one per line:"
msgstr "Entrez les adresses de courriel, une par ligne&nbsp;:"
-#: ../../Zotlabs/Module/Invite.php:138 ../../Zotlabs/Module/Mail.php:284
+#: ../../Zotlabs/Module/Invite.php:140 ../../Zotlabs/Module/Mail.php:285
msgid "Your message:"
msgstr "Votre message&nbsp;:"
-#: ../../Zotlabs/Module/Invite.php:139
+#: ../../Zotlabs/Module/Invite.php:141
msgid "Please join my community on $Projectname."
msgstr "Rejoignez ma communauté sur $Projectname."
-#: ../../Zotlabs/Module/Invite.php:141
+#: ../../Zotlabs/Module/Invite.php:143
msgid "You will need to supply this invitation code:"
msgstr "Vous devrez fournir le code suivant&nbsp;:"
-#: ../../Zotlabs/Module/Invite.php:142
+#: ../../Zotlabs/Module/Invite.php:144
msgid ""
"1. Register at any $Projectname location (they are all inter-connected)"
msgstr "1. Enregistrez-vous sur n'importe quel serveur $Projectname (ils sont tous inter-connectés)"
-#: ../../Zotlabs/Module/Invite.php:144
+#: ../../Zotlabs/Module/Invite.php:146
msgid "2. Enter my $Projectname network address into the site searchbar."
msgstr "2. Saisissez l'adresse de mon canal $Projectname dans la barre de recherche du site."
-#: ../../Zotlabs/Module/Invite.php:145
+#: ../../Zotlabs/Module/Invite.php:147
msgid "or visit"
msgstr "ou rendez-vous sur"
-#: ../../Zotlabs/Module/Invite.php:147
+#: ../../Zotlabs/Module/Invite.php:149
msgid "3. Click [Connect]"
msgstr "3. Cliquez sur [Ajouter]"
-#: ../../Zotlabs/Module/Invite.php:149 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Invite.php:151 ../../Zotlabs/Module/Locs.php:121
#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Events.php:493
-#: ../../Zotlabs/Module/Appman.php:134
-#: ../../Zotlabs/Module/Import_items.php:126
-#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:357
+#: ../../Zotlabs/Module/Appman.php:153
+#: ../../Zotlabs/Module/Import_items.php:129
+#: ../../Zotlabs/Module/Setup.php:308 ../../Zotlabs/Module/Setup.php:349
#: ../../Zotlabs/Module/Connect.php:98
#: ../../Zotlabs/Module/Admin/Features.php:66
#: ../../Zotlabs/Module/Admin/Plugins.php:438
-#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
#: ../../Zotlabs/Module/Admin/Logs.php:84
#: ../../Zotlabs/Module/Admin/Channels.php:147
#: ../../Zotlabs/Module/Admin/Themes.php:158
-#: ../../Zotlabs/Module/Admin/Site.php:279
-#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Site.php:296
+#: ../../Zotlabs/Module/Admin/Profs.php:178
#: ../../Zotlabs/Module/Admin/Account_edit.php:74
#: ../../Zotlabs/Module/Admin/Security.php:104
#: ../../Zotlabs/Module/Settings/Permcats.php:110
-#: ../../Zotlabs/Module/Settings/Channel.php:476
-#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Features.php:79
#: ../../Zotlabs/Module/Settings/Tokens.php:168
+#: ../../Zotlabs/Module/Settings/Oauth2.php:84
#: ../../Zotlabs/Module/Settings/Account.php:118
-#: ../../Zotlabs/Module/Settings/Featured.php:50
-#: ../../Zotlabs/Module/Settings/Display.php:203
-#: ../../Zotlabs/Module/Settings/Oauth.php:87
-#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
-#: ../../Zotlabs/Module/Import.php:511 ../../Zotlabs/Module/Cal.php:343
-#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Photos.php:657
-#: ../../Zotlabs/Module/Photos.php:1022 ../../Zotlabs/Module/Photos.php:1062
-#: ../../Zotlabs/Module/Photos.php:1180 ../../Zotlabs/Module/Wiki.php:169
-#: ../../Zotlabs/Module/Pdledit.php:74 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Connedit.php:890 ../../Zotlabs/Module/Chat.php:194
-#: ../../Zotlabs/Module/Chat.php:240 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Profiles.php:726
-#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
-#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Mail.php:425
-#: ../../Zotlabs/Module/Filestorage.php:165 ../../Zotlabs/Module/Rate.php:166
-#: ../../Zotlabs/Lib/ThreadItem.php:732
+#: ../../Zotlabs/Module/Settings/Featured.php:54
+#: ../../Zotlabs/Module/Settings/Display.php:192
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Thing.php:326 ../../Zotlabs/Module/Thing.php:379
+#: ../../Zotlabs/Module/Import.php:530 ../../Zotlabs/Module/Cal.php:345
+#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Photos.php:1082
+#: ../../Zotlabs/Module/Photos.php:1122 ../../Zotlabs/Module/Photos.php:1240
+#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Module/Pdledit.php:98
+#: ../../Zotlabs/Module/Poke.php:200 ../../Zotlabs/Module/Connedit.php:887
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:242
+#: ../../Zotlabs/Module/Email_validation.php:40
+#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Defperms.php:249
+#: ../../Zotlabs/Module/Group.php:87 ../../Zotlabs/Module/Profiles.php:723
+#: ../../Zotlabs/Module/Editpost.php:85 ../../Zotlabs/Module/Sources.php:114
+#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Mail.php:431 ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Lib/ThreadItem.php:752
#: ../../Zotlabs/Widget/Eventstools.php:16
-#: ../../view/theme/redbasic/php/config.php:84
-#: ../../addon/skeleton/skeleton.php:65 ../../addon/gnusoc/gnusoc.php:133
-#: ../../addon/cdav/cdav.php:246 ../../addon/planets/planets.php:157
+#: ../../Zotlabs/Widget/Wiki_pages.php:40
+#: ../../Zotlabs/Widget/Wiki_pages.php:97
+#: ../../view/theme/redbasic_c/php/config.php:95
+#: ../../view/theme/redbasic/php/config.php:93
+#: ../../addon/skeleton/skeleton.php:65 ../../addon/gnusoc/gnusoc.php:275
+#: ../../addon/planets/planets.php:153
#: ../../addon/openclipatar/openclipatar.php:53
#: ../../addon/wppost/wppost.php:113 ../../addon/nsfw/nsfw.php:92
#: ../../addon/ijpost/ijpost.php:89 ../../addon/dwpost/dwpost.php:89
-#: ../../addon/mailhost/mailhost.php:40
#: ../../addon/likebanner/likebanner.php:57
#: ../../addon/redphotos/redphotos.php:136 ../../addon/irc/irc.php:53
#: ../../addon/ljpost/ljpost.php:86 ../../addon/startpage/startpage.php:113
-#: ../../addon/diaspora/diaspora.php:714
-#: ../../addon/gitwiki/Mod_Gitwiki.php:155
-#: ../../addon/rainbowtag/rainbowtag.php:85 ../../addon/visage/visage.php:170
-#: ../../addon/nsabait/nsabait.php:161 ../../addon/mailtest/mailtest.php:100
+#: ../../addon/diaspora/diaspora.php:823
+#: ../../addon/rainbowtag/rainbowtag.php:85 ../../addon/hzfiles/hzfiles.php:84
+#: ../../addon/visage/visage.php:170 ../../addon/nsabait/nsabait.php:161
+#: ../../addon/mailtest/mailtest.php:100
#: ../../addon/openstreetmap/openstreetmap.php:168
#: ../../addon/rtof/rtof.php:101 ../../addon/jappixmini/jappixmini.php:371
#: ../../addon/superblock/superblock.php:120 ../../addon/nofed/nofed.php:80
#: ../../addon/redred/redred.php:119 ../../addon/logrot/logrot.php:35
-#: ../../addon/frphotos/frphotos.php:96 ../../addon/chords/Mod_Chords.php:60
-#: ../../addon/libertree/libertree.php:85
+#: ../../addon/frphotos/frphotos.php:97 ../../addon/pubcrawl/pubcrawl.php:1069
+#: ../../addon/chords/Mod_Chords.php:60 ../../addon/libertree/libertree.php:85
#: ../../addon/flattrwidget/flattrwidget.php:124
#: ../../addon/statusnet/statusnet.php:322
#: ../../addon/statusnet/statusnet.php:380
#: ../../addon/statusnet/statusnet.php:432
-#: ../../addon/statusnet/statusnet.php:899 ../../addon/twitter/twitter.php:217
-#: ../../addon/twitter/twitter.php:259
-#: ../../addon/smileybutton/smileybutton.php:281
-#: ../../addon/piwik/piwik.php:95 ../../addon/pageheader/pageheader.php:48
-#: ../../addon/xmpp/xmpp.php:69 ../../addon/pumpio/pumpio.php:237
-#: ../../addon/redfiles/redfiles.php:124 ../../addon/hubwall/hubwall.php:95
-#: ../../include/js_strings.php:22
+#: ../../addon/statusnet/statusnet.php:900 ../../addon/twitter/twitter.php:218
+#: ../../addon/twitter/twitter.php:265
+#: ../../addon/smileybutton/smileybutton.php:219
+#: ../../addon/cart/cart.php:1104 ../../addon/piwik/piwik.php:95
+#: ../../addon/pageheader/pageheader.php:48
+#: ../../addon/authchoose/authchoose.php:71 ../../addon/xmpp/xmpp.php:69
+#: ../../addon/pumpio/pumpio.php:237 ../../addon/redfiles/redfiles.php:124
+#: ../../addon/hubwall/hubwall.php:95 ../../include/js_strings.php:22
msgid "Submit"
msgstr "Envoyer"
+#: ../../Zotlabs/Module/Articles.php:38 ../../Zotlabs/Module/Articles.php:191
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/features.php:133
+#: ../../include/nav.php:469
+msgid "Articles"
+msgstr "Articles"
+
+#: ../../Zotlabs/Module/Articles.php:95
+msgid "Add Article"
+msgstr "Ajouter article"
+
#: ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Article_edit.php:17
+#: ../../Zotlabs/Module/Article_edit.php:33
#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
#: ../../Zotlabs/Module/Editwebpage.php:80
-#: ../../Zotlabs/Module/Editpost.php:24
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Card_edit.php:17
+#: ../../Zotlabs/Module/Card_edit.php:33
msgid "Item not found"
msgstr "Élément introuvable"
@@ -508,13 +520,14 @@ msgstr "Description de la mise en page (facultatif)"
msgid "Edit Layout"
msgstr "Modifier la mise en page"
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../Zotlabs/Module/Import_items.php:118 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:86
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Cloud.php:117 ../../Zotlabs/Module/Group.php:74
#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:68
-#: ../../Zotlabs/Module/Like.php:283 ../../Zotlabs/Web/WebServer.php:130
-#: ../../addon/redphotos/redphotos.php:119
-#: ../../addon/frphotos/frphotos.php:81 ../../addon/redfiles/redfiles.php:109
-#: ../../include/items.php:327
+#: ../../Zotlabs/Module/Like.php:296 ../../Zotlabs/Web/WebServer.php:122
+#: ../../addon/redphotos/redphotos.php:119 ../../addon/hzfiles/hzfiles.php:73
+#: ../../addon/frphotos/frphotos.php:82 ../../addon/redfiles/redfiles.php:109
+#: ../../include/items.php:358
msgid "Permission denied"
msgstr "Accès refusé"
@@ -526,7 +539,7 @@ msgstr "Identifiant de profil invalide."
msgid "Profile Visibility Editor"
msgstr "Éditeur de visibilité de profil"
-#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1360
+#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1644
msgid "Profile"
msgstr "Profil"
@@ -539,32 +552,310 @@ msgid "Visible To"
msgstr "Visible par"
#: ../../Zotlabs/Module/Profperm.php:140
-#: ../../Zotlabs/Module/Connections.php:141
+#: ../../Zotlabs/Module/Connections.php:200
msgid "All Connections"
msgstr "Tous les contacts"
+#: ../../Zotlabs/Module/Cdav.php:785
+msgid "INVALID EVENT DISMISSED!"
+msgstr "ÉVÉNEMENT INVALIDE REJETÉ!"
+
+#: ../../Zotlabs/Module/Cdav.php:786
+msgid "Summary: "
+msgstr "Sommaire :"
+
+#: ../../Zotlabs/Module/Cdav.php:786 ../../Zotlabs/Module/Cdav.php:787
+#: ../../Zotlabs/Module/Cdav.php:794 ../../Zotlabs/Module/Embedphotos.php:146
+#: ../../Zotlabs/Module/Photos.php:817 ../../Zotlabs/Module/Photos.php:1273
+#: ../../Zotlabs/Lib/Apps.php:754 ../../Zotlabs/Lib/Apps.php:833
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Widget/Portfolio.php:95
+#: ../../Zotlabs/Widget/Album.php:84 ../../addon/pubcrawl/as.php:878
+#: ../../include/conversation.php:1160
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: ../../Zotlabs/Module/Cdav.php:787
+msgid "Date: "
+msgstr "Date :"
+
+#: ../../Zotlabs/Module/Cdav.php:788 ../../Zotlabs/Module/Cdav.php:795
+msgid "Reason: "
+msgstr "Raison :"
+
+#: ../../Zotlabs/Module/Cdav.php:793
+msgid "INVALID CARD DISMISSED!"
+msgstr "ÉVÉNEMENT INVALIDE REJETÉ!"
+
+#: ../../Zotlabs/Module/Cdav.php:794
+msgid "Name: "
+msgstr "Nom :"
+
+#: ../../Zotlabs/Module/Cdav.php:868 ../../Zotlabs/Module/Events.php:460
+msgid "Event title"
+msgstr "Titre de l'événement"
+
+#: ../../Zotlabs/Module/Cdav.php:869 ../../Zotlabs/Module/Events.php:466
+msgid "Start date and time"
+msgstr "Date et heure de début"
+
+#: ../../Zotlabs/Module/Cdav.php:869 ../../Zotlabs/Module/Cdav.php:870
+msgid "Example: YYYY-MM-DD HH:mm"
+msgstr "Exemple : YYYY-MM-DD HH:mm"
+
+#: ../../Zotlabs/Module/Cdav.php:870
+msgid "End date and time"
+msgstr "Date et heure de fin"
+
+#: ../../Zotlabs/Module/Cdav.php:871 ../../Zotlabs/Module/Events.php:473
+#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../addon/rendezvous/rendezvous.php:173
+msgid "Description"
+msgstr "Description"
+
+#: ../../Zotlabs/Module/Cdav.php:872 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Profiles.php:509
+#: ../../Zotlabs/Module/Profiles.php:734 ../../Zotlabs/Module/Pubsites.php:52
+#: ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Emplacement"
+
+#: ../../Zotlabs/Module/Cdav.php:879 ../../Zotlabs/Module/Events.php:689
+#: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Cal.php:346 ../../Zotlabs/Module/Photos.php:971
+msgid "Previous"
+msgstr "Précédent"
+
+#: ../../Zotlabs/Module/Cdav.php:880 ../../Zotlabs/Module/Events.php:690
+#: ../../Zotlabs/Module/Events.php:699 ../../Zotlabs/Module/Setup.php:263
+#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Cal.php:347
+#: ../../Zotlabs/Module/Photos.php:980
+msgid "Next"
+msgstr "Suivant"
+
+#: ../../Zotlabs/Module/Cdav.php:881 ../../Zotlabs/Module/Events.php:700
+#: ../../Zotlabs/Module/Cal.php:348
+msgid "Today"
+msgstr "Aujourd'hui"
+
+#: ../../Zotlabs/Module/Cdav.php:882 ../../Zotlabs/Module/Events.php:695
+msgid "Month"
+msgstr "Mois"
+
+#: ../../Zotlabs/Module/Cdav.php:883 ../../Zotlabs/Module/Events.php:696
+msgid "Week"
+msgstr "Semaine"
+
+#: ../../Zotlabs/Module/Cdav.php:884 ../../Zotlabs/Module/Events.php:697
+msgid "Day"
+msgstr "Jour"
+
+#: ../../Zotlabs/Module/Cdav.php:885
+msgid "List month"
+msgstr "Liste mois"
+
+#: ../../Zotlabs/Module/Cdav.php:886
+msgid "List week"
+msgstr "Liste semaine"
+
+#: ../../Zotlabs/Module/Cdav.php:887
+msgid "List day"
+msgstr "Liste jour"
+
+#: ../../Zotlabs/Module/Cdav.php:894
+msgid "More"
+msgstr "Plus"
+
+#: ../../Zotlabs/Module/Cdav.php:895
+msgid "Less"
+msgstr "Moins"
+
+#: ../../Zotlabs/Module/Cdav.php:896
+msgid "Select calendar"
+msgstr "Sélectionner un calendrier"
+
+#: ../../Zotlabs/Module/Cdav.php:898
+msgid "Delete all"
+msgstr "Tout supprimer"
+
+#: ../../Zotlabs/Module/Cdav.php:899 ../../Zotlabs/Module/Cdav.php:1188
+#: ../../Zotlabs/Module/Admin/Plugins.php:423
+#: ../../Zotlabs/Module/Settings/Oauth2.php:85
+#: ../../Zotlabs/Module/Settings/Oauth2.php:113
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
+#: ../../Zotlabs/Module/Wiki.php:347 ../../Zotlabs/Module/Wiki.php:379
+#: ../../Zotlabs/Module/Profile_photo.php:464
+#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Fbrowser.php:66
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:801
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:365
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../include/conversation.php:1389 ../../include/conversation.php:1438
+msgid "Cancel"
+msgstr "Annuler"
+
+#: ../../Zotlabs/Module/Cdav.php:900
+msgid "Sorry! Editing of recurrent events is not yet implemented."
+msgstr "Désolé ! L'édition d'événements récurrents n'est pas encore implémenté."
+
+#: ../../Zotlabs/Module/Cdav.php:1170
+#: ../../Zotlabs/Module/Sharedwithme.php:105
+#: ../../Zotlabs/Module/Admin/Channels.php:159
+#: ../../Zotlabs/Module/Settings/Oauth2.php:86
+#: ../../Zotlabs/Module/Settings/Oauth2.php:114
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+#: ../../Zotlabs/Module/Wiki.php:209 ../../Zotlabs/Module/Connedit.php:906
+#: ../../Zotlabs/Module/Chat.php:251 ../../Zotlabs/Lib/NativeWikiPage.php:558
+#: ../../Zotlabs/Storage/Browser.php:283
+#: ../../Zotlabs/Widget/Wiki_page_history.php:22
+#: ../../addon/rendezvous/rendezvous.php:172
+msgid "Name"
+msgstr "Nom"
+
+#: ../../Zotlabs/Module/Cdav.php:1171 ../../Zotlabs/Module/Connedit.php:907
+msgid "Organisation"
+msgstr "Organisation"
+
+#: ../../Zotlabs/Module/Cdav.php:1172 ../../Zotlabs/Module/Connedit.php:908
+msgid "Title"
+msgstr "Titre"
+
+#: ../../Zotlabs/Module/Cdav.php:1173 ../../Zotlabs/Module/Connedit.php:909
+#: ../../Zotlabs/Module/Profiles.php:786
+msgid "Phone"
+msgstr "Téléphone"
+
+#: ../../Zotlabs/Module/Cdav.php:1174
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+#: ../../Zotlabs/Module/Admin/Accounts.php:183
+#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:787
+#: ../../addon/openid/MysqlProvider.php:56
+#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
+#: ../../addon/redred/redred.php:107 ../../include/network.php:1776
+msgid "Email"
+msgstr "Courriel"
+
+#: ../../Zotlabs/Module/Cdav.php:1175 ../../Zotlabs/Module/Connedit.php:911
+#: ../../Zotlabs/Module/Profiles.php:788
+msgid "Instant messenger"
+msgstr "Instant messenger"
+
+#: ../../Zotlabs/Module/Cdav.php:1176 ../../Zotlabs/Module/Connedit.php:912
+#: ../../Zotlabs/Module/Profiles.php:789
+msgid "Website"
+msgstr "Site web"
+
+#: ../../Zotlabs/Module/Cdav.php:1177 ../../Zotlabs/Module/Locs.php:118
+#: ../../Zotlabs/Module/Admin/Channels.php:160
+#: ../../Zotlabs/Module/Connedit.php:913 ../../Zotlabs/Module/Profiles.php:502
+#: ../../Zotlabs/Module/Profiles.php:790
+msgid "Address"
+msgstr "Adresse"
+
+#: ../../Zotlabs/Module/Cdav.php:1178 ../../Zotlabs/Module/Connedit.php:914
+#: ../../Zotlabs/Module/Profiles.php:791
+msgid "Note"
+msgstr "Note"
+
+#: ../../Zotlabs/Module/Cdav.php:1179 ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Profiles.php:792 ../../include/event.php:1308
+#: ../../include/connections.php:690
+msgid "Mobile"
+msgstr "Mobile"
+
+#: ../../Zotlabs/Module/Cdav.php:1180 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Profiles.php:793 ../../include/event.php:1309
+#: ../../include/connections.php:691
+msgid "Home"
+msgstr "Mon canal"
+
+#: ../../Zotlabs/Module/Cdav.php:1181 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Profiles.php:794 ../../include/event.php:1312
+#: ../../include/connections.php:694
+msgid "Work"
+msgstr "Travail"
+
+#: ../../Zotlabs/Module/Cdav.php:1183 ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Profiles.php:796
+#: ../../addon/jappixmini/jappixmini.php:368
+msgid "Add Contact"
+msgstr "Ajouter un contact"
+
+#: ../../Zotlabs/Module/Cdav.php:1184 ../../Zotlabs/Module/Connedit.php:920
+#: ../../Zotlabs/Module/Profiles.php:797
+msgid "Add Field"
+msgstr "Ajouter un champ"
+
+#: ../../Zotlabs/Module/Cdav.php:1186
+#: ../../Zotlabs/Module/Admin/Plugins.php:453
+#: ../../Zotlabs/Module/Settings/Oauth2.php:39
+#: ../../Zotlabs/Module/Settings/Oauth2.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:43
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:799
+#: ../../Zotlabs/Lib/Apps.php:393
+msgid "Update"
+msgstr "Mise à jour"
+
+#: ../../Zotlabs/Module/Cdav.php:1189 ../../Zotlabs/Module/Connedit.php:925
+msgid "P.O. Box"
+msgstr "P.O. Box"
+
+#: ../../Zotlabs/Module/Cdav.php:1190 ../../Zotlabs/Module/Connedit.php:926
+msgid "Additional"
+msgstr "Information complémentaires"
+
+#: ../../Zotlabs/Module/Cdav.php:1191 ../../Zotlabs/Module/Connedit.php:927
+msgid "Street"
+msgstr "Rue"
+
+#: ../../Zotlabs/Module/Cdav.php:1192 ../../Zotlabs/Module/Connedit.php:928
+msgid "Locality"
+msgstr "Localité"
+
+#: ../../Zotlabs/Module/Cdav.php:1193 ../../Zotlabs/Module/Connedit.php:929
+msgid "Region"
+msgstr "Région"
+
+#: ../../Zotlabs/Module/Cdav.php:1194 ../../Zotlabs/Module/Connedit.php:930
+msgid "ZIP Code"
+msgstr "ZIP code"
+
+#: ../../Zotlabs/Module/Cdav.php:1195 ../../Zotlabs/Module/Connedit.php:931
+#: ../../Zotlabs/Module/Profiles.php:757
+msgid "Country"
+msgstr "Pays"
+
+#: ../../Zotlabs/Module/Cdav.php:1242
+msgid "Default Calendar"
+msgstr "Agenda par défaut"
+
+#: ../../Zotlabs/Module/Cdav.php:1252
+msgid "Default Addressbook"
+msgstr "Carnet d'adresses par défaut"
+
#: ../../Zotlabs/Module/Regdir.php:49 ../../Zotlabs/Module/Dirsearch.php:25
msgid "This site is not a directory server"
msgstr "Ce site n'est pas un serveur d'annuaire"
-#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25
-#: ../../addon/gitwiki/Mod_Gitwiki.php:28 ../../addon/chess/chess.php:403
+#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Ochannel.php:32
+#: ../../Zotlabs/Module/Chat.php:25 ../../addon/chess/chess.php:508
msgid "You must be logged in to see this page."
msgstr "Vous devez vous connecter pour voir cette page."
-#: ../../Zotlabs/Module/Channel.php:47 ../../Zotlabs/Module/Hcard.php:35
-#: ../../Zotlabs/Module/Profile.php:43
+#: ../../Zotlabs/Module/Channel.php:47 ../../Zotlabs/Module/Hcard.php:37
+#: ../../Zotlabs/Module/Profile.php:45
msgid "Posts and comments"
msgstr "Publications et commentaires"
-#: ../../Zotlabs/Module/Channel.php:54 ../../Zotlabs/Module/Hcard.php:42
-#: ../../Zotlabs/Module/Profile.php:50
+#: ../../Zotlabs/Module/Channel.php:54 ../../Zotlabs/Module/Hcard.php:44
+#: ../../Zotlabs/Module/Profile.php:52
msgid "Only posts"
msgstr "Seulement les publications"
-#: ../../Zotlabs/Module/Channel.php:112
+#: ../../Zotlabs/Module/Channel.php:107
msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permissions insuffisantes. Demande redirigée vers la page du profil."
+msgstr "Droits d'accès insuffisants. Demande redirigée vers la page du profil."
#: ../../Zotlabs/Module/Uexport.php:57 ../../Zotlabs/Module/Uexport.php:58
msgid "Export Channel"
@@ -575,7 +866,7 @@ msgid ""
"Export your basic channel information to a file. This acts as a backup of "
"your connections, permissions, profile and basic data, which can be used to "
"import your data to a new server hub, but does not contain your content."
-msgstr "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus."
+msgstr "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, droits d'accès, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus."
#: ../../Zotlabs/Module/Uexport.php:60
msgid "Export Content"
@@ -588,7 +879,7 @@ msgid ""
"connections, permissions, profile data and several months of posts. This "
"file may be VERY large. Please be patient - it may take several minutes for"
" this download to begin."
-msgstr "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence."
+msgstr "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra tous vos contacts, droits d'accès, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence."
#: ../../Zotlabs/Module/Uexport.php:63
msgid "Export your posts from a given year."
@@ -624,30 +915,43 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Ces fichiers de contenu peuvent être importés ou restaurés en visitant <a href=\"%1$s\">%2$s</a> sur n'importe quel site hébergeant votre canal. Pour de meilleurs résultats merci de les importer par ordre chronologique (les plus anciens d'abord)."
-#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Photos.php:490
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "Welcome to Hubzilla!"
+msgstr "Bienvenue sur Hubzilla !"
+
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "You have got no unseen posts..."
+msgstr "Vous n'avez aucune publication non-vue..."
+
+#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Photos.php:540
#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Directory.php:63
-#: ../../Zotlabs/Module/Display.php:22
+#: ../../Zotlabs/Module/Directory.php:68 ../../Zotlabs/Module/Display.php:30
#: ../../Zotlabs/Module/Viewconnections.php:23
msgid "Public access denied."
msgstr "Accès public refusé."
-#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:312
-#: ../../Zotlabs/Lib/Apps.php:237 ../../Zotlabs/Widget/Sitesearch.php:31
-#: ../../include/text.php:1027 ../../include/text.php:1039
-#: ../../include/acl_selectors.php:213 ../../include/nav.php:160
+#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:335
+#: ../../Zotlabs/Lib/Apps.php:256 ../../Zotlabs/Widget/Sitesearch.php:31
+#: ../../include/text.php:1051 ../../include/text.php:1063
+#: ../../include/acl_selectors.php:118 ../../include/nav.php:179
msgid "Search"
msgstr "Recherche"
-#: ../../Zotlabs/Module/Search.php:224
+#: ../../Zotlabs/Module/Search.php:230
#, php-format
msgid "Items tagged with: %s"
msgstr "Eléments étiquetés avec&nbsp;: %s"
-#: ../../Zotlabs/Module/Search.php:226
+#: ../../Zotlabs/Module/Search.php:232
#, php-format
msgid "Search results for: %s"
msgstr "Résultats de recherche pour&nbsp;: %s"
+#: ../../Zotlabs/Module/Pubstream.php:93
+#: ../../Zotlabs/Widget/Notifications.php:131
+msgid "Public Stream"
+msgstr "Flux public"
+
#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
msgid "Location not found."
msgstr "Emplacement introuvable."
@@ -674,21 +978,7 @@ msgstr "Emplacement(s) introuvable."
msgid "Manage Channel Locations"
msgstr "Gérer les emplacements des canaux"
-#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Events.php:475
-#: ../../Zotlabs/Module/Profiles.php:509 ../../Zotlabs/Module/Profiles.php:737
-#: ../../Zotlabs/Module/Pubsites.php:51 ../../addon/cdav/Mod_Cdav.php:839
-#: ../../include/js_strings.php:25
-msgid "Location"
-msgstr "Emplacement"
-
-#: ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Admin/Channels.php:160
-#: ../../Zotlabs/Module/Connedit.php:917 ../../Zotlabs/Module/Profiles.php:502
-#: ../../Zotlabs/Module/Profiles.php:793 ../../addon/cdav/Mod_Cdav.php:1143
-msgid "Address"
-msgstr "Adresse"
-
-#: ../../Zotlabs/Module/Locs.php:119
+#: ../../Zotlabs/Module/Locs.php:119 ../../Zotlabs/Module/Admin.php:111
msgid "Primary"
msgstr "Primaire"
@@ -714,6 +1004,24 @@ msgstr "Quand c'est possible, abandonnez un emplacement en vous connectant sur l
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Utilisez ce formulaire pour abandonner l'emplacement si le hub n'est plus actif."
+#: ../../Zotlabs/Module/Apporder.php:44
+msgid "Change Order of Pinned Navbar Apps"
+msgstr "Changer l'ordre des applications épinglées"
+
+#: ../../Zotlabs/Module/Apporder.php:44
+msgid "Change Order of App Tray Apps"
+msgstr "Changer l'ordre des applications du menu"
+
+#: ../../Zotlabs/Module/Apporder.php:45
+msgid ""
+"Use arrows to move the corresponding app left (top) or right (bottom) in the"
+" navbar"
+msgstr "Utilisez les flèches pour déplacer l'application correspondante à gauche (en haut) ou à droite (en bas) dans la barre de navigation."
+
+#: ../../Zotlabs/Module/Apporder.php:45
+msgid "Use arrows to move the corresponding app up or down in the app tray"
+msgstr "Utilisez les flèches pour déplacer l'application correspondante vers le haut ou vers le bas dans le panneau d'applications."
+
#: ../../Zotlabs/Module/Mitem.php:28 ../../Zotlabs/Module/Menu.php:144
msgid "Menu not found."
msgstr "Menu introuvable."
@@ -737,10 +1045,10 @@ msgstr "Introuvable."
#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
msgid "Menu Item Permissions"
-msgstr "Permissions de l'entrée de menu"
+msgstr "Droits d'accès de l'entrée de menu"
#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
-#: ../../Zotlabs/Module/Settings/Channel.php:510
+#: ../../Zotlabs/Module/Settings/Channel.php:528
msgid "(click to open/close)"
msgstr "(cliquer pour ouvrir/fermer)"
@@ -764,26 +1072,29 @@ msgstr "Utiliser l'authentification distante, quand disponible"
#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
#: ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Admin/Site.php:237
-#: ../../Zotlabs/Module/Settings/Channel.php:294
-#: ../../Zotlabs/Module/Settings/Display.php:103
-#: ../../Zotlabs/Module/Api.php:97 ../../Zotlabs/Module/Photos.php:642
-#: ../../Zotlabs/Module/Wiki.php:180 ../../Zotlabs/Module/Connedit.php:399
-#: ../../Zotlabs/Module/Connedit.php:783 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Profiles.php:681
-#: ../../Zotlabs/Module/Filestorage.php:160
-#: ../../Zotlabs/Module/Filestorage.php:168 ../../boot.php:1635
-#: ../../view/theme/redbasic/php/config.php:89
-#: ../../view/theme/redbasic/php/config.php:104 ../../addon/cdav/cdav.php:234
-#: ../../addon/planets/planets.php:153 ../../addon/wppost/wppost.php:82
+#: ../../Zotlabs/Module/Admin/Site.php:259
+#: ../../Zotlabs/Module/Settings/Channel.php:307
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
+#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Connedit.php:779
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Defperms.php:180 ../../Zotlabs/Module/Profiles.php:681
+#: ../../Zotlabs/Module/Filestorage.php:155
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1594
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic_c/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:98
+#: ../../addon/planets/planets.php:149 ../../addon/wppost/wppost.php:82
#: ../../addon/wppost/wppost.php:105 ../../addon/wppost/wppost.php:109
#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
-#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
-#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
-#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
-#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/rainbowtag/rainbowtag.php:81
+#: ../../addon/visage/visage.php:166 ../../addon/nsabait/nsabait.php:157
+#: ../../addon/rtof/rtof.php:81 ../../addon/rtof/rtof.php:85
+#: ../../addon/jappixmini/jappixmini.php:309
#: ../../addon/jappixmini/jappixmini.php:313
#: ../../addon/jappixmini/jappixmini.php:343
#: ../../addon/jappixmini/jappixmini.php:351
@@ -796,14 +1107,16 @@ msgstr "Utiliser l'authentification distante, quand disponible"
#: ../../addon/statusnet/statusnet.php:389
#: ../../addon/statusnet/statusnet.php:411
#: ../../addon/statusnet/statusnet.php:415
-#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:242
-#: ../../addon/twitter/twitter.php:246 ../../addon/twitter/twitter.php:255
-#: ../../addon/smileybutton/smileybutton.php:273
-#: ../../addon/smileybutton/smileybutton.php:277 ../../addon/xmpp/xmpp.php:53
-#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
-#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
+#: ../../addon/smileybutton/smileybutton.php:211
+#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/cart/cart.php:1075 ../../addon/cart/cart.php:1082
+#: ../../addon/cart/cart.php:1090 ../../addon/authchoose/authchoose.php:67
+#: ../../addon/xmpp/xmpp.php:53 ../../addon/pumpio/pumpio.php:219
+#: ../../addon/pumpio/pumpio.php:223 ../../addon/pumpio/pumpio.php:227
+#: ../../addon/pumpio/pumpio.php:231 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
msgid "No"
msgstr "Non"
@@ -811,26 +1124,29 @@ msgstr "Non"
#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
#: ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Admin/Site.php:239
-#: ../../Zotlabs/Module/Settings/Channel.php:294
-#: ../../Zotlabs/Module/Settings/Display.php:103
-#: ../../Zotlabs/Module/Api.php:96 ../../Zotlabs/Module/Photos.php:642
-#: ../../Zotlabs/Module/Wiki.php:180 ../../Zotlabs/Module/Connedit.php:399
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Admin/Site.php:261
+#: ../../Zotlabs/Module/Settings/Channel.php:307
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
+#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Defperms.php:180
#: ../../Zotlabs/Module/Profiles.php:681
-#: ../../Zotlabs/Module/Filestorage.php:160
-#: ../../Zotlabs/Module/Filestorage.php:168 ../../boot.php:1635
-#: ../../view/theme/redbasic/php/config.php:89
-#: ../../view/theme/redbasic/php/config.php:104 ../../addon/cdav/cdav.php:234
-#: ../../addon/planets/planets.php:153 ../../addon/wppost/wppost.php:82
+#: ../../Zotlabs/Module/Filestorage.php:155
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1594
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic_c/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:98
+#: ../../addon/planets/planets.php:149 ../../addon/wppost/wppost.php:82
#: ../../addon/wppost/wppost.php:105 ../../addon/wppost/wppost.php:109
#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
-#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
-#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
-#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
-#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/rainbowtag/rainbowtag.php:81
+#: ../../addon/visage/visage.php:166 ../../addon/nsabait/nsabait.php:157
+#: ../../addon/rtof/rtof.php:81 ../../addon/rtof/rtof.php:85
+#: ../../addon/jappixmini/jappixmini.php:309
#: ../../addon/jappixmini/jappixmini.php:313
#: ../../addon/jappixmini/jappixmini.php:343
#: ../../addon/jappixmini/jappixmini.php:351
@@ -843,14 +1159,16 @@ msgstr "Non"
#: ../../addon/statusnet/statusnet.php:389
#: ../../addon/statusnet/statusnet.php:411
#: ../../addon/statusnet/statusnet.php:415
-#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:242
-#: ../../addon/twitter/twitter.php:246 ../../addon/twitter/twitter.php:255
-#: ../../addon/smileybutton/smileybutton.php:273
-#: ../../addon/smileybutton/smileybutton.php:277 ../../addon/xmpp/xmpp.php:53
-#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
-#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
+#: ../../addon/smileybutton/smileybutton.php:211
+#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/cart/cart.php:1075 ../../addon/cart/cart.php:1082
+#: ../../addon/cart/cart.php:1090 ../../addon/authchoose/authchoose.php:67
+#: ../../addon/xmpp/xmpp.php:53 ../../addon/pumpio/pumpio.php:219
+#: ../../addon/pumpio/pumpio.php:223 ../../addon/pumpio/pumpio.php:227
+#: ../../addon/pumpio/pumpio.php:231 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
msgid "Yes"
msgstr "Oui"
@@ -959,9 +1277,9 @@ msgstr "Un titre et une date de début sont requises pour l'événement."
msgid "Event not found."
msgstr "Événement introuvable."
-#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Tagger.php:51
-#: ../../Zotlabs/Module/Like.php:372 ../../include/conversation.php:119
-#: ../../include/text.php:1948 ../../include/event.php:1141
+#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Tagger.php:73
+#: ../../Zotlabs/Module/Like.php:386 ../../include/conversation.php:119
+#: ../../include/text.php:2008 ../../include/event.php:1153
msgid "event"
msgstr "événement"
@@ -969,14 +1287,10 @@ msgstr "événement"
msgid "Edit event title"
msgstr "Modifier le titre de l'événement"
-#: ../../Zotlabs/Module/Events.php:460 ../../addon/cdav/Mod_Cdav.php:835
-msgid "Event title"
-msgstr "Titre de l'événement"
-
#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465
-#: ../../Zotlabs/Module/Appman.php:122 ../../Zotlabs/Module/Appman.php:123
-#: ../../Zotlabs/Module/Profiles.php:748 ../../Zotlabs/Module/Profiles.php:752
-#: ../../include/datetime.php:259
+#: ../../Zotlabs/Module/Appman.php:141 ../../Zotlabs/Module/Appman.php:142
+#: ../../Zotlabs/Module/Profiles.php:745 ../../Zotlabs/Module/Profiles.php:749
+#: ../../include/datetime.php:211
msgid "Required"
msgstr "Requis"
@@ -996,10 +1310,6 @@ msgstr "Catégorie"
msgid "Edit start date and time"
msgstr "Modifier la date et l'heure de début"
-#: ../../Zotlabs/Module/Events.php:466 ../../addon/cdav/Mod_Cdav.php:836
-msgid "Start date and time"
-msgstr "Date et heure de début"
-
#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:470
msgid "Finish date and time are not known or not relevant"
msgstr "Date et heure de fin inconnues ou sans objet"
@@ -1026,25 +1336,19 @@ msgstr "Important pour les événements se tenant en un lieu particulier. Pas pr
msgid "Edit Description"
msgstr "Modifier la description"
-#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Module/Appman.php:124
-#: ../../Zotlabs/Module/Rbmark.php:101
-#: ../../addon/rendezvous/rendezvous.php:173 ../../addon/cdav/Mod_Cdav.php:838
-msgid "Description"
-msgstr "Description"
-
#: ../../Zotlabs/Module/Events.php:475
msgid "Edit Location"
msgstr "Modifier l'emplacement"
-#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Photos.php:1063
-#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/ThreadItem.php:741
-#: ../../include/conversation.php:1280 ../../include/page_widgets.php:43
+#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Photos.php:1123
+#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/ThreadItem.php:762
+#: ../../include/conversation.php:1333
msgid "Preview"
msgstr "Aperçu"
-#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1343
+#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1405
msgid "Permission settings"
-msgstr "Gérer les autorisations"
+msgstr "Gérer les droits d'accès"
#: ../../Zotlabs/Module/Events.php:489
msgid "Timezone:"
@@ -1054,7 +1358,7 @@ msgstr "Fuseau horaire&nbsp;:"
msgid "Advanced Options"
msgstr "Options avancées"
-#: ../../Zotlabs/Module/Events.php:605 ../../Zotlabs/Module/Cal.php:264
+#: ../../Zotlabs/Module/Events.php:605 ../../Zotlabs/Module/Cal.php:266
msgid "l, F j"
msgstr "l, F j"
@@ -1066,8 +1370,8 @@ msgstr "Modifier l'événement"
msgid "Delete event"
msgstr "Supprimer l'événement"
-#: ../../Zotlabs/Module/Events.php:660 ../../Zotlabs/Module/Cal.php:313
-#: ../../include/text.php:1767
+#: ../../Zotlabs/Module/Events.php:660 ../../Zotlabs/Module/Cal.php:315
+#: ../../include/text.php:1827
msgid "Link to Source"
msgstr "Lien vers la Source"
@@ -1075,49 +1379,19 @@ msgstr "Lien vers la Source"
msgid "calendar"
msgstr "calendrier"
-#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:336
+#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:338
msgid "Edit Event"
msgstr "Modifier l'événement"
-#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:336
+#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:338
msgid "Create Event"
msgstr "Créer un événement"
-#: ../../Zotlabs/Module/Events.php:689 ../../Zotlabs/Module/Events.php:698
-#: ../../Zotlabs/Module/Cal.php:337 ../../Zotlabs/Module/Cal.php:344
-#: ../../Zotlabs/Module/Photos.php:911 ../../addon/cdav/Mod_Cdav.php:846
-msgid "Previous"
-msgstr "Précédent"
-
-#: ../../Zotlabs/Module/Events.php:690 ../../Zotlabs/Module/Events.php:699
-#: ../../Zotlabs/Module/Setup.php:264 ../../Zotlabs/Module/Cal.php:338
-#: ../../Zotlabs/Module/Cal.php:345 ../../Zotlabs/Module/Photos.php:920
-#: ../../addon/cdav/Mod_Cdav.php:847
-msgid "Next"
-msgstr "Suivant"
-
-#: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Cal.php:339
-#: ../../include/channel.php:1363
+#: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Cal.php:341
+#: ../../include/channel.php:1647
msgid "Export"
msgstr "Export"
-#: ../../Zotlabs/Module/Events.php:695 ../../addon/cdav/Mod_Cdav.php:849
-msgid "Month"
-msgstr "Mois"
-
-#: ../../Zotlabs/Module/Events.php:696 ../../addon/cdav/Mod_Cdav.php:850
-msgid "Week"
-msgstr "Semaine"
-
-#: ../../Zotlabs/Module/Events.php:697 ../../addon/cdav/Mod_Cdav.php:851
-msgid "Day"
-msgstr "Jour"
-
-#: ../../Zotlabs/Module/Events.php:700 ../../Zotlabs/Module/Cal.php:346
-#: ../../addon/cdav/Mod_Cdav.php:848
-msgid "Today"
-msgstr "Aujourd'hui"
-
#: ../../Zotlabs/Module/Events.php:731
msgid "Event removed"
msgstr "Événement supprimé"
@@ -1126,55 +1400,55 @@ msgstr "Événement supprimé"
msgid "Failed to remove event"
msgstr "Impossible de supprimer l'événement"
-#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:55
+#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56
msgid "App installed."
msgstr "Application installée."
-#: ../../Zotlabs/Module/Appman.php:48
+#: ../../Zotlabs/Module/Appman.php:49
msgid "Malformed app."
-msgstr "Erreur de l'application - Malformée."
+msgstr "Application mal formée."
-#: ../../Zotlabs/Module/Appman.php:111
+#: ../../Zotlabs/Module/Appman.php:130
msgid "Embed code"
msgstr "Imbriquer le code"
-#: ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Appman.php:136
msgid "Edit App"
msgstr "Modifier l'application"
-#: ../../Zotlabs/Module/Appman.php:117
+#: ../../Zotlabs/Module/Appman.php:136
msgid "Create App"
msgstr "Créer une application"
-#: ../../Zotlabs/Module/Appman.php:122
+#: ../../Zotlabs/Module/Appman.php:141
msgid "Name of app"
msgstr "Nom de l'application"
-#: ../../Zotlabs/Module/Appman.php:123
+#: ../../Zotlabs/Module/Appman.php:142
msgid "Location (URL) of app"
msgstr "Emplacement (URL) de l'application"
-#: ../../Zotlabs/Module/Appman.php:125
+#: ../../Zotlabs/Module/Appman.php:144
msgid "Photo icon URL"
msgstr "URL de l'icône à utiliser pour cette photo"
-#: ../../Zotlabs/Module/Appman.php:125
+#: ../../Zotlabs/Module/Appman.php:144
msgid "80 x 80 pixels - optional"
msgstr "80 x 80 pixels - facultatif"
-#: ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Appman.php:145
msgid "Categories (optional, comma separated list)"
msgstr "Catégories (séparées par des virgules)"
-#: ../../Zotlabs/Module/Appman.php:127
+#: ../../Zotlabs/Module/Appman.php:146
msgid "Version ID"
msgstr "Identifiant de version"
-#: ../../Zotlabs/Module/Appman.php:128
+#: ../../Zotlabs/Module/Appman.php:147
msgid "Price of app"
msgstr "Prix de l'application"
-#: ../../Zotlabs/Module/Appman.php:129
+#: ../../Zotlabs/Module/Appman.php:148
msgid "Location (URL) to purchase app"
msgstr "Emplacement (URL) pour l'achat de l'application"
@@ -1182,132 +1456,161 @@ msgstr "Emplacement (URL) pour l'achat de l'application"
msgid "Please login."
msgstr "Merci de vous connecter."
-#: ../../Zotlabs/Module/Magic.php:71
+#: ../../Zotlabs/Module/Magic.php:72
msgid "Hub not found."
msgstr "Hub introuvable."
-#: ../../Zotlabs/Module/Subthread.php:87 ../../Zotlabs/Module/Tagger.php:47
-#: ../../Zotlabs/Module/Like.php:370
-#: ../../addon/redphotos/redphotohelper.php:74
-#: ../../addon/diaspora/inbound.php:1794 ../../include/conversation.php:116
-#: ../../include/text.php:1945
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Tagger.php:69
+#: ../../Zotlabs/Module/Like.php:384
+#: ../../addon/redphotos/redphotohelper.php:71
+#: ../../addon/diaspora/Receiver.php:1500 ../../addon/pubcrawl/as.php:1388
+#: ../../include/conversation.php:116 ../../include/text.php:2005
msgid "photo"
msgstr "photo"
-#: ../../Zotlabs/Module/Subthread.php:87 ../../Zotlabs/Module/Like.php:370
-#: ../../addon/diaspora/inbound.php:1794 ../../include/conversation.php:144
-#: ../../include/text.php:1951
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Like.php:384
+#: ../../addon/diaspora/Receiver.php:1500 ../../addon/pubcrawl/as.php:1388
+#: ../../include/conversation.php:144 ../../include/text.php:2011
msgid "status"
msgstr "état"
-#: ../../Zotlabs/Module/Subthread.php:118
+#: ../../Zotlabs/Module/Subthread.php:142
#, php-format
msgid "%1$s is following %2$s's %3$s"
msgstr "%1$s suit %3$s de %2$s"
-#: ../../Zotlabs/Module/Subthread.php:120
+#: ../../Zotlabs/Module/Subthread.php:144
#, php-format
msgid "%1$s stopped following %2$s's %3$s"
msgstr "%1$s ne suit plus %3$s de %2$s"
-#: ../../Zotlabs/Module/Import_items.php:46 ../../Zotlabs/Module/Import.php:64
+#: ../../Zotlabs/Module/Article_edit.php:44 ../../Zotlabs/Module/Cal.php:62
+#: ../../Zotlabs/Module/Chanview.php:96 ../../Zotlabs/Module/Page.php:75
+#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Block.php:41
+#: ../../Zotlabs/Module/Card_edit.php:44
+msgid "Channel not found."
+msgstr "Canal introuvable."
+
+#: ../../Zotlabs/Module/Article_edit.php:101
+#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:207
+#: ../../Zotlabs/Module/Editwebpage.php:143 ../../Zotlabs/Module/Mail.php:288
+#: ../../Zotlabs/Module/Mail.php:430 ../../Zotlabs/Module/Card_edit.php:101
+#: ../../include/conversation.php:1278
+msgid "Insert web link"
+msgstr "Insérer lien web"
+
+#: ../../Zotlabs/Module/Article_edit.php:117
+#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:698
+#: ../../Zotlabs/Module/Photos.php:1068 ../../Zotlabs/Module/Card_edit.php:117
+#: ../../include/conversation.php:1401
+msgid "Title (optional)"
+msgstr "Titre (facultatif)"
+
+#: ../../Zotlabs/Module/Article_edit.php:128
+msgid "Edit Article"
+msgstr "Éditer l'article"
+
+#: ../../Zotlabs/Module/Import_items.php:48 ../../Zotlabs/Module/Import.php:64
msgid "Nothing to import."
msgstr "Rien à importer."
-#: ../../Zotlabs/Module/Import_items.php:70 ../../Zotlabs/Module/Import.php:79
+#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:79
#: ../../Zotlabs/Module/Import.php:95
msgid "Unable to download data from old server"
msgstr "Impossible de récupérer les données de l'ancien serveur"
-#: ../../Zotlabs/Module/Import_items.php:75
+#: ../../Zotlabs/Module/Import_items.php:77
#: ../../Zotlabs/Module/Import.php:102
msgid "Imported file is empty."
msgstr "Le fichier importé est vide."
-#: ../../Zotlabs/Module/Import_items.php:91
-#: ../../Zotlabs/Module/Import.php:121
+#: ../../Zotlabs/Module/Import_items.php:93
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Attention&nbsp;: les versions de bases de données diffèrent de %1$d mises à jour."
-#: ../../Zotlabs/Module/Import_items.php:106
+#: ../../Zotlabs/Module/Import_items.php:108
msgid "Import completed"
msgstr "L'import est terminé."
-#: ../../Zotlabs/Module/Import_items.php:123
+#: ../../Zotlabs/Module/Import_items.php:125
msgid "Import Items"
msgstr "Importer"
-#: ../../Zotlabs/Module/Import_items.php:124
+#: ../../Zotlabs/Module/Import_items.php:126
msgid ""
"Use this form to import existing posts and content from an export file."
msgstr "Utiliser ce formulaire pour importer des publications et du contenu existant d'un fichier d'export."
-#: ../../Zotlabs/Module/Import_items.php:125
-#: ../../Zotlabs/Module/Import.php:499
+#: ../../Zotlabs/Module/Import_items.php:127
+#: ../../Zotlabs/Module/Import.php:517
msgid "File to Upload"
msgstr "Fichier à envoyer"
-#: ../../Zotlabs/Module/New_channel.php:121
-#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:133
+#: ../../Zotlabs/Module/Manage.php:138
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr "Vous avez créé %1$.0f des %2$.0f canaux autorisés."
-#: ../../Zotlabs/Module/New_channel.php:134
-#: ../../Zotlabs/Module/Register.php:237
+#: ../../Zotlabs/Module/New_channel.php:146
+#: ../../Zotlabs/Module/Register.php:254
msgid "Name or caption"
msgstr "Nom ou libellé"
-#: ../../Zotlabs/Module/New_channel.php:134
-#: ../../Zotlabs/Module/Register.php:237
+#: ../../Zotlabs/Module/New_channel.php:146
+#: ../../Zotlabs/Module/Register.php:254
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
msgstr "Exemples&nbsp;: \"Jérôme Dutilleul\", \"Louise et ses chevaux\", \"Football\", \"Club d'aéromodélisme\""
-#: ../../Zotlabs/Module/New_channel.php:136
-#: ../../Zotlabs/Module/Register.php:239
+#: ../../Zotlabs/Module/New_channel.php:148
+#: ../../Zotlabs/Module/Register.php:256
msgid "Choose a short nickname"
msgstr "Choisissez un alias"
-#: ../../Zotlabs/Module/New_channel.php:136
-#: ../../Zotlabs/Module/Register.php:239
+#: ../../Zotlabs/Module/New_channel.php:148
+#: ../../Zotlabs/Module/Register.php:256
#, php-format
msgid ""
"Your nickname will be used to create an easy to remember channel address "
"e.g. nickname%s"
msgstr "Votre pseudo sera utilisé pour créer une adresse de canal facile à mémoriser, par ex. pseudo%s"
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:240
+#: ../../Zotlabs/Module/New_channel.php:149
+#: ../../Zotlabs/Module/Register.php:257
msgid "Channel role and privacy"
msgstr "Rôle et confidentialité du canal"
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:240
+#: ../../Zotlabs/Module/New_channel.php:149
+#: ../../Zotlabs/Module/Register.php:257
msgid "Select a channel role with your privacy requirements."
msgstr "Sélectionner un rôle de canal adapté à vos besoins de confidentialité."
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:240
+#: ../../Zotlabs/Module/New_channel.php:149
+#: ../../Zotlabs/Module/Register.php:257
msgid "Read more about roles"
msgstr "En savoir plus sur les rôles"
-#: ../../Zotlabs/Module/New_channel.php:140
+#: ../../Zotlabs/Module/New_channel.php:152
msgid "Create Channel"
msgstr "Créer le canal"
-#: ../../Zotlabs/Module/New_channel.php:141
+#: ../../Zotlabs/Module/New_channel.php:153
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
-msgstr "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines."
+msgstr "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des droits d'accès très fins."
-#: ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/New_channel.php:154
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur."
+#: ../../Zotlabs/Module/New_channel.php:159
+msgid "Validate"
+msgstr "Valider"
+
#: ../../Zotlabs/Module/Removeme.php:35
msgid ""
"Channel removals are not allowed within 48 hours of changing the account "
@@ -1320,6 +1623,7 @@ msgstr "Supprimer ce canal"
#: ../../Zotlabs/Module/Removeme.php:61
#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Changeaddr.php:78
msgid "WARNING: "
msgstr "AVERTISSEMENT&nbsp;:"
@@ -1334,6 +1638,7 @@ msgstr "Cette action est permanente et irréversible&nbsp;!"
#: ../../Zotlabs/Module/Removeme.php:62
#: ../../Zotlabs/Module/Removeaccount.php:59
+#: ../../Zotlabs/Module/Changeaddr.php:79
msgid "Please enter your password for verification:"
msgstr "Merci de saisir votre mot de passe pour vérification&nbsp;:"
@@ -1348,456 +1653,427 @@ msgid ""
msgstr "Par défaut, seule l'instance du canal présente sur ce hub sera supprimée du réseau"
#: ../../Zotlabs/Module/Removeme.php:64
-#: ../../Zotlabs/Module/Settings/Channel.php:575
+#: ../../Zotlabs/Module/Settings/Channel.php:600
msgid "Remove Channel"
msgstr "Supprimer le canal"
-#: ../../Zotlabs/Module/Sharedwithme.php:99
+#: ../../Zotlabs/Module/Sharedwithme.php:104
msgid "Files: shared with me"
msgstr "Fichiers&nbsp;: partagés avec moi"
-#: ../../Zotlabs/Module/Sharedwithme.php:100
-#: ../../Zotlabs/Module/Admin/Channels.php:159
-#: ../../Zotlabs/Module/Settings/Oauth.php:89
-#: ../../Zotlabs/Module/Settings/Oauth.php:115
-#: ../../Zotlabs/Module/Wiki.php:172 ../../Zotlabs/Module/Connedit.php:910
-#: ../../Zotlabs/Module/Chat.php:249 ../../Zotlabs/Lib/NativeWikiPage.php:528
-#: ../../Zotlabs/Storage/Browser.php:233
-#: ../../Zotlabs/Widget/Wiki_page_history.php:22
-#: ../../addon/rendezvous/rendezvous.php:172
-#: ../../addon/cdav/Mod_Cdav.php:1136 ../../addon/gitwiki/Mod_Gitwiki.php:158
-msgid "Name"
-msgstr "Nom"
-
-#: ../../Zotlabs/Module/Sharedwithme.php:101
+#: ../../Zotlabs/Module/Sharedwithme.php:106
msgid "NEW"
msgstr "NOUVEAU"
-#: ../../Zotlabs/Module/Sharedwithme.php:102
-#: ../../Zotlabs/Storage/Browser.php:235 ../../include/text.php:1417
+#: ../../Zotlabs/Module/Sharedwithme.php:107
+#: ../../Zotlabs/Storage/Browser.php:285 ../../include/text.php:1434
msgid "Size"
msgstr "Taille"
-#: ../../Zotlabs/Module/Sharedwithme.php:103
-#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../Zotlabs/Storage/Browser.php:286
msgid "Last Modified"
msgstr "Modifié le"
-#: ../../Zotlabs/Module/Sharedwithme.php:104
+#: ../../Zotlabs/Module/Sharedwithme.php:109
msgid "Remove all files"
msgstr "Supprimer tous les fichiers"
-#: ../../Zotlabs/Module/Sharedwithme.php:105
+#: ../../Zotlabs/Module/Sharedwithme.php:110
msgid "Remove this file"
msgstr "Supprimer ce fichier"
-#: ../../Zotlabs/Module/Setup.php:176
+#: ../../Zotlabs/Module/Setup.php:170
msgid "$Projectname Server - Setup"
msgstr "Serveur $Projectname - configuration"
-#: ../../Zotlabs/Module/Setup.php:180
+#: ../../Zotlabs/Module/Setup.php:174
msgid "Could not connect to database."
msgstr "Impossible de se connecter à la base de données."
-#: ../../Zotlabs/Module/Setup.php:184
+#: ../../Zotlabs/Module/Setup.php:178
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Impossible de se connecter à l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS."
-#: ../../Zotlabs/Module/Setup.php:191
+#: ../../Zotlabs/Module/Setup.php:185
msgid "Could not create table."
msgstr "Impossible de créer la table."
-#: ../../Zotlabs/Module/Setup.php:196
+#: ../../Zotlabs/Module/Setup.php:191
msgid "Your site database has been installed."
msgstr "La base de données de votre site a été installée."
-#: ../../Zotlabs/Module/Setup.php:200
+#: ../../Zotlabs/Module/Setup.php:197
msgid ""
"You may need to import the file \"install/schema_xxx.sql\" manually using a "
"database client."
msgstr "Vous pourriez avoir besoin d'importer le fichier \"install/schema_xxx.sql\" manuellement via un client de base de données (ex: phpmyadmin)."
-#: ../../Zotlabs/Module/Setup.php:201 ../../Zotlabs/Module/Setup.php:263
-#: ../../Zotlabs/Module/Setup.php:748
+#: ../../Zotlabs/Module/Setup.php:198 ../../Zotlabs/Module/Setup.php:262
+#: ../../Zotlabs/Module/Setup.php:749
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Merci de consulter le fichier \"install/INSTALL.txt\"."
-#: ../../Zotlabs/Module/Setup.php:260
+#: ../../Zotlabs/Module/Setup.php:259
msgid "System check"
msgstr "Vérification du système"
-#: ../../Zotlabs/Module/Setup.php:265
+#: ../../Zotlabs/Module/Setup.php:264
msgid "Check again"
msgstr "Re-vérifier"
-#: ../../Zotlabs/Module/Setup.php:287
+#: ../../Zotlabs/Module/Setup.php:286
msgid "Database connection"
msgstr "Connexion à la base de données"
-#: ../../Zotlabs/Module/Setup.php:288
+#: ../../Zotlabs/Module/Setup.php:287
msgid ""
"In order to install $Projectname we need to know how to connect to your "
"database."
msgstr "Pour installer $Projectname, nous avons besoin de savoir comment se connecter à votre base de données."
-#: ../../Zotlabs/Module/Setup.php:289
+#: ../../Zotlabs/Module/Setup.php:288
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Merci de contacter votre prestataire d'hébergement ou votre administrateur de site si vous avez des questions à propos de ces paramètres."
-#: ../../Zotlabs/Module/Setup.php:290
+#: ../../Zotlabs/Module/Setup.php:289
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer."
-#: ../../Zotlabs/Module/Setup.php:294
+#: ../../Zotlabs/Module/Setup.php:293
msgid "Database Server Name"
msgstr "Nom du serveur de base de données"
-#: ../../Zotlabs/Module/Setup.php:294
+#: ../../Zotlabs/Module/Setup.php:293
msgid "Default is 127.0.0.1"
msgstr "Par défaut 127.0.0.1"
-#: ../../Zotlabs/Module/Setup.php:295
+#: ../../Zotlabs/Module/Setup.php:294
msgid "Database Port"
msgstr "Port de la base de données"
-#: ../../Zotlabs/Module/Setup.php:295
+#: ../../Zotlabs/Module/Setup.php:294
msgid "Communication port number - use 0 for default"
msgstr "Numéro TCP du port - utilisez 0 pour la valeur par défaut"
-#: ../../Zotlabs/Module/Setup.php:296
+#: ../../Zotlabs/Module/Setup.php:295
msgid "Database Login Name"
msgstr "Identifiant de connexion à la Base de Données"
-#: ../../Zotlabs/Module/Setup.php:297
+#: ../../Zotlabs/Module/Setup.php:296
msgid "Database Login Password"
msgstr "Mot de passe de connexion à la Base de Données"
-#: ../../Zotlabs/Module/Setup.php:298
+#: ../../Zotlabs/Module/Setup.php:297
msgid "Database Name"
msgstr "Nom de la Base de Données"
-#: ../../Zotlabs/Module/Setup.php:299
+#: ../../Zotlabs/Module/Setup.php:298
msgid "Database Type"
msgstr "Type de base de données"
-#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347
+#: ../../Zotlabs/Module/Setup.php:300 ../../Zotlabs/Module/Setup.php:341
msgid "Site administrator email address"
msgstr "Adresse de courriel de l'administrateur du site"
-#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:347
+#: ../../Zotlabs/Module/Setup.php:300 ../../Zotlabs/Module/Setup.php:341
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Votre compte devra utiliser la même adresse de courriel pour pouvoir utiliser l'administration web."
-#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349
+#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:343
msgid "Website URL"
msgstr "URL du site web"
-#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:349
+#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:343
msgid "Please use SSL (https) URL if available."
msgstr "Veuillez utiliser SSL/TLS (https) si disponible."
-#: ../../Zotlabs/Module/Setup.php:303 ../../Zotlabs/Module/Setup.php:353
+#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:345
msgid "Please select a default timezone for your website"
msgstr "Veuillez choisir un fuseau horaire par défaut pour votre site"
-#: ../../Zotlabs/Module/Setup.php:328 ../../Zotlabs/Module/Admin/Site.php:258
-msgid "Basic/Minimal Social Networking"
-msgstr "Réseau social de base"
-
-#: ../../Zotlabs/Module/Setup.php:329 ../../Zotlabs/Module/Admin/Site.php:259
-msgid "Standard Configuration (default)"
-msgstr "Configuration standard par défaut"
-
-#: ../../Zotlabs/Module/Setup.php:330 ../../Zotlabs/Module/Admin/Site.php:260
-msgid "Professional"
-msgstr "Professionel"
-
-#: ../../Zotlabs/Module/Setup.php:336
+#: ../../Zotlabs/Module/Setup.php:330
msgid "Site settings"
msgstr "Paramètres du site"
-#: ../../Zotlabs/Module/Setup.php:351 ../../Zotlabs/Module/Admin/Site.php:289
-msgid "Server Configuration/Role"
-msgstr "Configuration du site."
-
-#: ../../Zotlabs/Module/Setup.php:392
+#: ../../Zotlabs/Module/Setup.php:384
msgid "PHP version 5.5 or greater is required."
msgstr "PHP version 5.5 ou supérieur est requis"
-#: ../../Zotlabs/Module/Setup.php:393
+#: ../../Zotlabs/Module/Setup.php:385
msgid "PHP version"
msgstr "Version de PHP"
-#: ../../Zotlabs/Module/Setup.php:409
+#: ../../Zotlabs/Module/Setup.php:401
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Impossible de trouver une version CLI de PHP dans le PATH du serveur web."
-#: ../../Zotlabs/Module/Setup.php:410
+#: ../../Zotlabs/Module/Setup.php:402
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la synchronisation en arrière-plan via cron."
-#: ../../Zotlabs/Module/Setup.php:414
+#: ../../Zotlabs/Module/Setup.php:406
msgid "PHP executable path"
msgstr "Chemin vers l'éxecutable PHP"
-#: ../../Zotlabs/Module/Setup.php:414
+#: ../../Zotlabs/Module/Setup.php:406
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans."
-#: ../../Zotlabs/Module/Setup.php:419
+#: ../../Zotlabs/Module/Setup.php:411
msgid "Command line PHP"
msgstr "PHP en ligne de commande (CLI)"
-#: ../../Zotlabs/Module/Setup.php:429
+#: ../../Zotlabs/Module/Setup.php:421
msgid ""
"Unable to check command line PHP, as shell_exec() is disabled. This is "
"required."
msgstr "Impossible de vérifier la ligne de commande PHP, car shell_exec () est désactivé. Ceci est nécessaire."
-#: ../../Zotlabs/Module/Setup.php:432
+#: ../../Zotlabs/Module/Setup.php:424
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "La version CLI de PHP sur votre système n'a pas l'option \"register_argc_argv\" activée."
-#: ../../Zotlabs/Module/Setup.php:433
+#: ../../Zotlabs/Module/Setup.php:425
msgid "This is required for message delivery to work."
msgstr "Elle est nécessaire pour la distribution des messages."
-#: ../../Zotlabs/Module/Setup.php:436
+#: ../../Zotlabs/Module/Setup.php:428
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../Zotlabs/Module/Setup.php:454
+#: ../../Zotlabs/Module/Setup.php:446
#, php-format
msgid ""
"Your max allowed total upload size is set to %s. Maximum size of one file to"
" upload is set to %s. You are allowed to upload up to %d files at once."
msgstr "Votre taille de téléversement maximale totale autorisée est fixée à %s. La taille maximale d'un seul fichier à téléverser est fixée à %s. Vous pouvez téléverser jusqu'à %d fichier(s) à la fois."
-#: ../../Zotlabs/Module/Setup.php:459
+#: ../../Zotlabs/Module/Setup.php:451
msgid "You can adjust these settings in the server php.ini file."
msgstr "Vous pouvez ajuster ces paramètres dans le fichier php.ini du serveur."
-#: ../../Zotlabs/Module/Setup.php:461
+#: ../../Zotlabs/Module/Setup.php:453
msgid "PHP upload limits"
msgstr "Limites de téléversement de PHP"
-#: ../../Zotlabs/Module/Setup.php:484
+#: ../../Zotlabs/Module/Setup.php:476
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Erreur&nbsp;: la fonction \"openssl_pkey_new\" de ce système n'est pas capable de générer des clefs de chiffrement"
-#: ../../Zotlabs/Module/Setup.php:485
+#: ../../Zotlabs/Module/Setup.php:477
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Si vous êtes sur un serveur Windows, merci de consulter \"http://www.php.net/manual/fr/openssl.installation.php\"."
-#: ../../Zotlabs/Module/Setup.php:488
+#: ../../Zotlabs/Module/Setup.php:480
msgid "Generate encryption keys"
msgstr "Générer les clefs de chiffrement"
-#: ../../Zotlabs/Module/Setup.php:505
+#: ../../Zotlabs/Module/Setup.php:497
msgid "libCurl PHP module"
msgstr "module PHP libCurl"
-#: ../../Zotlabs/Module/Setup.php:506
+#: ../../Zotlabs/Module/Setup.php:498
msgid "GD graphics PHP module"
msgstr "module PHP GD graphics"
-#: ../../Zotlabs/Module/Setup.php:507
+#: ../../Zotlabs/Module/Setup.php:499
msgid "OpenSSL PHP module"
msgstr "module PHP OpenSSL"
-#: ../../Zotlabs/Module/Setup.php:508
+#: ../../Zotlabs/Module/Setup.php:500
msgid "PDO database PHP module"
msgstr "module PDO de la base de données PHP"
-#: ../../Zotlabs/Module/Setup.php:509
+#: ../../Zotlabs/Module/Setup.php:501
msgid "mb_string PHP module"
msgstr "module PHP mb_string"
-#: ../../Zotlabs/Module/Setup.php:510
+#: ../../Zotlabs/Module/Setup.php:502
msgid "xml PHP module"
msgstr "module PHP xml"
-#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:516
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "zip PHP module"
+msgstr "module zip PHP"
+
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:509
msgid "Apache mod_rewrite module"
msgstr "module Apache mod_rewrite"
-#: ../../Zotlabs/Module/Setup.php:514
+#: ../../Zotlabs/Module/Setup.php:507
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Erreur&nbsp;: le module mod-rewrite du serveur web Apache est requis, mais pas installé."
-#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523
+#: ../../Zotlabs/Module/Setup.php:513 ../../Zotlabs/Module/Setup.php:516
msgid "exec"
msgstr "exécuter"
-#: ../../Zotlabs/Module/Setup.php:520
+#: ../../Zotlabs/Module/Setup.php:513
msgid ""
"Error: exec is required but is either not installed or has been disabled in "
"php.ini"
msgstr "Erreur: exec est requis mais soit il n'est pas installé, soit il a été désactivé dans php.ini"
-#: ../../Zotlabs/Module/Setup.php:526 ../../Zotlabs/Module/Setup.php:529
+#: ../../Zotlabs/Module/Setup.php:519 ../../Zotlabs/Module/Setup.php:522
msgid "shell_exec"
msgstr "shell_exec"
-#: ../../Zotlabs/Module/Setup.php:526
+#: ../../Zotlabs/Module/Setup.php:519
msgid ""
"Error: shell_exec is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Erreur: shell_exec est requis mais soit il n'est pas installé, soit il a été désactivé dans php.ini"
-#: ../../Zotlabs/Module/Setup.php:534
+#: ../../Zotlabs/Module/Setup.php:527
msgid "Error: libCURL PHP module required but not installed."
msgstr "Erreur&nbsp;: le module libCURL de PHP est requis, mais pas installé."
-#: ../../Zotlabs/Module/Setup.php:538
+#: ../../Zotlabs/Module/Setup.php:531
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Erreur&nbsp;: le module GD de PHP avec support JPEG est requis, mais pas installé."
-#: ../../Zotlabs/Module/Setup.php:542
+#: ../../Zotlabs/Module/Setup.php:535
msgid "Error: openssl PHP module required but not installed."
msgstr "Erreur&nbsp;: le module openssl de PHP est requis, mais pas installé."
-#: ../../Zotlabs/Module/Setup.php:546
+#: ../../Zotlabs/Module/Setup.php:539
msgid "Error: PDO database PHP module required but not installed."
msgstr "Erreur: le module PDO de base de données PHP est requis mais n'est pas installé."
-#: ../../Zotlabs/Module/Setup.php:550
+#: ../../Zotlabs/Module/Setup.php:543
msgid "Error: mb_string PHP module required but not installed."
msgstr "Erreur&nbsp;: le module mb_string de PHP est requis, mais pas installé."
-#: ../../Zotlabs/Module/Setup.php:554
+#: ../../Zotlabs/Module/Setup.php:547
msgid "Error: xml PHP module required for DAV but not installed."
msgstr "Erreur&nbsp;: le module xml de PHP est requis pour le DAV, mais pas installé."
-#: ../../Zotlabs/Module/Setup.php:572
+#: ../../Zotlabs/Module/Setup.php:551
+msgid "Error: zip PHP module required but not installed."
+msgstr "Erreur&nbsp;: le module zip de PHP est requis, mais pas installé."
+
+#: ../../Zotlabs/Module/Setup.php:570 ../../Zotlabs/Module/Setup.php:579
+msgid ".htconfig.php is writable"
+msgstr "Le fichier .htconfig.php est accessible en écriture"
+
+#: ../../Zotlabs/Module/Setup.php:575
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "L'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable."
-#: ../../Zotlabs/Module/Setup.php:573
+#: ../../Zotlabs/Module/Setup.php:576
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
-msgstr "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit."
-
-#: ../../Zotlabs/Module/Setup.php:574
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de $Projectname."
-
-#: ../../Zotlabs/Module/Setup.php:575
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées."
+msgstr "C'est généralement lié à un problème de droits d'accès, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit."
-#: ../../Zotlabs/Module/Setup.php:578
-msgid ".htconfig.php is writable"
-msgstr "Le fichier .htconfig.php est accessible en écriture"
+#: ../../Zotlabs/Module/Setup.php:577
+msgid "Please see install/INSTALL.txt for additional information."
+msgstr "Merci de vous reporter à install/INSTALL.txt pour des informations supplémentaires."
-#: ../../Zotlabs/Module/Setup.php:592
+#: ../../Zotlabs/Module/Setup.php:593
msgid ""
"This software uses the Smarty3 template engine to render its web views. "
"Smarty3 compiles templates to PHP to speed up rendering."
msgstr "Ce logiciel utilise Smarty3 comme moteur de modèles pour afficher ses vues Web. Smarty3 compile ses modèles en PHP pour accélérer le rendu."
-#: ../../Zotlabs/Module/Setup.php:593
+#: ../../Zotlabs/Module/Setup.php:594
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory %s under the top level web folder."
msgstr "Afin de stocker ces modèles compilés, le serveur Web doit disposer d'un accès en écriture au répertoire %s selon le dossier Web racine."
-#: ../../Zotlabs/Module/Setup.php:594 ../../Zotlabs/Module/Setup.php:615
+#: ../../Zotlabs/Module/Setup.php:595 ../../Zotlabs/Module/Setup.php:616
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire."
-#: ../../Zotlabs/Module/Setup.php:595
+#: ../../Zotlabs/Module/Setup.php:596
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Note: Comme mesure de sécurité, assurez vous de donner les droits d'écriture au serveur web sur %s uniquement, pas sur les fichiers individuels (.tpl) qu'il contient."
-#: ../../Zotlabs/Module/Setup.php:598
+#: ../../Zotlabs/Module/Setup.php:599
#, php-format
msgid "%s is writable"
msgstr "Permission d'écriture sur %s activée"
-#: ../../Zotlabs/Module/Setup.php:614
+#: ../../Zotlabs/Module/Setup.php:615
msgid ""
"This software uses the store directory to save uploaded files. The web "
"server needs to have write access to the store directory under the top level"
" web folder"
msgstr "Ce logiciel utilise le répertoire de stockage pour enregistrer les fichiers téléversés. Le serveur Web doit disposer d'un accès en écriture au répertoire de stockage selon le dossier web racine."
-#: ../../Zotlabs/Module/Setup.php:618
+#: ../../Zotlabs/Module/Setup.php:619
msgid "store is writable"
msgstr "'store' est accessible en écriture"
-#: ../../Zotlabs/Module/Setup.php:650
+#: ../../Zotlabs/Module/Setup.php:651
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "Le certificat SSL/TLS n'a pas pu être validé. Merci de le corriger, ou de désactiver l'accès https à ce site (non recommandé)."
-#: ../../Zotlabs/Module/Setup.php:651
+#: ../../Zotlabs/Module/Setup.php:652
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "Si votre serveur accepte les connexions https ou s'il permet les connexions sur le port TCP 443 (le port utilisé par le protocole https), vous DEVEZ utiliser un certificat valide. Vous ne DEVEZ PAS utiliser un certificat que vous avez vous-mêmes signé&nbsp;!"
-#: ../../Zotlabs/Module/Setup.php:652
+#: ../../Zotlabs/Module/Setup.php:653
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Nous avons ajouté cette contrainte pour éviter que vos publications publiques ne fassent référence par exemple à des images sur votre propre hub."
-#: ../../Zotlabs/Module/Setup.php:653
+#: ../../Zotlabs/Module/Setup.php:654
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "Si votre certificat n'est pas reconnu, les membres des autres sites (qui eux peuvent avoir des certificats valides) recevront des messages d'avertissement sur leur propre site se plaignant de problèmes de sécurité."
-#: ../../Zotlabs/Module/Setup.php:654
+#: ../../Zotlabs/Module/Setup.php:655
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Ceci peut causer des problèmes d'ergonomie ailleurs (pas seulement sur votre site), nous devons donc insister sur ce prérequis."
-#: ../../Zotlabs/Module/Setup.php:655
+#: ../../Zotlabs/Module/Setup.php:656
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Il existe des autorités de certification qui vous fourniront gratuitement un certificat valide."
-#: ../../Zotlabs/Module/Setup.php:657
+#: ../../Zotlabs/Module/Setup.php:658
msgid ""
"If you are confident that the certificate is valid and signed by a trusted "
"authority, check to see if you have failed to install an intermediate cert. "
@@ -1805,37 +2081,37 @@ msgid ""
"server communications."
msgstr "Si vous êtes certain que le certificat est valide et signé par une autorité de confiance, vérifiez si l'installation d'un certificat intermédiaire aurait échoué. Ceux-ci ne sont normalement pas requis par les navigateurs, mais ils sont requis pour les communications entre serveurs."
-#: ../../Zotlabs/Module/Setup.php:659
+#: ../../Zotlabs/Module/Setup.php:660
msgid "SSL certificate validation"
msgstr "Validation du certificat SSL/TLS"
-#: ../../Zotlabs/Module/Setup.php:665
+#: ../../Zotlabs/Module/Setup.php:666
msgid ""
"Url rewrite in .htaccess is not working. Check your server "
"configuration.Test: "
msgstr "La réécriture d'URL définie dans le .htaccess ne fonctionne pas. Vérifiez votre configuration serveur. Test&nbsp;:"
-#: ../../Zotlabs/Module/Setup.php:668
+#: ../../Zotlabs/Module/Setup.php:669
msgid "Url rewrite is working"
msgstr "La réécriture d'URL fonctionne"
-#: ../../Zotlabs/Module/Setup.php:682
+#: ../../Zotlabs/Module/Setup.php:683
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web."
-#: ../../Zotlabs/Module/Setup.php:706
-#: ../../addon/rendezvous/rendezvous.php:401 ../../addon/cdav/cdav.php:41
+#: ../../Zotlabs/Module/Setup.php:707
+#: ../../addon/rendezvous/rendezvous.php:401
msgid "Errors encountered creating database tables."
msgstr "Erreurs rencontrées pendant la création de tables de BDD."
-#: ../../Zotlabs/Module/Setup.php:746
-msgid "<h1>What next</h1>"
-msgstr "<h1>Et maintenant</h1>"
-
#: ../../Zotlabs/Module/Setup.php:747
+msgid "<h1>What next?</h1>"
+msgstr "<h1>Et maintenant&nbsp;?</h1>"
+
+#: ../../Zotlabs/Module/Setup.php:748
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
@@ -1914,13 +2190,13 @@ msgstr "Dernier contact connu"
#: ../../Zotlabs/Module/Admin/Features.php:55
#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
+#: ../../Zotlabs/Module/Settings/Features.php:65
msgid "Off"
msgstr "Inactif"
#: ../../Zotlabs/Module/Admin/Features.php:55
#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
+#: ../../Zotlabs/Module/Settings/Features.php:65
msgid "On"
msgstr "Actif"
@@ -1937,30 +2213,26 @@ msgstr "Gérer les fonctionnalités additionnelles"
msgid "Update has been marked successful"
msgstr "La mise à jour a été marquée comme réussie"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:29
+#: ../../Zotlabs/Module/Admin/Dbsync.php:31
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "L'éxecution de %s a échoué. Merci de vérifier les journaux du système."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#: ../../Zotlabs/Module/Admin/Dbsync.php:34
#, php-format
msgid "Update %s was successfully applied."
msgstr "La mise à jour %s a été appliquée avec succès."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:36
+#: ../../Zotlabs/Module/Admin/Dbsync.php:38
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#: ../../Zotlabs/Module/Admin/Dbsync.php:41
#, php-format
msgid "Update function %s could not be found."
msgstr "La fonction de mise à jour %s est introuvable."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:55
-msgid "No failed updates."
-msgstr "Aucune mise à jour défaillante."
-
#: ../../Zotlabs/Module/Admin/Dbsync.php:59
msgid "Failed Updates"
msgstr "Mises à jour défaillantes"
@@ -1973,11 +2245,16 @@ msgstr "Marquer comme réussie (si la mise à jour a été réalisée manuelleme
msgid "Attempt to execute this update step automatically"
msgstr "Tenter de réaliser cette étape de mise à jour automatiquement"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:67
+msgid "No failed updates."
+msgstr "Aucune mise à jour défaillante."
+
#: ../../Zotlabs/Module/Admin/Plugins.php:259
-#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../Zotlabs/Module/Display.php:35
-#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Admin.php:60
-#: ../../include/items.php:3378
+#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:94
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:46
+#: ../../Zotlabs/Module/Display.php:453
+#: ../../Zotlabs/Module/Filestorage.php:24 ../../Zotlabs/Module/Admin.php:62
+#: ../../include/items.php:3619
msgid "Item not found."
msgstr "Élément introuvable"
@@ -2003,14 +2280,14 @@ msgstr "Activer"
#: ../../Zotlabs/Module/Admin/Plugins.php:341
#: ../../Zotlabs/Module/Admin/Plugins.php:436
-#: ../../Zotlabs/Module/Admin/Accounts.php:164
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
#: ../../Zotlabs/Module/Admin/Logs.php:82
#: ../../Zotlabs/Module/Admin/Channels.php:145
#: ../../Zotlabs/Module/Admin/Themes.php:122
#: ../../Zotlabs/Module/Admin/Themes.php:156
-#: ../../Zotlabs/Module/Admin/Site.php:277
+#: ../../Zotlabs/Module/Admin/Site.php:294
#: ../../Zotlabs/Module/Admin/Security.php:86
-#: ../../Zotlabs/Module/Admin.php:137
+#: ../../Zotlabs/Module/Admin.php:136
msgid "Administration"
msgstr "Administration"
@@ -2026,8 +2303,10 @@ msgid "Toggle"
msgstr "(Dés)activer"
#: ../../Zotlabs/Module/Admin/Plugins.php:344
-#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:223
-#: ../../Zotlabs/Widget/Settings_menu.php:131 ../../include/nav.php:203
+#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:242
+#: ../../Zotlabs/Widget/Newmember.php:46
+#: ../../Zotlabs/Widget/Settings_menu.php:141 ../../include/nav.php:105
+#: ../../include/nav.php:192
msgid "Settings"
msgstr "Paramètres"
@@ -2090,25 +2369,10 @@ msgstr "Télécharger l'extension"
msgid "Install new repo"
msgstr "Installer un nouveau dépôt"
-#: ../../Zotlabs/Module/Admin/Plugins.php:422 ../../Zotlabs/Lib/Apps.php:348
+#: ../../Zotlabs/Module/Admin/Plugins.php:422 ../../Zotlabs/Lib/Apps.php:393
msgid "Install"
msgstr "Installer"
-#: ../../Zotlabs/Module/Admin/Plugins.php:423
-#: ../../Zotlabs/Module/Settings/Oauth.php:88
-#: ../../Zotlabs/Module/Settings/Oauth.php:114
-#: ../../Zotlabs/Module/Wiki.php:265 ../../Zotlabs/Module/Wiki.php:290
-#: ../../Zotlabs/Module/Connedit.php:928 ../../Zotlabs/Module/Fbrowser.php:66
-#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:804
-#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../addon/cdav/Mod_Cdav.php:866
-#: ../../addon/cdav/Mod_Cdav.php:1154 ../../addon/js_upload/js_upload.php:46
-#: ../../addon/gitwiki/Mod_Gitwiki.php:244
-#: ../../addon/gitwiki/Mod_Gitwiki.php:267 ../../include/conversation.php:1327
-#: ../../include/conversation.php:1376
-msgid "Cancel"
-msgstr "Annuler"
-
#: ../../Zotlabs/Module/Admin/Plugins.php:445
msgid "Manage Repos"
msgstr "Gérer les dépôts"
@@ -2121,139 +2385,123 @@ msgstr "Dépôt des extensions installées"
msgid "Install a New Plugin Repository"
msgstr "Installer un nouveau dépôt pour extensions"
-#: ../../Zotlabs/Module/Admin/Plugins.php:453
-#: ../../Zotlabs/Module/Settings/Oauth.php:42
-#: ../../Zotlabs/Module/Settings/Oauth.php:113
-#: ../../Zotlabs/Module/Connedit.php:926 ../../Zotlabs/Module/Profiles.php:802
-#: ../../Zotlabs/Lib/Apps.php:348 ../../addon/cdav/Mod_Cdav.php:1152
-msgid "Update"
-msgstr "Mise à jour"
-
#: ../../Zotlabs/Module/Admin/Plugins.php:454
msgid "Switch branch"
msgstr "Changer de branche"
#: ../../Zotlabs/Module/Admin/Plugins.php:455
-#: ../../Zotlabs/Module/Photos.php:960 ../../Zotlabs/Module/Tagrm.php:137
+#: ../../Zotlabs/Module/Photos.php:1020 ../../Zotlabs/Module/Tagrm.php:137
#: ../../addon/superblock/superblock.php:116
msgid "Remove"
msgstr "Retirer"
-#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#: ../../Zotlabs/Module/Admin/Accounts.php:37
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "%s compte bloqué/débloqué"
msgstr[1] "%s comptes bloqués/débloqués"
-#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#: ../../Zotlabs/Module/Admin/Accounts.php:44
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s compte supprimé"
msgstr[1] "%s comptes supprimés"
-#: ../../Zotlabs/Module/Admin/Accounts.php:79
+#: ../../Zotlabs/Module/Admin/Accounts.php:80
msgid "Account not found"
msgstr "Compte introuvable"
-#: ../../Zotlabs/Module/Admin/Accounts.php:90
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2473
#, php-format
msgid "Account '%s' deleted"
msgstr "Compte '%s' supprimé"
-#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#: ../../Zotlabs/Module/Admin/Accounts.php:99
#, php-format
msgid "Account '%s' blocked"
msgstr "Compte '%s' bloqué"
-#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#: ../../Zotlabs/Module/Admin/Accounts.php:107
#, php-format
msgid "Account '%s' unblocked"
msgstr "Compte '%s' débloqué"
-#: ../../Zotlabs/Module/Admin/Accounts.php:165
-#: ../../Zotlabs/Module/Admin/Accounts.php:178
-#: ../../Zotlabs/Widget/Admin.php:23
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:180
+#: ../../Zotlabs/Module/Admin.php:96 ../../Zotlabs/Widget/Admin.php:23
msgid "Accounts"
msgstr "Comptes"
-#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
#: ../../Zotlabs/Module/Admin/Channels.php:148
msgid "select all"
msgstr "tout sélectionner"
-#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
msgid "Registrations waiting for confirm"
msgstr "Inscriptions en attente d'approbation"
-#: ../../Zotlabs/Module/Admin/Accounts.php:169
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
msgid "Request date"
msgstr "Date de la demande"
-#: ../../Zotlabs/Module/Admin/Accounts.php:169
-#: ../../Zotlabs/Module/Admin/Accounts.php:181
-#: ../../Zotlabs/Module/Connedit.php:914 ../../Zotlabs/Module/Profiles.php:790
-#: ../../addon/cdav/Mod_Cdav.php:1140 ../../addon/openid/MysqlProvider.php:56
-#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
-#: ../../addon/redred/redred.php:107 ../../include/network.php:2270
-msgid "Email"
-msgstr "Courriel"
-
-#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
msgid "No registrations."
msgstr "Pas d'inscriptions."
-#: ../../Zotlabs/Module/Admin/Accounts.php:171
-#: ../../Zotlabs/Module/Connections.php:281
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+#: ../../Zotlabs/Module/Connections.php:303 ../../include/conversation.php:732
msgid "Approve"
msgstr "Approuver"
-#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Authorize.php:26
msgid "Deny"
msgstr "Refuser"
-#: ../../Zotlabs/Module/Admin/Accounts.php:174
-#: ../../Zotlabs/Module/Connedit.php:626
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Connedit.php:622
msgid "Block"
msgstr "Bloquer"
-#: ../../Zotlabs/Module/Admin/Accounts.php:175
-#: ../../Zotlabs/Module/Connedit.php:626
+#: ../../Zotlabs/Module/Admin/Accounts.php:177
+#: ../../Zotlabs/Module/Connedit.php:622
msgid "Unblock"
msgstr "Débloquer"
-#: ../../Zotlabs/Module/Admin/Accounts.php:180
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
msgid "ID"
msgstr "Identifiant"
-#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/group.php:287
+#: ../../Zotlabs/Module/Admin/Accounts.php:184 ../../include/group.php:284
msgid "All Channels"
msgstr "Tous les canaux"
-#: ../../Zotlabs/Module/Admin/Accounts.php:183
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
msgid "Register date"
msgstr "Date d'inscription"
-#: ../../Zotlabs/Module/Admin/Accounts.php:184
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
msgid "Last login"
msgstr "Dernière connexion"
-#: ../../Zotlabs/Module/Admin/Accounts.php:185
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
msgid "Expires"
msgstr "Expire le"
-#: ../../Zotlabs/Module/Admin/Accounts.php:186
+#: ../../Zotlabs/Module/Admin/Accounts.php:188
msgid "Service Class"
msgstr "Classe de service"
-#: ../../Zotlabs/Module/Admin/Accounts.php:188
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
msgid ""
"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
" on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Les comptes sélectionnés seront supprimés&nbsp;!\\n\\nTout ce que ces utilisateurs ont publié sur ce site sera détruit de manière définitive&nbsp;!\\n\\nÊtes-vous sûr&nbsp;?"
-#: ../../Zotlabs/Module/Admin/Accounts.php:189
+#: ../../Zotlabs/Module/Admin/Accounts.php:191
msgid ""
"The account {0} will be deleted!\\n\\nEverything this account has posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
@@ -2341,7 +2589,7 @@ msgid "Channel '%s' code disallowed"
msgstr "Code interdit pour le canal '%s'"
#: ../../Zotlabs/Module/Admin/Channels.php:146
-#: ../../Zotlabs/Widget/Admin.php:24
+#: ../../Zotlabs/Module/Admin.php:110 ../../Zotlabs/Widget/Admin.php:24
msgid "Channels"
msgstr "Canaux"
@@ -2362,7 +2610,7 @@ msgid "Disallow Code"
msgstr "Interdire le code"
#: ../../Zotlabs/Module/Admin/Channels.php:154
-#: ../../include/conversation.php:1751
+#: ../../include/conversation.php:1811 ../../include/nav.php:378
msgid "Channel"
msgstr "Canal"
@@ -2407,464 +2655,549 @@ msgstr "[Expérimental]"
msgid "[Unsupported]"
msgstr "[Non maintenu]"
-#: ../../Zotlabs/Module/Admin/Site.php:144
+#: ../../Zotlabs/Module/Admin/Site.php:165
msgid "Site settings updated."
msgstr "Paramètres du site sauvegardés."
-#: ../../Zotlabs/Module/Admin/Site.php:170 ../../include/text.php:2923
+#: ../../Zotlabs/Module/Admin/Site.php:191
+#: ../../view/theme/redbasic_c/php/config.php:15
+#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3089
msgid "Default"
msgstr "Défaut"
-#: ../../Zotlabs/Module/Admin/Site.php:181
-#: ../../Zotlabs/Module/Settings/Display.php:137
+#: ../../Zotlabs/Module/Admin/Site.php:202
+#: ../../Zotlabs/Module/Settings/Display.php:130
#, php-format
msgid "%s - (Incompatible)"
-msgstr ""
+msgstr "%s - (Incompatible)"
-#: ../../Zotlabs/Module/Admin/Site.php:188
-#: ../../Zotlabs/Module/Settings/Display.php:151
+#: ../../Zotlabs/Module/Admin/Site.php:209
msgid "mobile"
msgstr "mobile"
-#: ../../Zotlabs/Module/Admin/Site.php:190
+#: ../../Zotlabs/Module/Admin/Site.php:211
msgid "experimental"
msgstr "expérimental"
-#: ../../Zotlabs/Module/Admin/Site.php:192
+#: ../../Zotlabs/Module/Admin/Site.php:213
msgid "unsupported"
msgstr "non maintenu"
-#: ../../Zotlabs/Module/Admin/Site.php:238
+#: ../../Zotlabs/Module/Admin/Site.php:260
msgid "Yes - with approval"
msgstr "Oui - avec approbation"
-#: ../../Zotlabs/Module/Admin/Site.php:244
+#: ../../Zotlabs/Module/Admin/Site.php:266
msgid "My site is not a public server"
msgstr "Mon site n'est pas un serveur public"
-#: ../../Zotlabs/Module/Admin/Site.php:245
+#: ../../Zotlabs/Module/Admin/Site.php:267
msgid "My site has paid access only"
msgstr "Mon site est à accès payant uniquement"
-#: ../../Zotlabs/Module/Admin/Site.php:246
+#: ../../Zotlabs/Module/Admin/Site.php:268
msgid "My site has free access only"
msgstr "Mon site est gratuit uniquement"
-#: ../../Zotlabs/Module/Admin/Site.php:247
+#: ../../Zotlabs/Module/Admin/Site.php:269
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mon site offre des comptes gratuits avec des améliorations payantes facultatives"
-#: ../../Zotlabs/Module/Admin/Site.php:264 ../../Zotlabs/Lib/Techlevels.php:10
+#: ../../Zotlabs/Module/Admin/Site.php:281
msgid "Beginner/Basic"
msgstr "Pour débutant/ de base"
-#: ../../Zotlabs/Module/Admin/Site.php:265 ../../Zotlabs/Lib/Techlevels.php:11
+#: ../../Zotlabs/Module/Admin/Site.php:282
msgid "Novice - not skilled but willing to learn"
msgstr "Novice - pas qualifiés, mais prêt à apprendre"
-#: ../../Zotlabs/Module/Admin/Site.php:266 ../../Zotlabs/Lib/Techlevels.php:12
+#: ../../Zotlabs/Module/Admin/Site.php:283
msgid "Intermediate - somewhat comfortable"
msgstr "Intermédiaire - assez confortable"
-#: ../../Zotlabs/Module/Admin/Site.php:267 ../../Zotlabs/Lib/Techlevels.php:13
+#: ../../Zotlabs/Module/Admin/Site.php:284
msgid "Advanced - very comfortable"
msgstr "Niveau avancé - trés confortable"
-#: ../../Zotlabs/Module/Admin/Site.php:268 ../../Zotlabs/Lib/Techlevels.php:14
+#: ../../Zotlabs/Module/Admin/Site.php:285
msgid "Expert - I can write computer code"
msgstr "Niveau expert - Je peux programmer"
-#: ../../Zotlabs/Module/Admin/Site.php:269 ../../Zotlabs/Lib/Techlevels.php:15
+#: ../../Zotlabs/Module/Admin/Site.php:286
msgid "Wizard - I probably know more than you do"
msgstr "Crack - J'en sais probablement plus que beaucoup"
-#: ../../Zotlabs/Module/Admin/Site.php:278 ../../Zotlabs/Widget/Admin.php:22
+#: ../../Zotlabs/Module/Admin/Site.php:295 ../../Zotlabs/Widget/Admin.php:22
msgid "Site"
msgstr "Site"
-#: ../../Zotlabs/Module/Admin/Site.php:280
-#: ../../Zotlabs/Module/Register.php:253
+#: ../../Zotlabs/Module/Admin/Site.php:297
+#: ../../Zotlabs/Module/Register.php:269
msgid "Registration"
msgstr "Inscription"
-#: ../../Zotlabs/Module/Admin/Site.php:281
+#: ../../Zotlabs/Module/Admin/Site.php:298
msgid "File upload"
msgstr "Envoi de fichier"
-#: ../../Zotlabs/Module/Admin/Site.php:282
+#: ../../Zotlabs/Module/Admin/Site.php:299
msgid "Policies"
msgstr "Stratégies"
-#: ../../Zotlabs/Module/Admin/Site.php:283
+#: ../../Zotlabs/Module/Admin/Site.php:300
#: ../../include/contact_widgets.php:16
msgid "Advanced"
msgstr "Avancé"
-#: ../../Zotlabs/Module/Admin/Site.php:287
-#: ../../addon/statusnet/statusnet.php:890
+#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../addon/statusnet/statusnet.php:891
msgid "Site name"
msgstr "Nom du site"
-#: ../../Zotlabs/Module/Admin/Site.php:291
+#: ../../Zotlabs/Module/Admin/Site.php:306
msgid "Site default technical skill level"
msgstr "Niveau technique par défaut pour le site"
-#: ../../Zotlabs/Module/Admin/Site.php:291
+#: ../../Zotlabs/Module/Admin/Site.php:306
msgid "Used to provide a member experience matched to technical comfort level"
msgstr "Utilisé pour fournir une expérience utilisateur correspondant au niveau de confort technique"
-#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../Zotlabs/Module/Admin/Site.php:308
msgid "Lock the technical skill level setting"
msgstr "Bloque le niveau technique du paramétrage"
-#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../Zotlabs/Module/Admin/Site.php:308
msgid "Members can set their own technical comfort level by default"
msgstr "Les utilisateurs peuvent paramétrer leur propre niveau technique."
-#: ../../Zotlabs/Module/Admin/Site.php:295
+#: ../../Zotlabs/Module/Admin/Site.php:310
msgid "Banner/Logo"
msgstr "Bannière/logo"
-#: ../../Zotlabs/Module/Admin/Site.php:296
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Unfiltered HTML/CSS/JS is allowed"
+msgstr "Autoriser le HTML/CSS/JS non filtré"
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid "Administrator Information"
msgstr "Informations de l'administrateur"
-#: ../../Zotlabs/Module/Admin/Site.php:296
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Coordonnées de l'administrateur du site. Affichées sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici"
-#: ../../Zotlabs/Module/Admin/Site.php:297
-#: ../../Zotlabs/Module/Siteinfo.php:23
+#: ../../Zotlabs/Module/Admin/Site.php:312
+#: ../../Zotlabs/Module/Siteinfo.php:21
msgid "Site Information"
msgstr "Site information"
-#: ../../Zotlabs/Module/Admin/Site.php:297
+#: ../../Zotlabs/Module/Admin/Site.php:312
msgid ""
"Publicly visible description of this site. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Description du site visible publiquement. Affiché sur la page d'information du site. BBCode peut être utilisé ici."
-#: ../../Zotlabs/Module/Admin/Site.php:298
+#: ../../Zotlabs/Module/Admin/Site.php:313
msgid "System language"
msgstr "Langue du système"
-#: ../../Zotlabs/Module/Admin/Site.php:299
+#: ../../Zotlabs/Module/Admin/Site.php:314
msgid "System theme"
msgstr "Thème du système"
-#: ../../Zotlabs/Module/Admin/Site.php:299
+#: ../../Zotlabs/Module/Admin/Site.php:314
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>"
-#: ../../Zotlabs/Module/Admin/Site.php:300
-msgid "Mobile system theme"
-msgstr "Thème par défaut pour les mobiles"
-
-#: ../../Zotlabs/Module/Admin/Site.php:300
-msgid "Theme for mobile devices"
-msgstr "Thème pour les mobiles"
-
-#: ../../Zotlabs/Module/Admin/Site.php:302
+#: ../../Zotlabs/Module/Admin/Site.php:317
msgid "Allow Feeds as Connections"
msgstr "Autoriser les Flux (RSS) comme contacts"
-#: ../../Zotlabs/Module/Admin/Site.php:302
+#: ../../Zotlabs/Module/Admin/Site.php:317
msgid "(Heavy system resource usage)"
msgstr "(Impact important sur les ressources)"
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:318
msgid "Maximum image size"
msgstr "Taille maximale des images"
-#: ../../Zotlabs/Module/Admin/Site.php:303
+#: ../../Zotlabs/Module/Admin/Site.php:318
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Taille maximum, en octets, des images envoyées. Par défaut 0, soit sans limite."
-#: ../../Zotlabs/Module/Admin/Site.php:304
+#: ../../Zotlabs/Module/Admin/Site.php:319
msgid "Does this site allow new member registration?"
msgstr "Est-ce que l'enregistrement de nouveaux membres est autorisé sur ce site&nbsp;?"
-#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Admin/Site.php:320
msgid "Invitation only"
msgstr "Sur invitation seulement"
-#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Admin/Site.php:320
msgid ""
"Only allow new member registrations with an invitation code. Above register "
"policy must be set to Yes."
msgstr "N'autoriser que les nouvelles inscriptions avec code d'invitation. La stratégie d'inscription ci-dessus doit être mise sur \"Oui\"."
-#: ../../Zotlabs/Module/Admin/Site.php:306
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid "Minimum age"
+msgstr "Âge minimum"
+
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid "Minimum age (in years) for who may register on this site."
+msgstr "Âge minimum (en années) pour les personnes pouvant s'inscrire sur ce site."
+
+#: ../../Zotlabs/Module/Admin/Site.php:322
msgid "Which best describes the types of account offered by this hub?"
msgstr "Quelle est la meilleure description des types de comptes proposés sur ce hub&nbsp;?"
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:323
msgid "Register text"
msgstr "Texte d'inscription"
-#: ../../Zotlabs/Module/Admin/Site.php:307
+#: ../../Zotlabs/Module/Admin/Site.php:323
msgid "Will be displayed prominently on the registration page."
msgstr "Sera affiché de manière bien visible sur le formulaire d'inscription."
-#: ../../Zotlabs/Module/Admin/Site.php:308
+#: ../../Zotlabs/Module/Admin/Site.php:324
msgid "Site homepage to show visitors (default: login box)"
msgstr "Page d'accueil du site à montrer aux visiteurs (par défaut&nbsp;: boîte de dialogue de connexion)"
-#: ../../Zotlabs/Module/Admin/Site.php:308
+#: ../../Zotlabs/Module/Admin/Site.php:324
msgid ""
"example: 'public' to show public stream, 'page/sys/home' to show a system "
"webpage called 'home' or 'include:home.html' to include a file."
msgstr "exemple&nbsp;:'public' pour montrer le flux public, 'page/sys/home' pour montrer une page système appelée 'home' ou 'include:home.html' pour inclure un fichier."
-#: ../../Zotlabs/Module/Admin/Site.php:309
+#: ../../Zotlabs/Module/Admin/Site.php:325
msgid "Preserve site homepage URL"
msgstr "Préserver l'adresse d'accueil du site"
-#: ../../Zotlabs/Module/Admin/Site.php:309
+#: ../../Zotlabs/Module/Admin/Site.php:325
msgid ""
"Present the site homepage in a frame at the original location instead of "
"redirecting"
msgstr "Présenter la page d'accueil du site dans un cadre à l'adresse d'origine, plutôt que de rediriger"
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:326
msgid "Accounts abandoned after x days"
msgstr "Les comptes sont abandonnés après x jours"
-#: ../../Zotlabs/Module/Admin/Site.php:310
+#: ../../Zotlabs/Module/Admin/Site.php:326
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Eviter de gaspiller les ressources du système en interrogeant des hubs distants pour des canaux abandonnés. Mettez 0 pour ne pas avoir de limite de temps."
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:327
msgid "Allowed friend domains"
msgstr "Domaines amicaux autorisés"
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Admin/Site.php:327
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Liste de noms de domaines séparés par des virgules pour lesquels ce site acceptera les demandes d'amitié. Les caractères génériques (*) sont acceptés. Laissez vide pour accepter tous les domaines."
-#: ../../Zotlabs/Module/Admin/Site.php:312
+#: ../../Zotlabs/Module/Admin/Site.php:328
msgid "Verify Email Addresses"
msgstr "Demander vérification des adresses de courriel"
-#: ../../Zotlabs/Module/Admin/Site.php:312
+#: ../../Zotlabs/Module/Admin/Site.php:328
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Cocher pour que les adresses utilisées à l'inscription soient vérifiées (recommandé)."
-#: ../../Zotlabs/Module/Admin/Site.php:313
+#: ../../Zotlabs/Module/Admin/Site.php:329
msgid "Force publish"
msgstr "Publicité forcée"
-#: ../../Zotlabs/Module/Admin/Site.php:313
+#: ../../Zotlabs/Module/Admin/Site.php:329
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Cocher pour forcer la publication de tous les profils du site dans l'annuaire."
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Admin/Site.php:330
msgid "Import Public Streams"
msgstr "Flux publics importés"
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Admin/Site.php:330
msgid ""
"Import and allow access to public content pulled from other sites. Warning: "
"this content is unmoderated."
msgstr "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention&nbsp;: ce contenu n'est pas modéré."
-#: ../../Zotlabs/Module/Admin/Site.php:315
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid "Site only Public Streams"
+msgstr "Flux publics du site seulement"
+
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid ""
+"Allow access to public content originating only from this site if Imported "
+"Public Streams are disabled."
+msgstr "Autoriser l'accès au contenu public provenant uniquement de ce site si les flux publics importés sont désactivés."
+
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid "Allow anybody on the internet to access the Public streams"
+msgstr "Permettre à n'importe qui sur Internet d'accéder aux flux publics."
+
+#: ../../Zotlabs/Module/Admin/Site.php:332
+msgid ""
+"Disable to require authentication before viewing. Warning: this content is "
+"unmoderated."
+msgstr "Désactiver l'authentification avant l'affichage. Attention : ce contenu n'est pas modéré."
+
+#: ../../Zotlabs/Module/Admin/Site.php:333
msgid "Login on Homepage"
msgstr "Connexion sur la page d'accueil"
-#: ../../Zotlabs/Module/Admin/Site.php:315
+#: ../../Zotlabs/Module/Admin/Site.php:333
msgid ""
"Present a login box to visitors on the home page if no other content has "
"been configured."
msgstr "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré."
-#: ../../Zotlabs/Module/Admin/Site.php:316
+#: ../../Zotlabs/Module/Admin/Site.php:334
msgid "Enable context help"
msgstr "Permettre l'aide contextuelle"
-#: ../../Zotlabs/Module/Admin/Site.php:316
+#: ../../Zotlabs/Module/Admin/Site.php:334
msgid ""
"Display contextual help for the current page when the help button is "
"pressed."
msgstr "Afficher l'aide contextuel en cliquant sur le bouton aide."
-#: ../../Zotlabs/Module/Admin/Site.php:318
+#: ../../Zotlabs/Module/Admin/Site.php:336
msgid "Reply-to email address for system generated email."
-msgstr ""
+msgstr "Adresse courriel de retour pour les courriels générés par l'application."
-#: ../../Zotlabs/Module/Admin/Site.php:319
+#: ../../Zotlabs/Module/Admin/Site.php:337
msgid "Sender (From) email address for system generated email."
-msgstr ""
+msgstr "Adresse courriel de l'expéditeur (champ \"De\") pour les courriels générés par l'application."
-#: ../../Zotlabs/Module/Admin/Site.php:320
+#: ../../Zotlabs/Module/Admin/Site.php:338
msgid "Name of email sender for system generated email."
-msgstr ""
+msgstr "Nom ou courriel de l'expéditeur pour les courriels générés par l'application."
-#: ../../Zotlabs/Module/Admin/Site.php:322
+#: ../../Zotlabs/Module/Admin/Site.php:340
msgid "Directory Server URL"
msgstr "URL du serveur d'annuaire"
-#: ../../Zotlabs/Module/Admin/Site.php:322
+#: ../../Zotlabs/Module/Admin/Site.php:340
msgid "Default directory server"
msgstr "Serveur d'annuaire par défaut"
-#: ../../Zotlabs/Module/Admin/Site.php:324
+#: ../../Zotlabs/Module/Admin/Site.php:342
msgid "Proxy user"
msgstr "Utilisateur du proxy"
-#: ../../Zotlabs/Module/Admin/Site.php:325
+#: ../../Zotlabs/Module/Admin/Site.php:343
msgid "Proxy URL"
msgstr "URL du proxy"
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:344
msgid "Network timeout"
msgstr "Délai maximal du réseau"
-#: ../../Zotlabs/Module/Admin/Site.php:326
+#: ../../Zotlabs/Module/Admin/Site.php:344
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "En secondes. Mettre à 0 pour ne pas avoir de délai maximal (non recommandé)."
-#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid "Delivery interval"
msgstr "Intervalle de distribution"
-#: ../../Zotlabs/Module/Admin/Site.php:327
+#: ../../Zotlabs/Module/Admin/Site.php:345
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées&nbsp;: 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés."
-#: ../../Zotlabs/Module/Admin/Site.php:328
+#: ../../Zotlabs/Module/Admin/Site.php:346
msgid "Deliveries per process"
msgstr "Distributions par processus"
-#: ../../Zotlabs/Module/Admin/Site.php:328
+#: ../../Zotlabs/Module/Admin/Site.php:346
msgid ""
"Number of deliveries to attempt in a single operating system process. Adjust"
" if necessary to tune system performance. Recommend: 1-5."
msgstr "Nombre de distributions à tenter au sein d'un seul processus système. Ajuster si nécessaire pour affiner la performance du système. Recommandé&nbsp;:1-5."
-#: ../../Zotlabs/Module/Admin/Site.php:329
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid "Queue Threshold"
+msgstr "Seuil de file d'attente"
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid ""
+"Always defer immediate delivery if queue contains more than this number of "
+"entries."
+msgstr "Reportez toujours la livraison immédiate si la file d'attente contient plus que ce nombre d'entrées."
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
msgid "Poll interval"
msgstr "Intervalle de scrutation"
-#: ../../Zotlabs/Module/Admin/Site.php:329
+#: ../../Zotlabs/Module/Admin/Site.php:348
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution."
-#: ../../Zotlabs/Module/Admin/Site.php:330
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid "Path to ImageMagick convert program"
+msgstr "Chemin d'accès au programme \"convert\" de ImageMagick"
+
+#: ../../Zotlabs/Module/Admin/Site.php:349
+msgid ""
+"If set, use this program to generate photo thumbnails for huge images ( > "
+"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
+"Example: /usr/bin/convert"
+msgstr "Si cette option est activée, utilisez ce programme pour générer des vignettes de photos pour des images géantes ( > 4000 pixels dans l'une ou l'autre dimension), sinon la mémoire risque de s'épuiser. Exemple : /usr/bin/convert"
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Allow SVG thumbnails in file browser"
+msgstr "Autoriser les vignettes SVG dans le navigateur de fichiers"
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "WARNING: SVG images may contain malicious code."
+msgstr "ATTENTION : les images SVG peuvent contenir du code malveillant."
+
+#: ../../Zotlabs/Module/Admin/Site.php:351
msgid "Maximum Load Average"
msgstr "Charge maximale moyenne"
-#: ../../Zotlabs/Module/Admin/Site.php:330
+#: ../../Zotlabs/Module/Admin/Site.php:351
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Charge système maximale au-delà de laquelle distribution et scrutation sont reportées - par défaut 50."
-#: ../../Zotlabs/Module/Admin/Site.php:331
+#: ../../Zotlabs/Module/Admin/Site.php:352
msgid "Expiration period in days for imported (grid/network) content"
msgstr "Délai d'expiration pour le contenu importé (réseau)"
-#: ../../Zotlabs/Module/Admin/Site.php:331
+#: ../../Zotlabs/Module/Admin/Site.php:352
msgid "0 for no expiration of imported content"
msgstr "0 pour ne pas expirer le contenu importé"
-#: ../../Zotlabs/Module/Admin/Profs.php:69
+#: ../../Zotlabs/Module/Admin/Site.php:353
+msgid ""
+"Do not expire any posts which have comments less than this many days ago"
+msgstr "Ne pas considérer comme expirés les messages qui ont reçu des commentaires depuis moins de ce nombre de jours"
+
+#: ../../Zotlabs/Module/Admin/Site.php:355
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
+msgstr "Serveurs publics : page Web facultative d'atterrissage (marketing) pour les nouveaux inscrits."
+
+#: ../../Zotlabs/Module/Admin/Site.php:355
+#, php-format
+msgid "Create this page first. Default is %s/register"
+msgstr "Créez d'abord cette page. La valeur par défaut est %s /register"
+
+#: ../../Zotlabs/Module/Admin/Site.php:356
+msgid "Page to display after creating a new channel"
+msgstr "Page à afficher après la création d'un nouveau canal"
+
+#: ../../Zotlabs/Module/Admin/Site.php:356
+msgid "Recommend: profiles, go, or settings"
+msgstr "Recommander : profils, go, ou paramètres"
+
+#: ../../Zotlabs/Module/Admin/Site.php:358
+msgid "Optional: site location"
+msgstr "Option : emplacement du site"
+
+#: ../../Zotlabs/Module/Admin/Site.php:358
+msgid "Region or country"
+msgstr "Région ou pays"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:89
msgid "New Profile Field"
msgstr "Nouveau champ de profil"
-#: ../../Zotlabs/Module/Admin/Profs.php:70
#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
msgid "Field nickname"
msgstr "Nom court du champ"
-#: ../../Zotlabs/Module/Admin/Profs.php:70
#: ../../Zotlabs/Module/Admin/Profs.php:90
+#: ../../Zotlabs/Module/Admin/Profs.php:110
msgid "System name of field"
msgstr "Nom système du champ"
-#: ../../Zotlabs/Module/Admin/Profs.php:71
#: ../../Zotlabs/Module/Admin/Profs.php:91
+#: ../../Zotlabs/Module/Admin/Profs.php:111
msgid "Input type"
msgstr "Type de champ"
-#: ../../Zotlabs/Module/Admin/Profs.php:72
#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
msgid "Field Name"
msgstr "Nom du champ"
-#: ../../Zotlabs/Module/Admin/Profs.php:72
#: ../../Zotlabs/Module/Admin/Profs.php:92
+#: ../../Zotlabs/Module/Admin/Profs.php:112
msgid "Label on profile pages"
msgstr "Étiquette sur les pages de profil"
-#: ../../Zotlabs/Module/Admin/Profs.php:73
#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
msgid "Help text"
msgstr "Aide à la saisie"
-#: ../../Zotlabs/Module/Admin/Profs.php:73
#: ../../Zotlabs/Module/Admin/Profs.php:93
+#: ../../Zotlabs/Module/Admin/Profs.php:113
msgid "Additional info (optional)"
msgstr "Informations additionnelles (facultatif)"
-#: ../../Zotlabs/Module/Admin/Profs.php:74
-#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Admin/Profs.php:94
+#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32
#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:53
-#: ../../Zotlabs/Widget/Notes.php:18 ../../include/text.php:1028
-#: ../../include/text.php:1040
+#: ../../Zotlabs/Widget/Notes.php:18 ../../include/text.php:1052
+#: ../../include/text.php:1064
msgid "Save"
msgstr "Enregistrer"
-#: ../../Zotlabs/Module/Admin/Profs.php:83
+#: ../../Zotlabs/Module/Admin/Profs.php:103
msgid "Field definition not found"
msgstr "Définition du champ introuvable"
-#: ../../Zotlabs/Module/Admin/Profs.php:89
+#: ../../Zotlabs/Module/Admin/Profs.php:109
msgid "Edit Profile Field"
msgstr "Modifier le champ de profil"
-#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../Zotlabs/Widget/Admin.php:30
+#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30
msgid "Profile Fields"
msgstr "Champs de profil"
-#: ../../Zotlabs/Module/Admin/Profs.php:148
+#: ../../Zotlabs/Module/Admin/Profs.php:169
msgid "Basic Profile Fields"
msgstr "Champs de profil de base"
-#: ../../Zotlabs/Module/Admin/Profs.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:170
msgid "Advanced Profile Fields"
msgstr "Champs de profil avancés"
-#: ../../Zotlabs/Module/Admin/Profs.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:170
msgid "(In addition to basic fields)"
msgstr "(en plus des champs de base)"
-#: ../../Zotlabs/Module/Admin/Profs.php:151
+#: ../../Zotlabs/Module/Admin/Profs.php:172
msgid "All available fields"
msgstr "Tous les champs disponibles"
-#: ../../Zotlabs/Module/Admin/Profs.php:152
+#: ../../Zotlabs/Module/Admin/Profs.php:173
msgid "Custom Fields"
msgstr "Champs personnalisés"
-#: ../../Zotlabs/Module/Admin/Profs.php:156
+#: ../../Zotlabs/Module/Admin/Profs.php:177
msgid "Create Custom Field"
msgstr "Créer un champ personnalisé"
@@ -3027,14 +3360,22 @@ msgid "Visible to:"
msgstr "Visible par&nbsp;:"
#: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153
-#: ../../Zotlabs/Module/Acl.php:117 ../../include/acl_selectors.php:183
+#: ../../Zotlabs/Module/Acl.php:121 ../../include/acl_selectors.php:88
msgctxt "acl"
msgid "Profile"
-msgstr ""
+msgstr "Profil"
+
+#: ../../Zotlabs/Module/Moderate.php:62
+msgid "Comment approved"
+msgstr "Commentaire validé"
+
+#: ../../Zotlabs/Module/Moderate.php:66
+msgid "Comment deleted"
+msgstr "Commentaire supprimé"
#: ../../Zotlabs/Module/Settings/Permcats.php:37
msgid "Permission category saved."
-msgstr "Catégorie d'autorisation enregistrée."
+msgstr "Profil d'accès enregistré."
#: ../../Zotlabs/Module/Settings/Permcats.php:61
msgid ""
@@ -3044,441 +3385,479 @@ msgstr "Utilisez ce formulaire pour créer des règles d'accès pour différente
#: ../../Zotlabs/Module/Settings/Permcats.php:94
msgid "Permission Categories"
-msgstr "Catégories d'autorisation"
+msgstr "Profils d'accès"
#: ../../Zotlabs/Module/Settings/Permcats.php:102
msgid "Permission Name"
-msgstr "Nom de l'autorisation"
+msgstr "Nom du droit d'accès"
#: ../../Zotlabs/Module/Settings/Permcats.php:103
#: ../../Zotlabs/Module/Settings/Tokens.php:161
-#: ../../Zotlabs/Module/Connedit.php:894
+#: ../../Zotlabs/Module/Connedit.php:891 ../../Zotlabs/Module/Defperms.php:250
msgid "My Settings"
msgstr "Mes paramètres"
#: ../../Zotlabs/Module/Settings/Permcats.php:105
#: ../../Zotlabs/Module/Settings/Tokens.php:163
-#: ../../Zotlabs/Module/Connedit.php:889
+#: ../../Zotlabs/Module/Connedit.php:886 ../../Zotlabs/Module/Defperms.php:248
msgid "inherited"
msgstr "héritée"
#: ../../Zotlabs/Module/Settings/Permcats.php:108
#: ../../Zotlabs/Module/Settings/Tokens.php:166
-#: ../../Zotlabs/Module/Connedit.php:896
+#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Defperms.php:253
msgid "Individual Permissions"
-msgstr "Permissions individuelles"
+msgstr "Droits d'accès individuels"
#: ../../Zotlabs/Module/Settings/Permcats.php:109
#: ../../Zotlabs/Module/Settings/Tokens.php:167
-#: ../../Zotlabs/Module/Connedit.php:897
+#: ../../Zotlabs/Module/Connedit.php:894
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
"priority than individual settings. You can <strong>not</strong> change those"
" settings here."
-msgstr "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."
-
-#: ../../Zotlabs/Module/Settings/Channel.php:62
-#: ../../Zotlabs/Module/Settings/Channel.php:66
-#: ../../Zotlabs/Module/Settings/Channel.php:67
-#: ../../Zotlabs/Module/Settings/Channel.php:70
-#: ../../Zotlabs/Module/Settings/Channel.php:81
-#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:28
-#: ../../include/selectors.php:123 ../../include/channel.php:406
-#: ../../include/channel.php:407 ../../include/channel.php:414
+msgstr "Certains droits d'accès peuvent être hérités de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous ne pouvez pas modifier ces droits d'accès-ci ici."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:68
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:72
+#: ../../Zotlabs/Module/Settings/Channel.php:83
+#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:24
+#: ../../include/selectors.php:123 ../../include/channel.php:437
+#: ../../include/channel.php:438 ../../include/channel.php:445
msgid "Friends"
msgstr "Amis"
-#: ../../Zotlabs/Module/Settings/Channel.php:251
+#: ../../Zotlabs/Module/Settings/Channel.php:264
+#: ../../Zotlabs/Module/Defperms.php:103
#: ../../addon/rendezvous/rendezvous.php:82
#: ../../addon/openstreetmap/openstreetmap.php:184
#: ../../addon/msgfooter/msgfooter.php:54 ../../addon/logrot/logrot.php:54
-#: ../../addon/twitter/twitter.php:766 ../../addon/piwik/piwik.php:116
+#: ../../addon/twitter/twitter.php:772 ../../addon/piwik/piwik.php:116
#: ../../addon/xmpp/xmpp.php:102
msgid "Settings updated."
msgstr "Paramètres mis à jour."
-#: ../../Zotlabs/Module/Settings/Channel.php:312
+#: ../../Zotlabs/Module/Settings/Channel.php:325
msgid "Nobody except yourself"
msgstr "Personne sauf vous"
-#: ../../Zotlabs/Module/Settings/Channel.php:313
+#: ../../Zotlabs/Module/Settings/Channel.php:326
msgid "Only those you specifically allow"
msgstr "Seulement ceux que vous autorisez spécifiquement"
-#: ../../Zotlabs/Module/Settings/Channel.php:314
+#: ../../Zotlabs/Module/Settings/Channel.php:327
msgid "Approved connections"
-msgstr "Contacts approuvés"
+msgstr "Contacts validés"
-#: ../../Zotlabs/Module/Settings/Channel.php:315
+#: ../../Zotlabs/Module/Settings/Channel.php:328
msgid "Any connections"
msgstr "Tous les contacts"
-#: ../../Zotlabs/Module/Settings/Channel.php:316
+#: ../../Zotlabs/Module/Settings/Channel.php:329
msgid "Anybody on this website"
msgstr "Tous les utilisateurs du hub"
-#: ../../Zotlabs/Module/Settings/Channel.php:317
+#: ../../Zotlabs/Module/Settings/Channel.php:330
msgid "Anybody in this network"
msgstr "Tous les utilisateurs sur ce réseau"
-#: ../../Zotlabs/Module/Settings/Channel.php:318
+#: ../../Zotlabs/Module/Settings/Channel.php:331
msgid "Anybody authenticated"
msgstr "Tous les utilisateurs authentifiés"
-#: ../../Zotlabs/Module/Settings/Channel.php:319
+#: ../../Zotlabs/Module/Settings/Channel.php:332
msgid "Anybody on the internet"
msgstr "Tous les utilisateurs d'Internet"
-#: ../../Zotlabs/Module/Settings/Channel.php:395
+#: ../../Zotlabs/Module/Settings/Channel.php:407
msgid "Publish your default profile in the network directory"
msgstr "Publier votre profil par défaut dans l'annuaire du réseau"
-#: ../../Zotlabs/Module/Settings/Channel.php:400
+#: ../../Zotlabs/Module/Settings/Channel.php:412
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Nous autoriser à vous suggérer comme ami(e) potentiel(le) aux nouveaux membres?"
-#: ../../Zotlabs/Module/Settings/Channel.php:404
-#: ../../Zotlabs/Module/Profile_photo.php:429
-#: ../../Zotlabs/Module/Cover_photo.php:365
+#: ../../Zotlabs/Module/Settings/Channel.php:416
msgid "or"
msgstr "ou"
-#: ../../Zotlabs/Module/Settings/Channel.php:409
+#: ../../Zotlabs/Module/Settings/Channel.php:425
msgid "Your channel address is"
msgstr "L'adresse de votre canal est"
-#: ../../Zotlabs/Module/Settings/Channel.php:412
+#: ../../Zotlabs/Module/Settings/Channel.php:428
msgid "Your files/photos are accessible via WebDAV at"
msgstr "Vos fichiers/photos sont accessibles via WebDAV à"
-#: ../../Zotlabs/Module/Settings/Channel.php:474
+#: ../../Zotlabs/Module/Settings/Channel.php:493
msgid "Channel Settings"
msgstr "Paramètres du canal"
-#: ../../Zotlabs/Module/Settings/Channel.php:481
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Basic Settings"
msgstr "Paramètres standard"
-#: ../../Zotlabs/Module/Settings/Channel.php:482
-#: ../../include/channel.php:1248
+#: ../../Zotlabs/Module/Settings/Channel.php:501
+#: ../../include/channel.php:1521
msgid "Full Name:"
msgstr "Nom complet&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:483
+#: ../../Zotlabs/Module/Settings/Channel.php:502
#: ../../Zotlabs/Module/Settings/Account.php:119
msgid "Email Address:"
msgstr "Adresse de courriel&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:484
+#: ../../Zotlabs/Module/Settings/Channel.php:503
msgid "Your Timezone:"
msgstr "Votre fureau horaire&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:485
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "Default Post Location:"
msgstr "Emplacement de publication par défaut&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:485
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "Geographical location to display on your posts"
msgstr "Emplacement géographique à afficher sur vos publications"
-#: ../../Zotlabs/Module/Settings/Channel.php:486
+#: ../../Zotlabs/Module/Settings/Channel.php:505
msgid "Use Browser Location:"
msgstr "Utiliser la géolocalisation du navigateur&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:488
+#: ../../Zotlabs/Module/Settings/Channel.php:507
msgid "Adult Content"
msgstr "Contenu \"adulte\""
-#: ../../Zotlabs/Module/Settings/Channel.php:488
+#: ../../Zotlabs/Module/Settings/Channel.php:507
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)"
-#: ../../Zotlabs/Module/Settings/Channel.php:490
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid "Security and Privacy Settings"
msgstr "Paramètres de sécurité et de confidentialité"
-#: ../../Zotlabs/Module/Settings/Channel.php:493
+#: ../../Zotlabs/Module/Settings/Channel.php:511
msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "Vous permissions sont déjà paramétrées. Cliquer pour voir/ajuster"
+msgstr "Vous droits d'accès sont déjà paramétrés. Cliquer pour voir/modifier"
-#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "Hide my online presence"
msgstr "Cacher ma présence en ligne"
-#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "Prevents displaying in your profile that you are online"
msgstr "Cacher votre statut (en ligne/hors ligne) sur votre profil"
-#: ../../Zotlabs/Module/Settings/Channel.php:497
+#: ../../Zotlabs/Module/Settings/Channel.php:515
msgid "Simple Privacy Settings:"
msgstr "Paramètres de confidentialité simplifiés&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:498
+#: ../../Zotlabs/Module/Settings/Channel.php:516
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:499
+#: ../../Zotlabs/Module/Settings/Channel.php:517
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
-msgstr "Classique - <em>public par défaut, privé en cas de besoin (comparable aux permissions type réseau social, avec une confidentialité améliorée)</em>"
+msgstr "Classique - <em>public par défaut, privé en cas de besoin (comparable aux droits d'accès type réseau social, avec une confidentialité améliorée)</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:500
+#: ../../Zotlabs/Module/Settings/Channel.php:518
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privé - <em>privé par défaut, jamais ouvert ni public</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:501
+#: ../../Zotlabs/Module/Settings/Channel.php:519
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>"
-#: ../../Zotlabs/Module/Settings/Channel.php:503
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid "Allow others to tag your posts"
msgstr "Autoriser les autres à \"étiqueter\" vos publications"
-#: ../../Zotlabs/Module/Settings/Channel.php:503
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Souvent utilisé par la communauté pour identifier un contenu inapproprié a posteriori "
-#: ../../Zotlabs/Module/Settings/Channel.php:505
+#: ../../Zotlabs/Module/Settings/Channel.php:523
msgid "Channel Permission Limits"
-msgstr "Limites des permissions du canal"
+msgstr "Limites des droits d'accès du canal"
-#: ../../Zotlabs/Module/Settings/Channel.php:507
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "Expire other channel content after this many days"
msgstr "Faire expirer le contenu des autres canaux après n jours"
-#: ../../Zotlabs/Module/Settings/Channel.php:507
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "0 or blank to use the website limit."
msgstr "0 ou vide pour utiliser la limite du site web"
-#: ../../Zotlabs/Module/Settings/Channel.php:507
+#: ../../Zotlabs/Module/Settings/Channel.php:525
#, php-format
msgid "This website expires after %d days."
msgstr "Ce site web expirera après %d jours."
-#: ../../Zotlabs/Module/Settings/Channel.php:507
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "This website does not expire imported content."
msgstr "Ce site web ne périme pas le contenu importé."
-#: ../../Zotlabs/Module/Settings/Channel.php:507
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "The website limit takes precedence if lower than your limit."
msgstr "La limite du site Web a priorité si elle est inférieure à votre limite."
-#: ../../Zotlabs/Module/Settings/Channel.php:508
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Maximum Friend Requests/Day:"
msgstr "Nombre maximum de demandes de contact par jour&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:508
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "May reduce spam activity"
msgstr "Contribue à réduire l'impact des indésirables"
-#: ../../Zotlabs/Module/Settings/Channel.php:509
-msgid "Default Access Control List (ACL)"
-msgstr "Default Access Control List (ACL)"
+#: ../../Zotlabs/Module/Settings/Channel.php:527
+msgid "Default Privacy Group"
+msgstr "Groupe de contacts par défaut&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:511
+#: ../../Zotlabs/Module/Settings/Channel.php:529
msgid "Use my default audience setting for the type of object published"
msgstr "Utiliser mon paramètre de publication par défaut pour le type d'objet publié"
-#: ../../Zotlabs/Module/Settings/Channel.php:518
+#: ../../Zotlabs/Module/Settings/Channel.php:530
+msgid "Profile to assign new connections"
+msgstr "Profil pour assigner de nouvelles connexions"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:539
msgid "Channel permissions category:"
-msgstr "Catégorie de permissions du canal&nbsp;:"
+msgstr "Profils d'accès du canal&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:519
+#: ../../Zotlabs/Module/Settings/Channel.php:540
msgid "Default Permissions Group"
-msgstr ""
+msgstr "Groupe d'accès par défaut"
-#: ../../Zotlabs/Module/Settings/Channel.php:525
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "Maximum private messages per day from unknown people:"
msgstr "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:525
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "Useful to reduce spamming"
msgstr "Utile pour réduire les indésirables"
-#: ../../Zotlabs/Module/Settings/Channel.php:528
+#: ../../Zotlabs/Module/Settings/Channel.php:549
+#: ../../Zotlabs/Lib/Enotify.php:68
msgid "Notification Settings"
msgstr "Paramètres de notification"
-#: ../../Zotlabs/Module/Settings/Channel.php:529
+#: ../../Zotlabs/Module/Settings/Channel.php:550
msgid "By default post a status message when:"
msgstr "Par défaut, publier un statut quand&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:530
+#: ../../Zotlabs/Module/Settings/Channel.php:551
msgid "accepting a friend request"
msgstr "vous acceptez une demande de contact"
-#: ../../Zotlabs/Module/Settings/Channel.php:531
+#: ../../Zotlabs/Module/Settings/Channel.php:552
msgid "joining a forum/community"
msgstr "vous rejoignez un forum ou une communauté"
-#: ../../Zotlabs/Module/Settings/Channel.php:532
+#: ../../Zotlabs/Module/Settings/Channel.php:553
msgid "making an <em>interesting</em> profile change"
msgstr "vous faîtes une modification <em>intéressante</em> de votre profil"
-#: ../../Zotlabs/Module/Settings/Channel.php:533
+#: ../../Zotlabs/Module/Settings/Channel.php:554
msgid "Send a notification email when:"
msgstr "Envoyer un courriel de notification quand&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:534
+#: ../../Zotlabs/Module/Settings/Channel.php:555
msgid "You receive a connection request"
msgstr "Vous recevez une demande de contact"
-#: ../../Zotlabs/Module/Settings/Channel.php:535
+#: ../../Zotlabs/Module/Settings/Channel.php:556
msgid "Your connections are confirmed"
msgstr "Vos contacts sont confirmés"
-#: ../../Zotlabs/Module/Settings/Channel.php:536
+#: ../../Zotlabs/Module/Settings/Channel.php:557
msgid "Someone writes on your profile wall"
msgstr "Quelqu'un a écrit sur votre mur"
-#: ../../Zotlabs/Module/Settings/Channel.php:537
+#: ../../Zotlabs/Module/Settings/Channel.php:558
msgid "Someone writes a followup comment"
msgstr "Quelqu'un a commenté vos publications"
-#: ../../Zotlabs/Module/Settings/Channel.php:538
+#: ../../Zotlabs/Module/Settings/Channel.php:559
msgid "You receive a private message"
msgstr "Vous recevez un message privé"
-#: ../../Zotlabs/Module/Settings/Channel.php:539
+#: ../../Zotlabs/Module/Settings/Channel.php:560
msgid "You receive a friend suggestion"
msgstr "Vous recevez une suggestion d'amitié/contact"
-#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:561
msgid "You are tagged in a post"
msgstr "Vous êtes étiqueté dans une publication"
-#: ../../Zotlabs/Module/Settings/Channel.php:541
+#: ../../Zotlabs/Module/Settings/Channel.php:562
msgid "You are poked/prodded/etc. in a post"
msgstr "Vous êtes tapoté/encouragé/etc. dans une publication"
-#: ../../Zotlabs/Module/Settings/Channel.php:543
+#: ../../Zotlabs/Module/Settings/Channel.php:564
msgid "Someone likes your post/comment"
msgstr "Quelqu'un aime votre publication/commentaire"
-#: ../../Zotlabs/Module/Settings/Channel.php:546
+#: ../../Zotlabs/Module/Settings/Channel.php:567
msgid "Show visual notifications including:"
msgstr "Afficher des notifications visuelles y compris&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Channel.php:548
+#: ../../Zotlabs/Module/Settings/Channel.php:569
msgid "Unseen grid activity"
msgstr "Activité du réseau pas encore consultée"
-#: ../../Zotlabs/Module/Settings/Channel.php:549
+#: ../../Zotlabs/Module/Settings/Channel.php:570
msgid "Unseen channel activity"
msgstr "Activité non vue sur le canal"
-#: ../../Zotlabs/Module/Settings/Channel.php:550
+#: ../../Zotlabs/Module/Settings/Channel.php:571
msgid "Unseen private messages"
msgstr "Messages privés non lus"
-#: ../../Zotlabs/Module/Settings/Channel.php:550
-#: ../../Zotlabs/Module/Settings/Channel.php:555
-#: ../../Zotlabs/Module/Settings/Channel.php:556
-#: ../../Zotlabs/Module/Settings/Channel.php:557
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+#: ../../Zotlabs/Module/Settings/Channel.php:577
+#: ../../Zotlabs/Module/Settings/Channel.php:578
#: ../../addon/jappixmini/jappixmini.php:343
msgid "Recommended"
msgstr "Recommandé"
-#: ../../Zotlabs/Module/Settings/Channel.php:551
+#: ../../Zotlabs/Module/Settings/Channel.php:572
msgid "Upcoming events"
msgstr "Événements à venir"
-#: ../../Zotlabs/Module/Settings/Channel.php:552
+#: ../../Zotlabs/Module/Settings/Channel.php:573
msgid "Events today"
msgstr "Événements aujourd'hui"
-#: ../../Zotlabs/Module/Settings/Channel.php:553
+#: ../../Zotlabs/Module/Settings/Channel.php:574
msgid "Upcoming birthdays"
msgstr "Anniversaires à venir"
-#: ../../Zotlabs/Module/Settings/Channel.php:553
+#: ../../Zotlabs/Module/Settings/Channel.php:574
msgid "Not available in all themes"
msgstr "Pas disponible dans tous les thèmes"
-#: ../../Zotlabs/Module/Settings/Channel.php:554
+#: ../../Zotlabs/Module/Settings/Channel.php:575
msgid "System (personal) notifications"
msgstr "Notifications système (personnelles)"
-#: ../../Zotlabs/Module/Settings/Channel.php:555
+#: ../../Zotlabs/Module/Settings/Channel.php:576
msgid "System info messages"
msgstr "Messages d'info système"
-#: ../../Zotlabs/Module/Settings/Channel.php:556
+#: ../../Zotlabs/Module/Settings/Channel.php:577
msgid "System critical alerts"
msgstr "Alertes critiques système"
-#: ../../Zotlabs/Module/Settings/Channel.php:557
+#: ../../Zotlabs/Module/Settings/Channel.php:578
msgid "New connections"
msgstr "Nouveaux contacts"
-#: ../../Zotlabs/Module/Settings/Channel.php:558
+#: ../../Zotlabs/Module/Settings/Channel.php:579
msgid "System Registrations"
msgstr "Inscriptions système"
-#: ../../Zotlabs/Module/Settings/Channel.php:559
+#: ../../Zotlabs/Module/Settings/Channel.php:580
+msgid "Unseen shared files"
+msgstr "Fichiers partagés non vus"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:581
+msgid "Unseen public activity"
+msgstr "Activité publique non vue"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:582
+msgid "Unseen likes and dislikes"
+msgstr "Aime et n'aime pas non consultés"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:583
+msgid "Email notification hub (hostname)"
+msgstr "Concentrateur de notification par courriel (nom d'hôte)"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:583
+#, php-format
msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Afficher également les nouvelles publications sur le mur, les messages privés et les contacts dans Notifications"
+"If your channel is mirrored to multiple hubs, set this to your preferred "
+"location. This will prevent duplicate email notifications. Example: %s"
+msgstr "Si votre canal est dupliqué sur plusieurs hubs, définissez cet emplacement comme votre emplacement préféré. Cela empêchera les notifications par courriel en double. Exemple : %s"
-#: ../../Zotlabs/Module/Settings/Channel.php:561
+#: ../../Zotlabs/Module/Settings/Channel.php:584
+msgid "Show new wall posts, private messages and connections under Notices"
+msgstr "Montrer les nouveaux envois, messages privés et les nouvelles connexions dans Notifications"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:586
msgid "Notify me of events this many days in advance"
msgstr "Me prévenir d’événements à venir tant de jours en avance"
-#: ../../Zotlabs/Module/Settings/Channel.php:561
+#: ../../Zotlabs/Module/Settings/Channel.php:586
msgid "Must be greater than 0"
msgstr "Doit être supérieur à 0"
-#: ../../Zotlabs/Module/Settings/Channel.php:567
+#: ../../Zotlabs/Module/Settings/Channel.php:592
msgid "Advanced Account/Page Type Settings"
msgstr "Paramètres avancés de compte/type de page"
-#: ../../Zotlabs/Module/Settings/Channel.php:568
+#: ../../Zotlabs/Module/Settings/Channel.php:593
msgid "Change the behaviour of this account for special situations"
msgstr "Modifie le comportement de ce compte pour des situations particulières"
-#: ../../Zotlabs/Module/Settings/Channel.php:570
+#: ../../Zotlabs/Module/Settings/Channel.php:595
msgid "Miscellaneous Settings"
msgstr "Paramètres divers"
-#: ../../Zotlabs/Module/Settings/Channel.php:571
+#: ../../Zotlabs/Module/Settings/Channel.php:596
msgid "Default photo upload folder"
msgstr "Répertoire par défaut pour les photos téléversées"
-#: ../../Zotlabs/Module/Settings/Channel.php:571
-#: ../../Zotlabs/Module/Settings/Channel.php:572
+#: ../../Zotlabs/Module/Settings/Channel.php:596
+#: ../../Zotlabs/Module/Settings/Channel.php:597
msgid "%Y - current year, %m - current month"
msgstr "%Y - année en cours, %m - mois en cours"
-#: ../../Zotlabs/Module/Settings/Channel.php:572
+#: ../../Zotlabs/Module/Settings/Channel.php:597
msgid "Default file upload folder"
msgstr "Répertoire par défaut pour les fichiers téléversés"
-#: ../../Zotlabs/Module/Settings/Channel.php:574
+#: ../../Zotlabs/Module/Settings/Channel.php:599
msgid "Personal menu to display in your channel pages"
msgstr "Menu personnel à afficher sur les pages de votre canal"
-#: ../../Zotlabs/Module/Settings/Channel.php:576
+#: ../../Zotlabs/Module/Settings/Channel.php:601
msgid "Remove this channel."
msgstr "Supprimer ce canal"
-#: ../../Zotlabs/Module/Settings/Channel.php:577
+#: ../../Zotlabs/Module/Settings/Channel.php:602
msgid "Firefox Share $Projectname provider"
msgstr "Connecteur $Projectname pour Firefox Share"
-#: ../../Zotlabs/Module/Settings/Channel.php:578
+#: ../../Zotlabs/Module/Settings/Channel.php:603
msgid "Start calendar week on Monday"
-msgstr ""
+msgstr "Commencer la semaine du calendrier le lundi"
-#: ../../Zotlabs/Module/Settings/Features.php:45
+#: ../../Zotlabs/Module/Settings/Features.php:73
msgid "Additional Features"
msgstr "Fonctionnalités additionnelles"
+#: ../../Zotlabs/Module/Settings/Features.php:74
+#: ../../Zotlabs/Module/Settings/Account.php:116
+msgid "Your technical skill level"
+msgstr "Votre niveau technique"
+
+#: ../../Zotlabs/Module/Settings/Features.php:74
+#: ../../Zotlabs/Module/Settings/Account.php:116
+msgid ""
+"Used to provide a member experience and additional features consistent with "
+"your comfort level"
+msgstr "Utilisé pour offrir une expérience de membre et des fonctions supplémentaires compatibles avec votre niveau de confort."
+
#: ../../Zotlabs/Module/Settings/Tokens.php:31
#, php-format
msgid "This channel is limited to %d tokens"
@@ -3507,7 +3886,7 @@ msgid ""
msgstr "Vous pouvez également fournir des liens d'accès, style <em>dropbox</em>, aux amis et aux associés en ajoutant le mot de passe de connexion à l'URL d'un site spécifique, comme indiqué. Exemples:"
#: ../../Zotlabs/Module/Settings/Tokens.php:150
-#: ../../Zotlabs/Widget/Settings_menu.php:90
+#: ../../Zotlabs/Widget/Settings_menu.php:100
msgid "Guest Access Tokens"
msgstr "Jeton d'accès pour un invité"
@@ -3524,10 +3903,102 @@ msgid "Expires (yyyy-mm-dd)"
msgstr "Date d'expiration sous la forme année mois jour (AAAA-MM-JJ)"
#: ../../Zotlabs/Module/Settings/Tokens.php:160
-#: ../../Zotlabs/Module/Connedit.php:893
+#: ../../Zotlabs/Module/Connedit.php:890
msgid "Their Settings"
msgstr "Leurs paramètres"
+#: ../../Zotlabs/Module/Settings/Oauth2.php:35
+msgid "Name and Secret are required"
+msgstr "Un nom et un secret sont requis"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:83
+msgid "Add OAuth2 application"
+msgstr "Ajouter une application OAuth2"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:86
+#: ../../Zotlabs/Module/Settings/Oauth2.php:114
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+msgid "Name of application"
+msgstr "Nom de l'application"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:87
+#: ../../Zotlabs/Module/Settings/Oauth2.php:115
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:782
+msgid "Consumer Secret"
+msgstr "Secret client"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:87
+#: ../../Zotlabs/Module/Settings/Oauth2.php:115
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères."
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:88
+#: ../../Zotlabs/Module/Settings/Oauth2.php:116
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Redirect"
+msgstr "Redirection"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:88
+#: ../../Zotlabs/Module/Settings/Oauth2.php:116
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:89
+#: ../../Zotlabs/Module/Settings/Oauth2.php:117
+msgid "Grant Types"
+msgstr "Types de bourses"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:89
+#: ../../Zotlabs/Module/Settings/Oauth2.php:90
+#: ../../Zotlabs/Module/Settings/Oauth2.php:117
+#: ../../Zotlabs/Module/Settings/Oauth2.php:118
+msgid "leave blank unless your application sepcifically requires this"
+msgstr "Laisser vide, sauf si votre application le requiert spécifiquement"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:90
+#: ../../Zotlabs/Module/Settings/Oauth2.php:118
+msgid "Authorization scope"
+msgstr "Portée de l'autorisation"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:102
+msgid "OAuth2 Application not found."
+msgstr "Application OAuth2 introuvable"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:111
+#: ../../Zotlabs/Module/Settings/Oauth2.php:148
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Settings/Oauth.php:113
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+msgid "Add application"
+msgstr "Ajouter une application"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:147
+msgid "Connected OAuth2 Apps"
+msgstr "Applications OAuth2 connectées"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:151
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "Client key starts with"
+msgstr "La clef partagée commence par"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:152
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "No name"
+msgstr "Sans nom"
+
+#: ../../Zotlabs/Module/Settings/Oauth2.php:153
+#: ../../Zotlabs/Module/Settings/Oauth.php:154
+msgid "Remove authorization"
+msgstr "Révoquer l'autorisation"
+
#: ../../Zotlabs/Module/Settings/Account.php:20
msgid "Not valid email."
msgstr "Adresse de courriel non valide."
@@ -3584,14 +4055,6 @@ msgstr "Confirmez le nouveau mot de passe"
msgid "Leave password fields blank unless changing"
msgstr "Laissez les mots de passe vides si vous ne voulez pas les modifier"
-#: ../../Zotlabs/Module/Settings/Account.php:116
-msgid "Your technical skill level"
-msgstr "Votre niveau technique"
-
-#: ../../Zotlabs/Module/Settings/Account.php:116
-msgid "Used to provide a member experience matched to your comfort level"
-msgstr "Utilisé pour fournir une expérience utilisateur correspondant à votre niveau de confort"
-
#: ../../Zotlabs/Module/Settings/Account.php:120
#: ../../Zotlabs/Module/Removeaccount.php:61
msgid "Remove Account"
@@ -3601,246 +4064,206 @@ msgstr "Supprimer le compte"
msgid "Remove this account including all its channels"
msgstr "Supprimer ce compte et tous ses canaux"
-#: ../../Zotlabs/Module/Settings/Featured.php:20
+#: ../../Zotlabs/Module/Settings/Featured.php:23
msgid "Affinity Slider settings updated."
msgstr "Paramètres de la réglette d'affinité mis à jour."
-#: ../../Zotlabs/Module/Settings/Featured.php:34
+#: ../../Zotlabs/Module/Settings/Featured.php:38
msgid "No feature settings configured"
msgstr "Aucun paramètre de fonctionnalité configuré"
-#: ../../Zotlabs/Module/Settings/Featured.php:41
+#: ../../Zotlabs/Module/Settings/Featured.php:45
msgid "Default maximum affinity level"
msgstr "Niveau d'affinité maximum par défaut"
-#: ../../Zotlabs/Module/Settings/Featured.php:46
+#: ../../Zotlabs/Module/Settings/Featured.php:45
+msgid "0-99 default 99"
+msgstr "0-99 par défaut 99"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:50
msgid "Default minimum affinity level"
msgstr "Niveau d'affinité minimum par défaut"
#: ../../Zotlabs/Module/Settings/Featured.php:50
+msgid "0-99 - default 0"
+msgstr "0-99 par défaut 0"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:54
msgid "Affinity Slider Settings"
msgstr "Paramètres de la réglette d'affinité"
-#: ../../Zotlabs/Module/Settings/Featured.php:60
-msgid "Feature/Addon Settings"
-msgstr "Paramètres des extensions/greffons"
+#: ../../Zotlabs/Module/Settings/Featured.php:67
+msgid "Addon Settings"
+msgstr "Paramètres du greffon"
-#: ../../Zotlabs/Module/Settings/Display.php:145
-msgid "No special theme for mobile devices"
-msgstr "Pas de thème spécifique aux mobiles"
+#: ../../Zotlabs/Module/Settings/Featured.php:68
+msgid "Please save/submit changes to any panel before opening another."
+msgstr "Veuillez enregistrer/soumettre les changements à n'importe quel panneau avant d'en ouvrir un autre."
-#: ../../Zotlabs/Module/Settings/Display.php:148
+#: ../../Zotlabs/Module/Settings/Display.php:139
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (Expérimental)"
-#: ../../Zotlabs/Module/Settings/Display.php:198
+#: ../../Zotlabs/Module/Settings/Display.php:187
msgid "Display Settings"
msgstr "Afficher les paramètres"
-#: ../../Zotlabs/Module/Settings/Display.php:199
+#: ../../Zotlabs/Module/Settings/Display.php:188
msgid "Theme Settings"
msgstr "Paramètres du thème"
-#: ../../Zotlabs/Module/Settings/Display.php:200
+#: ../../Zotlabs/Module/Settings/Display.php:189
msgid "Custom Theme Settings"
msgstr "Paramètres personnels du thème"
-#: ../../Zotlabs/Module/Settings/Display.php:201
+#: ../../Zotlabs/Module/Settings/Display.php:190
msgid "Content Settings"
msgstr "Paramètres liés au contenu"
-#: ../../Zotlabs/Module/Settings/Display.php:207
+#: ../../Zotlabs/Module/Settings/Display.php:196
msgid "Display Theme:"
msgstr "Afficher le thème&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Display.php:208
+#: ../../Zotlabs/Module/Settings/Display.php:197
msgid "Select scheme"
msgstr "Définir la palette de couleurs"
-#: ../../Zotlabs/Module/Settings/Display.php:210
-msgid "Mobile Theme:"
-msgstr "Thème mobile&nbsp;:"
-
-#: ../../Zotlabs/Module/Settings/Display.php:211
+#: ../../Zotlabs/Module/Settings/Display.php:199
msgid "Preload images before rendering the page"
msgstr "Pré-charger les images avant d'afficher la page"
-#: ../../Zotlabs/Module/Settings/Display.php:211
+#: ../../Zotlabs/Module/Settings/Display.php:199
msgid ""
"The subjective page load time will be longer but the page will be ready when"
" displayed"
msgstr "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera"
-#: ../../Zotlabs/Module/Settings/Display.php:212
+#: ../../Zotlabs/Module/Settings/Display.php:200
msgid "Enable user zoom on mobile devices"
msgstr "Permettre à l'utilisateur d'un mobile d'agrandir le contenu"
-#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:201
msgid "Update browser every xx seconds"
msgstr "Mettre à jour le navigateur toutes les xx secondes"
-#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:201
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimum 10 secondes, pas de maximum"
-#: ../../Zotlabs/Module/Settings/Display.php:214
+#: ../../Zotlabs/Module/Settings/Display.php:202
msgid "Maximum number of conversations to load at any time:"
msgstr "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:"
-#: ../../Zotlabs/Module/Settings/Display.php:214
+#: ../../Zotlabs/Module/Settings/Display.php:202
msgid "Maximum of 100 items"
msgstr "100 éléments au maximum"
-#: ../../Zotlabs/Module/Settings/Display.php:215
+#: ../../Zotlabs/Module/Settings/Display.php:203
msgid "Show emoticons (smilies) as images"
msgstr "Remplacer les émoticônes (smileys) par des images"
-#: ../../Zotlabs/Module/Settings/Display.php:216
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Provide channel menu in navigation bar"
+msgstr "Fournir le menu du canal dans la barre de navigation"
+
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Default: channel menu located in app menu"
+msgstr "Par défaut : menu du canal situé dans le menu de l'application."
+
+#: ../../Zotlabs/Module/Settings/Display.php:205
msgid "Manual conversation updates"
msgstr "Manuel de mises à jour des conversations"
-#: ../../Zotlabs/Module/Settings/Display.php:216
+#: ../../Zotlabs/Module/Settings/Display.php:205
msgid "Default is on, turning this off may increase screen jumping"
msgstr "Activé par défaut, le désactiver peut accroître les sauts d'écran"
-#: ../../Zotlabs/Module/Settings/Display.php:217
+#: ../../Zotlabs/Module/Settings/Display.php:206
msgid "Link post titles to source"
msgstr "Lier les titres des publications à leur source"
-#: ../../Zotlabs/Module/Settings/Display.php:218
+#: ../../Zotlabs/Module/Settings/Display.php:207
msgid "System Page Layout Editor - (advanced)"
msgstr "Editeur de mise en page des pages systèmes - (avancé)"
-#: ../../Zotlabs/Module/Settings/Display.php:221
+#: ../../Zotlabs/Module/Settings/Display.php:210
msgid "Use blog/list mode on channel page"
msgstr "Utiliser le mode blog/liste sur la page du canal"
-#: ../../Zotlabs/Module/Settings/Display.php:221
-#: ../../Zotlabs/Module/Settings/Display.php:222
+#: ../../Zotlabs/Module/Settings/Display.php:210
+#: ../../Zotlabs/Module/Settings/Display.php:211
msgid "(comments displayed separately)"
msgstr "(commentaires affichés séparément)"
-#: ../../Zotlabs/Module/Settings/Display.php:222
+#: ../../Zotlabs/Module/Settings/Display.php:211
msgid "Use blog/list mode on grid page"
msgstr "Utiliser le mode blog/liste sur la page du réseau"
-#: ../../Zotlabs/Module/Settings/Display.php:223
+#: ../../Zotlabs/Module/Settings/Display.php:212
msgid "Channel page max height of content (in pixels)"
msgstr "Hauteur maximale du contenu pour la page du canal (en pixels)"
-#: ../../Zotlabs/Module/Settings/Display.php:223
-#: ../../Zotlabs/Module/Settings/Display.php:224
+#: ../../Zotlabs/Module/Settings/Display.php:212
+#: ../../Zotlabs/Module/Settings/Display.php:213
msgid "click to expand content exceeding this height"
msgstr "cliquer pour dérouler le contenu dépassant cette limite"
-#: ../../Zotlabs/Module/Settings/Display.php:224
+#: ../../Zotlabs/Module/Settings/Display.php:213
msgid "Grid page max height of content (in pixels)"
msgstr "Hauteur maximale du contenu sur la page du réseau (en pixels)"
-#: ../../Zotlabs/Module/Settings/Oauth.php:34
+#: ../../Zotlabs/Module/Settings/Oauth.php:35
msgid "Name is required"
msgstr "Le nom est requis"
-#: ../../Zotlabs/Module/Settings/Oauth.php:38
+#: ../../Zotlabs/Module/Settings/Oauth.php:39
msgid "Key and Secret are required"
msgstr "Clef et secret sont requis"
-#: ../../Zotlabs/Module/Settings/Oauth.php:86
-#: ../../Zotlabs/Module/Settings/Oauth.php:112
-#: ../../Zotlabs/Module/Settings/Oauth.php:148
-msgid "Add application"
-msgstr "Ajouter une application"
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:89
-msgid "Name of application"
-msgstr "Nom de l'application"
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:90
-#: ../../Zotlabs/Module/Settings/Oauth.php:116
-#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:775
-msgid "Consumer Key"
-msgstr "Clef client"
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:90
-#: ../../Zotlabs/Module/Settings/Oauth.php:91
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères."
-
#: ../../Zotlabs/Module/Settings/Oauth.php:91
#: ../../Zotlabs/Module/Settings/Oauth.php:117
-#: ../../addon/statusnet/statusnet.php:892 ../../addon/twitter/twitter.php:776
-msgid "Consumer Secret"
-msgstr "Secret client"
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:92
-#: ../../Zotlabs/Module/Settings/Oauth.php:118
-msgid "Redirect"
-msgstr "Redirection"
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:92
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement"
+#: ../../addon/statusnet/statusnet.php:894 ../../addon/twitter/twitter.php:781
+msgid "Consumer Key"
+msgstr "Clef client"
-#: ../../Zotlabs/Module/Settings/Oauth.php:93
-#: ../../Zotlabs/Module/Settings/Oauth.php:119
+#: ../../Zotlabs/Module/Settings/Oauth.php:94
+#: ../../Zotlabs/Module/Settings/Oauth.php:120
msgid "Icon url"
msgstr "URL de l'icône"
-#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:94
#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
msgid "Optional"
msgstr "Facultatif"
-#: ../../Zotlabs/Module/Settings/Oauth.php:104
+#: ../../Zotlabs/Module/Settings/Oauth.php:105
msgid "Application not found."
msgstr "Application introuvable."
-#: ../../Zotlabs/Module/Settings/Oauth.php:147
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
msgid "Connected Apps"
msgstr "Applications connectées"
-#: ../../Zotlabs/Module/Settings/Oauth.php:151
-msgid "Client key starts with"
-msgstr "La clef partagée commence par"
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:152
-msgid "No name"
-msgstr "Sans nom"
-
-#: ../../Zotlabs/Module/Settings/Oauth.php:153
-msgid "Remove authorization"
-msgstr "Révoquer l'autorisation"
-
-#: ../../Zotlabs/Module/Embedphotos.php:139
-#: ../../Zotlabs/Module/Photos.php:751 ../../Zotlabs/Module/Photos.php:1290
-#: ../../Zotlabs/Widget/Album.php:78
+#: ../../Zotlabs/Module/Embedphotos.php:140
+#: ../../Zotlabs/Module/Photos.php:811 ../../Zotlabs/Module/Photos.php:1350
+#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78
msgid "View Photo"
msgstr "Voir la photo"
-#: ../../Zotlabs/Module/Embedphotos.php:145
-#: ../../Zotlabs/Module/Photos.php:757 ../../Zotlabs/Module/Photos.php:1213
-#: ../../Zotlabs/Lib/Apps.php:561 ../../Zotlabs/Lib/Apps.php:639
-#: ../../Zotlabs/Storage/Browser.php:163 ../../Zotlabs/Widget/Album.php:84
-#: ../../addon/cdav/Mod_Cdav.php:745 ../../addon/cdav/Mod_Cdav.php:746
-#: ../../addon/cdav/Mod_Cdav.php:753 ../../include/conversation.php:1110
-msgid "Unknown"
-msgstr "Inconnu"
-
-#: ../../Zotlabs/Module/Embedphotos.php:155
-#: ../../Zotlabs/Module/Photos.php:782 ../../Zotlabs/Widget/Album.php:95
+#: ../../Zotlabs/Module/Embedphotos.php:156
+#: ../../Zotlabs/Module/Photos.php:842 ../../Zotlabs/Widget/Portfolio.php:108
+#: ../../Zotlabs/Widget/Album.php:95
msgid "Edit Album"
msgstr "Modifier l'album"
-#: ../../Zotlabs/Module/Embedphotos.php:157
-#: ../../Zotlabs/Module/Photos.php:784 ../../Zotlabs/Module/Photos.php:1321
-#: ../../Zotlabs/Module/Profile_photo.php:423
+#: ../../Zotlabs/Module/Embedphotos.php:158
+#: ../../Zotlabs/Module/Photos.php:712
+#: ../../Zotlabs/Module/Profile_photo.php:458
#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:334
-#: ../../Zotlabs/Widget/Album.php:97 ../../addon/cdav/include/widgets.php:132
-#: ../../addon/cdav/include/widgets.php:168
+#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Widget/Cdav.php:133
+#: ../../Zotlabs/Widget/Cdav.php:169 ../../Zotlabs/Widget/Portfolio.php:110
+#: ../../Zotlabs/Widget/Album.php:97
msgid "Upload"
msgstr "Envoyer"
@@ -3848,84 +4271,84 @@ msgstr "Envoyer"
msgid "Some blurb about what to do when you're new here"
msgstr "Quelques mots sur quoi faire quand on est nouveau ici"
-#: ../../Zotlabs/Module/Thing.php:114
+#: ../../Zotlabs/Module/Thing.php:120
msgid "Thing updated"
msgstr "Elément mis à jour"
-#: ../../Zotlabs/Module/Thing.php:166
+#: ../../Zotlabs/Module/Thing.php:172
msgid "Object store: failed"
msgstr "Stockage de l'objet&nbsp;: échec"
-#: ../../Zotlabs/Module/Thing.php:170
+#: ../../Zotlabs/Module/Thing.php:176
msgid "Thing added"
msgstr "Elément ajouté"
-#: ../../Zotlabs/Module/Thing.php:196
+#: ../../Zotlabs/Module/Thing.php:202
#, php-format
msgid "OBJ: %1$s %2$s %3$s"
msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../Zotlabs/Module/Thing.php:259
+#: ../../Zotlabs/Module/Thing.php:265
msgid "Show Thing"
msgstr "Montrer élément"
-#: ../../Zotlabs/Module/Thing.php:266
+#: ../../Zotlabs/Module/Thing.php:272
msgid "item not found."
msgstr "élément introuvable."
-#: ../../Zotlabs/Module/Thing.php:299
+#: ../../Zotlabs/Module/Thing.php:305
msgid "Edit Thing"
msgstr "Modifier élément"
-#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:364
msgid "Select a profile"
msgstr "Choisissez un profil"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:367
msgid "Post an activity"
msgstr "Publier une activité"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:367
msgid "Only sends to viewers of the applicable profile"
msgstr "Envoie exclusivement aux visiteurs du profil concerné"
-#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369
msgid "Name of thing e.g. something"
msgstr "Nom de l'élément, p.ex. quelque-chose"
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
+#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:370
msgid "URL of thing (optional)"
msgstr "URL de l'élément (facultatif)"
-#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
+#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:371
msgid "URL for photo of thing (optional)"
msgstr "URL d'une photo de l'élément (facultatif)"
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
-#: ../../Zotlabs/Module/Photos.php:647 ../../Zotlabs/Module/Photos.php:1011
-#: ../../Zotlabs/Module/Connedit.php:680 ../../Zotlabs/Module/Chat.php:233
-#: ../../Zotlabs/Module/Filestorage.php:152
-#: ../../include/acl_selectors.php:218
+#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:372
+#: ../../Zotlabs/Module/Photos.php:702 ../../Zotlabs/Module/Photos.php:1071
+#: ../../Zotlabs/Module/Connedit.php:676 ../../Zotlabs/Module/Chat.php:235
+#: ../../Zotlabs/Module/Filestorage.php:147
+#: ../../include/acl_selectors.php:123
msgid "Permissions"
-msgstr "Autorisations"
+msgstr "Droits d'accès"
-#: ../../Zotlabs/Module/Thing.php:353
+#: ../../Zotlabs/Module/Thing.php:362
msgid "Add Thing to your Profile"
msgstr "Ajouter l'élément à votre profil"
-#: ../../Zotlabs/Module/Notify.php:57
-#: ../../Zotlabs/Module/Notifications.php:38
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:57
msgid "No more system notifications."
msgstr "Pas d'autre notification du système."
-#: ../../Zotlabs/Module/Notify.php:61
-#: ../../Zotlabs/Module/Notifications.php:42
+#: ../../Zotlabs/Module/Notify.php:65
+#: ../../Zotlabs/Module/Notifications.php:61
msgid "System Notifications"
msgstr "Notifications du système"
-#: ../../Zotlabs/Module/Follow.php:31
-msgid "Channel added."
-msgstr "Canal ajouté."
+#: ../../Zotlabs/Module/Follow.php:36
+msgid "Connection added."
+msgstr "Connexion ajoutée."
#: ../../Zotlabs/Module/Import.php:144
#, php-format
@@ -3936,43 +4359,43 @@ msgstr "Votre forfait n'autorise que %d canaux."
msgid "No channel. Import failed."
msgstr "Pas de canal. Echec de l'import."
-#: ../../Zotlabs/Module/Import.php:466
-#: ../../addon/diaspora/import_diaspora.php:142
+#: ../../Zotlabs/Module/Import.php:482
+#: ../../addon/diaspora/import_diaspora.php:139
msgid "Import completed."
msgstr "L'import est terminé."
-#: ../../Zotlabs/Module/Import.php:492
+#: ../../Zotlabs/Module/Import.php:510
msgid "You must be logged in to use this feature."
msgstr "Vous devez vous connecter pour utiliser cette fonctionnalité."
-#: ../../Zotlabs/Module/Import.php:497
+#: ../../Zotlabs/Module/Import.php:515
msgid "Import Channel"
msgstr "Importation de canal"
-#: ../../Zotlabs/Module/Import.php:498
+#: ../../Zotlabs/Module/Import.php:516
msgid ""
"Use this form to import an existing channel from a different server/hub. You"
" may retrieve the channel identity from the old server/hub via the network "
"or provide an export file."
msgstr "Utilisez ce formulaire pour importer un canal existant sur un autre serveur. Vous pouvez récupérer l'identité du canal sur l'ancien serveur directement par le réseau, ou bien fournir un fichier d'export/import."
-#: ../../Zotlabs/Module/Import.php:500
+#: ../../Zotlabs/Module/Import.php:518
msgid "Or provide the old server/hub details"
msgstr "Ou fournissez les détails de l'ancien serveur/hub"
-#: ../../Zotlabs/Module/Import.php:501
+#: ../../Zotlabs/Module/Import.php:519
msgid "Your old identity address (xyz@example.com)"
msgstr "Votre ancienne identité (zyx@exemple.com)"
-#: ../../Zotlabs/Module/Import.php:502
+#: ../../Zotlabs/Module/Import.php:520
msgid "Your old login email address"
msgstr "Votre ancienne adresse de courriel"
-#: ../../Zotlabs/Module/Import.php:503
+#: ../../Zotlabs/Module/Import.php:521
msgid "Your old login password"
msgstr "Votre ancien mot de passe"
-#: ../../Zotlabs/Module/Import.php:504
+#: ../../Zotlabs/Module/Import.php:522
msgid ""
"For either option, please choose whether to make this hub your new primary "
"address, or whether your old location should continue this role. You will be"
@@ -3980,19 +4403,19 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Quelle que soit l'option choisie, merci de décider si ce hub sera votre nouvelle adresse primaire, ou si votre ancien hub continuera à jouer ce rôle. Vous pourrez publier depuis l'emplacement de votre choix, mais une seule peut être déclarée comme stockage primaire de vos fichiers/photos/media."
-#: ../../Zotlabs/Module/Import.php:505
+#: ../../Zotlabs/Module/Import.php:523
msgid "Make this hub my primary location"
msgstr "Faire de ce hub mon emplacement primaire"
-#: ../../Zotlabs/Module/Import.php:506
+#: ../../Zotlabs/Module/Import.php:524
msgid "Move this channel (disable all previous locations)"
msgstr "Déplacer ce canal (désactiver tous les emplacements précédents)"
-#: ../../Zotlabs/Module/Import.php:507
+#: ../../Zotlabs/Module/Import.php:525
msgid "Import a few months of posts if possible (limited by available memory"
msgstr "Importer plusieurs mois de messages si possible (limité par la mémoire disponible)"
-#: ../../Zotlabs/Module/Import.php:508
+#: ../../Zotlabs/Module/Import.php:526
msgid ""
"This process may take several minutes to complete. Please submit the form "
"only once and leave this page open until finished."
@@ -4002,45 +4425,40 @@ msgstr "Ce processus peut prendre plusieurs minutes. Merci de ne valider le form
msgid "Authentication failed."
msgstr "Échec de l'authentification."
-#: ../../Zotlabs/Module/Rmagic.php:75 ../../include/channel.php:1982
+#: ../../Zotlabs/Module/Rmagic.php:75 ../../boot.php:1590
+#: ../../include/channel.php:2318
msgid "Remote Authentication"
msgstr "Authentification distante"
-#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:1983
+#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:2319
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Entrez l'adresse de votre canal (par ex. moncanal@monsite.com)"
-#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:1984
+#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:2320
msgid "Authenticate"
msgstr "Authentifier"
-#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Chanview.php:96
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Wall_upload.php:31
-#: ../../Zotlabs/Module/Block.php:43
-msgid "Channel not found."
-msgstr "Canal introuvable."
-
#: ../../Zotlabs/Module/Cal.php:69
msgid "Permissions denied."
-msgstr "Permissions refusées."
+msgstr "Accès refusés."
-#: ../../Zotlabs/Module/Cal.php:342 ../../include/text.php:2299
+#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2429
msgid "Import"
msgstr "Import"
-#: ../../Zotlabs/Module/Api.php:72 ../../Zotlabs/Module/Api.php:93
+#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
msgid "Authorize application connection"
msgstr "Autoriser l'application à se connecter"
-#: ../../Zotlabs/Module/Api.php:73
+#: ../../Zotlabs/Module/Api.php:75
msgid "Return to your app and insert this Security Code:"
msgstr "Revenez dans votre application et mettez le code de sécurité"
-#: ../../Zotlabs/Module/Api.php:83
+#: ../../Zotlabs/Module/Api.php:85
msgid "Please login to continue."
msgstr "Merci de vous identifier pour continuer."
-#: ../../Zotlabs/Module/Api.php:95
+#: ../../Zotlabs/Module/Api.php:97
msgid ""
"Do you want to authorize this application to access your posts and contacts,"
" and/or create new posts for you?"
@@ -4050,43 +4468,33 @@ msgstr "Voulez-vous autoriser cette application à accéder à vos publications
msgid "Item not available."
msgstr "Élément indisponible."
-#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:205
-#: ../../Zotlabs/Module/Editwebpage.php:148 ../../Zotlabs/Module/Mail.php:287
-#: ../../Zotlabs/Module/Mail.php:424 ../../include/conversation.php:1228
-msgid "Insert web link"
-msgstr "Insérer lien web"
-
-#: ../../Zotlabs/Module/Editblock.php:129 ../../include/conversation.php:1339
-msgid "Title (optional)"
-msgstr "Titre (facultatif)"
-
#: ../../Zotlabs/Module/Editblock.php:138
msgid "Edit Block"
msgstr "Modifier le bloc"
-#: ../../Zotlabs/Module/Profile.php:91
+#: ../../Zotlabs/Module/Profile.php:93
msgid "vcard"
msgstr "vcard"
-#: ../../Zotlabs/Module/Apps.php:45
+#: ../../Zotlabs/Module/Apps.php:48 ../../Zotlabs/Lib/Apps.php:228
msgid "Apps"
msgstr "Applications"
-#: ../../Zotlabs/Module/Apps.php:48
+#: ../../Zotlabs/Module/Apps.php:51
msgid "Manage apps"
-msgstr ""
+msgstr "Gérer les applications"
-#: ../../Zotlabs/Module/Apps.php:49
+#: ../../Zotlabs/Module/Apps.php:52
msgid "Create new app"
-msgstr ""
+msgstr "Créer une application"
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:256
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:268
#, php-format
msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s est %2$s"
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:234
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:253
msgid "Mood"
msgstr "Humeur"
@@ -4094,156 +4502,183 @@ msgstr "Humeur"
msgid "Set your current mood and tell your friends"
msgstr "Indiquez votre humeur du moment à vos amis"
-#: ../../Zotlabs/Module/Connections.php:52
-#: ../../Zotlabs/Module/Connections.php:157
-#: ../../Zotlabs/Module/Connections.php:246
+#: ../../Zotlabs/Module/Connections.php:55
+#: ../../Zotlabs/Module/Connections.php:112
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Active"
+msgstr "Active"
+
+#: ../../Zotlabs/Module/Connections.php:60
+#: ../../Zotlabs/Module/Connections.php:164
+#: ../../Zotlabs/Module/Connections.php:261
msgid "Blocked"
msgstr "Bloqué(e)"
-#: ../../Zotlabs/Module/Connections.php:57
-#: ../../Zotlabs/Module/Connections.php:164
-#: ../../Zotlabs/Module/Connections.php:245
+#: ../../Zotlabs/Module/Connections.php:65
+#: ../../Zotlabs/Module/Connections.php:171
+#: ../../Zotlabs/Module/Connections.php:260
msgid "Ignored"
msgstr "Ignoré(e)"
-#: ../../Zotlabs/Module/Connections.php:62
-#: ../../Zotlabs/Module/Connections.php:178
-#: ../../Zotlabs/Module/Connections.php:244
+#: ../../Zotlabs/Module/Connections.php:70
+#: ../../Zotlabs/Module/Connections.php:185
+#: ../../Zotlabs/Module/Connections.php:259
msgid "Hidden"
msgstr "Caché"
-#: ../../Zotlabs/Module/Connections.php:67
-#: ../../Zotlabs/Module/Connections.php:171
-#: ../../Zotlabs/Module/Connections.php:243
-msgid "Archived"
-msgstr "Archivé"
+#: ../../Zotlabs/Module/Connections.php:75
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Archived/Unreachable"
+msgstr "Archivé/Injoignable"
-#: ../../Zotlabs/Module/Connections.php:72
-#: ../../Zotlabs/Module/Connections.php:82 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1657
+#: ../../Zotlabs/Module/Connections.php:80
+#: ../../Zotlabs/Module/Connections.php:89 ../../Zotlabs/Module/Menu.php:116
+#: ../../Zotlabs/Module/Notifications.php:52
+#: ../../include/conversation.php:1717
msgid "New"
msgstr "Nouveautés"
-#: ../../Zotlabs/Module/Connections.php:88
-#: ../../Zotlabs/Module/Connections.php:103
-#: ../../Zotlabs/Module/Connedit.php:717 ../../Zotlabs/Widget/Affinity.php:30
+#: ../../Zotlabs/Module/Connections.php:94
+#: ../../Zotlabs/Module/Connections.php:108
+#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:26
msgid "All"
msgstr "Tous"
-#: ../../Zotlabs/Module/Connections.php:134
+#: ../../Zotlabs/Module/Connections.php:140
+msgid "Active Connections"
+msgstr "Connexions actives"
+
+#: ../../Zotlabs/Module/Connections.php:143
+msgid "Show active connections"
+msgstr "Voir les connexions actives"
+
+#: ../../Zotlabs/Module/Connections.php:147
+#: ../../Zotlabs/Widget/Notifications.php:84
msgid "New Connections"
msgstr "Nouveaux contacts"
-#: ../../Zotlabs/Module/Connections.php:137
+#: ../../Zotlabs/Module/Connections.php:150
msgid "Show pending (new) connections"
msgstr "Voir les (nouveaux) contacts en attente"
-#: ../../Zotlabs/Module/Connections.php:144
-msgid "Show all connections"
-msgstr "Voir tous les contacts"
-
-#: ../../Zotlabs/Module/Connections.php:160
+#: ../../Zotlabs/Module/Connections.php:167
msgid "Only show blocked connections"
msgstr "Ne montrer que les contacts bloqués"
-#: ../../Zotlabs/Module/Connections.php:167
+#: ../../Zotlabs/Module/Connections.php:174
msgid "Only show ignored connections"
msgstr "Ne montrer que les contacts ignorés"
-#: ../../Zotlabs/Module/Connections.php:174
-msgid "Only show archived connections"
-msgstr "Ne montrer que les contacts archivés"
-
#: ../../Zotlabs/Module/Connections.php:181
+msgid "Only show archived/unreachable connections"
+msgstr "Ne montrer que les contacts archivés/injoignables"
+
+#: ../../Zotlabs/Module/Connections.php:188
msgid "Only show hidden connections"
msgstr "Ne montrer que les contacts cachés"
-#: ../../Zotlabs/Module/Connections.php:242
+#: ../../Zotlabs/Module/Connections.php:203
+msgid "Show all connections"
+msgstr "Voir tous les contacts"
+
+#: ../../Zotlabs/Module/Connections.php:257
msgid "Pending approval"
msgstr "En attente de validation"
#: ../../Zotlabs/Module/Connections.php:258
+msgid "Archived"
+msgstr "Archivé"
+
+#: ../../Zotlabs/Module/Connections.php:262
+msgid "Not connected at this location"
+msgstr "Contact introuvable à cette adresse"
+
+#: ../../Zotlabs/Module/Connections.php:279
#, php-format
msgid "%1$s [%2$s]"
msgstr "%1$s [%2$s]"
-#: ../../Zotlabs/Module/Connections.php:259
+#: ../../Zotlabs/Module/Connections.php:280
msgid "Edit connection"
msgstr "Modifier le contact"
-#: ../../Zotlabs/Module/Connections.php:260
+#: ../../Zotlabs/Module/Connections.php:282
msgid "Delete connection"
msgstr "Supprimer le contact"
-#: ../../Zotlabs/Module/Connections.php:269
+#: ../../Zotlabs/Module/Connections.php:291
msgid "Channel address"
msgstr "Adresse du canal"
-#: ../../Zotlabs/Module/Connections.php:271
+#: ../../Zotlabs/Module/Connections.php:293
msgid "Network"
msgstr "Réseau"
-#: ../../Zotlabs/Module/Connections.php:274
+#: ../../Zotlabs/Module/Connections.php:296
msgid "Call"
msgstr "Appeler"
-#: ../../Zotlabs/Module/Connections.php:276
+#: ../../Zotlabs/Module/Connections.php:298
msgid "Status"
msgstr "État"
-#: ../../Zotlabs/Module/Connections.php:278
+#: ../../Zotlabs/Module/Connections.php:300
msgid "Connected"
msgstr "Ami depuis"
-#: ../../Zotlabs/Module/Connections.php:280
+#: ../../Zotlabs/Module/Connections.php:302
msgid "Approve connection"
msgstr "Valider le contact"
-#: ../../Zotlabs/Module/Connections.php:282
+#: ../../Zotlabs/Module/Connections.php:304
msgid "Ignore connection"
msgstr "Ignorer le contact"
-#: ../../Zotlabs/Module/Connections.php:283
-#: ../../Zotlabs/Module/Connedit.php:634
+#: ../../Zotlabs/Module/Connections.php:305
+#: ../../Zotlabs/Module/Connedit.php:630
msgid "Ignore"
msgstr "Ignorer"
-#: ../../Zotlabs/Module/Connections.php:284
+#: ../../Zotlabs/Module/Connections.php:306
msgid "Recent activity"
msgstr "Activité récente"
-#: ../../Zotlabs/Module/Connections.php:308 ../../Zotlabs/Lib/Apps.php:216
-#: ../../include/text.php:957 ../../include/nav.php:181
+#: ../../Zotlabs/Module/Connections.php:331 ../../Zotlabs/Lib/Apps.php:235
+#: ../../include/text.php:973
msgid "Connections"
msgstr "Contacts"
-#: ../../Zotlabs/Module/Connections.php:313
+#: ../../Zotlabs/Module/Connections.php:336
msgid "Search your connections"
msgstr "Chercher parmi vos contacts"
-#: ../../Zotlabs/Module/Connections.php:314
+#: ../../Zotlabs/Module/Connections.php:337
msgid "Connections search"
msgstr "Chercher des contacts"
-#: ../../Zotlabs/Module/Connections.php:315
-#: ../../Zotlabs/Module/Directory.php:391
-#: ../../Zotlabs/Module/Directory.php:396 ../../include/contact_widgets.php:23
+#: ../../Zotlabs/Module/Connections.php:338
+#: ../../Zotlabs/Module/Directory.php:401
+#: ../../Zotlabs/Module/Directory.php:406 ../../include/contact_widgets.php:23
msgid "Find"
msgstr "Trouver"
-#: ../../Zotlabs/Module/Viewsrc.php:46
+#: ../../Zotlabs/Module/Viewsrc.php:43
+msgid "item"
+msgstr "item"
+
+#: ../../Zotlabs/Module/Viewsrc.php:55
msgid "Source of Item"
msgstr "Source de l'élément"
-#: ../../Zotlabs/Module/Bookmarks.php:53
+#: ../../Zotlabs/Module/Bookmarks.php:56
msgid "Bookmark added"
msgstr "Favori ajouté"
-#: ../../Zotlabs/Module/Bookmarks.php:76
+#: ../../Zotlabs/Module/Bookmarks.php:79
msgid "My Bookmarks"
msgstr "Mes Favoris"
-#: ../../Zotlabs/Module/Bookmarks.php:87
+#: ../../Zotlabs/Module/Bookmarks.php:90
msgid "My Connections Bookmarks"
msgstr "Favoris de mes contacts"
@@ -4287,410 +4722,467 @@ msgstr "Album introuvable."
msgid "Delete Album"
msgstr "Supprimer l'album"
-#: ../../Zotlabs/Module/Photos.php:174 ../../Zotlabs/Module/Photos.php:1023
+#: ../../Zotlabs/Module/Photos.php:174 ../../Zotlabs/Module/Photos.php:1083
msgid "Delete Photo"
msgstr "Supprimer la photo"
-#: ../../Zotlabs/Module/Photos.php:501
+#: ../../Zotlabs/Module/Photos.php:551
msgid "No photos selected"
msgstr "Aucune photo selectionnée"
-#: ../../Zotlabs/Module/Photos.php:550
+#: ../../Zotlabs/Module/Photos.php:600
msgid "Access to this item is restricted."
msgstr "L'accès à l'élément est restreint."
-#: ../../Zotlabs/Module/Photos.php:591
+#: ../../Zotlabs/Module/Photos.php:646
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "Vous avez utilisé %1$.2f mégaoctets sur les %2$.2f autorisés pour le stockage des photos."
-#: ../../Zotlabs/Module/Photos.php:594
+#: ../../Zotlabs/Module/Photos.php:649
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "%1$.2f méga-octets utilisés pour le stockage des photos."
-#: ../../Zotlabs/Module/Photos.php:636
+#: ../../Zotlabs/Module/Photos.php:691
msgid "Upload Photos"
msgstr "Téléverser des photos"
-#: ../../Zotlabs/Module/Photos.php:640
+#: ../../Zotlabs/Module/Photos.php:695
msgid "Enter an album name"
msgstr "Entrer un nom d'album"
-#: ../../Zotlabs/Module/Photos.php:641
+#: ../../Zotlabs/Module/Photos.php:696
msgid "or select an existing album (doubleclick)"
msgstr "ou sélectionner un album existant (double-clic)"
-#: ../../Zotlabs/Module/Photos.php:642
+#: ../../Zotlabs/Module/Photos.php:697
msgid "Create a status post for this upload"
msgstr "Créer une publication de statut pour cet envoi"
-#: ../../Zotlabs/Module/Photos.php:643
-msgid "Caption (optional):"
-msgstr "Légende (facultative)"
-
-#: ../../Zotlabs/Module/Photos.php:644
-msgid "Description (optional):"
+#: ../../Zotlabs/Module/Photos.php:699
+msgid "Description (optional)"
msgstr "Description (facultative)"
-#: ../../Zotlabs/Module/Photos.php:725
+#: ../../Zotlabs/Module/Photos.php:785
msgid "Show Newest First"
msgstr "Les plus récent(e)s en premier"
-#: ../../Zotlabs/Module/Photos.php:727
+#: ../../Zotlabs/Module/Photos.php:787
msgid "Show Oldest First"
msgstr "Les moins récent(e)s en premier"
-#: ../../Zotlabs/Module/Photos.php:832
+#: ../../Zotlabs/Module/Photos.php:844 ../../Zotlabs/Module/Photos.php:1381
+msgid "Add Photos"
+msgstr "Ajouter des photos"
+
+#: ../../Zotlabs/Module/Photos.php:892
msgid "Permission denied. Access to this item may be restricted."
-msgstr "Permission refusée. L'accès à cet élément peut avoir été restreint."
+msgstr "Accès refusé. L'accès à cet élément peut avoir été restreint."
-#: ../../Zotlabs/Module/Photos.php:834
+#: ../../Zotlabs/Module/Photos.php:894
msgid "Photo not available"
msgstr "Photo non disponible"
-#: ../../Zotlabs/Module/Photos.php:892
+#: ../../Zotlabs/Module/Photos.php:952
msgid "Use as profile photo"
msgstr "Utiliser comme photo du profil"
-#: ../../Zotlabs/Module/Photos.php:893
+#: ../../Zotlabs/Module/Photos.php:953
msgid "Use as cover photo"
msgstr "Utilisez comme bannière"
-#: ../../Zotlabs/Module/Photos.php:900
+#: ../../Zotlabs/Module/Photos.php:960
msgid "Private Photo"
msgstr "Photo privée"
-#: ../../Zotlabs/Module/Photos.php:915
+#: ../../Zotlabs/Module/Photos.php:975
msgid "View Full Size"
msgstr "Voir en taille réelle"
-#: ../../Zotlabs/Module/Photos.php:997
+#: ../../Zotlabs/Module/Photos.php:1057
msgid "Edit photo"
msgstr "Modifier la photo"
-#: ../../Zotlabs/Module/Photos.php:999
+#: ../../Zotlabs/Module/Photos.php:1059
msgid "Rotate CW (right)"
msgstr "Rotation horaire (droite)"
-#: ../../Zotlabs/Module/Photos.php:1000
+#: ../../Zotlabs/Module/Photos.php:1060
msgid "Rotate CCW (left)"
msgstr "Rotation anti-horaire (gauche)"
-#: ../../Zotlabs/Module/Photos.php:1003
+#: ../../Zotlabs/Module/Photos.php:1063
msgid "Move photo to album"
msgstr "Déplacer la photo dans l'album"
-#: ../../Zotlabs/Module/Photos.php:1004
+#: ../../Zotlabs/Module/Photos.php:1064
msgid "Enter a new album name"
msgstr "Entrer un nouveau nom d'album"
-#: ../../Zotlabs/Module/Photos.php:1005
+#: ../../Zotlabs/Module/Photos.php:1065
msgid "or select an existing one (doubleclick)"
msgstr "ou en sélectionner un existant (double-clic)"
-#: ../../Zotlabs/Module/Photos.php:1008
-msgid "Caption"
-msgstr "Titre/légende"
-
-#: ../../Zotlabs/Module/Photos.php:1010
+#: ../../Zotlabs/Module/Photos.php:1070
msgid "Add a Tag"
msgstr "Ajouter une étiquette"
-#: ../../Zotlabs/Module/Photos.php:1018
+#: ../../Zotlabs/Module/Photos.php:1078
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Exemple&nbsp;: @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon"
-#: ../../Zotlabs/Module/Photos.php:1021
+#: ../../Zotlabs/Module/Photos.php:1081
msgid "Flag as adult in album view"
msgstr "Marquer comme \"adulte\" dans l'affichage de l'album"
-#: ../../Zotlabs/Module/Photos.php:1040 ../../Zotlabs/Lib/ThreadItem.php:269
+#: ../../Zotlabs/Module/Photos.php:1100 ../../Zotlabs/Lib/ThreadItem.php:281
msgid "I like this (toggle)"
msgstr "J'aime (oui/non)"
-#: ../../Zotlabs/Module/Photos.php:1041 ../../Zotlabs/Lib/ThreadItem.php:270
+#: ../../Zotlabs/Module/Photos.php:1101 ../../Zotlabs/Lib/ThreadItem.php:282
msgid "I don't like this (toggle)"
msgstr "Je n'aime pas (oui/non)"
-#: ../../Zotlabs/Module/Photos.php:1043 ../../Zotlabs/Lib/ThreadItem.php:412
-#: ../../include/conversation.php:739
+#: ../../Zotlabs/Module/Photos.php:1103 ../../Zotlabs/Lib/ThreadItem.php:427
+#: ../../include/conversation.php:785
msgid "Please wait"
msgstr "Merci de patienter"
-#: ../../Zotlabs/Module/Photos.php:1059 ../../Zotlabs/Module/Photos.php:1177
-#: ../../Zotlabs/Lib/ThreadItem.php:729
+#: ../../Zotlabs/Module/Photos.php:1119 ../../Zotlabs/Module/Photos.php:1237
+#: ../../Zotlabs/Lib/ThreadItem.php:749
msgid "This is you"
msgstr "C'est vous"
-#: ../../Zotlabs/Module/Photos.php:1061 ../../Zotlabs/Module/Photos.php:1179
-#: ../../Zotlabs/Lib/ThreadItem.php:731 ../../include/js_strings.php:6
+#: ../../Zotlabs/Module/Photos.php:1121 ../../Zotlabs/Module/Photos.php:1239
+#: ../../Zotlabs/Lib/ThreadItem.php:751 ../../include/js_strings.php:6
msgid "Comment"
msgstr "Commenter"
-#: ../../Zotlabs/Module/Photos.php:1077 ../../include/conversation.php:574
+#: ../../Zotlabs/Module/Photos.php:1137 ../../include/conversation.php:618
msgctxt "title"
msgid "Likes"
msgstr "Aime"
-#: ../../Zotlabs/Module/Photos.php:1077 ../../include/conversation.php:574
+#: ../../Zotlabs/Module/Photos.php:1137 ../../include/conversation.php:618
msgctxt "title"
msgid "Dislikes"
msgstr "N'aime pas"
-#: ../../Zotlabs/Module/Photos.php:1078 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
msgctxt "title"
msgid "Agree"
msgstr "D'accord"
-#: ../../Zotlabs/Module/Photos.php:1078 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
msgctxt "title"
msgid "Disagree"
msgstr "Pas d'accord"
-#: ../../Zotlabs/Module/Photos.php:1078 ../../include/conversation.php:575
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
msgctxt "title"
msgid "Abstain"
msgstr "Abstention"
-#: ../../Zotlabs/Module/Photos.php:1079 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
msgctxt "title"
msgid "Attending"
msgstr "Participations"
-#: ../../Zotlabs/Module/Photos.php:1079 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
msgctxt "title"
msgid "Not attending"
msgstr "Non-participations"
-#: ../../Zotlabs/Module/Photos.php:1079 ../../include/conversation.php:576
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
msgctxt "title"
msgid "Might attend"
msgstr "Participation possible"
-#: ../../Zotlabs/Module/Photos.php:1096 ../../Zotlabs/Module/Photos.php:1108
-#: ../../Zotlabs/Lib/ThreadItem.php:187 ../../Zotlabs/Lib/ThreadItem.php:199
+#: ../../Zotlabs/Module/Photos.php:1156 ../../Zotlabs/Module/Photos.php:1168
+#: ../../Zotlabs/Lib/ThreadItem.php:201 ../../Zotlabs/Lib/ThreadItem.php:213
msgid "View all"
msgstr "Voir tout"
-#: ../../Zotlabs/Module/Photos.php:1100 ../../Zotlabs/Lib/ThreadItem.php:191
-#: ../../include/conversation.php:1898 ../../include/channel.php:1266
-#: ../../include/taxonomy.php:403
+#: ../../Zotlabs/Module/Photos.php:1160 ../../Zotlabs/Lib/ThreadItem.php:205
+#: ../../include/conversation.php:1981 ../../include/channel.php:1539
+#: ../../include/taxonomy.php:601
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] "Aime"
msgstr[1] "Aime"
-#: ../../Zotlabs/Module/Photos.php:1105 ../../Zotlabs/Lib/ThreadItem.php:196
-#: ../../include/conversation.php:1901
+#: ../../Zotlabs/Module/Photos.php:1165 ../../Zotlabs/Lib/ThreadItem.php:210
+#: ../../include/conversation.php:1984
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
msgstr[0] "N'aime pas"
msgstr[1] "N'aime pas"
-#: ../../Zotlabs/Module/Photos.php:1205
+#: ../../Zotlabs/Module/Photos.php:1265
msgid "Photo Tools"
msgstr "Ouitls pour photos"
-#: ../../Zotlabs/Module/Photos.php:1214
+#: ../../Zotlabs/Module/Photos.php:1274
msgid "In This Photo:"
msgstr "Dans cette photo&nbsp;:"
-#: ../../Zotlabs/Module/Photos.php:1219
+#: ../../Zotlabs/Module/Photos.php:1279
msgid "Map"
msgstr "Carte"
-#: ../../Zotlabs/Module/Photos.php:1227 ../../Zotlabs/Lib/ThreadItem.php:401
+#: ../../Zotlabs/Module/Photos.php:1287 ../../Zotlabs/Lib/ThreadItem.php:415
msgctxt "noun"
msgid "Likes"
msgstr "Aime"
-#: ../../Zotlabs/Module/Photos.php:1228 ../../Zotlabs/Lib/ThreadItem.php:402
+#: ../../Zotlabs/Module/Photos.php:1288 ../../Zotlabs/Lib/ThreadItem.php:416
msgctxt "noun"
msgid "Dislikes"
msgstr "N'aime pas"
-#: ../../Zotlabs/Module/Photos.php:1233 ../../Zotlabs/Lib/ThreadItem.php:407
-#: ../../include/acl_selectors.php:220
+#: ../../Zotlabs/Module/Photos.php:1293 ../../Zotlabs/Lib/ThreadItem.php:421
+#: ../../include/acl_selectors.php:125
msgid "Close"
msgstr "Fermer"
-#: ../../Zotlabs/Module/Photos.php:1305 ../../Zotlabs/Module/Photos.php:1318
-#: ../../Zotlabs/Module/Photos.php:1319 ../../include/photos.php:528
+#: ../../Zotlabs/Module/Photos.php:1365 ../../Zotlabs/Module/Photos.php:1378
+#: ../../Zotlabs/Module/Photos.php:1379 ../../include/photos.php:663
msgid "Recent Photos"
msgstr "Photos récentes"
-#: ../../Zotlabs/Module/Wiki.php:30
+#: ../../Zotlabs/Module/Wiki.php:30 ../../addon/cart/cart.php:1135
msgid "Profile Unavailable."
msgstr "Profil non disponible."
-#: ../../Zotlabs/Module/Wiki.php:44 ../../addon/gitwiki/Mod_Gitwiki.php:42
+#: ../../Zotlabs/Module/Wiki.php:44 ../../Zotlabs/Module/Cloud.php:114
msgid "Not found"
msgstr "Non trouvé"
-#: ../../Zotlabs/Module/Wiki.php:68 ../../addon/gitwiki/Mod_Gitwiki.php:62
+#: ../../Zotlabs/Module/Wiki.php:68 ../../addon/cart/myshop.php:114
+#: ../../addon/cart/cart.php:1204 ../../addon/cart/manual_payments.php:58
msgid "Invalid channel"
msgstr "Canal invalide."
-#: ../../Zotlabs/Module/Wiki.php:160 ../../addon/gitwiki/Mod_Gitwiki.php:146
-#: ../../include/conversation.php:1845
+#: ../../Zotlabs/Module/Wiki.php:124
+msgid "Error retrieving wiki"
+msgstr "Erreur lors de la récupération du wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:131
+msgid "Error creating zip file export folder"
+msgstr "Erreur lors de la création du dossier d'exportation du fichier zip"
+
+#: ../../Zotlabs/Module/Wiki.php:182
+msgid "Error downloading wiki: "
+msgstr "Erreur lors du téléchargement du wiki:"
+
+#: ../../Zotlabs/Module/Wiki.php:197 ../../include/conversation.php:1928
+#: ../../include/nav.php:494
msgid "Wikis"
msgstr "Wikis"
-#: ../../Zotlabs/Module/Wiki.php:166 ../../addon/gitwiki/Mod_Gitwiki.php:152
+#: ../../Zotlabs/Module/Wiki.php:203
msgid "Download"
msgstr "Téléchargement"
-#: ../../Zotlabs/Module/Wiki.php:168 ../../Zotlabs/Module/Chat.php:254
-#: ../../Zotlabs/Module/Profiles.php:834 ../../Zotlabs/Module/Manage.php:143
-#: ../../addon/gitwiki/Mod_Gitwiki.php:154
+#: ../../Zotlabs/Module/Wiki.php:205 ../../Zotlabs/Module/Chat.php:256
+#: ../../Zotlabs/Module/Profiles.php:831 ../../Zotlabs/Module/Manage.php:145
msgid "Create New"
msgstr "Nouveau"
-#: ../../Zotlabs/Module/Wiki.php:170 ../../addon/gitwiki/Mod_Gitwiki.php:156
+#: ../../Zotlabs/Module/Wiki.php:207
msgid "Wiki name"
msgstr "Nom du wiki"
-#: ../../Zotlabs/Module/Wiki.php:171 ../../addon/gitwiki/Mod_Gitwiki.php:157
+#: ../../Zotlabs/Module/Wiki.php:208
msgid "Content type"
msgstr "Type de contenu"
-#: ../../Zotlabs/Module/Wiki.php:173 ../../Zotlabs/Storage/Browser.php:234
-#: ../../addon/gitwiki/Mod_Gitwiki.php:159
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:350
+#: ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../addon/mdpost/mdpost.php:40
+#: ../../include/text.php:1869
+msgid "Markdown"
+msgstr "Markdown"
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:350
+#: ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1867
+msgid "BBcode"
+msgstr "BBcode"
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1870
+msgid "Text"
+msgstr "Texte"
+
+#: ../../Zotlabs/Module/Wiki.php:210 ../../Zotlabs/Storage/Browser.php:284
msgid "Type"
msgstr "Type"
-#: ../../Zotlabs/Module/Wiki.php:180 ../../addon/gitwiki/Mod_Gitwiki.php:166
+#: ../../Zotlabs/Module/Wiki.php:211
+msgid "Any&nbsp;type"
+msgstr "N'importe quel type"
+
+#: ../../Zotlabs/Module/Wiki.php:218
+msgid "Lock content type"
+msgstr "Verrouiller le type de contenu"
+
+#: ../../Zotlabs/Module/Wiki.php:219
msgid "Create a status post for this wiki"
msgstr "Créer un statut de publication pour ce wiki"
-#: ../../Zotlabs/Module/Wiki.php:205 ../../addon/gitwiki/Mod_Gitwiki.php:185
+#: ../../Zotlabs/Module/Wiki.php:220
+msgid "Edit Wiki Name"
+msgstr "Modifier le nom du wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:262
msgid "Wiki not found"
msgstr "Wiki introuvable"
-#: ../../Zotlabs/Module/Wiki.php:229 ../../addon/gitwiki/Mod_Gitwiki.php:210
+#: ../../Zotlabs/Module/Wiki.php:286
msgid "Rename page"
msgstr "Renommer la page"
-#: ../../Zotlabs/Module/Wiki.php:233 ../../addon/gitwiki/Mod_Gitwiki.php:214
+#: ../../Zotlabs/Module/Wiki.php:307
msgid "Error retrieving page content"
msgstr "Erreur lors de la récupération du contenu de la page"
-#: ../../Zotlabs/Module/Wiki.php:239
+#: ../../Zotlabs/Module/Wiki.php:315 ../../Zotlabs/Module/Wiki.php:317
msgid "New page"
-msgstr ""
+msgstr "Nouvelle page"
-#: ../../Zotlabs/Module/Wiki.php:263 ../../addon/gitwiki/Mod_Gitwiki.php:242
+#: ../../Zotlabs/Module/Wiki.php:345
msgid "Revision Comparison"
msgstr "Comparaison des révisions"
-#: ../../Zotlabs/Module/Wiki.php:264 ../../addon/gitwiki/Mod_Gitwiki.php:243
+#: ../../Zotlabs/Module/Wiki.php:346
msgid "Revert"
msgstr "Revenir"
-#: ../../Zotlabs/Module/Wiki.php:268
+#: ../../Zotlabs/Module/Wiki.php:353
msgid "Short description of your changes (optional)"
msgstr "Description courte de vos modifications (optionnel)"
-#: ../../Zotlabs/Module/Wiki.php:275 ../../addon/gitwiki/Mod_Gitwiki.php:252
+#: ../../Zotlabs/Module/Wiki.php:362
msgid "Source"
msgstr "Source"
-#: ../../Zotlabs/Module/Wiki.php:283 ../../addon/gitwiki/Mod_Gitwiki.php:260
+#: ../../Zotlabs/Module/Wiki.php:372
msgid "New page name"
msgstr "Nouveau nom de la page"
-#: ../../Zotlabs/Module/Wiki.php:288 ../../addon/gitwiki/Mod_Gitwiki.php:265
-#: ../../include/conversation.php:1232
+#: ../../Zotlabs/Module/Wiki.php:377 ../../include/conversation.php:1282
msgid "Embed image from photo albums"
msgstr "Intégrer une image d'un album photo"
-#: ../../Zotlabs/Module/Wiki.php:289 ../../addon/gitwiki/Mod_Gitwiki.php:266
-#: ../../include/conversation.php:1326
+#: ../../Zotlabs/Module/Wiki.php:378 ../../include/conversation.php:1388
msgid "Embed an image from your albums"
msgstr "Intégrer une image de votre album photo"
-#: ../../Zotlabs/Module/Wiki.php:291 ../../addon/gitwiki/Mod_Gitwiki.php:268
-#: ../../include/conversation.php:1328 ../../include/conversation.php:1375
+#: ../../Zotlabs/Module/Wiki.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:465
+#: ../../Zotlabs/Module/Cover_photo.php:366
+#: ../../include/conversation.php:1390 ../../include/conversation.php:1437
msgid "OK"
msgstr "OK"
-#: ../../Zotlabs/Module/Wiki.php:292 ../../addon/gitwiki/Mod_Gitwiki.php:269
-#: ../../include/conversation.php:1268
+#: ../../Zotlabs/Module/Wiki.php:381
+#: ../../Zotlabs/Module/Profile_photo.php:466
+#: ../../Zotlabs/Module/Cover_photo.php:367
+#: ../../include/conversation.php:1320
msgid "Choose images to embed"
msgstr "Choisissez des images à intégrer"
-#: ../../Zotlabs/Module/Wiki.php:293 ../../addon/gitwiki/Mod_Gitwiki.php:270
-#: ../../include/conversation.php:1269
+#: ../../Zotlabs/Module/Wiki.php:382
+#: ../../Zotlabs/Module/Profile_photo.php:467
+#: ../../Zotlabs/Module/Cover_photo.php:368
+#: ../../include/conversation.php:1321
msgid "Choose an album"
msgstr "Choisir un album"
-#: ../../Zotlabs/Module/Wiki.php:294 ../../addon/gitwiki/Mod_Gitwiki.php:271
+#: ../../Zotlabs/Module/Wiki.php:383
+#: ../../Zotlabs/Module/Profile_photo.php:468
+#: ../../Zotlabs/Module/Cover_photo.php:369
msgid "Choose a different album"
msgstr "Choisissez un autre album"
-#: ../../Zotlabs/Module/Wiki.php:295 ../../addon/gitwiki/Mod_Gitwiki.php:272
-#: ../../include/conversation.php:1271
+#: ../../Zotlabs/Module/Wiki.php:384
+#: ../../Zotlabs/Module/Profile_photo.php:469
+#: ../../Zotlabs/Module/Cover_photo.php:370
+#: ../../include/conversation.php:1323
msgid "Error getting album list"
msgstr "Erreur venant de la liste de l'album"
-#: ../../Zotlabs/Module/Wiki.php:296 ../../addon/gitwiki/Mod_Gitwiki.php:273
-#: ../../include/conversation.php:1272
+#: ../../Zotlabs/Module/Wiki.php:385
+#: ../../Zotlabs/Module/Profile_photo.php:470
+#: ../../Zotlabs/Module/Cover_photo.php:371
+#: ../../include/conversation.php:1324
msgid "Error getting photo link"
msgstr "Erreur provenant du lien de la photo"
-#: ../../Zotlabs/Module/Wiki.php:297 ../../addon/gitwiki/Mod_Gitwiki.php:274
-#: ../../include/conversation.php:1273
+#: ../../Zotlabs/Module/Wiki.php:386
+#: ../../Zotlabs/Module/Profile_photo.php:471
+#: ../../Zotlabs/Module/Cover_photo.php:372
+#: ../../include/conversation.php:1325
msgid "Error getting album"
msgstr "Erreur venant de l'album"
-#: ../../Zotlabs/Module/Wiki.php:364 ../../addon/gitwiki/Mod_Gitwiki.php:337
+#: ../../Zotlabs/Module/Wiki.php:462
msgid "Error creating wiki. Invalid name."
msgstr "Erreur lors de la création du wiki. Nom invalide."
-#: ../../Zotlabs/Module/Wiki.php:371
+#: ../../Zotlabs/Module/Wiki.php:469
msgid "A wiki with this name already exists."
-msgstr ""
+msgstr "Ce nom de wiki est déjà pris"
-#: ../../Zotlabs/Module/Wiki.php:384 ../../addon/gitwiki/Mod_Gitwiki.php:348
+#: ../../Zotlabs/Module/Wiki.php:482
msgid "Wiki created, but error creating Home page."
msgstr "Le wiki a été créé, mais une erreur est survenue lors de la création de sa page d'accueil."
-#: ../../Zotlabs/Module/Wiki.php:391 ../../addon/gitwiki/Mod_Gitwiki.php:353
+#: ../../Zotlabs/Module/Wiki.php:489
msgid "Error creating wiki"
msgstr "Erreur lors de la création du wiki."
-#: ../../Zotlabs/Module/Wiki.php:403
+#: ../../Zotlabs/Module/Wiki.php:512
+msgid "Error updating wiki. Invalid name."
+msgstr "Erreur de mise à jour du wiki. Nom invalide."
+
+#: ../../Zotlabs/Module/Wiki.php:532
+msgid "Error updating wiki"
+msgstr "Erreur de mise à jour du wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:547
msgid "Wiki delete permission denied."
-msgstr "Permission de supprimer le wiki refusée."
+msgstr "Droit de supprimer le wiki refusé."
-#: ../../Zotlabs/Module/Wiki.php:413
+#: ../../Zotlabs/Module/Wiki.php:557
msgid "Error deleting wiki"
msgstr "Erreur durant la suppression du wiki"
-#: ../../Zotlabs/Module/Wiki.php:439 ../../addon/gitwiki/Mod_Gitwiki.php:400
+#: ../../Zotlabs/Module/Wiki.php:590
msgid "New page created"
msgstr "Nouvelle page créée"
-#: ../../Zotlabs/Module/Wiki.php:558
+#: ../../Zotlabs/Module/Wiki.php:711
msgid "Cannot delete Home"
msgstr "Impossible de supprimer la racine"
-#: ../../Zotlabs/Module/Wiki.php:622
+#: ../../Zotlabs/Module/Wiki.php:775
msgid "Current Revision"
msgstr "Version actuelle"
-#: ../../Zotlabs/Module/Wiki.php:622
+#: ../../Zotlabs/Module/Wiki.php:775
msgid "Selected Revision"
msgstr "Version sélectionnée"
-#: ../../Zotlabs/Module/Wiki.php:672
+#: ../../Zotlabs/Module/Wiki.php:825
msgid "You must be authenticated."
msgstr "Vous devez être connecté."
-#: ../../Zotlabs/Module/Chanview.php:134
+#: ../../Zotlabs/Module/Chanview.php:139
msgid "toggle full screen mode"
msgstr "Basculer en mode plein écran."
@@ -4698,146 +5190,162 @@ msgstr "Basculer en mode plein écran."
msgid "Layout updated."
msgstr "Mise en page mise à jour."
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:217
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:219
msgid "Feature disabled."
msgstr "Fonctionnalité désactivée"
-#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69
+#: ../../Zotlabs/Module/Pdledit.php:47 ../../Zotlabs/Module/Pdledit.php:90
msgid "Edit System Page Description"
msgstr "Modifier la description de la page du système"
-#: ../../Zotlabs/Module/Pdledit.php:64
+#: ../../Zotlabs/Module/Pdledit.php:68
+msgid "(modified)"
+msgstr "modifié)"
+
+#: ../../Zotlabs/Module/Pdledit.php:68 ../../Zotlabs/Module/Lostpass.php:133
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#: ../../Zotlabs/Module/Pdledit.php:85
msgid "Layout not found."
msgstr "Mise en page introuvable."
-#: ../../Zotlabs/Module/Pdledit.php:70
+#: ../../Zotlabs/Module/Pdledit.php:91
msgid "Module Name:"
msgstr "Nom du module&nbsp;:"
-#: ../../Zotlabs/Module/Pdledit.php:71
+#: ../../Zotlabs/Module/Pdledit.php:92
msgid "Layout Help"
msgstr "Aide à la mise en page"
-#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:235
-#: ../../include/conversation.php:1042
+#: ../../Zotlabs/Module/Pdledit.php:93
+msgid "Edit another layout"
+msgstr "Modifier une autre mise en page"
+
+#: ../../Zotlabs/Module/Pdledit.php:94
+msgid "System layout"
+msgstr "mise en page du système"
+
+#: ../../Zotlabs/Module/Poke.php:182 ../../Zotlabs/Lib/Apps.php:254
+#: ../../include/conversation.php:1092
msgid "Poke"
msgstr "Tapoter"
-#: ../../Zotlabs/Module/Poke.php:169
+#: ../../Zotlabs/Module/Poke.php:183
msgid "Poke somebody"
msgstr "Taquiner quelqu'un"
-#: ../../Zotlabs/Module/Poke.php:172
+#: ../../Zotlabs/Module/Poke.php:186
msgid "Poke/Prod"
msgstr "Tapoter/Encourager"
-#: ../../Zotlabs/Module/Poke.php:173
+#: ../../Zotlabs/Module/Poke.php:187
msgid "Poke, prod or do other things to somebody"
msgstr "Taquiner, pousser ou faire autre chose à quelqu'un"
-#: ../../Zotlabs/Module/Poke.php:180
+#: ../../Zotlabs/Module/Poke.php:194
msgid "Recipient"
msgstr "Destinataire"
-#: ../../Zotlabs/Module/Poke.php:181
+#: ../../Zotlabs/Module/Poke.php:195
msgid "Choose what you wish to do to recipient"
msgstr "Choisir ce que vous voulez faire au destinataire"
-#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
+#: ../../Zotlabs/Module/Poke.php:198 ../../Zotlabs/Module/Poke.php:199
msgid "Make this post private"
msgstr "Rendre cette publication privée"
-#: ../../Zotlabs/Module/Profile_photo.php:61
+#: ../../Zotlabs/Module/Profile_photo.php:66
#: ../../Zotlabs/Module/Cover_photo.php:56
msgid "Image uploaded but image cropping failed."
msgstr "L'image a été téléversée, mais le recadrage a échoué."
-#: ../../Zotlabs/Module/Profile_photo.php:115
-#: ../../Zotlabs/Module/Profile_photo.php:226
-#: ../../include/photo/photo_driver.php:646
+#: ../../Zotlabs/Module/Profile_photo.php:120
+#: ../../Zotlabs/Module/Profile_photo.php:248
+#: ../../include/photo/photo_driver.php:740
msgid "Profile Photos"
msgstr "Photos du profil"
-#: ../../Zotlabs/Module/Profile_photo.php:137
+#: ../../Zotlabs/Module/Profile_photo.php:142
#: ../../Zotlabs/Module/Cover_photo.php:159
msgid "Image resize failed."
msgstr "Le redimensionnement de l'image a échoué."
-#: ../../Zotlabs/Module/Profile_photo.php:196
+#: ../../Zotlabs/Module/Profile_photo.php:218
#: ../../addon/openclipatar/openclipatar.php:298
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr "Shift-rechargez votre page, ou videz le cache du navigateur si la photo ne s'affiche pas immédiatement."
-#: ../../Zotlabs/Module/Profile_photo.php:203
-#: ../../Zotlabs/Module/Cover_photo.php:173 ../../include/photos.php:149
+#: ../../Zotlabs/Module/Profile_photo.php:225
+#: ../../Zotlabs/Module/Cover_photo.php:173 ../../include/photos.php:195
msgid "Unable to process image"
msgstr "Impossible de traiter l'image"
-#: ../../Zotlabs/Module/Profile_photo.php:238
+#: ../../Zotlabs/Module/Profile_photo.php:260
#: ../../Zotlabs/Module/Cover_photo.php:197
msgid "Image upload failed."
msgstr "Le téléversement de l'image a échoué."
-#: ../../Zotlabs/Module/Profile_photo.php:257
+#: ../../Zotlabs/Module/Profile_photo.php:279
#: ../../Zotlabs/Module/Cover_photo.php:214
msgid "Unable to process image."
msgstr "Impossible de traîter l'image."
-#: ../../Zotlabs/Module/Profile_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:365
+#: ../../Zotlabs/Module/Profile_photo.php:343
+#: ../../Zotlabs/Module/Profile_photo.php:390
#: ../../Zotlabs/Module/Cover_photo.php:307
#: ../../Zotlabs/Module/Cover_photo.php:322
msgid "Photo not available."
msgstr "Photo inaccessible."
-#: ../../Zotlabs/Module/Profile_photo.php:420
+#: ../../Zotlabs/Module/Profile_photo.php:455
#: ../../Zotlabs/Module/Cover_photo.php:358
msgid "Upload File:"
msgstr "Téléverser fichier&nbsp;:"
-#: ../../Zotlabs/Module/Profile_photo.php:421
+#: ../../Zotlabs/Module/Profile_photo.php:456
#: ../../Zotlabs/Module/Cover_photo.php:359
msgid "Select a profile:"
msgstr "Choisir un profil&nbsp;:"
-#: ../../Zotlabs/Module/Profile_photo.php:422
+#: ../../Zotlabs/Module/Profile_photo.php:457
msgid "Use Photo for Profile"
msgstr "Utiliser la photo pour le profil"
-#: ../../Zotlabs/Module/Profile_photo.php:422
-msgid "Upload Profile Photo"
-msgstr "Téléverser une photo de profil"
+#: ../../Zotlabs/Module/Profile_photo.php:457
+msgid "Change Profile Photo"
+msgstr "Changer la photo du profil"
-#: ../../Zotlabs/Module/Profile_photo.php:423
-#: ../../addon/openclipatar/openclipatar.php:182
-#: ../../addon/openclipatar/openclipatar.php:194
+#: ../../Zotlabs/Module/Profile_photo.php:458
msgid "Use"
msgstr "Utiliser"
-#: ../../Zotlabs/Module/Profile_photo.php:429
-#: ../../Zotlabs/Module/Cover_photo.php:365
-msgid "skip this step"
-msgstr "passer cette étape"
+#: ../../Zotlabs/Module/Profile_photo.php:462
+#: ../../Zotlabs/Module/Profile_photo.php:463
+#: ../../Zotlabs/Module/Cover_photo.php:363
+#: ../../Zotlabs/Module/Cover_photo.php:364
+msgid "Use a photo from your albums"
+msgstr "Utiliser une photo de vos albums"
-#: ../../Zotlabs/Module/Profile_photo.php:429
-#: ../../Zotlabs/Module/Cover_photo.php:365
-msgid "select a photo from your photo albums"
-msgstr "choisir une photo dans vos albums"
+#: ../../Zotlabs/Module/Profile_photo.php:473
+#: ../../Zotlabs/Module/Cover_photo.php:375
+msgid "Select existing photo"
+msgstr "Sélectionner une photo existante"
-#: ../../Zotlabs/Module/Profile_photo.php:448
-#: ../../Zotlabs/Module/Cover_photo.php:381
+#: ../../Zotlabs/Module/Profile_photo.php:492
+#: ../../Zotlabs/Module/Cover_photo.php:392
msgid "Crop Image"
msgstr "Recadrer l'image"
-#: ../../Zotlabs/Module/Profile_photo.php:449
-#: ../../Zotlabs/Module/Cover_photo.php:382
+#: ../../Zotlabs/Module/Profile_photo.php:493
+#: ../../Zotlabs/Module/Cover_photo.php:393
msgid "Please adjust the image cropping for optimum viewing."
msgstr "Merci d'ajuster le cadre pour une visualisation optimale."
-#: ../../Zotlabs/Module/Profile_photo.php:451
-#: ../../Zotlabs/Module/Cover_photo.php:384
+#: ../../Zotlabs/Module/Profile_photo.php:495
+#: ../../Zotlabs/Module/Cover_photo.php:395
msgid "Done Editing"
msgstr "J'ai terminé"
@@ -4849,68 +5357,81 @@ msgstr "Absent"
msgid "Online"
msgstr "En ligne"
-#: ../../Zotlabs/Module/Item.php:184
+#: ../../Zotlabs/Module/Item.php:194
msgid "Unable to locate original post."
msgstr "Impossible de localiser la publication initiale."
-#: ../../Zotlabs/Module/Item.php:450
+#: ../../Zotlabs/Module/Item.php:477
msgid "Empty post discarded."
msgstr "Publication vide annulée."
-#: ../../Zotlabs/Module/Item.php:824
+#: ../../Zotlabs/Module/Item.php:874
msgid "Duplicate post suppressed."
msgstr "Publication en doublon supprimée."
-#: ../../Zotlabs/Module/Item.php:954
+#: ../../Zotlabs/Module/Item.php:1019
msgid "System error. Post not saved."
msgstr "Erreur système. Publication non sauvegardée."
-#: ../../Zotlabs/Module/Item.php:1084
+#: ../../Zotlabs/Module/Item.php:1055
+msgid "Your comment is awaiting approval."
+msgstr "Votre commentaire est en attente de validation."
+
+#: ../../Zotlabs/Module/Item.php:1160
msgid "Unable to obtain post information from database."
msgstr "Impossible d'obtenir les informations de publication depuis la base de données."
-#: ../../Zotlabs/Module/Item.php:1091
+#: ../../Zotlabs/Module/Item.php:1189
#, php-format
msgid "You have reached your limit of %1$.0f top level posts."
msgstr "Vous avez atteint votre limite de %1$.0f contributions \"racines\"."
-#: ../../Zotlabs/Module/Item.php:1098
+#: ../../Zotlabs/Module/Item.php:1196
#, php-format
msgid "You have reached your limit of %1$.0f webpages."
msgstr "Vous avez atteint votre limite de %1$.0f pages web."
-#: ../../Zotlabs/Module/Ping.php:254
+#: ../../Zotlabs/Module/Ping.php:330
msgid "sent you a private message"
msgstr "vous a envoyé un message privé"
-#: ../../Zotlabs/Module/Ping.php:302
+#: ../../Zotlabs/Module/Ping.php:383
msgid "added your channel"
msgstr "a ajouté votre canal"
-#: ../../Zotlabs/Module/Ping.php:312
+#: ../../Zotlabs/Module/Ping.php:407
+msgid "requires approval"
+msgstr "nécessite une approbation"
+
+#: ../../Zotlabs/Module/Ping.php:417
msgid "g A l F d"
msgstr "g A l F d"
-#: ../../Zotlabs/Module/Ping.php:330
+#: ../../Zotlabs/Module/Ping.php:435
msgid "[today]"
msgstr "[aujourd'hui]"
-#: ../../Zotlabs/Module/Ping.php:339
+#: ../../Zotlabs/Module/Ping.php:444
msgid "posted an event"
msgstr "a publié un événement"
-#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
+#: ../../Zotlabs/Module/Ping.php:477
+msgid "shared a file with you"
+msgstr "a partagé un fichier avec vous"
+
+#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
msgid "Invalid item."
msgstr "Élément invalide."
-#: ../../Zotlabs/Module/Page.php:94 ../../Zotlabs/Module/Block.php:79
-#: ../../Zotlabs/Module/Display.php:122
-#: ../../Zotlabs/Lib/NativeWikiPage.php:489 ../../Zotlabs/Web/Router.php:146
-#: ../../include/help.php:68
+#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Block.php:77
+#: ../../Zotlabs/Module/Display.php:141 ../../Zotlabs/Module/Display.php:158
+#: ../../Zotlabs/Module/Display.php:175
+#: ../../Zotlabs/Lib/NativeWikiPage.php:519 ../../Zotlabs/Web/Router.php:167
+#: ../../include/help.php:81
msgid "Page not found."
msgstr "Page introuvable."
-#: ../../Zotlabs/Module/Page.php:131
+#: ../../Zotlabs/Module/Page.php:173
msgid ""
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
@@ -4920,7 +5441,7 @@ msgid ""
"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-#: ../../Zotlabs/Module/Connedit.php:79
+#: ../../Zotlabs/Module/Connedit.php:79 ../../Zotlabs/Module/Defperms.php:59
msgid "Could not access contact record."
msgstr "Impossible d'accéder aux détails du contact."
@@ -4936,452 +5457,385 @@ msgstr "Contact mis à jour."
msgid "Failed to update connection record."
msgstr "Impossible de mettre à jour les détails du contact."
-#: ../../Zotlabs/Module/Connedit.php:298
+#: ../../Zotlabs/Module/Connedit.php:302
msgid "is now connected to"
msgstr "est maintenant connecté avec"
-#: ../../Zotlabs/Module/Connedit.php:431
+#: ../../Zotlabs/Module/Connedit.php:427
msgid "Could not access address book record."
msgstr "Impossible d'accéder aux détails du carnet d'adresses."
-#: ../../Zotlabs/Module/Connedit.php:479
+#: ../../Zotlabs/Module/Connedit.php:475
msgid "Refresh failed - channel is currently unavailable."
msgstr "Actualisation impossible - le canal est indisponible."
-#: ../../Zotlabs/Module/Connedit.php:494 ../../Zotlabs/Module/Connedit.php:503
-#: ../../Zotlabs/Module/Connedit.php:512 ../../Zotlabs/Module/Connedit.php:521
-#: ../../Zotlabs/Module/Connedit.php:534
+#: ../../Zotlabs/Module/Connedit.php:490 ../../Zotlabs/Module/Connedit.php:499
+#: ../../Zotlabs/Module/Connedit.php:508 ../../Zotlabs/Module/Connedit.php:517
+#: ../../Zotlabs/Module/Connedit.php:530
msgid "Unable to set address book parameters."
msgstr "Impossible de régler les paramètres du carnet d'adresses."
-#: ../../Zotlabs/Module/Connedit.php:558
+#: ../../Zotlabs/Module/Connedit.php:554
msgid "Connection has been removed."
msgstr "Le contact a été supprimé."
-#: ../../Zotlabs/Module/Connedit.php:598 ../../Zotlabs/Lib/Apps.php:228
+#: ../../Zotlabs/Module/Connedit.php:594 ../../Zotlabs/Lib/Apps.php:247
#: ../../addon/openclipatar/openclipatar.php:57
-#: ../../include/conversation.php:982 ../../include/nav.php:102
+#: ../../include/conversation.php:1032 ../../include/nav.php:114
msgid "View Profile"
msgstr "Voir mon profil"
-#: ../../Zotlabs/Module/Connedit.php:601
+#: ../../Zotlabs/Module/Connedit.php:597
#, php-format
msgid "View %s's profile"
msgstr "Voir le profil de %s"
-#: ../../Zotlabs/Module/Connedit.php:605
+#: ../../Zotlabs/Module/Connedit.php:601
msgid "Refresh Permissions"
-msgstr "Actualiser les autorisations"
+msgstr "Actualiser les droits d'accès"
-#: ../../Zotlabs/Module/Connedit.php:608
+#: ../../Zotlabs/Module/Connedit.php:604
msgid "Fetch updated permissions"
msgstr "Récupérer les autorisations les plus récentes"
-#: ../../Zotlabs/Module/Connedit.php:612
+#: ../../Zotlabs/Module/Connedit.php:608
msgid "Refresh Photo"
-msgstr ""
+msgstr "Actualiser la photo"
-#: ../../Zotlabs/Module/Connedit.php:615
+#: ../../Zotlabs/Module/Connedit.php:611
msgid "Fetch updated photo"
-msgstr ""
+msgstr "Récupérer la photo mise à jour"
-#: ../../Zotlabs/Module/Connedit.php:619
+#: ../../Zotlabs/Module/Connedit.php:615 ../../include/conversation.php:1042
msgid "Recent Activity"
msgstr "Activité récente"
-#: ../../Zotlabs/Module/Connedit.php:622
+#: ../../Zotlabs/Module/Connedit.php:618
msgid "View recent posts and comments"
msgstr "Voir les publications et commentaires récents"
-#: ../../Zotlabs/Module/Connedit.php:629
+#: ../../Zotlabs/Module/Connedit.php:625
msgid "Block (or Unblock) all communications with this connection"
msgstr "Bloquer ou débloquer toute communication avec ce contact"
-#: ../../Zotlabs/Module/Connedit.php:630
+#: ../../Zotlabs/Module/Connedit.php:626
msgid "This connection is blocked!"
msgstr "Ce contact est bloqué&nbsp;!"
-#: ../../Zotlabs/Module/Connedit.php:634
+#: ../../Zotlabs/Module/Connedit.php:630
msgid "Unignore"
msgstr "Ne plus ignorer"
-#: ../../Zotlabs/Module/Connedit.php:637
+#: ../../Zotlabs/Module/Connedit.php:633
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignorer ou ne plus ignorer toute communication venant de ce contact"
-#: ../../Zotlabs/Module/Connedit.php:638
+#: ../../Zotlabs/Module/Connedit.php:634
msgid "This connection is ignored!"
msgstr "Ce contact est ignoré&nbsp;!"
-#: ../../Zotlabs/Module/Connedit.php:642
+#: ../../Zotlabs/Module/Connedit.php:638
msgid "Unarchive"
msgstr "Désarchiver"
-#: ../../Zotlabs/Module/Connedit.php:642
+#: ../../Zotlabs/Module/Connedit.php:638
msgid "Archive"
msgstr "Archiver"
-#: ../../Zotlabs/Module/Connedit.php:645
+#: ../../Zotlabs/Module/Connedit.php:641
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archiver ou désarchiver ce contact - le marquer comme inactif mais conserver le contenu"
-#: ../../Zotlabs/Module/Connedit.php:646
+#: ../../Zotlabs/Module/Connedit.php:642
msgid "This connection is archived!"
msgstr "Ce contact est archivé&nbsp;!"
-#: ../../Zotlabs/Module/Connedit.php:650
+#: ../../Zotlabs/Module/Connedit.php:646
msgid "Unhide"
msgstr "Ne plus cacher"
-#: ../../Zotlabs/Module/Connedit.php:650
+#: ../../Zotlabs/Module/Connedit.php:646
msgid "Hide"
msgstr "Cacher"
-#: ../../Zotlabs/Module/Connedit.php:653
+#: ../../Zotlabs/Module/Connedit.php:649
msgid "Hide or Unhide this connection from your other connections"
msgstr "Cacher ou ne plus cacher ce contact vis-à-vis de vos autres contacts"
-#: ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Connedit.php:650
msgid "This connection is hidden!"
msgstr "Ce contact est caché&nbsp;!"
-#: ../../Zotlabs/Module/Connedit.php:661
+#: ../../Zotlabs/Module/Connedit.php:657
msgid "Delete this connection"
msgstr "Supprimer ce contact"
-#: ../../Zotlabs/Module/Connedit.php:669
+#: ../../Zotlabs/Module/Connedit.php:665
msgid "Fetch Vcard"
-msgstr ""
+msgstr "Récupérer la Vcard"
-#: ../../Zotlabs/Module/Connedit.php:672
+#: ../../Zotlabs/Module/Connedit.php:668
msgid "Fetch electronic calling card for this connection"
-msgstr ""
+msgstr "Récupérer la carte de visite électronique de ce contact"
-#: ../../Zotlabs/Module/Connedit.php:683
+#: ../../Zotlabs/Module/Connedit.php:679
msgid "Open Individual Permissions section by default"
-msgstr "Ouvrir par défaut la section des autorisations individuelles"
+msgstr "Ouvrir par défaut la section des droits d'accès individuels"
-#: ../../Zotlabs/Module/Connedit.php:706
+#: ../../Zotlabs/Module/Connedit.php:702
msgid "Affinity"
msgstr "Affinité"
-#: ../../Zotlabs/Module/Connedit.php:709
+#: ../../Zotlabs/Module/Connedit.php:705
msgid "Open Set Affinity section by default"
msgstr "Ouvrir par défaut la section Définir le degré d'affinité"
-#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:26
+#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:22
msgid "Me"
msgstr "Moi"
-#: ../../Zotlabs/Module/Connedit.php:714 ../../Zotlabs/Widget/Affinity.php:27
+#: ../../Zotlabs/Module/Connedit.php:710 ../../Zotlabs/Widget/Affinity.php:23
msgid "Family"
msgstr "Famille"
-#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:29
+#: ../../Zotlabs/Module/Connedit.php:712 ../../Zotlabs/Widget/Affinity.php:25
msgid "Acquaintances"
msgstr "Connaissances"
-#: ../../Zotlabs/Module/Connedit.php:743
+#: ../../Zotlabs/Module/Connedit.php:739
msgid "Filter"
msgstr "Filtrer"
-#: ../../Zotlabs/Module/Connedit.php:746
+#: ../../Zotlabs/Module/Connedit.php:742
msgid "Open Custom Filter section by default"
msgstr "Ouvrir par défaut la section Filtre personnalisé"
-#: ../../Zotlabs/Module/Connedit.php:783
+#: ../../Zotlabs/Module/Connedit.php:779
msgid "Approve this connection"
-msgstr "Autoriser ce contact"
+msgstr "Valider ce contact"
-#: ../../Zotlabs/Module/Connedit.php:783
+#: ../../Zotlabs/Module/Connedit.php:779
msgid "Accept connection to allow communication"
msgstr "Accepter le contact pour permettre la communication"
-#: ../../Zotlabs/Module/Connedit.php:788
+#: ../../Zotlabs/Module/Connedit.php:784
msgid "Set Affinity"
msgstr "Définir le degré d'affinité"
-#: ../../Zotlabs/Module/Connedit.php:791
+#: ../../Zotlabs/Module/Connedit.php:787
msgid "Set Profile"
msgstr "Définir le profil"
-#: ../../Zotlabs/Module/Connedit.php:794
+#: ../../Zotlabs/Module/Connedit.php:790
msgid "Set Affinity & Profile"
msgstr "Définir le degré d'affinité et le profil"
-#: ../../Zotlabs/Module/Connedit.php:852
-msgid "none"
-msgstr "Aucun"
+#: ../../Zotlabs/Module/Connedit.php:838
+msgid "This connection is unreachable from this location."
+msgstr "Ce contact est injoignable à partir de ce serveur."
+
+#: ../../Zotlabs/Module/Connedit.php:839
+msgid "This connection may be unreachable from other channel locations."
+msgstr "Ce contact peut être injoignable à partir d'autres serveurs hébergeant ce canal."
+
+#: ../../Zotlabs/Module/Connedit.php:841
+msgid "Location independence is not supported by their network."
+msgstr "Leur plate-forme ne gère pas la localisation multiple des canaux/contacts."
-#: ../../Zotlabs/Module/Connedit.php:855
-#: ../../Zotlabs/Widget/Settings_menu.php:107
+#: ../../Zotlabs/Module/Connedit.php:847
+msgid ""
+"This connection is unreachable from this location. Location independence is "
+"not supported by their network."
+msgstr "Ce contact est injoignable à partir de cette adresse. Sa plate-forme ne gère pas la localisation multiple des canaux/contacts."
+
+#: ../../Zotlabs/Module/Connedit.php:850 ../../Zotlabs/Module/Defperms.php:238
+#: ../../Zotlabs/Widget/Settings_menu.php:117
msgid "Connection Default Permissions"
-msgstr "Autorisations par défaut des contacts"
+msgstr "Droits d'accès par défaut des contacts"
-#: ../../Zotlabs/Module/Connedit.php:855 ../../include/items.php:3942
+#: ../../Zotlabs/Module/Connedit.php:850 ../../include/items.php:4214
#, php-format
msgid "Connection: %s"
msgstr "Contact&nbsp;: %s"
-#: ../../Zotlabs/Module/Connedit.php:856
+#: ../../Zotlabs/Module/Connedit.php:851 ../../Zotlabs/Module/Defperms.php:239
msgid "Apply these permissions automatically"
-msgstr "Appliquer ces permissions automatiquement"
+msgstr "Appliquer ces droits d'accès automatiquement"
-#: ../../Zotlabs/Module/Connedit.php:856
+#: ../../Zotlabs/Module/Connedit.php:851
msgid "Connection requests will be approved without your interaction"
-msgstr "Les demandes de contact seront approuvées automatiquement"
+msgstr "Les demandes de contact seront validées automatiquement"
-#: ../../Zotlabs/Module/Connedit.php:857
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
msgid "Permission role"
msgstr "Rôle d'accès"
-#: ../../Zotlabs/Module/Connedit.php:858
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
+#: ../../Zotlabs/Widget/Notifications.php:151 ../../include/nav.php:284
+msgid "Loading"
+msgstr "Chargement"
+
+#: ../../Zotlabs/Module/Connedit.php:853 ../../Zotlabs/Module/Defperms.php:241
msgid "Add permission role"
msgstr "Ajouter un rôle d'accès"
-#: ../../Zotlabs/Module/Connedit.php:864
+#: ../../Zotlabs/Module/Connedit.php:860
msgid "This connection's primary address is"
msgstr "L'adresse principale de ce contact est"
-#: ../../Zotlabs/Module/Connedit.php:865
+#: ../../Zotlabs/Module/Connedit.php:861
msgid "Available locations:"
msgstr "Emplacements disponibles&nbsp;:"
-#: ../../Zotlabs/Module/Connedit.php:869
+#: ../../Zotlabs/Module/Connedit.php:866 ../../Zotlabs/Module/Defperms.php:245
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
-msgstr "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts."
+msgstr "Les droits d'accès indiqués sur cette page seront appliqués à tous vos nouveaux contacts."
-#: ../../Zotlabs/Module/Connedit.php:870
+#: ../../Zotlabs/Module/Connedit.php:867
msgid "Connection Tools"
msgstr "Actions du contact"
-#: ../../Zotlabs/Module/Connedit.php:872
+#: ../../Zotlabs/Module/Connedit.php:869
msgid "Slide to adjust your degree of friendship"
msgstr "Faites glisser pour ajuster votre proximité avec le contact"
-#: ../../Zotlabs/Module/Connedit.php:873 ../../Zotlabs/Module/Rate.php:155
+#: ../../Zotlabs/Module/Connedit.php:870 ../../Zotlabs/Module/Rate.php:155
#: ../../include/js_strings.php:20
msgid "Rating"
msgstr "Evaluation"
-#: ../../Zotlabs/Module/Connedit.php:874
+#: ../../Zotlabs/Module/Connedit.php:871
msgid "Slide to adjust your rating"
msgstr "Faîtes glisser pour ajuster votre note"
-#: ../../Zotlabs/Module/Connedit.php:875 ../../Zotlabs/Module/Connedit.php:880
+#: ../../Zotlabs/Module/Connedit.php:872 ../../Zotlabs/Module/Connedit.php:877
msgid "Optionally explain your rating"
msgstr "Explication facultative de votre évaluation"
-#: ../../Zotlabs/Module/Connedit.php:877
+#: ../../Zotlabs/Module/Connedit.php:874
msgid "Custom Filter"
msgstr "Filtre personnalisé"
-#: ../../Zotlabs/Module/Connedit.php:878
+#: ../../Zotlabs/Module/Connedit.php:875
msgid "Only import posts with this text"
msgstr "N'importer que les publications comprenant ce texte"
-#: ../../Zotlabs/Module/Connedit.php:878 ../../Zotlabs/Module/Connedit.php:879
+#: ../../Zotlabs/Module/Connedit.php:875 ../../Zotlabs/Module/Connedit.php:876
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "un mot par ligne ou #étiquettes ou /motif/ ou lang=xx, laisser vide pour importer toutes les publications"
-#: ../../Zotlabs/Module/Connedit.php:879
+#: ../../Zotlabs/Module/Connedit.php:876
msgid "Do not import posts with this text"
msgstr "Ne pas importer les publications comprenant ce texte"
-#: ../../Zotlabs/Module/Connedit.php:881
+#: ../../Zotlabs/Module/Connedit.php:878
msgid "This information is public!"
msgstr "Cette information est publique&nbsp;!"
-#: ../../Zotlabs/Module/Connedit.php:886
+#: ../../Zotlabs/Module/Connedit.php:883
msgid "Connection Pending Approval"
msgstr "Contact en attente d'approbation"
-#: ../../Zotlabs/Module/Connedit.php:891
+#: ../../Zotlabs/Module/Connedit.php:888
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée."
-#: ../../Zotlabs/Module/Connedit.php:898
+#: ../../Zotlabs/Module/Connedit.php:895
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
"priority than individual settings. You can change those settings here but "
"they wont have any impact unless the inherited setting changes."
-msgstr "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."
+msgstr "Certains droits d'accès peuvent être hérités de vos <a href=\"settings\"><strong>paramètres de confidentialité</strong></a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces droits d'accès ici mais cela n'aura aucun effet à moins de changer les paramètres hérités."
-#: ../../Zotlabs/Module/Connedit.php:899
+#: ../../Zotlabs/Module/Connedit.php:896
msgid "Last update:"
msgstr "Dernière mise à jour&nbsp;:"
-#: ../../Zotlabs/Module/Connedit.php:908
+#: ../../Zotlabs/Module/Connedit.php:904
msgid "Details"
msgstr "Détails"
-#: ../../Zotlabs/Module/Connedit.php:911 ../../addon/cdav/Mod_Cdav.php:1137
-msgid "Organisation"
-msgstr "Organisation"
-
-#: ../../Zotlabs/Module/Connedit.php:912 ../../addon/cdav/Mod_Cdav.php:1138
-#: ../../include/page_widgets.php:46
-msgid "Title"
-msgstr "Titre"
-
-#: ../../Zotlabs/Module/Connedit.php:913 ../../Zotlabs/Module/Profiles.php:789
-#: ../../addon/cdav/Mod_Cdav.php:1139
-msgid "Phone"
-msgstr "Téléphone"
-
-#: ../../Zotlabs/Module/Connedit.php:915 ../../Zotlabs/Module/Profiles.php:791
-#: ../../addon/cdav/Mod_Cdav.php:1141
-msgid "Instant messenger"
-msgstr "Instant messenger"
-
-#: ../../Zotlabs/Module/Connedit.php:916 ../../Zotlabs/Module/Profiles.php:792
-#: ../../addon/cdav/Mod_Cdav.php:1142
-msgid "Website"
-msgstr "Site web"
-
-#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:794
-#: ../../addon/cdav/Mod_Cdav.php:1144
-msgid "Note"
-msgstr "Note"
-
-#: ../../Zotlabs/Module/Connedit.php:919 ../../Zotlabs/Module/Profiles.php:795
-#: ../../addon/cdav/Mod_Cdav.php:1145 ../../addon/cdav/cdav.php:270
-#: ../../include/connections.php:668
-msgid "Mobile"
-msgstr "Mobile"
-
-#: ../../Zotlabs/Module/Connedit.php:920 ../../Zotlabs/Module/Profiles.php:796
-#: ../../addon/cdav/Mod_Cdav.php:1146 ../../addon/cdav/cdav.php:271
-#: ../../include/connections.php:669
-msgid "Home"
-msgstr "Mon canal"
-
-#: ../../Zotlabs/Module/Connedit.php:921 ../../Zotlabs/Module/Profiles.php:797
-#: ../../addon/cdav/Mod_Cdav.php:1147 ../../addon/cdav/cdav.php:274
-#: ../../include/connections.php:672
-msgid "Work"
-msgstr "Travail"
-
-#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Profiles.php:799
-#: ../../addon/cdav/Mod_Cdav.php:1149
-#: ../../addon/jappixmini/jappixmini.php:368
-msgid "Add Contact"
-msgstr "Ajouter un contact"
-
-#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Profiles.php:800
-#: ../../addon/cdav/Mod_Cdav.php:1150
-msgid "Add Field"
-msgstr "Ajouter un champ"
-
-#: ../../Zotlabs/Module/Connedit.php:929 ../../addon/cdav/Mod_Cdav.php:1155
-msgid "P.O. Box"
-msgstr "P.O. Box"
-
-#: ../../Zotlabs/Module/Connedit.php:930 ../../addon/cdav/Mod_Cdav.php:1156
-msgid "Additional"
-msgstr "Information complémentaires"
-
-#: ../../Zotlabs/Module/Connedit.php:931 ../../addon/cdav/Mod_Cdav.php:1157
-msgid "Street"
-msgstr "Rue"
-
-#: ../../Zotlabs/Module/Connedit.php:932 ../../addon/cdav/Mod_Cdav.php:1158
-msgid "Locality"
-msgstr "Localité"
-
-#: ../../Zotlabs/Module/Connedit.php:933 ../../addon/cdav/Mod_Cdav.php:1159
-msgid "Region"
-msgstr "Région"
-
-#: ../../Zotlabs/Module/Connedit.php:934 ../../addon/cdav/Mod_Cdav.php:1160
-msgid "ZIP Code"
-msgstr "ZIP code"
-
-#: ../../Zotlabs/Module/Connedit.php:935 ../../Zotlabs/Module/Profiles.php:760
-#: ../../addon/cdav/Mod_Cdav.php:1161
-msgid "Country"
-msgstr "Pays"
-
-#: ../../Zotlabs/Module/Chat.php:179
+#: ../../Zotlabs/Module/Chat.php:181
msgid "Room not found"
msgstr "Salon introuvable"
-#: ../../Zotlabs/Module/Chat.php:195
+#: ../../Zotlabs/Module/Chat.php:197
msgid "Leave Room"
msgstr "Quitter le salon"
-#: ../../Zotlabs/Module/Chat.php:196
+#: ../../Zotlabs/Module/Chat.php:198
msgid "Delete Room"
msgstr "Supprimer le salon"
-#: ../../Zotlabs/Module/Chat.php:197
+#: ../../Zotlabs/Module/Chat.php:199
msgid "I am away right now"
msgstr "Je suis absent en ce moment"
-#: ../../Zotlabs/Module/Chat.php:198
+#: ../../Zotlabs/Module/Chat.php:200
msgid "I am online"
msgstr "Je suis en ligne"
-#: ../../Zotlabs/Module/Chat.php:200
+#: ../../Zotlabs/Module/Chat.php:202
msgid "Bookmark this room"
msgstr "Marquer ce salon comme favori"
-#: ../../Zotlabs/Module/Chat.php:203 ../../Zotlabs/Module/Mail.php:240
-#: ../../Zotlabs/Module/Mail.php:361 ../../include/conversation.php:1263
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:241
+#: ../../Zotlabs/Module/Mail.php:362 ../../include/conversation.php:1315
msgid "Please enter a link URL:"
msgstr "Merci d'entrer l'URL d'un lien&nbsp;:"
-#: ../../Zotlabs/Module/Chat.php:204 ../../Zotlabs/Module/Mail.php:293
-#: ../../Zotlabs/Module/Mail.php:430 ../../Zotlabs/Lib/ThreadItem.php:744
-#: ../../include/conversation.php:1373
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:294
+#: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Lib/ThreadItem.php:766
+#: ../../include/conversation.php:1435
msgid "Encrypt text"
msgstr "Chiffrer le texte"
-#: ../../Zotlabs/Module/Chat.php:230
+#: ../../Zotlabs/Module/Chat.php:232
msgid "New Chatroom"
msgstr "Nouveau salon de discussion"
-#: ../../Zotlabs/Module/Chat.php:231
+#: ../../Zotlabs/Module/Chat.php:233
msgid "Chatroom name"
msgstr "Nom du salon de conversation"
-#: ../../Zotlabs/Module/Chat.php:232
+#: ../../Zotlabs/Module/Chat.php:234
msgid "Expiration of chats (minutes)"
msgstr "Expiration des discussions (en minutes)"
-#: ../../Zotlabs/Module/Chat.php:248
+#: ../../Zotlabs/Module/Chat.php:250
#, php-format
msgid "%1$s's Chatrooms"
msgstr "Salons de %1$s"
-#: ../../Zotlabs/Module/Chat.php:253
+#: ../../Zotlabs/Module/Chat.php:255
msgid "No chatrooms available"
msgstr "Aucun salon de conversation disponible"
-#: ../../Zotlabs/Module/Chat.php:257
+#: ../../Zotlabs/Module/Chat.php:259
msgid "Expiration"
msgstr "Expiration"
-#: ../../Zotlabs/Module/Chat.php:258
+#: ../../Zotlabs/Module/Chat.php:260
msgid "min"
msgstr "min"
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:229
-#: ../../include/conversation.php:1774
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:248
+#: ../../include/conversation.php:1834 ../../include/nav.php:401
msgid "Photos"
msgstr "Photos"
-#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:224
-#: ../../Zotlabs/Storage/Browser.php:224 ../../include/conversation.php:1782
+#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:243
+#: ../../Zotlabs/Storage/Browser.php:272 ../../include/conversation.php:1842
+#: ../../include/nav.php:409
msgid "Files"
msgstr "Fichiers"
@@ -5421,7 +5875,7 @@ msgstr "Le menu pourra être utilisé pour stocker des favoris"
msgid "Submit and proceed"
msgstr "Valider et continuer"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2276
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2406
msgid "Menus"
msgstr "Menus"
@@ -5473,13 +5927,13 @@ msgstr "Titre du menu tel que vu par les visiteurs"
msgid "Allow bookmarks"
msgstr "Autoriser l'usage de favoris"
-#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2277
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2407
msgid "Layouts"
msgstr "Mises-en-page"
-#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:232
-#: ../../include/nav.php:157 ../../include/nav.php:264
-#: ../../include/help.php:55 ../../include/help.php:61
+#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:251
+#: ../../include/nav.php:176 ../../include/nav.php:280
+#: ../../include/help.php:68 ../../include/help.php:74
msgid "Help"
msgstr "Aide"
@@ -5495,16 +5949,54 @@ msgstr "Description de la mise en page"
msgid "Download PDL file"
msgstr "Télécharger le fichier PDL"
-#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:274
+#: ../../Zotlabs/Module/Cloud.php:120
+msgid "Please refresh page"
+msgstr "Veuillez rafraîchir la page"
+
+#: ../../Zotlabs/Module/Cloud.php:123
+msgid "Unknown error"
+msgstr "Erreur inconnue"
+
+#: ../../Zotlabs/Module/Email_validation.php:24
+#: ../../Zotlabs/Module/Email_resend.php:12
+msgid "Token verification failed."
+msgstr "La vérification du jeton a échoué."
+
+#: ../../Zotlabs/Module/Email_validation.php:36
+msgid "Email Verification Required"
+msgstr "Vérification de courriel requise"
+
+#: ../../Zotlabs/Module/Email_validation.php:37
+#, php-format
+msgid ""
+"A verification token was sent to your email address [%s]. Enter that token "
+"here to complete the account verification step. Please allow a few minutes "
+"for delivery, and check your spam folder if you do not see the message."
+msgstr "Un jeton de vérification a été envoyé à votre courriel [%s]. Entrez ce jeton ici pour compléter l'étape de vérification des comptes. Veuillez allouer quelques minutes pour la réception et vérifier votre dossier spam si vous ne voyez pas le message."
+
+#: ../../Zotlabs/Module/Email_validation.php:38
+msgid "Resend Email"
+msgstr "Renvoyer le courriel"
+
+#: ../../Zotlabs/Module/Email_validation.php:41
+msgid "Validation token"
+msgstr "Jeton de validation"
+
+#: ../../Zotlabs/Module/Tagger.php:48
+msgid "Post not found."
+msgstr "Publication introuvable."
+
+#: ../../Zotlabs/Module/Tagger.php:77 ../../include/markdown.php:160
+#: ../../include/bbcode.php:352
msgid "post"
msgstr "publication"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:146
-#: ../../include/text.php:1953
+#: ../../Zotlabs/Module/Tagger.php:79 ../../include/conversation.php:146
+#: ../../include/text.php:2013
msgid "comment"
msgstr "commentaire"
-#: ../../Zotlabs/Module/Tagger.php:95
+#: ../../Zotlabs/Module/Tagger.php:119
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s a étiqueté le %3$s de %2$s avec %4$s"
@@ -5524,6 +6016,38 @@ msgid ""
" to correctly use this feature."
msgstr "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité."
+#: ../../Zotlabs/Module/Defperms.php:239
+msgid ""
+"If enabled, connection requests will be approved without your interaction"
+msgstr "Si cette option est activée, les demandes de connexion seront approuvées sans votre intervention."
+
+#: ../../Zotlabs/Module/Defperms.php:246
+msgid "Automatic approval settings"
+msgstr "Paramètres d'approbation automatique"
+
+#: ../../Zotlabs/Module/Defperms.php:254
+msgid ""
+"Some individual permissions may have been preset or locked based on your "
+"channel type and privacy settings."
+msgstr "Certaines permissions individuelles peuvent avoir été prédéfinies ou verrouillées en fonction de votre type de canal et de vos paramètres de confidentialité."
+
+#: ../../Zotlabs/Module/Authorize.php:17
+msgid "Unknown App"
+msgstr "App inconnue"
+
+#: ../../Zotlabs/Module/Authorize.php:22
+msgid "Authorize"
+msgstr "Autoriser"
+
+#: ../../Zotlabs/Module/Authorize.php:23
+#, php-format
+msgid "Do you authorize the app %s to access your channel data?"
+msgstr "Autorisez vous l'app %s à accéder aux données de votre canal&nbsp;?"
+
+#: ../../Zotlabs/Module/Authorize.php:25
+msgid "Allow"
+msgstr "Permettre"
+
#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
msgstr "Groupe de contacts créé."
@@ -5532,8 +6056,8 @@ msgstr "Groupe de contacts créé."
msgid "Could not create privacy group."
msgstr "Impossible de créer le groupe de contacts."
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3909
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:143
+#: ../../include/items.php:4181
msgid "Privacy group not found."
msgstr "Groupe de contacts introuvable."
@@ -5541,39 +6065,39 @@ msgstr "Groupe de contacts introuvable."
msgid "Privacy group updated."
msgstr "Groupe de contacts mis à jour."
-#: ../../Zotlabs/Module/Group.php:90
+#: ../../Zotlabs/Module/Group.php:92
msgid "Create a group of channels."
msgstr "Créer un groupe de contacts."
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:186
msgid "Privacy group name: "
msgstr "Nom du groupe de contacts&nbsp;:"
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+#: ../../Zotlabs/Module/Group.php:95 ../../Zotlabs/Module/Group.php:189
msgid "Members are visible to other channels"
msgstr "Les membres sont visibles par les autres canaux"
-#: ../../Zotlabs/Module/Group.php:111
+#: ../../Zotlabs/Module/Group.php:113
msgid "Privacy group removed."
msgstr "Groupe de contacts supprimé."
-#: ../../Zotlabs/Module/Group.php:113
+#: ../../Zotlabs/Module/Group.php:115
msgid "Unable to remove privacy group."
msgstr "Impossible de supprimer le groupe de canaux."
-#: ../../Zotlabs/Module/Group.php:183
+#: ../../Zotlabs/Module/Group.php:185
msgid "Privacy group editor"
msgstr "Editeur de groupe de contacts."
-#: ../../Zotlabs/Module/Group.php:197 ../../Zotlabs/Module/Help.php:81
+#: ../../Zotlabs/Module/Group.php:199 ../../Zotlabs/Module/Help.php:81
msgid "Members"
msgstr "Membres"
-#: ../../Zotlabs/Module/Group.php:199
+#: ../../Zotlabs/Module/Group.php:201
msgid "All Connected Channels"
msgstr "Tous les canaux connectés"
-#: ../../Zotlabs/Module/Group.php:231
+#: ../../Zotlabs/Module/Group.php:233
msgid "Click on a channel to add or remove."
msgstr "Cliquer sur un canal pour l'ajouter ou le supprimer"
@@ -5614,15 +6138,15 @@ msgstr "Statut marital"
msgid "Romantic Partner"
msgstr "Partenaire amoureux"
-#: ../../Zotlabs/Module/Profiles.php:467 ../../Zotlabs/Module/Profiles.php:775
+#: ../../Zotlabs/Module/Profiles.php:467 ../../Zotlabs/Module/Profiles.php:772
msgid "Likes"
msgstr "Aime"
-#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:776
+#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:773
msgid "Dislikes"
msgstr "N'aime pas"
-#: ../../Zotlabs/Module/Profiles.php:475 ../../Zotlabs/Module/Profiles.php:783
+#: ../../Zotlabs/Module/Profiles.php:475 ../../Zotlabs/Module/Profiles.php:780
msgid "Work/Employment"
msgstr "Travail/Occupation"
@@ -5657,293 +6181,367 @@ msgstr "Profil mis à jour."
#: ../../Zotlabs/Module/Profiles.php:678
msgid "Hide your connections list from viewers of this profile"
-msgstr "Cacher la liste des relations pour les visiteurs de votre profile"
+msgstr "Cacher la liste de vos contacts pour les visiteurs de votre profile"
-#: ../../Zotlabs/Module/Profiles.php:725
+#: ../../Zotlabs/Module/Profiles.php:722
msgid "Edit Profile Details"
msgstr "Modifier les détails du profil"
-#: ../../Zotlabs/Module/Profiles.php:727
+#: ../../Zotlabs/Module/Profiles.php:724
msgid "View this profile"
msgstr "Voir ce profil"
-#: ../../Zotlabs/Module/Profiles.php:728 ../../Zotlabs/Module/Profiles.php:827
-#: ../../include/channel.php:1064
+#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Profiles.php:824
+#: ../../include/channel.php:1319
msgid "Edit visibility"
msgstr "Changer la visibilité"
-#: ../../Zotlabs/Module/Profiles.php:729
+#: ../../Zotlabs/Module/Profiles.php:726
msgid "Profile Tools"
-msgstr "Ouitls pour votre profile"
+msgstr "Outils pour votre profil"
-#: ../../Zotlabs/Module/Profiles.php:730
+#: ../../Zotlabs/Module/Profiles.php:727
msgid "Change cover photo"
msgstr "Modifier votre bannière"
-#: ../../Zotlabs/Module/Profiles.php:731 ../../include/channel.php:1035
+#: ../../Zotlabs/Module/Profiles.php:728 ../../include/channel.php:1289
msgid "Change profile photo"
msgstr "Changer la photo du profil"
-#: ../../Zotlabs/Module/Profiles.php:732
+#: ../../Zotlabs/Module/Profiles.php:729
msgid "Create a new profile using these settings"
msgstr "Créer un nouveau profil avec ces paramètres"
-#: ../../Zotlabs/Module/Profiles.php:733
+#: ../../Zotlabs/Module/Profiles.php:730
msgid "Clone this profile"
msgstr "Cloner ce profil"
-#: ../../Zotlabs/Module/Profiles.php:734
+#: ../../Zotlabs/Module/Profiles.php:731
msgid "Delete this profile"
msgstr "Supprimer ce profil"
-#: ../../Zotlabs/Module/Profiles.php:735
+#: ../../Zotlabs/Module/Profiles.php:732
msgid "Add profile things"
msgstr "Ajouter des éléments de profil"
-#: ../../Zotlabs/Module/Profiles.php:736 ../../include/conversation.php:1648
+#: ../../Zotlabs/Module/Profiles.php:733 ../../include/conversation.php:1708
msgid "Personal"
msgstr "Me concernant"
-#: ../../Zotlabs/Module/Profiles.php:738
-msgid "Relation"
-msgstr "Contacts"
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Relationship"
+msgstr "Relation"
-#: ../../Zotlabs/Module/Profiles.php:739 ../../include/datetime.php:55
+#: ../../Zotlabs/Module/Profiles.php:736 ../../Zotlabs/Widget/Newmember.php:44
+#: ../../include/datetime.php:58
msgid "Miscellaneous"
msgstr "Divers"
-#: ../../Zotlabs/Module/Profiles.php:741
+#: ../../Zotlabs/Module/Profiles.php:738
msgid "Import profile from file"
msgstr "Importer le profil à partir d'un fichier"
-#: ../../Zotlabs/Module/Profiles.php:742
+#: ../../Zotlabs/Module/Profiles.php:739
msgid "Export profile to file"
msgstr "Exporter le profil vers un fichier."
-#: ../../Zotlabs/Module/Profiles.php:743
+#: ../../Zotlabs/Module/Profiles.php:740
msgid "Your gender"
msgstr "Votre genre"
-#: ../../Zotlabs/Module/Profiles.php:744
+#: ../../Zotlabs/Module/Profiles.php:741
msgid "Marital status"
msgstr "Etat civil"
-#: ../../Zotlabs/Module/Profiles.php:745
+#: ../../Zotlabs/Module/Profiles.php:742
msgid "Sexual preference"
msgstr "préférence sexuelle"
-#: ../../Zotlabs/Module/Profiles.php:748
+#: ../../Zotlabs/Module/Profiles.php:745
msgid "Profile name"
-msgstr "Nom du profile"
+msgstr "Nom du profil"
-#: ../../Zotlabs/Module/Profiles.php:750
+#: ../../Zotlabs/Module/Profiles.php:747
msgid "This is your default profile."
msgstr "Ceci est votre profil par défaut."
-#: ../../Zotlabs/Module/Profiles.php:752
+#: ../../Zotlabs/Module/Profiles.php:749
msgid "Your full name"
msgstr "Votre nom complet"
-#: ../../Zotlabs/Module/Profiles.php:753
+#: ../../Zotlabs/Module/Profiles.php:750
msgid "Title/Description"
msgstr "Titre/description"
-#: ../../Zotlabs/Module/Profiles.php:756
+#: ../../Zotlabs/Module/Profiles.php:753
msgid "Street address"
msgstr "Rue"
-#: ../../Zotlabs/Module/Profiles.php:757
+#: ../../Zotlabs/Module/Profiles.php:754
msgid "Locality/City"
msgstr "Ville"
-#: ../../Zotlabs/Module/Profiles.php:758
+#: ../../Zotlabs/Module/Profiles.php:755
msgid "Region/State"
msgstr "Région"
-#: ../../Zotlabs/Module/Profiles.php:759
+#: ../../Zotlabs/Module/Profiles.php:756
msgid "Postal/Zip code"
msgstr "Code postal"
-#: ../../Zotlabs/Module/Profiles.php:765
+#: ../../Zotlabs/Module/Profiles.php:762
msgid "Who (if applicable)"
msgstr "Qui (si applicable)"
-#: ../../Zotlabs/Module/Profiles.php:765
+#: ../../Zotlabs/Module/Profiles.php:762
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Exemples&nbsp;: marie123, Marie Deschamps, marie@exemple.com"
-#: ../../Zotlabs/Module/Profiles.php:766
+#: ../../Zotlabs/Module/Profiles.php:763
msgid "Since (date)"
msgstr "Depuis (date)"
-#: ../../Zotlabs/Module/Profiles.php:769
+#: ../../Zotlabs/Module/Profiles.php:766
msgid "Tell us about yourself"
msgstr "Parlez nous de vous..."
-#: ../../Zotlabs/Module/Profiles.php:770
+#: ../../Zotlabs/Module/Profiles.php:767
#: ../../addon/openid/MysqlProvider.php:68
msgid "Homepage URL"
msgstr "URL de mon site Internet&nbsp;:"
-#: ../../Zotlabs/Module/Profiles.php:771
+#: ../../Zotlabs/Module/Profiles.php:768
msgid "Hometown"
msgstr "Ville de naissance"
-#: ../../Zotlabs/Module/Profiles.php:772
+#: ../../Zotlabs/Module/Profiles.php:769
msgid "Political views"
msgstr "Opinions politiques"
-#: ../../Zotlabs/Module/Profiles.php:773
+#: ../../Zotlabs/Module/Profiles.php:770
msgid "Religious views"
msgstr "Convictions religieuses"
-#: ../../Zotlabs/Module/Profiles.php:774
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Keywords used in directory listings"
msgstr "Mots clés pour l'annuaire"
-#: ../../Zotlabs/Module/Profiles.php:774
+#: ../../Zotlabs/Module/Profiles.php:771
msgid "Example: fishing photography software"
msgstr "Exemple&nbsp;: escrime photographie modélisme"
-#: ../../Zotlabs/Module/Profiles.php:777
+#: ../../Zotlabs/Module/Profiles.php:774
msgid "Musical interests"
msgstr "Goûts musicaux"
-#: ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Profiles.php:775
msgid "Books, literature"
msgstr "Livres, littérature"
-#: ../../Zotlabs/Module/Profiles.php:779
+#: ../../Zotlabs/Module/Profiles.php:776
msgid "Television"
msgstr "Télévision"
-#: ../../Zotlabs/Module/Profiles.php:780
+#: ../../Zotlabs/Module/Profiles.php:777
msgid "Film/Dance/Culture/Entertainment"
msgstr "Cinéma/Danse/Culture/Divertissement"
-#: ../../Zotlabs/Module/Profiles.php:781
+#: ../../Zotlabs/Module/Profiles.php:778
msgid "Hobbies/Interests"
msgstr "Loisirs/Centres d'intêret"
-#: ../../Zotlabs/Module/Profiles.php:782
+#: ../../Zotlabs/Module/Profiles.php:779
msgid "Love/Romance"
msgstr "Amour/Relation amoureuse"
-#: ../../Zotlabs/Module/Profiles.php:784
+#: ../../Zotlabs/Module/Profiles.php:781
msgid "School/Education"
msgstr "Niveau d'étude"
-#: ../../Zotlabs/Module/Profiles.php:785
+#: ../../Zotlabs/Module/Profiles.php:782
msgid "Contact information and social networks"
msgstr "Coordonnées et autres réseaux sociaux"
-#: ../../Zotlabs/Module/Profiles.php:786
+#: ../../Zotlabs/Module/Profiles.php:783
msgid "My other channels"
msgstr "Mes autres canaux"
-#: ../../Zotlabs/Module/Profiles.php:788
+#: ../../Zotlabs/Module/Profiles.php:785
msgid "Communications"
-msgstr ""
+msgstr "Communications"
-#: ../../Zotlabs/Module/Profiles.php:823 ../../include/channel.php:1060
+#: ../../Zotlabs/Module/Profiles.php:820 ../../include/channel.php:1315
msgid "Profile Image"
msgstr "Image du profil"
-#: ../../Zotlabs/Module/Profiles.php:833 ../../include/channel.php:1042
-#: ../../include/nav.php:105
+#: ../../Zotlabs/Module/Profiles.php:830 ../../include/channel.php:1296
+#: ../../include/nav.php:117
msgid "Edit Profiles"
msgstr "Modifier mes profils"
-#: ../../Zotlabs/Module/Editwebpage.php:144
+#: ../../Zotlabs/Module/Go.php:21
+msgid "This page is available only to site members"
+msgstr "Cette page n'est disponible que pour les membres du site."
+
+#: ../../Zotlabs/Module/Go.php:27
+msgid "Welcome"
+msgstr "Bienvenue"
+
+#: ../../Zotlabs/Module/Go.php:29
+msgid "What would you like to do?"
+msgstr "Qu'est-ce que vous aimeriez faire ?"
+
+#: ../../Zotlabs/Module/Go.php:31
+msgid ""
+"Please bookmark this page if you would like to return to it in the future"
+msgstr "Veuillez ajouter cette page à vos favoris si vous souhaitez y revenir à l'avenir."
+
+#: ../../Zotlabs/Module/Go.php:35
+msgid "Upload a profile photo"
+msgstr "Téléverser une photo de profil"
+
+#: ../../Zotlabs/Module/Go.php:36
+msgid "Upload a cover photo"
+msgstr "Téléverser une photo de couverture"
+
+#: ../../Zotlabs/Module/Go.php:37
+msgid "Edit your default profile"
+msgstr "Modifier votre profil par défaut"
+
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:34
+msgid "View friend suggestions"
+msgstr "Voir les suggestions d'amis"
+
+#: ../../Zotlabs/Module/Go.php:39
+msgid "View the channel directory"
+msgstr "Voir l'annuaire des canaux"
+
+#: ../../Zotlabs/Module/Go.php:40
+msgid "View/edit your channel settings"
+msgstr "Afficher/modifier les paramètres de votre canal"
+
+#: ../../Zotlabs/Module/Go.php:41
+msgid "View the site or project documentation"
+msgstr "Consulter la documentation du site ou du projet"
+
+#: ../../Zotlabs/Module/Go.php:42
+msgid "Visit your channel homepage"
+msgstr "Visitez la page d'accueil de votre canal"
+
+#: ../../Zotlabs/Module/Go.php:43
+msgid ""
+"View your connections and/or add somebody whose address you already know"
+msgstr "Affichez vos connexions et/ou ajoutez quelqu'un dont vous connaissez déjà l'adresse."
+
+#: ../../Zotlabs/Module/Go.php:44
+msgid ""
+"View your personal stream (this may be empty until you add some connections)"
+msgstr "Visualiser votre flux personnel (ce qui peut être vide jusqu'à ce que vous ajoutiez des connexions)"
+
+#: ../../Zotlabs/Module/Go.php:52
+msgid "View the public stream. Warning: this content is not moderated"
+msgstr "Voir le flux public. Attention : ce contenu n'est pas modéré."
+
+#: ../../Zotlabs/Module/Editwebpage.php:139
msgid "Page link"
msgstr "Lien"
-#: ../../Zotlabs/Module/Editwebpage.php:171
+#: ../../Zotlabs/Module/Editwebpage.php:166
msgid "Edit Webpage"
msgstr "Modifier la page web"
-#: ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Manage.php:145
msgid "Create a new channel"
msgstr "Créer un nouveau canal"
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/nav.php:201
+#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:240
+#: ../../include/nav.php:102 ../../include/nav.php:190
msgid "Channel Manager"
msgstr "Gérer mes canaux"
-#: ../../Zotlabs/Module/Manage.php:165
+#: ../../Zotlabs/Module/Manage.php:171
msgid "Current Channel"
msgstr "Canal actif"
-#: ../../Zotlabs/Module/Manage.php:167
+#: ../../Zotlabs/Module/Manage.php:173
msgid "Switch to one of your channels by selecting it."
msgstr "Pour changer de canal, sélectionnez-en un"
-#: ../../Zotlabs/Module/Manage.php:168
+#: ../../Zotlabs/Module/Manage.php:174
msgid "Default Channel"
msgstr "Canal par défaut"
-#: ../../Zotlabs/Module/Manage.php:169
+#: ../../Zotlabs/Module/Manage.php:175
msgid "Make Default"
msgstr "Définir comme défaut"
-#: ../../Zotlabs/Module/Manage.php:172
+#: ../../Zotlabs/Module/Manage.php:178
#, php-format
msgid "%d new messages"
msgstr "%d nouveaux messages"
-#: ../../Zotlabs/Module/Manage.php:173
+#: ../../Zotlabs/Module/Manage.php:179
#, php-format
msgid "%d new introductions"
msgstr "%d nouvelles relations"
-#: ../../Zotlabs/Module/Manage.php:175
+#: ../../Zotlabs/Module/Manage.php:181
msgid "Delegated Channel"
msgstr "Canaux délégués"
+#: ../../Zotlabs/Module/Cards.php:42 ../../Zotlabs/Module/Cards.php:194
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1893
+#: ../../include/features.php:123 ../../include/nav.php:458
+msgid "Cards"
+msgstr "Cartes"
+
+#: ../../Zotlabs/Module/Cards.php:99
+msgid "Add Card"
+msgstr "Ajouter carte"
+
#: ../../Zotlabs/Module/Dirsearch.php:33
msgid "This directory server requires an access token"
msgstr "Ce serveur d'annuaire requiert un jeton d'accès"
-#: ../../Zotlabs/Module/Siteinfo.php:20
+#: ../../Zotlabs/Module/Siteinfo.php:18
msgid "About this site"
msgstr "À propos de ce site"
-#: ../../Zotlabs/Module/Siteinfo.php:21
+#: ../../Zotlabs/Module/Siteinfo.php:19
msgid "Site Name"
msgstr "Nom du site"
-#: ../../Zotlabs/Module/Siteinfo.php:25 ../../include/network.php:1995
+#: ../../Zotlabs/Module/Siteinfo.php:23
msgid "Administrator"
msgstr "Administrateur"
-#: ../../Zotlabs/Module/Siteinfo.php:27 ../../Zotlabs/Module/Register.php:221
+#: ../../Zotlabs/Module/Siteinfo.php:25 ../../Zotlabs/Module/Register.php:232
msgid "Terms of Service"
msgstr "Conditions de service"
-#: ../../Zotlabs/Module/Siteinfo.php:28
+#: ../../Zotlabs/Module/Siteinfo.php:26
msgid "Software and Project information"
msgstr "Informations sur le logiciel et le projet"
-#: ../../Zotlabs/Module/Siteinfo.php:29
+#: ../../Zotlabs/Module/Siteinfo.php:27
msgid "This site is powered by $Projectname"
msgstr "Ce site est propulsé par "
-#: ../../Zotlabs/Module/Siteinfo.php:30
+#: ../../Zotlabs/Module/Siteinfo.php:28
msgid ""
"Federated and decentralised networking and identity services provided by Zot"
msgstr "Réseau fédéré et décentralisé, et services d'identification fournies par Zot"
-#: ../../Zotlabs/Module/Siteinfo.php:32
+#: ../../Zotlabs/Module/Siteinfo.php:30
#, php-format
msgid "Version %s"
msgstr "Version %s"
-#: ../../Zotlabs/Module/Siteinfo.php:33
+#: ../../Zotlabs/Module/Siteinfo.php:31
msgid "Project homepage"
msgstr "Page d'accueil du projet"
-#: ../../Zotlabs/Module/Siteinfo.php:34
+#: ../../Zotlabs/Module/Siteinfo.php:32
msgid "Developer homepage"
msgstr "Page d'accueil des développeurs"
@@ -5952,7 +6550,7 @@ msgid "No ratings"
msgstr "Pas de note"
#: ../../Zotlabs/Module/Ratings.php:97 ../../Zotlabs/Module/Pubsites.php:35
-#: ../../include/conversation.php:1032
+#: ../../include/conversation.php:1082
msgid "Ratings"
msgstr "Evaluations"
@@ -5968,64 +6566,97 @@ msgstr "Site web&nbsp;:"
msgid "Description: "
msgstr "Description&nbsp;:"
-#: ../../Zotlabs/Module/Webpages.php:52
+#: ../../Zotlabs/Module/Webpages.php:54
msgid "Import Webpage Elements"
msgstr "Importer éléments de page web"
-#: ../../Zotlabs/Module/Webpages.php:53
+#: ../../Zotlabs/Module/Webpages.php:55
msgid "Import selected"
msgstr "Importation sélectionnée"
-#: ../../Zotlabs/Module/Webpages.php:76
+#: ../../Zotlabs/Module/Webpages.php:78
msgid "Export Webpage Elements"
msgstr "Exporter éléments de pages web"
-#: ../../Zotlabs/Module/Webpages.php:77
+#: ../../Zotlabs/Module/Webpages.php:79
msgid "Export selected"
msgstr "Export sélectionné"
-#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Lib/Apps.php:225
-#: ../../include/conversation.php:1832
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:244
+#: ../../include/conversation.php:1915 ../../include/nav.php:481
msgid "Webpages"
msgstr "Pages web"
-#: ../../Zotlabs/Module/Webpages.php:253 ../../include/page_widgets.php:44
+#: ../../Zotlabs/Module/Webpages.php:248
msgid "Actions"
msgstr "Actions"
-#: ../../Zotlabs/Module/Webpages.php:254 ../../include/page_widgets.php:45
+#: ../../Zotlabs/Module/Webpages.php:249
msgid "Page Link"
msgstr "Lien vers la page"
-#: ../../Zotlabs/Module/Webpages.php:255
+#: ../../Zotlabs/Module/Webpages.php:250
msgid "Page Title"
msgstr "Titre de la page"
-#: ../../Zotlabs/Module/Webpages.php:285
+#: ../../Zotlabs/Module/Webpages.php:280
msgid "Invalid file type."
msgstr "Type de fichier invalide"
-#: ../../Zotlabs/Module/Webpages.php:297
+#: ../../Zotlabs/Module/Webpages.php:292
msgid "Error opening zip file"
msgstr "Erreur lors de l'ouverture du fichier zip"
-#: ../../Zotlabs/Module/Webpages.php:308
+#: ../../Zotlabs/Module/Webpages.php:303
msgid "Invalid folder path."
msgstr "Chemin du dossier invalide"
-#: ../../Zotlabs/Module/Webpages.php:335
+#: ../../Zotlabs/Module/Webpages.php:330
msgid "No webpage elements detected."
msgstr "Aucun élément de page Web détecté."
-#: ../../Zotlabs/Module/Webpages.php:410
+#: ../../Zotlabs/Module/Webpages.php:405
msgid "Import complete."
msgstr "Importation terminée"
-#: ../../Zotlabs/Module/Editpost.php:35
+#: ../../Zotlabs/Module/Changeaddr.php:35
+msgid ""
+"Channel name changes are not allowed within 48 hours of changing the account"
+" password."
+msgstr "Les changements de nom de canal ne sont pas autorisés dans les 48 heures suivant la modification du mot de passe du compte."
+
+#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:214
+#: ../../include/channel.php:599
+msgid "Reserved nickname. Please choose another."
+msgstr "Surnom réservé. Merci d'en choisir un autre."
+
+#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:219
+#: ../../include/channel.php:604
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Le surnom contient des caractères interdits ou est déjà pris sur ce site."
+
+#: ../../Zotlabs/Module/Changeaddr.php:77
+msgid "Change channel nickname/address"
+msgstr "Changer le pseudo/adresse du canal"
+
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "Any/all connections on other networks will be lost!"
+msgstr "Toutes les connexions sur d'autres réseaux seront perdues !"
+
+#: ../../Zotlabs/Module/Changeaddr.php:80
+msgid "New channel address"
+msgstr "Nouvelle adresse de canal"
+
+#: ../../Zotlabs/Module/Changeaddr.php:81
+msgid "Rename Channel"
+msgstr "Renommer canal"
+
+#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43
msgid "Item is not editable"
msgstr "Elément non modifiable"
-#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:138
+#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:144
msgid "Edit post"
msgstr "Modifier la publication"
@@ -6063,7 +6694,7 @@ msgstr "mise à jour ignorée"
#: ../../Zotlabs/Module/Dreport.php:115
msgid "permission denied"
-msgstr "permission refusée"
+msgstr "accès refusé"
#: ../../Zotlabs/Module/Dreport.php:119
msgid "recipient not found"
@@ -6086,7 +6717,8 @@ msgstr "courriel distribué"
msgid "Delivery report for %1$s"
msgstr "Rapport de distribution pour %1$s"
-#: ../../Zotlabs/Module/Dreport.php:151
+#: ../../Zotlabs/Module/Dreport.php:151 ../../Zotlabs/Widget/Wiki_pages.php:39
+#: ../../Zotlabs/Widget/Wiki_pages.php:96
msgid "Options"
msgstr "Options"
@@ -6111,7 +6743,7 @@ msgid "*"
msgstr "*"
#: ../../Zotlabs/Module/Sources.php:96
-#: ../../Zotlabs/Widget/Settings_menu.php:123 ../../include/features.php:213
+#: ../../Zotlabs/Widget/Settings_menu.php:133 ../../include/features.php:292
msgid "Channel Sources"
msgstr "Sources du canal"
@@ -6167,200 +6799,204 @@ msgstr "Source supprimée"
msgid "Unable to remove source."
msgstr "Impossible de supprimer la source."
-#: ../../Zotlabs/Module/Like.php:19
+#: ../../Zotlabs/Module/Like.php:54
msgid "Like/Dislike"
msgstr "Aime/n'aime pas"
-#: ../../Zotlabs/Module/Like.php:24
+#: ../../Zotlabs/Module/Like.php:59
msgid "This action is restricted to members."
msgstr "Cette action est réservée aux membres."
-#: ../../Zotlabs/Module/Like.php:25
+#: ../../Zotlabs/Module/Like.php:60
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "S'il vous plait, <a href=\"rmagic\">identifiez vous avec votre identifant de $Projectname </a> ou <a href=\"register\">inscrivez vous comme nouveau membre de $Projectname </a> pour continuer."
-#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
+#: ../../Zotlabs/Module/Like.php:109 ../../Zotlabs/Module/Like.php:135
+#: ../../Zotlabs/Module/Like.php:173
msgid "Invalid request."
msgstr "Requête invalide."
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:122
+#: ../../Zotlabs/Module/Like.php:121 ../../include/conversation.php:122
msgid "channel"
msgstr "canal"
-#: ../../Zotlabs/Module/Like.php:146
+#: ../../Zotlabs/Module/Like.php:150
msgid "thing"
msgstr "chose"
-#: ../../Zotlabs/Module/Like.php:192
+#: ../../Zotlabs/Module/Like.php:196
msgid "Channel unavailable."
msgstr "Canal indisponible."
-#: ../../Zotlabs/Module/Like.php:240
+#: ../../Zotlabs/Module/Like.php:244
msgid "Previous action reversed."
msgstr "Action précédente annulée."
-#: ../../Zotlabs/Module/Like.php:419 ../../addon/diaspora/inbound.php:1823
-#: ../../include/conversation.php:160
+#: ../../Zotlabs/Module/Like.php:438 ../../addon/diaspora/Receiver.php:1529
+#: ../../addon/pubcrawl/as.php:1423 ../../include/conversation.php:160
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "%1$s aime %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:163
+#: ../../Zotlabs/Module/Like.php:440 ../../addon/pubcrawl/as.php:1425
+#: ../../include/conversation.php:163
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s n'aime pas %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:423
+#: ../../Zotlabs/Module/Like.php:442
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%1$s approuve %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:425
+#: ../../Zotlabs/Module/Like.php:444
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%1$s n'est pas d'accord avec %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:427
+#: ../../Zotlabs/Module/Like.php:446
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%1$s s'abstient de toute décision sur le %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:429
+#: ../../Zotlabs/Module/Like.php:448 ../../addon/diaspora/Receiver.php:2072
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%1$s participe à %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:431
+#: ../../Zotlabs/Module/Like.php:450 ../../addon/diaspora/Receiver.php:2074
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%1$s ne participe pas à %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:433
+#: ../../Zotlabs/Module/Like.php:452 ../../addon/diaspora/Receiver.php:2076
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%1$s participe peut-être à %3$s de %2$s"
-#: ../../Zotlabs/Module/Like.php:538
+#: ../../Zotlabs/Module/Like.php:564
msgid "Action completed."
msgstr "Action terminée."
-#: ../../Zotlabs/Module/Like.php:539
+#: ../../Zotlabs/Module/Like.php:565
msgid "Thank you."
msgstr "Merci."
-#: ../../Zotlabs/Module/Directory.php:245
+#: ../../Zotlabs/Module/Directory.php:106
+msgid "No default suggestions were found."
+msgstr "Aucune suggestion par défaut n'a été trouvée."
+
+#: ../../Zotlabs/Module/Directory.php:255
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d évaluation"
msgstr[1] "%d évaluations"
-#: ../../Zotlabs/Module/Directory.php:256
+#: ../../Zotlabs/Module/Directory.php:266
msgid "Gender: "
msgstr "Sexe/genre&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:258
+#: ../../Zotlabs/Module/Directory.php:268
msgid "Status: "
msgstr "État&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:260
+#: ../../Zotlabs/Module/Directory.php:270
msgid "Homepage: "
msgstr "Site web&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:309 ../../include/channel.php:1291
+#: ../../Zotlabs/Module/Directory.php:319 ../../include/channel.php:1564
msgid "Age:"
msgstr "Age&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:314 ../../include/markdown.php:560
-#: ../../include/channel.php:1132 ../../include/event.php:52
-#: ../../include/event.php:84
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1391
+#: ../../include/event.php:54 ../../include/event.php:86
msgid "Location:"
msgstr "Emplacement&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:320
+#: ../../Zotlabs/Module/Directory.php:330
msgid "Description:"
msgstr "Description&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:325 ../../include/channel.php:1307
+#: ../../Zotlabs/Module/Directory.php:335 ../../include/channel.php:1593
msgid "Hometown:"
msgstr "Ville natale&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:327 ../../include/channel.php:1315
+#: ../../Zotlabs/Module/Directory.php:337 ../../include/channel.php:1599
msgid "About:"
msgstr "À propos&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:328 ../../Zotlabs/Module/Suggest.php:54
+#: ../../Zotlabs/Module/Directory.php:338 ../../Zotlabs/Module/Suggest.php:56
#: ../../Zotlabs/Widget/Follow.php:32 ../../Zotlabs/Widget/Suggestions.php:44
-#: ../../include/conversation.php:1002 ../../include/channel.php:1117
+#: ../../include/conversation.php:1052 ../../include/channel.php:1376
#: ../../include/connections.php:110
msgid "Connect"
msgstr "Ajouter/Suivre"
-#: ../../Zotlabs/Module/Directory.php:329
+#: ../../Zotlabs/Module/Directory.php:339
msgid "Public Forum:"
msgstr "Forum public&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:332
+#: ../../Zotlabs/Module/Directory.php:342
msgid "Keywords: "
msgstr "Mots-clefs&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:335
+#: ../../Zotlabs/Module/Directory.php:345
msgid "Don't suggest"
msgstr "Ne pas suggérer"
-#: ../../Zotlabs/Module/Directory.php:337
-msgid "Common connections:"
-msgstr "Contacts en commun&nbsp;:"
+#: ../../Zotlabs/Module/Directory.php:347
+msgid "Common connections (estimated):"
+msgstr "Connexions communes (estimation) :"
-#: ../../Zotlabs/Module/Directory.php:386
+#: ../../Zotlabs/Module/Directory.php:396
msgid "Global Directory"
msgstr "Annuaire global"
-#: ../../Zotlabs/Module/Directory.php:386
+#: ../../Zotlabs/Module/Directory.php:396
msgid "Local Directory"
msgstr "Annuaire local"
-#: ../../Zotlabs/Module/Directory.php:392
+#: ../../Zotlabs/Module/Directory.php:402
msgid "Finding:"
msgstr "Recherche&nbsp;:"
-#: ../../Zotlabs/Module/Directory.php:395 ../../Zotlabs/Module/Suggest.php:62
+#: ../../Zotlabs/Module/Directory.php:405 ../../Zotlabs/Module/Suggest.php:64
#: ../../include/contact_widgets.php:24
msgid "Channel Suggestions"
msgstr "Canaux suggérés"
-#: ../../Zotlabs/Module/Directory.php:397
+#: ../../Zotlabs/Module/Directory.php:407
msgid "next page"
msgstr "page suivante"
-#: ../../Zotlabs/Module/Directory.php:397
+#: ../../Zotlabs/Module/Directory.php:407
msgid "previous page"
msgstr "page précédente"
-#: ../../Zotlabs/Module/Directory.php:398
+#: ../../Zotlabs/Module/Directory.php:408
msgid "Sort options"
msgstr "Options de tri"
-#: ../../Zotlabs/Module/Directory.php:399
+#: ../../Zotlabs/Module/Directory.php:409
msgid "Alphabetic"
msgstr "Alphabétique"
-#: ../../Zotlabs/Module/Directory.php:400
+#: ../../Zotlabs/Module/Directory.php:410
msgid "Reverse Alphabetic"
msgstr "Alphabétique inversé"
-#: ../../Zotlabs/Module/Directory.php:401
+#: ../../Zotlabs/Module/Directory.php:411
msgid "Newest to Oldest"
msgstr "Du plus récent au moins récent"
-#: ../../Zotlabs/Module/Directory.php:402
+#: ../../Zotlabs/Module/Directory.php:412
msgid "Oldest to Newest"
msgstr "Du moins récent du plus récent"
-#: ../../Zotlabs/Module/Directory.php:419
+#: ../../Zotlabs/Module/Directory.php:429
msgid "No entries (some entries may be hidden)."
msgstr "Pas d'entrées (certaines peuvent être cachées)."
@@ -6372,13 +7008,13 @@ msgstr "Recherche xchan"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Recherche xchan commençant par (ou adresse \"webbie\")&nbsp;:"
-#: ../../Zotlabs/Module/Suggest.php:37
+#: ../../Zotlabs/Module/Suggest.php:39
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
"hours."
msgstr "Aucune suggestion disponible. Si le site est récent, merci de re-tenter dans 24 heures."
-#: ../../Zotlabs/Module/Suggest.php:56 ../../Zotlabs/Widget/Suggestions.php:46
+#: ../../Zotlabs/Module/Suggest.php:58 ../../Zotlabs/Widget/Suggestions.php:46
msgid "Ignore/Hide"
msgstr "Ignorer/Cacher"
@@ -6390,99 +7026,103 @@ msgstr "Impossible de trouver votre hub."
msgid "Post successful."
msgstr "Publication réussie."
-#: ../../Zotlabs/Module/Mail.php:65
+#: ../../Zotlabs/Module/Mail.php:73
msgid "Unable to lookup recipient."
msgstr "Impossible de localiser le destinataire."
-#: ../../Zotlabs/Module/Mail.php:72
+#: ../../Zotlabs/Module/Mail.php:80
msgid "Unable to communicate with requested channel."
msgstr "Impossible de communiquer avec le canal demandé."
-#: ../../Zotlabs/Module/Mail.php:79
+#: ../../Zotlabs/Module/Mail.php:87
msgid "Cannot verify requested channel."
msgstr "Impossible de vérifier le canal demandé."
-#: ../../Zotlabs/Module/Mail.php:97
+#: ../../Zotlabs/Module/Mail.php:105
msgid "Selected channel has private message restrictions. Send failed."
msgstr "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué."
-#: ../../Zotlabs/Module/Mail.php:178
+#: ../../Zotlabs/Module/Mail.php:160
msgid "Messages"
msgstr "Messages"
-#: ../../Zotlabs/Module/Mail.php:213
+#: ../../Zotlabs/Module/Mail.php:173
+msgid "message"
+msgstr "message"
+
+#: ../../Zotlabs/Module/Mail.php:214
msgid "Message recalled."
msgstr "Message rappelé."
-#: ../../Zotlabs/Module/Mail.php:226
+#: ../../Zotlabs/Module/Mail.php:227
msgid "Conversation removed."
msgstr "Conversation supprimée."
-#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Mail.php:362
+#: ../../Zotlabs/Module/Mail.php:242 ../../Zotlabs/Module/Mail.php:363
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Expire le YYYY-MM-DD à HH:MM"
-#: ../../Zotlabs/Module/Mail.php:269
+#: ../../Zotlabs/Module/Mail.php:270
msgid "Requested channel is not in this network"
msgstr "Le canal demandé n'est pas sur ce réseau"
-#: ../../Zotlabs/Module/Mail.php:277
+#: ../../Zotlabs/Module/Mail.php:278
msgid "Send Private Message"
msgstr "Envoyer un message privé"
-#: ../../Zotlabs/Module/Mail.php:278 ../../Zotlabs/Module/Mail.php:415
+#: ../../Zotlabs/Module/Mail.php:279 ../../Zotlabs/Module/Mail.php:421
msgid "To:"
msgstr "À&nbsp;:"
-#: ../../Zotlabs/Module/Mail.php:281 ../../Zotlabs/Module/Mail.php:417
+#: ../../Zotlabs/Module/Mail.php:282 ../../Zotlabs/Module/Mail.php:423
msgid "Subject:"
msgstr "Objet&nbsp;:"
-#: ../../Zotlabs/Module/Mail.php:286 ../../Zotlabs/Module/Mail.php:423
-#: ../../include/conversation.php:1323
+#: ../../Zotlabs/Module/Mail.php:287 ../../Zotlabs/Module/Mail.php:429
+#: ../../include/conversation.php:1385
msgid "Attach file"
msgstr "Joindre un fichier"
-#: ../../Zotlabs/Module/Mail.php:288
+#: ../../Zotlabs/Module/Mail.php:289
msgid "Send"
msgstr "Envoyer"
-#: ../../Zotlabs/Module/Mail.php:291 ../../Zotlabs/Module/Mail.php:428
-#: ../../include/conversation.php:1368
+#: ../../Zotlabs/Module/Mail.php:292 ../../Zotlabs/Module/Mail.php:434
+#: ../../include/conversation.php:1430
msgid "Set expiration date"
msgstr "Définir la date d'expiration"
-#: ../../Zotlabs/Module/Mail.php:387
+#: ../../Zotlabs/Module/Mail.php:393
msgid "Delete message"
msgstr "Supprimer le message"
-#: ../../Zotlabs/Module/Mail.php:388
+#: ../../Zotlabs/Module/Mail.php:394
msgid "Delivery report"
msgstr "Rapport de distribution"
-#: ../../Zotlabs/Module/Mail.php:389
+#: ../../Zotlabs/Module/Mail.php:395
msgid "Recall message"
msgstr "Rappeler le message"
-#: ../../Zotlabs/Module/Mail.php:391
+#: ../../Zotlabs/Module/Mail.php:397
msgid "Message has been recalled."
msgstr "Le message a été rappelé."
-#: ../../Zotlabs/Module/Mail.php:408
+#: ../../Zotlabs/Module/Mail.php:414
msgid "Delete Conversation"
msgstr "Supprimer la conversation"
-#: ../../Zotlabs/Module/Mail.php:410
+#: ../../Zotlabs/Module/Mail.php:416
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr "Aucune communication sécurisée n'est possible. Vous pourrez <strong>peut-être</strong> répondre depuis la page de profil de l'émetteur."
-#: ../../Zotlabs/Module/Mail.php:414
+#: ../../Zotlabs/Module/Mail.php:420
msgid "Send Reply"
msgstr "Envoyer la réponse"
-#: ../../Zotlabs/Module/Mail.php:419
+#: ../../Zotlabs/Module/Mail.php:425
#, php-format
msgid "Your message for %s (%s):"
msgstr "Votre message pour %s (%s)&nbsp;:"
@@ -6520,32 +7160,32 @@ msgstr "Statistiques"
msgid "Software"
msgstr "Logiciel"
-#: ../../Zotlabs/Module/Pubsites.php:48
+#: ../../Zotlabs/Module/Pubsites.php:49
msgid "Rate"
msgstr "Evaluer"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:203
+#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:267
msgid "webpage"
msgstr "pages web"
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:209
+#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:273
msgid "block"
msgstr "bloquer"
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:206
+#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:270
msgid "layout"
msgstr "mise en page"
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:212
+#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:276
msgid "menu"
msgstr "menu"
-#: ../../Zotlabs/Module/Impel.php:181
+#: ../../Zotlabs/Module/Impel.php:183
#, php-format
msgid "%s element installed"
msgstr "Elément %s installé"
-#: ../../Zotlabs/Module/Impel.php:184
+#: ../../Zotlabs/Module/Impel.php:186
#, php-format
msgid "%s element installation failed"
msgstr "L'installation de l'élément %s a échoué"
@@ -6568,17 +7208,17 @@ msgstr "Ou entrez un nouveau nom de dossier de favoris"
#: ../../Zotlabs/Module/Filer.php:52
msgid "Enter a folder name"
-msgstr ""
+msgstr "Saisissez un nom de dossier"
#: ../../Zotlabs/Module/Filer.php:52
msgid "or select an existing folder (doubleclick)"
-msgstr ""
+msgstr "ou sélectionnez un dossier existant (double-clic)"
-#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:137
+#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:151
msgid "Save to Folder"
msgstr "Enregistrer dans le dossier"
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
#, php-format
msgid "Fetching URL returns error: %1$s"
msgstr "Récupération d'URL échouée&nbsp;: %1$s"
@@ -6596,128 +7236,133 @@ msgstr "Merci d'indiquer votre adhésion aux conditions de service. L'inscriptio
msgid "Passwords do not match."
msgstr "Les mots de passe ne concordent pas."
-#: ../../Zotlabs/Module/Register.php:131
+#: ../../Zotlabs/Module/Register.php:132
+msgid "Registration successful. Continue to create your first channel..."
+msgstr "Enregistrement réussi. Continuez à créer votre premier canal ..."
+
+#: ../../Zotlabs/Module/Register.php:135
msgid ""
"Registration successful. Please check your email for validation "
"instructions."
msgstr "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte."
-#: ../../Zotlabs/Module/Register.php:137
+#: ../../Zotlabs/Module/Register.php:142
msgid "Your registration is pending approval by the site owner."
msgstr "Votre inscription est en attente d'approbation par l'administrateur."
-#: ../../Zotlabs/Module/Register.php:140
+#: ../../Zotlabs/Module/Register.php:145
msgid "Your registration can not be processed."
msgstr "Votre inscription ne peut être traîtée."
-#: ../../Zotlabs/Module/Register.php:184
+#: ../../Zotlabs/Module/Register.php:192
msgid "Registration on this hub is disabled."
msgstr "La création de nouveaux comptes est désactivée pour ce site."
-#: ../../Zotlabs/Module/Register.php:193
+#: ../../Zotlabs/Module/Register.php:201
msgid "Registration on this hub is by approval only."
msgstr "La création de compte sur ce site est soumise à approbation."
-#: ../../Zotlabs/Module/Register.php:194
+#: ../../Zotlabs/Module/Register.php:202
msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
msgstr "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>"
-#: ../../Zotlabs/Module/Register.php:204
+#: ../../Zotlabs/Module/Register.php:212
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain."
-#: ../../Zotlabs/Module/Register.php:227
+#: ../../Zotlabs/Module/Register.php:238
#, php-format
msgid "I accept the %s for this website"
msgstr "J'accepte les %s de ce site"
-#: ../../Zotlabs/Module/Register.php:229
+#: ../../Zotlabs/Module/Register.php:245
#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "J'ai plus de 13 ans et j'accepte les %s de ce site"
+msgid "I am over %s years of age and accept the %s for this website"
+msgstr "J'ai plus de %s ans et j'accepte les %s de ce site."
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/Register.php:250
msgid "Your email address"
msgstr "Votre adresse de courriel"
-#: ../../Zotlabs/Module/Register.php:234
+#: ../../Zotlabs/Module/Register.php:251
msgid "Choose a password"
msgstr "Choisissez un mot de passe"
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/Register.php:252
msgid "Please re-enter your password"
msgstr "Merci de saisir à nouveau votre mot de passe"
-#: ../../Zotlabs/Module/Register.php:236
+#: ../../Zotlabs/Module/Register.php:253
msgid "Please enter your invitation code"
msgstr "Merci de saisir votre code d'invitation"
-#: ../../Zotlabs/Module/Register.php:241
+#: ../../Zotlabs/Module/Register.php:258
msgid "no"
msgstr "non"
-#: ../../Zotlabs/Module/Register.php:241
+#: ../../Zotlabs/Module/Register.php:258
msgid "yes"
msgstr "oui"
-#: ../../Zotlabs/Module/Register.php:258
+#: ../../Zotlabs/Module/Register.php:274
msgid "Membership on this site is by invitation only."
msgstr "L'inscription à ce site se fait uniquement sur invitation."
-#: ../../Zotlabs/Module/Register.php:270 ../../boot.php:1612
-#: ../../include/nav.php:145
+#: ../../Zotlabs/Module/Register.php:286 ../../boot.php:1570
+#: ../../include/nav.php:164
msgid "Register"
msgstr "S'inscrire"
-#: ../../Zotlabs/Module/Register.php:271
+#: ../../Zotlabs/Module/Register.php:287
msgid ""
-"This site may require email verification after submitting this form. If you "
-"are returned to a login page, please check your email for instructions."
-msgstr "Ce site peut demander une validation de votre email. Si vous revenez sur le formulaire de connexion, vérifiez vos emails et suivez les instructions. Regardez aussi les spams."
+"This site requires email verification. After completing this form, please "
+"check your email for further instructions."
+msgstr "Ce site nécessite une vérification par courriel. Après avoir rempli ce formulaire, veuillez consulter votre courriel pour obtenir des instructions supplémentaires."
#: ../../Zotlabs/Module/Cover_photo.php:136
#: ../../Zotlabs/Module/Cover_photo.php:186
msgid "Cover Photos"
msgstr "Photos de couverture"
-#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4286
+#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4558
msgid "female"
msgstr "femme"
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4287
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4559
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s a mis à jour son %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4288
+#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4560
msgid "male"
msgstr "homme"
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4289
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4561
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s a mis à jour son %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4291
+#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4563
#, php-format
msgid "%1$s updated their %2$s"
msgstr "%1$s a mis a jour sa %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:1757
+#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:2070
msgid "cover photo"
msgstr "Photo principale"
#: ../../Zotlabs/Module/Cover_photo.php:360
-msgid "Upload Cover Photo"
-msgstr "Téléverser une photo de couverture"
+msgid "Change Cover Photo"
+msgstr "Changer la photo de couverture"
#: ../../Zotlabs/Module/Help.php:23
msgid "Documentation Search"
msgstr "Chercher dans la documentation"
-#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1764
+#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1824
+#: ../../include/nav.php:391
msgid "About"
msgstr "À propos"
@@ -6733,14 +7378,22 @@ msgstr "Développeurs"
msgid "Tutorials"
msgstr "Tutoriels"
-#: ../../Zotlabs/Module/Help.php:93
+#: ../../Zotlabs/Module/Help.php:95
msgid "$Projectname Documentation"
msgstr "Documentation $Projectname"
-#: ../../Zotlabs/Module/Help.php:94
+#: ../../Zotlabs/Module/Help.php:96
msgid "Contents"
msgstr "Contenus"
+#: ../../Zotlabs/Module/Display.php:394
+msgid "Article"
+msgstr "Article"
+
+#: ../../Zotlabs/Module/Display.php:446
+msgid "Item has been removed."
+msgstr "L'élément a été supprimé."
+
#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
msgid "Tag removed"
msgstr "Étiquette retirée"
@@ -6753,48 +7406,44 @@ msgstr "Retirer une étiquette à l'élément"
msgid "Select a tag to remove: "
msgstr "Étiquette à retirer&nbsp;:"
-#: ../../Zotlabs/Module/Network.php:96
+#: ../../Zotlabs/Module/Network.php:100
msgid "No such group"
msgstr "Groupe introuvable"
-#: ../../Zotlabs/Module/Network.php:136
+#: ../../Zotlabs/Module/Network.php:142
msgid "No such channel"
msgstr "Canal introuvable"
-#: ../../Zotlabs/Module/Network.php:141
+#: ../../Zotlabs/Module/Network.php:147
msgid "forum"
msgstr "forum"
-#: ../../Zotlabs/Module/Network.php:153
+#: ../../Zotlabs/Module/Network.php:159
msgid "Search Results For:"
msgstr "Résultats de recherche pour&nbsp;:"
-#: ../../Zotlabs/Module/Network.php:221
+#: ../../Zotlabs/Module/Network.php:230
msgid "Privacy group is empty"
msgstr "Groupe de contacts vide"
-#: ../../Zotlabs/Module/Network.php:230
+#: ../../Zotlabs/Module/Network.php:240
msgid "Privacy group: "
msgstr "Groupe de contacts&nbsp;:"
-#: ../../Zotlabs/Module/Network.php:256
+#: ../../Zotlabs/Module/Network.php:268
msgid "Invalid connection."
msgstr "Contact non valide."
-#: ../../Zotlabs/Module/Network.php:275 ../../addon/redred/redred.php:65
+#: ../../Zotlabs/Module/Network.php:289 ../../addon/redred/redred.php:65
msgid "Invalid channel."
msgstr "Canal invalide."
-#: ../../Zotlabs/Module/Acl.php:344
+#: ../../Zotlabs/Module/Acl.php:361
msgid "network"
msgstr "réseau"
-#: ../../Zotlabs/Module/Acl.php:354
-msgid "RSS"
-msgstr "RSS"
-
#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
-#: ../../addon/opensearch/opensearch.php:42
+#: ../../Zotlabs/Lib/Enotify.php:66 ../../addon/opensearch/opensearch.php:42
msgid "$Projectname"
msgstr "$Projectname"
@@ -6803,140 +7452,137 @@ msgstr "$Projectname"
msgid "Welcome to %s"
msgstr "Bienvenue sur %s"
-#: ../../Zotlabs/Module/Filestorage.php:87
+#: ../../Zotlabs/Module/Filestorage.php:79
msgid "Permission Denied."
-msgstr "Permission refusée."
+msgstr "Accès refusé."
-#: ../../Zotlabs/Module/Filestorage.php:103
+#: ../../Zotlabs/Module/Filestorage.php:95
msgid "File not found."
msgstr "Fichier introuvable."
-#: ../../Zotlabs/Module/Filestorage.php:146
+#: ../../Zotlabs/Module/Filestorage.php:142
msgid "Edit file permissions"
-msgstr "Modifier les autorisations d'accès au fichier"
+msgstr "Modifier les droits d'accès au fichier"
-#: ../../Zotlabs/Module/Filestorage.php:159
+#: ../../Zotlabs/Module/Filestorage.php:154
msgid "Set/edit permissions"
-msgstr "Définir/modifier les autorisations"
+msgstr "Définir/modifier les droits d'accès"
-#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:155
msgid "Include all files and sub folders"
msgstr "Inclure tous fichiers et sous-répertoires"
-#: ../../Zotlabs/Module/Filestorage.php:161
+#: ../../Zotlabs/Module/Filestorage.php:156
msgid "Return to file list"
msgstr "Retourner à la liste des fichiers"
-#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Module/Filestorage.php:158
msgid "Copy/paste this code to attach file to a post"
msgstr "Copiez/collez ce code pour joindre le fichier à une publication"
-#: ../../Zotlabs/Module/Filestorage.php:164
+#: ../../Zotlabs/Module/Filestorage.php:159
msgid "Copy/paste this URL to link file from a web page"
msgstr "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web"
-#: ../../Zotlabs/Module/Filestorage.php:166
+#: ../../Zotlabs/Module/Filestorage.php:161
msgid "Share this file"
msgstr "Partager ce fichier"
-#: ../../Zotlabs/Module/Filestorage.php:167
+#: ../../Zotlabs/Module/Filestorage.php:162
msgid "Show URL to this file"
msgstr "Montrer l'URL de ce fichier"
-#: ../../Zotlabs/Module/Filestorage.php:168
-msgid "Notify your contacts about this file"
-msgstr "Notifier vos contacts à propos de ce fichier"
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397
+msgid "Show in your contacts shared folder"
+msgstr "Faire apparaître dans le dossier partagé de vos contacts"
#: ../../Zotlabs/Module/Common.php:14
msgid "No channel."
msgstr "Pas de canal."
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr "Contacts en commun"
-
-#: ../../Zotlabs/Module/Common.php:48
+#: ../../Zotlabs/Module/Common.php:45
msgid "No connections in common."
-msgstr "Pas de contacts en commun."
+msgstr "Pas de contact en commun."
+
+#: ../../Zotlabs/Module/Common.php:65
+msgid "View Common Connections"
+msgstr "Voir les connexions communes"
+
+#: ../../Zotlabs/Module/Email_resend.php:30
+msgid "Email verification resent"
+msgstr "Vérification de courriel renvoyé"
+
+#: ../../Zotlabs/Module/Email_resend.php:33
+msgid "Unable to resend email verification message."
+msgstr "Impossible de renvoyer le courriel de vérification."
#: ../../Zotlabs/Module/Viewconnections.php:65
msgid "No connections."
msgstr "Aucun contact."
-#: ../../Zotlabs/Module/Viewconnections.php:78
+#: ../../Zotlabs/Module/Viewconnections.php:83
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Visiter le profil de %s [%s]"
-#: ../../Zotlabs/Module/Viewconnections.php:107
+#: ../../Zotlabs/Module/Viewconnections.php:113
msgid "View Connections"
msgstr "Voir les contacts"
-#: ../../Zotlabs/Module/Admin.php:94
-msgid "# Accounts"
-msgstr "# Comptes"
-
-#: ../../Zotlabs/Module/Admin.php:95
-msgid "# blocked accounts"
-msgstr "# comptes bloqués"
-
-#: ../../Zotlabs/Module/Admin.php:96
-msgid "# expired accounts"
-msgstr "# comptes expirés"
-
#: ../../Zotlabs/Module/Admin.php:97
-msgid "# expiring accounts"
-msgstr "# comptes expirant"
+msgid "Blocked accounts"
+msgstr "Comptes bloqués"
-#: ../../Zotlabs/Module/Admin.php:108
-msgid "# Channels"
-msgstr "# Canaux"
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "Expired accounts"
+msgstr "Comptes expirés"
-#: ../../Zotlabs/Module/Admin.php:109
-msgid "# primary"
-msgstr "# primaire"
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "Expiring accounts"
+msgstr "Comptes arrivant à expiration"
-#: ../../Zotlabs/Module/Admin.php:110
-msgid "# clones"
-msgstr "# clones"
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "Clones"
+msgstr "Clones"
-#: ../../Zotlabs/Module/Admin.php:116
+#: ../../Zotlabs/Module/Admin.php:118
msgid "Message queues"
msgstr "File des messages"
-#: ../../Zotlabs/Module/Admin.php:133
+#: ../../Zotlabs/Module/Admin.php:132
msgid "Your software should be updated"
msgstr "Votre logiciel doit d'être mis à jour"
-#: ../../Zotlabs/Module/Admin.php:138
+#: ../../Zotlabs/Module/Admin.php:137
msgid "Summary"
msgstr "Résumé"
-#: ../../Zotlabs/Module/Admin.php:141
+#: ../../Zotlabs/Module/Admin.php:140
msgid "Registered accounts"
msgstr "Comptes enregistrés"
-#: ../../Zotlabs/Module/Admin.php:142
+#: ../../Zotlabs/Module/Admin.php:141
msgid "Pending registrations"
msgstr "Inscriptions en attente"
-#: ../../Zotlabs/Module/Admin.php:143
+#: ../../Zotlabs/Module/Admin.php:142
msgid "Registered channels"
msgstr "Canaux enregistrés"
-#: ../../Zotlabs/Module/Admin.php:144
+#: ../../Zotlabs/Module/Admin.php:143
msgid "Active plugins"
msgstr "Greffons actifs"
-#: ../../Zotlabs/Module/Admin.php:145
+#: ../../Zotlabs/Module/Admin.php:144
msgid "Version"
msgstr "Version"
-#: ../../Zotlabs/Module/Admin.php:146
+#: ../../Zotlabs/Module/Admin.php:145
msgid "Repository version (master)"
msgstr "Version du dépôt (maître)"
-#: ../../Zotlabs/Module/Admin.php:147
+#: ../../Zotlabs/Module/Admin.php:146
msgid "Repository version (dev)"
msgstr "Version du dépôt (développeur)"
@@ -6961,6 +7607,10 @@ msgstr "Evaluation (cette information est publique)"
msgid "Optionally explain your rating (this information is public)"
msgstr "Explication facultative de votre évaluation (cette information est publique)"
+#: ../../Zotlabs/Module/Card_edit.php:128
+msgid "Edit Card"
+msgstr "Modifier la carte"
+
#: ../../Zotlabs/Module/Lostpass.php:19
msgid "No valid account found."
msgstr "Aucun compte valide trouvé."
@@ -6985,7 +7635,7 @@ msgid ""
"Password reset failed."
msgstr "La demande n'a pas pu être vérifiée. (Peut-être l'avez vous déjà utilisée.) La réinitialisation a échoué."
-#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1639
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1598
msgid "Password Reset"
msgstr "Réinitialiser le mot de passe"
@@ -7030,223 +7680,251 @@ msgstr "Saisissez votre adresse de courriel, et validez, pour réinitialiser vot
msgid "Email Address"
msgstr "Adresse de courriel"
-#: ../../Zotlabs/Module/Lostpass.php:133
-msgid "Reset"
-msgstr "Réinitialiser"
+#: ../../Zotlabs/Module/Notifications.php:62
+#: ../../Zotlabs/Lib/ThreadItem.php:408
+msgid "Mark all seen"
+msgstr "Tout marquer comme vu"
+
+#: ../../Zotlabs/Lib/Techlevels.php:10
+msgid "0. Beginner/Basic"
+msgstr "0. Débutant/Simple"
+
+#: ../../Zotlabs/Lib/Techlevels.php:11
+msgid "1. Novice - not skilled but willing to learn"
+msgstr "1. Novice - pas expérimenté, mais prêt à apprendre"
+
+#: ../../Zotlabs/Lib/Techlevels.php:12
+msgid "2. Intermediate - somewhat comfortable"
+msgstr "2. Intermédiaire - assez à l'aise"
+
+#: ../../Zotlabs/Lib/Techlevels.php:13
+msgid "3. Advanced - very comfortable"
+msgstr "3. Avancé - très à l'aise"
-#: ../../Zotlabs/Module/Notifications.php:43 ../../include/nav.php:186
-msgid "Mark all system notifications seen"
-msgstr "Marquer toutes les notifications système comme vues"
+#: ../../Zotlabs/Lib/Techlevels.php:14
+msgid "4. Expert - I can write computer code"
+msgstr "4. Expert - Je sais programmer"
-#: ../../Zotlabs/Lib/Apps.php:212
+#: ../../Zotlabs/Lib/Techlevels.php:15
+msgid "5. Wizard - I probably know more than you do"
+msgstr "5. Crack - J'en sais probablement plus que vous"
+
+#: ../../Zotlabs/Lib/Apps.php:231
msgid "Site Admin"
msgstr "Administrateur"
-#: ../../Zotlabs/Lib/Apps.php:213 ../../addon/buglink/buglink.php:16
+#: ../../Zotlabs/Lib/Apps.php:232 ../../addon/buglink/buglink.php:16
msgid "Report Bug"
msgstr "Reporter des bogues"
-#: ../../Zotlabs/Lib/Apps.php:214
+#: ../../Zotlabs/Lib/Apps.php:233
msgid "View Bookmarks"
msgstr "Voir les marques-pages"
-#: ../../Zotlabs/Lib/Apps.php:215
+#: ../../Zotlabs/Lib/Apps.php:234
msgid "My Chatrooms"
msgstr "Mes salons de discussions"
-#: ../../Zotlabs/Lib/Apps.php:217
+#: ../../Zotlabs/Lib/Apps.php:236
msgid "Firefox Share"
msgstr "Partager via Firefox"
-#: ../../Zotlabs/Lib/Apps.php:218
+#: ../../Zotlabs/Lib/Apps.php:237
msgid "Remote Diagnostics"
msgstr "Diagnostiques à distance"
-#: ../../Zotlabs/Lib/Apps.php:219 ../../include/features.php:337
+#: ../../Zotlabs/Lib/Apps.php:238 ../../include/features.php:417
msgid "Suggest Channels"
msgstr "Suggérer des canaux"
-#: ../../Zotlabs/Lib/Apps.php:220 ../../boot.php:1631
-#: ../../include/nav.php:113
+#: ../../Zotlabs/Lib/Apps.php:239 ../../boot.php:1589
+#: ../../include/nav.php:126 ../../include/nav.php:130
msgid "Login"
msgstr "Connexion"
-#: ../../Zotlabs/Lib/Apps.php:222 ../../include/nav.php:172
-msgid "Grid"
-msgstr "Réseau"
+#: ../../Zotlabs/Lib/Apps.php:241
+msgid "Activity"
+msgstr "Activité"
-#: ../../Zotlabs/Lib/Apps.php:226 ../../include/conversation.php:1848
-#: ../../include/features.php:99
+#: ../../Zotlabs/Lib/Apps.php:245 ../../include/conversation.php:1931
+#: ../../include/features.php:96 ../../include/nav.php:497
msgid "Wiki"
msgstr "Wiki"
-#: ../../Zotlabs/Lib/Apps.php:227 ../../include/nav.php:176
+#: ../../Zotlabs/Lib/Apps.php:246
msgid "Channel Home"
msgstr "Mon canal"
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1793
-#: ../../include/conversation.php:1796 ../../include/nav.php:196
+#: ../../Zotlabs/Lib/Apps.php:249 ../../include/conversation.php:1853
+#: ../../include/conversation.php:1856
msgid "Events"
msgstr "Événements"
-#: ../../Zotlabs/Lib/Apps.php:231
+#: ../../Zotlabs/Lib/Apps.php:250
msgid "Directory"
msgstr "Annuaire"
-#: ../../Zotlabs/Lib/Apps.php:233 ../../include/nav.php:188
+#: ../../Zotlabs/Lib/Apps.php:252
msgid "Mail"
msgstr "Messages"
-#: ../../Zotlabs/Lib/Apps.php:236
+#: ../../Zotlabs/Lib/Apps.php:255
msgid "Chat"
msgstr "Clavardage"
-#: ../../Zotlabs/Lib/Apps.php:238
+#: ../../Zotlabs/Lib/Apps.php:257
msgid "Probe"
msgstr "Sonder"
-#: ../../Zotlabs/Lib/Apps.php:239
+#: ../../Zotlabs/Lib/Apps.php:258
msgid "Suggest"
msgstr "Suggérer"
-#: ../../Zotlabs/Lib/Apps.php:240
+#: ../../Zotlabs/Lib/Apps.php:259
msgid "Random Channel"
msgstr "Un canal au hasard"
-#: ../../Zotlabs/Lib/Apps.php:241
+#: ../../Zotlabs/Lib/Apps.php:260
msgid "Invite"
msgstr "Invitation"
-#: ../../Zotlabs/Lib/Apps.php:242 ../../Zotlabs/Widget/Admin.php:26
+#: ../../Zotlabs/Lib/Apps.php:261 ../../Zotlabs/Widget/Admin.php:26
msgid "Features"
msgstr "Fonctionalités"
-#: ../../Zotlabs/Lib/Apps.php:243 ../../addon/openid/MysqlProvider.php:69
+#: ../../Zotlabs/Lib/Apps.php:262 ../../addon/openid/MysqlProvider.php:69
msgid "Language"
msgstr "Langue"
-#: ../../Zotlabs/Lib/Apps.php:244
+#: ../../Zotlabs/Lib/Apps.php:263
msgid "Post"
msgstr "Envoyer"
-#: ../../Zotlabs/Lib/Apps.php:245 ../../addon/openid/MysqlProvider.php:58
+#: ../../Zotlabs/Lib/Apps.php:264 ../../addon/openid/MysqlProvider.php:58
#: ../../addon/openid/MysqlProvider.php:59
#: ../../addon/openid/MysqlProvider.php:60
msgid "Profile Photo"
msgstr "Photo du Profil"
-#: ../../Zotlabs/Lib/Apps.php:355
+#: ../../Zotlabs/Lib/Apps.php:407
msgid "Purchase"
msgstr "Acheter"
-#: ../../Zotlabs/Lib/Apps.php:359
+#: ../../Zotlabs/Lib/Apps.php:411
msgid "Undelete"
msgstr "Restaurer"
-#: ../../Zotlabs/Lib/Apps.php:364
+#: ../../Zotlabs/Lib/Apps.php:419
msgid "Add to app-tray"
-msgstr ""
+msgstr "Ajouter au menu des applications"
-#: ../../Zotlabs/Lib/Apps.php:365
+#: ../../Zotlabs/Lib/Apps.php:420
msgid "Remove from app-tray"
-msgstr ""
+msgstr "Enlever du menu des applications"
+
+#: ../../Zotlabs/Lib/Apps.php:421
+msgid "Pin to navbar"
+msgstr "Épingler à la barre de navigation"
-#: ../../Zotlabs/Lib/Permcat.php:58
+#: ../../Zotlabs/Lib/Apps.php:422
+msgid "Unpin from navbar"
+msgstr "Détacher de la barre de navigation"
+
+#: ../../Zotlabs/Lib/Permcat.php:82
msgctxt "permcat"
msgid "default"
msgstr "défaut"
-#: ../../Zotlabs/Lib/Permcat.php:96
+#: ../../Zotlabs/Lib/Permcat.php:133
msgctxt "permcat"
msgid "follower"
msgstr "abonné"
-#: ../../Zotlabs/Lib/Permcat.php:100
+#: ../../Zotlabs/Lib/Permcat.php:137
msgctxt "permcat"
msgid "contributor"
msgstr "contributeur"
-#: ../../Zotlabs/Lib/Permcat.php:104
+#: ../../Zotlabs/Lib/Permcat.php:141
msgctxt "permcat"
msgid "publisher"
msgstr "rédacteur"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:31
-#: ../../Zotlabs/Lib/NativeWikiPage.php:72
+#: ../../Zotlabs/Lib/NativeWikiPage.php:42
+#: ../../Zotlabs/Lib/NativeWikiPage.php:93
msgid "(No Title)"
msgstr "(Pas de titre)"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:86
+#: ../../Zotlabs/Lib/NativeWikiPage.php:107
msgid "Wiki page create failed."
msgstr "Échec de création de la page wiki."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:99
+#: ../../Zotlabs/Lib/NativeWikiPage.php:120
msgid "Wiki not found."
msgstr "Wiki introuvable."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:110
+#: ../../Zotlabs/Lib/NativeWikiPage.php:131
msgid "Destination name already exists"
-msgstr "Le nom de destination est déjà pris"
+msgstr "Ce nom de destination est déjà pris"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:136
-#: ../../Zotlabs/Lib/NativeWikiPage.php:331
+#: ../../Zotlabs/Lib/NativeWikiPage.php:163
+#: ../../Zotlabs/Lib/NativeWikiPage.php:359
msgid "Page not found"
msgstr "Page introuvable"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:166
+#: ../../Zotlabs/Lib/NativeWikiPage.php:194
msgid "Error reading page content"
msgstr "Erreur de lecture du contenu de la page"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:322
-#: ../../Zotlabs/Lib/NativeWikiPage.php:370
-#: ../../Zotlabs/Lib/NativeWikiPage.php:437
-#: ../../Zotlabs/Lib/NativeWikiPage.php:478
+#: ../../Zotlabs/Lib/NativeWikiPage.php:350
+#: ../../Zotlabs/Lib/NativeWikiPage.php:400
+#: ../../Zotlabs/Lib/NativeWikiPage.php:467
+#: ../../Zotlabs/Lib/NativeWikiPage.php:508
msgid "Error reading wiki"
msgstr "Erreur de lecture du wiki"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:358
+#: ../../Zotlabs/Lib/NativeWikiPage.php:388
msgid "Page update failed."
msgstr "Echec de modification de la page."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:392
+#: ../../Zotlabs/Lib/NativeWikiPage.php:422
msgid "Nothing deleted"
msgstr "Rien n'a été supprimé"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:458
+#: ../../Zotlabs/Lib/NativeWikiPage.php:488
msgid "Compare: object not found."
msgstr "Comparaison&nbsp;: objet introuvable."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:464
+#: ../../Zotlabs/Lib/NativeWikiPage.php:494
msgid "Page updated"
msgstr "Page modifiée"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:467
+#: ../../Zotlabs/Lib/NativeWikiPage.php:497
msgid "Untitled"
msgstr "Sans titre"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:473
+#: ../../Zotlabs/Lib/NativeWikiPage.php:503
msgid "Wiki resource_id required for git commit"
msgstr "\"resource_id\" du wiki nécessaire pour l'enregistrement dans git."
-#: ../../Zotlabs/Lib/NativeWikiPage.php:529
+#: ../../Zotlabs/Lib/NativeWikiPage.php:559
#: ../../Zotlabs/Widget/Wiki_page_history.php:23
msgctxt "wiki_history"
msgid "Message"
msgstr "Message"
-#: ../../Zotlabs/Lib/NativeWikiPage.php:567
-#: ../../addon/gitwiki/gitwiki_backend.php:579 ../../include/bbcode.php:610
-#: ../../include/bbcode.php:756
+#: ../../Zotlabs/Lib/NativeWikiPage.php:597 ../../include/bbcode.php:744
+#: ../../include/bbcode.php:914
msgid "Different viewers will see this text differently"
msgstr "Ce texte aura un rendu différent en fonction des utilisateurs"
#: ../../Zotlabs/Lib/PermissionDescription.php:34
-#: ../../include/acl_selectors.php:128
+#: ../../include/acl_selectors.php:33
msgid "Visible to your default audience"
msgstr "Visible pour vos contacts seulement"
#: ../../Zotlabs/Lib/PermissionDescription.php:107
-#: ../../include/acl_selectors.php:201
+#: ../../include/acl_selectors.php:106
msgid "Only me"
msgstr "Seulement moi"
@@ -7265,11 +7943,11 @@ msgstr "N'importe quel compte sur %s"
#: ../../Zotlabs/Lib/PermissionDescription.php:111
msgid "Any of my connections"
-msgstr "N'importe laquelle de mes connexions"
+msgstr "N'importe lequel de mes contacts"
#: ../../Zotlabs/Lib/PermissionDescription.php:112
msgid "Only connections I specifically allow"
-msgstr "Uniquement les connexions que j'ai expréssément autorisées"
+msgstr "Uniquement les contacts que j'ai expressément autorisés"
#: ../../Zotlabs/Lib/PermissionDescription.php:113
msgid "Anybody authenticated (could include visitors from other networks)"
@@ -7277,7 +7955,7 @@ msgstr "N'importe qui d'authentifié (cela peut inclure des visiteurs d'autres r
#: ../../Zotlabs/Lib/PermissionDescription.php:114
msgid "Any connections including those who haven't yet been approved"
-msgstr "N'importe quelle connexions, y compris celles qui n'ont pas encore été approuvées"
+msgstr "N'importe quel contact, y compris ceux qui n'ont pas encore été validés"
#: ../../Zotlabs/Lib/PermissionDescription.php:150
msgid ""
@@ -7292,7 +7970,7 @@ msgstr "Ceci est votre réglage par défaut à propos de qui peut voir votre can
#: ../../Zotlabs/Lib/PermissionDescription.php:152
msgid "This is your default setting for who can view your connections"
-msgstr "Ceci est votre réglage par défaut à propos de qui peut voir vos relations."
+msgstr "Ceci est votre réglage par défaut à propos de qui peut voir vos contacts."
#: ../../Zotlabs/Lib/PermissionDescription.php:153
msgid ""
@@ -7303,544 +7981,687 @@ msgstr "Ceci est votre réglage par défaut à propos de qui peut voir vos fichi
msgid "This is your default setting for the audience of your webpages"
msgstr "Ceci est votre réglage par défaut de l'audience de vos pages web."
-#: ../../Zotlabs/Lib/Chatroom.php:27
+#: ../../Zotlabs/Lib/Chatroom.php:23
msgid "Missing room name"
msgstr "Il manque le nom du salon"
-#: ../../Zotlabs/Lib/Chatroom.php:36
+#: ../../Zotlabs/Lib/Chatroom.php:32
msgid "Duplicate room name"
msgstr "Un salon avec ce nom existe déjà"
-#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
+#: ../../Zotlabs/Lib/Chatroom.php:82 ../../Zotlabs/Lib/Chatroom.php:90
msgid "Invalid room specifier."
msgstr "Identifiant de salon invalide."
-#: ../../Zotlabs/Lib/Chatroom.php:126
+#: ../../Zotlabs/Lib/Chatroom.php:122
msgid "Room not found."
msgstr "Salon introuvable."
-#: ../../Zotlabs/Lib/Chatroom.php:147
+#: ../../Zotlabs/Lib/Chatroom.php:143
msgid "Room is full"
msgstr "Le salon est plein"
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1947
+#: ../../Zotlabs/Lib/Enotify.php:60
msgid "$Projectname Notification"
msgstr "Notification $Projectname"
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../addon/diaspora/util.php:218
-#: ../../addon/diaspora/util.php:231 ../../addon/diaspora/p.php:46
-#: ../../include/network.php:1948
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../addon/diaspora/util.php:308
+#: ../../addon/diaspora/util.php:321 ../../addon/diaspora/p.php:48
msgid "$projectname"
msgstr "$projectname"
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1950
+#: ../../Zotlabs/Lib/Enotify.php:63
msgid "Thank You,"
msgstr "Merci,"
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1952
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../addon/hubwall/hubwall.php:33
#, php-format
msgid "%s Administrator"
msgstr "l'administrateur de %s"
-#: ../../Zotlabs/Lib/Enotify.php:116
+#: ../../Zotlabs/Lib/Enotify.php:66
+#, php-format
+msgid "This email was sent by %1$s at %2$s."
+msgstr "Cet courriel a été envoyé par %1$s à %2$s."
+
+#: ../../Zotlabs/Lib/Enotify.php:67
+#, php-format
+msgid ""
+"To stop receiving these messages, please adjust your Notification Settings "
+"at %s"
+msgstr "Pour ne plus recevoir ces messages, veuillez ajuster vos paramètres de notification à %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:68
+#, php-format
+msgid "To stop receiving these messages, please adjust your %s."
+msgstr "Pour ne plus recevoir ces messages, veuillez ajuster votre %s."
+
+#: ../../Zotlabs/Lib/Enotify.php:123
#, php-format
msgid "%s <!item_type!>"
msgstr "%s <!item_type!>"
-#: ../../Zotlabs/Lib/Enotify.php:120
+#: ../../Zotlabs/Lib/Enotify.php:127
#, php-format
msgid "[$Projectname:Notify] New mail received at %s"
msgstr "[$Projectname:Notify] Nouveau mail reçu sur %s"
-#: ../../Zotlabs/Lib/Enotify.php:122
+#: ../../Zotlabs/Lib/Enotify.php:129
#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, vous avez reçu un message privé sur %3$s, de la part de %2$s."
+msgid "%1$s sent you a new private message at %2$s."
+msgstr "%1$s vous a envoyé un nouveau message privé à %2$s."
-#: ../../Zotlabs/Lib/Enotify.php:123
+#: ../../Zotlabs/Lib/Enotify.php:130
#, php-format
msgid "%1$s sent you %2$s."
msgstr "%1$s vous a envoyé %2$s."
-#: ../../Zotlabs/Lib/Enotify.php:123
+#: ../../Zotlabs/Lib/Enotify.php:130
msgid "a private message"
msgstr "un message privé"
-#: ../../Zotlabs/Lib/Enotify.php:124
+#: ../../Zotlabs/Lib/Enotify.php:131
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr "Merci de visiter %s pour voir et/ou répondre à vos messages privés."
-#: ../../Zotlabs/Lib/Enotify.php:183
+#: ../../Zotlabs/Lib/Enotify.php:144
+msgid "commented on"
+msgstr "commenté"
+
+#: ../../Zotlabs/Lib/Enotify.php:155
+msgid "liked"
+msgstr "aimé"
+
+#: ../../Zotlabs/Lib/Enotify.php:158
+msgid "disliked"
+msgstr "pas aimé"
+
+#: ../../Zotlabs/Lib/Enotify.php:201
#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%4$s[/zrl]"
+msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:191
+#: ../../Zotlabs/Lib/Enotify.php:209
#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s a commenté sur [zrl=%3$s]%5$s de %4$s[/zrl]"
+msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s %2$s [zrl=%3$s]%4$s de %5$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:200
+#: ../../Zotlabs/Lib/Enotify.php:218
#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s a commenté [zrl=%3$s]votre %4$s[/zrl]"
+msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s %2$s [zrl=%3$s]votre %4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:211
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notification] Commentaire modéré pour la conversation n°%1$d par %2$s"
+
+#: ../../Zotlabs/Lib/Enotify.php:232
#, php-format
msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
msgstr "[$Projectname:Notify] Commentaire effectué sur la conversation #%1$d par %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:212
+#: ../../Zotlabs/Lib/Enotify.php:233
#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s a commenté un élément de conversation que vous suivez."
+msgid "%1$s commented on an item/conversation you have been following."
+msgstr "%1$sa commenté un élément ou une conversation que vous suivez."
-#: ../../Zotlabs/Lib/Enotify.php:215 ../../Zotlabs/Lib/Enotify.php:292
-#: ../../Zotlabs/Lib/Enotify.php:309 ../../Zotlabs/Lib/Enotify.php:335
-#: ../../Zotlabs/Lib/Enotify.php:353 ../../Zotlabs/Lib/Enotify.php:367
+#: ../../Zotlabs/Lib/Enotify.php:236 ../../Zotlabs/Lib/Enotify.php:317
+#: ../../Zotlabs/Lib/Enotify.php:333 ../../Zotlabs/Lib/Enotify.php:358
+#: ../../Zotlabs/Lib/Enotify.php:375 ../../Zotlabs/Lib/Enotify.php:388
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr "Merci de visiter %s pour voir et/ou répondre sur cette conversation."
-#: ../../Zotlabs/Lib/Enotify.php:273
+#: ../../Zotlabs/Lib/Enotify.php:240 ../../Zotlabs/Lib/Enotify.php:241
+#, php-format
+msgid "Please visit %s to approve or reject this comment."
+msgstr "Merci de visiter %spour valider ou rejeter ce commentaire."
+
+#: ../../Zotlabs/Lib/Enotify.php:299
#, php-format
-msgid "%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s aiment [zrl=%3$s]votre %4$s[/zrl]"
+msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]"
+msgstr "%1$s aime [zrl=%2$s]votre %3$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:288
+#: ../../Zotlabs/Lib/Enotify.php:313
#, php-format
msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
msgstr "[$Projectname:Notify] Aime reçu à la convesation #%1$d par %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:289
+#: ../../Zotlabs/Lib/Enotify.php:314
#, php-format
-msgid "%1$s, %2$s liked an item/conversation you created."
-msgstr "%1$s, %2$s a aimé un élément ou une conversation que vous avez créée."
+msgid "%1$s liked an item/conversation you created."
+msgstr "%1$sa commenté un élément ou une conversation que vous avez créée "
-#: ../../Zotlabs/Lib/Enotify.php:300
+#: ../../Zotlabs/Lib/Enotify.php:325
#, php-format
msgid "[$Projectname:Notify] %s posted to your profile wall"
msgstr "[$Projectname:Notify] %s a publié sur le mur de votre profil"
-#: ../../Zotlabs/Lib/Enotify.php:302
+#: ../../Zotlabs/Lib/Enotify.php:327
#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s a publié sur votre profil à %3$s"
+msgid "%1$s posted to your profile wall at %2$s"
+msgstr "%1$s a posté sur le mur de votre profil à %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:304
+#: ../../Zotlabs/Lib/Enotify.php:329
#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s a publié sur [zrl=%3$s]votre profil[/zrl]"
+msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]"
+msgstr "%1$s envoyé à [zrl=%2$s]votre mur[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:328
+#: ../../Zotlabs/Lib/Enotify.php:352
#, php-format
msgid "[$Projectname:Notify] %s tagged you"
msgstr "[$Projectname:Notify] %s vous a étiquetté"
-#: ../../Zotlabs/Lib/Enotify.php:329
+#: ../../Zotlabs/Lib/Enotify.php:353
#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, vous avez été étiqueté sur %3$s par %2$s"
+msgid "%1$s tagged you at %2$s"
+msgstr "%1$s vous a étiqueté à %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:330
+#: ../../Zotlabs/Lib/Enotify.php:354
#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]vous a étiqueté[/zrl]."
+msgid "%1$s [zrl=%2$s]tagged you[/zrl]."
+msgstr "%1$s [zrl=%2$s]vous a étiqueté[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:342
+#: ../../Zotlabs/Lib/Enotify.php:365
#, php-format
msgid "[$Projectname:Notify] %1$s poked you"
msgstr "[$Projectname:Notify] %1$s vous a poké"
-#: ../../Zotlabs/Lib/Enotify.php:343
+#: ../../Zotlabs/Lib/Enotify.php:366
#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s vous a tapoté sur %3$s"
+msgid "%1$s poked you at %2$s"
+msgstr "%1$s vous a tapoté à %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:344
+#: ../../Zotlabs/Lib/Enotify.php:367
#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]vous a tapoté[/zrl]."
+msgid "%1$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s [zrl=%2$s]vous a tapoté[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:360
+#: ../../Zotlabs/Lib/Enotify.php:382
#, php-format
msgid "[$Projectname:Notify] %s tagged your post"
msgstr "[$Projectname:Notify] %s a étiquetté votre publication"
-#: ../../Zotlabs/Lib/Enotify.php:361
+#: ../../Zotlabs/Lib/Enotify.php:383
#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s a étiqueté votre publication sur %3$s"
+msgid "%1$s tagged your post at %2$s"
+msgstr "%1$s a étiqueté votre message à %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:362
+#: ../../Zotlabs/Lib/Enotify.php:384
#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s a étiqueté [zrl=%3$s]votre publication[/zrl]"
+msgid "%1$s tagged [zrl=%2$s]your post[/zrl]"
+msgstr "%1$s a étiqueté [zrl=%2$s]votre message[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:374
+#: ../../Zotlabs/Lib/Enotify.php:395
msgid "[$Projectname:Notify] Introduction received"
msgstr "[$Projectname:Notify] Demande de relation reçue"
-#: ../../Zotlabs/Lib/Enotify.php:375
+#: ../../Zotlabs/Lib/Enotify.php:396
#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, vous avez reçu une demande de contact de '%2$s' sur %3$s"
+msgid "You've received an new connection request from '%1$s' at %2$s"
+msgstr "Vous avez reçu une nouvelle demande de connexion de la part de '%1$s' à %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:376
+#: ../../Zotlabs/Lib/Enotify.php:397
#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, vous avez reçu [zrl=%2$s]une demande de contact[/zrl] de %3$s."
+msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s."
+msgstr "Vous avez reçu [zrl=%1$s]une nouvelle demande de connexion[/zrl] de la part de %2$s."
-#: ../../Zotlabs/Lib/Enotify.php:380 ../../Zotlabs/Lib/Enotify.php:399
+#: ../../Zotlabs/Lib/Enotify.php:400 ../../Zotlabs/Lib/Enotify.php:418
#, php-format
msgid "You may visit their profile at %s"
msgstr "Vous pouvez visiter leur profil sur %s"
-#: ../../Zotlabs/Lib/Enotify.php:382
+#: ../../Zotlabs/Lib/Enotify.php:402
#, php-format
msgid "Please visit %s to approve or reject the connection request."
-msgstr "Merci de visiter %s avant d'approuver (ou non) cette demande de contact."
+msgstr "Merci de visiter %s pour valider (ou non) cette demande de contact."
-#: ../../Zotlabs/Lib/Enotify.php:389
+#: ../../Zotlabs/Lib/Enotify.php:409
msgid "[$Projectname:Notify] Friend suggestion received"
msgstr "[$Projectname:Notify] Suggestion d'amitié reçue"
-#: ../../Zotlabs/Lib/Enotify.php:390
+#: ../../Zotlabs/Lib/Enotify.php:410
#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, vous avez reçu une suggestion d'ami(e) de '%2$s' à %3$s"
+msgid "You've received a friend suggestion from '%1$s' at %2$s"
+msgstr "Vous avez reçu une suggestion d'ami de la part de '%1$s' à %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:391
+#: ../../Zotlabs/Lib/Enotify.php:411
#, php-format
msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, avez reçu %3$s comme [zrl=%2$s]une suggestion d'ami(e)[/zrl] de %4$s."
+"You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s."
+msgstr "Vous avez reçu [zrl=%1$s]une suggestion d'ami[/zrl] pour %2$s de %3$s."
-#: ../../Zotlabs/Lib/Enotify.php:397
+#: ../../Zotlabs/Lib/Enotify.php:416
msgid "Name:"
msgstr "Nom&nbsp;:"
-#: ../../Zotlabs/Lib/Enotify.php:398
+#: ../../Zotlabs/Lib/Enotify.php:417
msgid "Photo:"
msgstr "Photo&nbsp;:"
-#: ../../Zotlabs/Lib/Enotify.php:401
+#: ../../Zotlabs/Lib/Enotify.php:420
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Merci de visiter %s pour donner suite (ou non) à cette suggestion."
+msgstr "Merci de visiter %s pour valider ou rejeter cette suggestion."
-#: ../../Zotlabs/Lib/Enotify.php:619
+#: ../../Zotlabs/Lib/Enotify.php:640
msgid "[$Projectname:Notify]"
msgstr "[$Projectname:Notify]"
-#: ../../Zotlabs/Lib/Enotify.php:779
+#: ../../Zotlabs/Lib/Enotify.php:808
msgid "created a new post"
msgstr "a publié un nouveau message"
-#: ../../Zotlabs/Lib/Enotify.php:780
+#: ../../Zotlabs/Lib/Enotify.php:809
#, php-format
msgid "commented on %s's post"
msgstr "a commenté la publication de %s"
-#: ../../Zotlabs/Lib/NativeWiki.php:128
+#: ../../Zotlabs/Lib/Enotify.php:816
+#, php-format
+msgid "edited a post dated %s"
+msgstr "a édité un post daté du %s"
+
+#: ../../Zotlabs/Lib/Enotify.php:820
+#, php-format
+msgid "edited a comment dated %s"
+msgstr "a édité un commentaire daté du %s"
+
+#: ../../Zotlabs/Lib/NativeWiki.php:151
+msgid "Wiki updated successfully"
+msgstr "Wiki mis à jour avec succès"
+
+#: ../../Zotlabs/Lib/NativeWiki.php:198
msgid "Wiki files deleted successfully"
msgstr "Fichiers du wiki supprimés avec succès"
-#: ../../Zotlabs/Lib/DB_Upgrade.php:93
+#: ../../Zotlabs/Lib/DB_Upgrade.php:83
#, php-format
msgid "Update Error at %s"
msgstr "Erreur de mise à jour sur %s"
-#: ../../Zotlabs/Lib/DB_Upgrade.php:99
+#: ../../Zotlabs/Lib/DB_Upgrade.php:89
#, php-format
msgid "Update %s failed. See error logs."
msgstr "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur."
-#: ../../Zotlabs/Lib/ThreadItem.php:96 ../../include/conversation.php:661
+#: ../../Zotlabs/Lib/ThreadItem.php:97 ../../include/conversation.php:697
msgid "Private Message"
msgstr "Message Privé"
-#: ../../Zotlabs/Lib/ThreadItem.php:133 ../../include/conversation.php:653
+#: ../../Zotlabs/Lib/ThreadItem.php:147 ../../include/conversation.php:689
msgid "Select"
msgstr "Sélectionner"
-#: ../../Zotlabs/Lib/ThreadItem.php:158
+#: ../../Zotlabs/Lib/ThreadItem.php:172
msgid "I will attend"
msgstr "Je participerai"
-#: ../../Zotlabs/Lib/ThreadItem.php:158
+#: ../../Zotlabs/Lib/ThreadItem.php:172
msgid "I will not attend"
msgstr "Je ne participerai pas"
-#: ../../Zotlabs/Lib/ThreadItem.php:158
+#: ../../Zotlabs/Lib/ThreadItem.php:172
msgid "I might attend"
msgstr "Je participerai peut-être"
-#: ../../Zotlabs/Lib/ThreadItem.php:168
+#: ../../Zotlabs/Lib/ThreadItem.php:182
msgid "I agree"
msgstr "Je suis d'accord"
-#: ../../Zotlabs/Lib/ThreadItem.php:168
+#: ../../Zotlabs/Lib/ThreadItem.php:182
msgid "I disagree"
msgstr "Je ne suis pas d'accord"
-#: ../../Zotlabs/Lib/ThreadItem.php:168
+#: ../../Zotlabs/Lib/ThreadItem.php:182
msgid "I abstain"
msgstr "Je m'abstiens"
-#: ../../Zotlabs/Lib/ThreadItem.php:224
+#: ../../Zotlabs/Lib/ThreadItem.php:238
msgid "Add Star"
msgstr "Mettre de côté (étoile)"
-#: ../../Zotlabs/Lib/ThreadItem.php:225
+#: ../../Zotlabs/Lib/ThreadItem.php:239
msgid "Remove Star"
msgstr "Ne plus mettre de côté"
-#: ../../Zotlabs/Lib/ThreadItem.php:226
+#: ../../Zotlabs/Lib/ThreadItem.php:240
msgid "Toggle Star Status"
msgstr "(Dés)activer l'étoile"
-#: ../../Zotlabs/Lib/ThreadItem.php:230
+#: ../../Zotlabs/Lib/ThreadItem.php:244
msgid "starred"
msgstr "mis de côté"
-#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:668
+#: ../../Zotlabs/Lib/ThreadItem.php:254 ../../include/conversation.php:704
msgid "Message signature validated"
msgstr "Signature du message validée"
-#: ../../Zotlabs/Lib/ThreadItem.php:241 ../../include/conversation.php:669
+#: ../../Zotlabs/Lib/ThreadItem.php:255 ../../include/conversation.php:705
msgid "Message signature incorrect"
msgstr "Signature du message incorrecte"
-#: ../../Zotlabs/Lib/ThreadItem.php:249
+#: ../../Zotlabs/Lib/ThreadItem.php:263
msgid "Add Tag"
msgstr "Ajouter une étiquette"
-#: ../../Zotlabs/Lib/ThreadItem.php:269 ../../include/taxonomy.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:514
msgid "like"
msgstr "aiment"
-#: ../../Zotlabs/Lib/ThreadItem.php:270 ../../include/taxonomy.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:515
msgid "dislike"
msgstr "n'aiment pas"
-#: ../../Zotlabs/Lib/ThreadItem.php:274
+#: ../../Zotlabs/Lib/ThreadItem.php:286
msgid "Share This"
msgstr "Partager"
-#: ../../Zotlabs/Lib/ThreadItem.php:274
+#: ../../Zotlabs/Lib/ThreadItem.php:286
msgid "share"
msgstr "partager"
-#: ../../Zotlabs/Lib/ThreadItem.php:283
+#: ../../Zotlabs/Lib/ThreadItem.php:295
msgid "Delivery Report"
msgstr "Rapport de distribution"
-#: ../../Zotlabs/Lib/ThreadItem.php:301
+#: ../../Zotlabs/Lib/ThreadItem.php:313
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d commentaire"
msgstr[1] "%d commentaires"
-#: ../../Zotlabs/Lib/ThreadItem.php:330 ../../Zotlabs/Lib/ThreadItem.php:331
+#: ../../Zotlabs/Lib/ThreadItem.php:343 ../../Zotlabs/Lib/ThreadItem.php:344
#, php-format
msgid "View %s's profile - %s"
msgstr "Voir le profil de %s - %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:334
+#: ../../Zotlabs/Lib/ThreadItem.php:347
msgid "to"
msgstr "à"
-#: ../../Zotlabs/Lib/ThreadItem.php:335
+#: ../../Zotlabs/Lib/ThreadItem.php:348
msgid "via"
msgstr "via"
-#: ../../Zotlabs/Lib/ThreadItem.php:336
+#: ../../Zotlabs/Lib/ThreadItem.php:349
msgid "Wall-to-Wall"
msgstr "Mur-à-mur"
-#: ../../Zotlabs/Lib/ThreadItem.php:337
+#: ../../Zotlabs/Lib/ThreadItem.php:350
msgid "via Wall-To-Wall:"
msgstr "par Mur-à-mur&nbsp;:"
-#: ../../Zotlabs/Lib/ThreadItem.php:350 ../../include/conversation.php:718
+#: ../../Zotlabs/Lib/ThreadItem.php:363 ../../include/conversation.php:763
#, php-format
msgid "from %s"
msgstr "de %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:353 ../../include/conversation.php:721
+#: ../../Zotlabs/Lib/ThreadItem.php:366 ../../include/conversation.php:766
#, php-format
msgid "last edited: %s"
msgstr "dernière modification&nbsp;: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:354 ../../include/conversation.php:722
+#: ../../Zotlabs/Lib/ThreadItem.php:367 ../../include/conversation.php:767
#, php-format
msgid "Expires: %s"
msgstr "Expire&nbsp;: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:360
+#: ../../Zotlabs/Lib/ThreadItem.php:374
msgid "Attend"
msgstr "En attente"
-#: ../../Zotlabs/Lib/ThreadItem.php:361
+#: ../../Zotlabs/Lib/ThreadItem.php:375
msgid "Attendance Options"
msgstr "Options d'attente"
-#: ../../Zotlabs/Lib/ThreadItem.php:362
+#: ../../Zotlabs/Lib/ThreadItem.php:376
msgid "Vote"
msgstr "Vote"
-#: ../../Zotlabs/Lib/ThreadItem.php:363
+#: ../../Zotlabs/Lib/ThreadItem.php:377
msgid "Voting Options"
msgstr "Options de vote"
-#: ../../Zotlabs/Lib/ThreadItem.php:384
+#: ../../Zotlabs/Lib/ThreadItem.php:398
#: ../../addon/bookmarker/bookmarker.php:38
msgid "Save Bookmarks"
msgstr "Enregistrer les favoris"
-#: ../../Zotlabs/Lib/ThreadItem.php:385
+#: ../../Zotlabs/Lib/ThreadItem.php:399
msgid "Add to Calendar"
msgstr "Ajouter au Calendrier"
-#: ../../Zotlabs/Lib/ThreadItem.php:394
-msgid "Mark all seen"
-msgstr "Tout marquer comme vu"
+#: ../../Zotlabs/Lib/ThreadItem.php:426 ../../include/conversation.php:483
+msgid "This is an unsaved preview"
+msgstr "Il s'agit d'une prévisualisation non sauvegardée."
-#: ../../Zotlabs/Lib/ThreadItem.php:443 ../../include/js_strings.php:7
+#: ../../Zotlabs/Lib/ThreadItem.php:458 ../../include/js_strings.php:7
#, php-format
msgid "%s show all"
msgstr "%s montre tout"
-#: ../../Zotlabs/Lib/ThreadItem.php:733 ../../include/conversation.php:1318
+#: ../../Zotlabs/Lib/ThreadItem.php:753 ../../include/conversation.php:1380
msgid "Bold"
msgstr "Gras"
-#: ../../Zotlabs/Lib/ThreadItem.php:734 ../../include/conversation.php:1319
+#: ../../Zotlabs/Lib/ThreadItem.php:754 ../../include/conversation.php:1381
msgid "Italic"
msgstr "Italique"
-#: ../../Zotlabs/Lib/ThreadItem.php:735 ../../include/conversation.php:1320
+#: ../../Zotlabs/Lib/ThreadItem.php:755 ../../include/conversation.php:1382
msgid "Underline"
msgstr "Souligné"
-#: ../../Zotlabs/Lib/ThreadItem.php:736 ../../include/conversation.php:1321
+#: ../../Zotlabs/Lib/ThreadItem.php:756 ../../include/conversation.php:1383
msgid "Quote"
msgstr "Citation"
-#: ../../Zotlabs/Lib/ThreadItem.php:737 ../../include/conversation.php:1322
+#: ../../Zotlabs/Lib/ThreadItem.php:757 ../../include/conversation.php:1384
msgid "Code"
msgstr "Code"
-#: ../../Zotlabs/Lib/ThreadItem.php:738
+#: ../../Zotlabs/Lib/ThreadItem.php:758
msgid "Image"
msgstr "Image"
-#: ../../Zotlabs/Lib/ThreadItem.php:739
+#: ../../Zotlabs/Lib/ThreadItem.php:759
+msgid "Attach File"
+msgstr "Joindre fichier"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:760
msgid "Insert Link"
msgstr "Insérer un lien"
-#: ../../Zotlabs/Lib/ThreadItem.php:740
+#: ../../Zotlabs/Lib/ThreadItem.php:761
msgid "Video"
msgstr "Vidéo"
-#: ../../Zotlabs/Zot/Auth.php:138
+#: ../../Zotlabs/Lib/ThreadItem.php:771
+msgid "Your full name (required)"
+msgstr "Votre nom complet (obligatoire)"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:772
+msgid "Your email address (required)"
+msgstr "Votre adresse de courriel (obligatoire)"
+
+#: ../../Zotlabs/Lib/ThreadItem.php:773
+msgid "Your website URL (optional)"
+msgstr "L'adresse de votre site web (optionelle)"
+
+#: ../../Zotlabs/Zot/Auth.php:152
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
" logout and retry."
msgstr "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer."
-#: ../../Zotlabs/Zot/Auth.php:250 ../../addon/openid/Mod_Openid.php:76
+#: ../../Zotlabs/Zot/Auth.php:264 ../../addon/openid/Mod_Openid.php:76
#: ../../addon/openid/Mod_Openid.php:178
#, php-format
msgid "Welcome %s. Remote authentication successful."
msgstr "Bienvenue %s. L'authentification distante a fonctionné."
-#: ../../Zotlabs/Storage/Browser.php:106 ../../Zotlabs/Storage/Browser.php:237
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:287
msgid "parent"
msgstr "retour"
-#: ../../Zotlabs/Storage/Browser.php:130 ../../include/text.php:2687
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2828
msgid "Collection"
msgstr "Groupe de contacts"
-#: ../../Zotlabs/Storage/Browser.php:133
+#: ../../Zotlabs/Storage/Browser.php:134
msgid "Principal"
msgstr "Principal"
-#: ../../Zotlabs/Storage/Browser.php:136
+#: ../../Zotlabs/Storage/Browser.php:137
msgid "Addressbook"
msgstr "Carnet d'adresse"
-#: ../../Zotlabs/Storage/Browser.php:139
+#: ../../Zotlabs/Storage/Browser.php:140 ../../include/nav.php:420
+#: ../../include/nav.php:423
msgid "Calendar"
msgstr "Calendrier"
-#: ../../Zotlabs/Storage/Browser.php:142
+#: ../../Zotlabs/Storage/Browser.php:143
msgid "Schedule Inbox"
msgstr "Calendrier - Messages entrants"
-#: ../../Zotlabs/Storage/Browser.php:145
+#: ../../Zotlabs/Storage/Browser.php:146
msgid "Schedule Outbox"
msgstr "Calendrier - Messages sortants"
-#: ../../Zotlabs/Storage/Browser.php:225
+#: ../../Zotlabs/Storage/Browser.php:273
msgid "Total"
msgstr "Total"
-#: ../../Zotlabs/Storage/Browser.php:227
+#: ../../Zotlabs/Storage/Browser.php:275
msgid "Shared"
msgstr "Partagé"
-#: ../../Zotlabs/Storage/Browser.php:301
+#: ../../Zotlabs/Storage/Browser.php:277
+msgid "Add Files"
+msgstr "Ajouter des fichiers"
+
+#: ../../Zotlabs/Storage/Browser.php:353
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Vous utilisez %1$s de votre espace de stockage."
-#: ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Storage/Browser.php:358
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Vous utilisez %1$s sur %2$s d'espace disponible. (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:317
+#: ../../Zotlabs/Storage/Browser.php:369
msgid "WARNING:"
msgstr "AVERTISSEMENT&nbsp;:"
-#: ../../Zotlabs/Storage/Browser.php:327
-msgid ""
-"Please use DAV to upload large (video, audio) files.<br>See <a class=\"zrl\""
-" href=\"help/member/member_guide#Cloud_Desktop_Clients\">Cloud Desktop "
-"Clients</a>"
-msgstr ""
-
-#: ../../Zotlabs/Storage/Browser.php:331
+#: ../../Zotlabs/Storage/Browser.php:381
msgid "Create new folder"
msgstr "Nouveau dossier"
-#: ../../Zotlabs/Storage/Browser.php:333
+#: ../../Zotlabs/Storage/Browser.php:383
msgid "Upload file"
msgstr "Téléverser un fichier"
-#: ../../Zotlabs/Storage/Browser.php:347
+#: ../../Zotlabs/Storage/Browser.php:396
msgid "Drop files here to immediately upload"
msgstr "Mettez un fichier ici pour le télécharger immédiatement"
-#: ../../Zotlabs/Widget/Forums.php:85
+#: ../../Zotlabs/Widget/Forums.php:100
msgid "Forums"
msgstr "Forums"
-#: ../../Zotlabs/Widget/Appcategories.php:39
-#: ../../Zotlabs/Widget/Tagcloud.php:25 ../../include/contact_widgets.php:91
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../Zotlabs/Widget/Cdav.php:37
+msgid "Select Channel"
+msgstr "Sélectionner un canal"
+
+#: ../../Zotlabs/Widget/Cdav.php:42
+msgid "Read-write"
+msgstr "Lire et écrire"
+
+#: ../../Zotlabs/Widget/Cdav.php:43
+msgid "Read-only"
+msgstr "Lire uniquement"
+
+#: ../../Zotlabs/Widget/Cdav.php:117
+msgid "My Calendars"
+msgstr "Mes agendas"
+
+#: ../../Zotlabs/Widget/Cdav.php:119
+msgid "Shared Calendars"
+msgstr "Agendas partagés"
+
+#: ../../Zotlabs/Widget/Cdav.php:123
+msgid "Share this calendar"
+msgstr "Partager cet agenda"
+
+#: ../../Zotlabs/Widget/Cdav.php:125
+msgid "Calendar name and color"
+msgstr "Nom et couleur de l'agenda"
+
+#: ../../Zotlabs/Widget/Cdav.php:127
+msgid "Create new calendar"
+msgstr "Créer un nouvel agenda"
+
+#: ../../Zotlabs/Widget/Cdav.php:129
+msgid "Calendar Name"
+msgstr "Nom de l'agenda"
+
+#: ../../Zotlabs/Widget/Cdav.php:130
+msgid "Calendar Tools"
+msgstr "Outils pour les agendas"
+
+#: ../../Zotlabs/Widget/Cdav.php:131
+msgid "Import calendar"
+msgstr "Importer un agenda"
+
+#: ../../Zotlabs/Widget/Cdav.php:132
+msgid "Select a calendar to import to"
+msgstr "Sélectionner un agenda à importer dans"
+
+#: ../../Zotlabs/Widget/Cdav.php:159
+msgid "Addressbooks"
+msgstr "Carnet d'adresses"
+
+#: ../../Zotlabs/Widget/Cdav.php:161
+msgid "Addressbook name"
+msgstr "Nom du carnet d'adresses"
+
+#: ../../Zotlabs/Widget/Cdav.php:163
+msgid "Create new addressbook"
+msgstr "Créer un nouveau carnet d'adresses"
+
+#: ../../Zotlabs/Widget/Cdav.php:164
+msgid "Addressbook Name"
+msgstr "Nom du carnet d'adresses"
+
+#: ../../Zotlabs/Widget/Cdav.php:166
+msgid "Addressbook Tools"
+msgstr "Outils pour les carnets d'adresses"
+
+#: ../../Zotlabs/Widget/Cdav.php:167
+msgid "Import addressbook"
+msgstr "Importer un carnet d'adresses"
+
+#: ../../Zotlabs/Widget/Cdav.php:168
+msgid "Select an addressbook to import to"
+msgstr "Sélectionner un carnet d'adresses à importer dans"
+
+#: ../../Zotlabs/Widget/Appcategories.php:40
+#: ../../include/contact_widgets.php:97 ../../include/contact_widgets.php:141
+#: ../../include/contact_widgets.php:186 ../../include/taxonomy.php:348
+#: ../../include/taxonomy.php:430 ../../include/taxonomy.php:450
+#: ../../include/taxonomy.php:471
msgid "Categories"
msgstr "Catégories"
-#: ../../Zotlabs/Widget/Appcategories.php:42 ../../Zotlabs/Widget/Filer.php:31
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../Zotlabs/Widget/Appcategories.php:43 ../../Zotlabs/Widget/Filer.php:31
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:100
+#: ../../include/contact_widgets.php:144 ../../include/contact_widgets.php:189
msgid "Everything"
msgstr "Tout"
@@ -7860,6 +8681,14 @@ msgstr "Importer un calendrier"
msgid "Suggested Chatrooms"
msgstr "Salons suggérés"
+#: ../../Zotlabs/Widget/Hq_controls.php:14
+msgid "HQ Control Panel"
+msgstr "Panneau de contrôle du QG"
+
+#: ../../Zotlabs/Widget/Hq_controls.php:17
+msgid "Create a new post"
+msgstr "Créer un nouveau post"
+
#: ../../Zotlabs/Widget/Mailmenu.php:13
msgid "Private Mail Menu"
msgstr "Menu des messages privés"
@@ -7868,20 +8697,21 @@ msgstr "Menu des messages privés"
msgid "Combined View"
msgstr "Vue combinée"
-#: ../../Zotlabs/Widget/Mailmenu.php:20 ../../include/nav.php:191
+#: ../../Zotlabs/Widget/Mailmenu.php:20
msgid "Inbox"
msgstr "Boîte de réception"
-#: ../../Zotlabs/Widget/Mailmenu.php:25 ../../include/nav.php:192
+#: ../../Zotlabs/Widget/Mailmenu.php:25
msgid "Outbox"
msgstr "Boîte d'envoi"
-#: ../../Zotlabs/Widget/Mailmenu.php:30 ../../include/nav.php:193
+#: ../../Zotlabs/Widget/Mailmenu.php:30
msgid "New Message"
msgstr "Nouveau message"
#: ../../Zotlabs/Widget/Chatroom_list.php:16
-#: ../../include/conversation.php:1807 ../../include/conversation.php:1810
+#: ../../include/conversation.php:1867 ../../include/conversation.php:1870
+#: ../../include/nav.php:434 ../../include/nav.php:437
msgid "Chatrooms"
msgstr "Salons de clavardage"
@@ -7904,7 +8734,7 @@ msgstr "Voir mes évaluations"
#: ../../Zotlabs/Widget/Activity.php:50
msgctxt "widget"
msgid "Activity"
-msgstr ""
+msgstr "Activité"
#: ../../Zotlabs/Widget/Follow.php:22
#, php-format
@@ -7923,7 +8753,7 @@ msgstr "Saisissez l'adresse du canal"
msgid "Examples: bob@example.com, https://example.com/barbara"
msgstr "Exemples&nbsp;: pierre@exemple.com, https://exemple.com/sophie"
-#: ../../Zotlabs/Widget/Wiki_list.php:15 ../../addon/gitwiki/gitwiki.php:95
+#: ../../Zotlabs/Widget/Wiki_list.php:15
msgid "Wiki List"
msgstr "Liste de wikis"
@@ -7932,19 +8762,18 @@ msgid "Archives"
msgstr "Archives"
#: ../../Zotlabs/Widget/Conversations.php:17
-#: ../../Zotlabs/Widget/Conversations.php:29
-msgid "Conversations"
-msgstr "Conversations"
-
-#: ../../Zotlabs/Widget/Conversations.php:21
msgid "Received Messages"
msgstr "Messages reçus"
-#: ../../Zotlabs/Widget/Conversations.php:25
+#: ../../Zotlabs/Widget/Conversations.php:21
msgid "Sent Messages"
msgstr "Messages envoyés"
-#: ../../Zotlabs/Widget/Conversations.php:39
+#: ../../Zotlabs/Widget/Conversations.php:25
+msgid "Conversations"
+msgstr "Conversations"
+
+#: ../../Zotlabs/Widget/Conversations.php:37
msgid "No messages."
msgstr "Pas de message."
@@ -7964,11 +8793,11 @@ msgstr "photo/image"
msgid "Remove term"
msgstr "Retirer le terme"
-#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:301
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:381
msgid "Saved Searches"
msgstr "Recherches sauvegardées"
-#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:336
+#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:333
msgid "add"
msgstr "ajouter"
@@ -7976,19 +8805,20 @@ msgstr "ajouter"
msgid "Notes"
msgstr "Notes"
-#: ../../Zotlabs/Widget/Wiki_pages.php:54 ../../addon/gitwiki/gitwiki.php:76
-msgid "Wiki Pages"
-msgstr "Pages wiki"
-
-#: ../../Zotlabs/Widget/Wiki_pages.php:60 ../../addon/gitwiki/gitwiki.php:81
+#: ../../Zotlabs/Widget/Wiki_pages.php:32
+#: ../../Zotlabs/Widget/Wiki_pages.php:89
msgid "Add new page"
msgstr "Ajouter une nouvelle page"
-#: ../../Zotlabs/Widget/Wiki_pages.php:61 ../../addon/gitwiki/gitwiki.php:82
+#: ../../Zotlabs/Widget/Wiki_pages.php:83
+msgid "Wiki Pages"
+msgstr "Pages wiki"
+
+#: ../../Zotlabs/Widget/Wiki_pages.php:94
msgid "Page name"
msgstr "Nom de la page"
-#: ../../Zotlabs/Widget/Affinity.php:49
+#: ../../Zotlabs/Widget/Affinity.php:45
msgid "Refresh"
msgstr "Actualiser"
@@ -8005,7 +8835,7 @@ msgid "See more..."
msgstr "Voir plus..."
#: ../../Zotlabs/Widget/Filer.php:28 ../../include/contact_widgets.php:53
-#: ../../include/features.php:390
+#: ../../include/features.php:470
msgid "Saved Folders"
msgstr "Dossiers sauvegardés"
@@ -8013,6 +8843,63 @@ msgstr "Dossiers sauvegardés"
msgid "Click to show more"
msgstr "Cliquer pour voir plus"
+#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:388
+#: ../../include/taxonomy.php:409
+msgid "Tags"
+msgstr "Étiquettes"
+
+#: ../../Zotlabs/Widget/Newmember.php:24
+msgid "Profile Creation"
+msgstr "Création de profil"
+
+#: ../../Zotlabs/Widget/Newmember.php:26
+msgid "Upload profile photo"
+msgstr "Téléverser la photo du profil"
+
+#: ../../Zotlabs/Widget/Newmember.php:27
+msgid "Upload cover photo"
+msgstr "Téléverser la photo de couverture"
+
+#: ../../Zotlabs/Widget/Newmember.php:28 ../../include/nav.php:119
+msgid "Edit your profile"
+msgstr "Modifier votre profil"
+
+#: ../../Zotlabs/Widget/Newmember.php:31
+msgid "Find and Connect with others"
+msgstr "Trouver et connecter avec des autres personnes"
+
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "View the directory"
+msgstr "Voir l'annuaire"
+
+#: ../../Zotlabs/Widget/Newmember.php:35
+msgid "Manage your connections"
+msgstr "Gérez vos connexions"
+
+#: ../../Zotlabs/Widget/Newmember.php:38
+msgid "Communicate"
+msgstr "Communiquer"
+
+#: ../../Zotlabs/Widget/Newmember.php:40
+msgid "View your channel homepage"
+msgstr "Voir la page d'accueil de votre canal"
+
+#: ../../Zotlabs/Widget/Newmember.php:41
+msgid "View your network stream"
+msgstr "Visualisez votre flux réseau"
+
+#: ../../Zotlabs/Widget/Newmember.php:47
+msgid "Documentation"
+msgstr "Documentation"
+
+#: ../../Zotlabs/Widget/Newmember.php:58
+msgid "View public stream"
+msgstr "Voir le flux public"
+
+#: ../../Zotlabs/Widget/Newmember.php:62 ../../include/features.php:60
+msgid "New Member Links"
+msgstr "Liens pour les nouveaux membres"
+
#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
msgid "Member registrations waiting for confirmation"
msgstr "Inscriptions en attente d'approbation"
@@ -8025,7 +8912,7 @@ msgstr "Analyser la file d'attente"
msgid "DB updates"
msgstr "Mises à jour BDD"
-#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:211
+#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:199
msgid "Admin"
msgstr "Administrateur"
@@ -8046,8 +8933,8 @@ msgid "Additional features"
msgstr "Fonctionnalités supplémentaires"
#: ../../Zotlabs/Widget/Settings_menu.php:57
-msgid "Feature/Addon settings"
-msgstr "Paramètres des extensions/greffons"
+msgid "Addon settings"
+msgstr "Paramètres de greffon"
#: ../../Zotlabs/Widget/Settings_menu.php:63
msgid "Display settings"
@@ -8061,15 +8948,19 @@ msgstr "Gérer les emplacements"
msgid "Export channel"
msgstr "Exporter le canal"
-#: ../../Zotlabs/Widget/Settings_menu.php:83
-msgid "Connected apps"
-msgstr "Applications connectées"
+#: ../../Zotlabs/Widget/Settings_menu.php:84
+msgid "OAuth1 apps"
+msgstr "OAuth1 applications"
+
+#: ../../Zotlabs/Widget/Settings_menu.php:92
+msgid "OAuth2 apps"
+msgstr "OAuth2 applications"
-#: ../../Zotlabs/Widget/Settings_menu.php:98 ../../include/features.php:153
+#: ../../Zotlabs/Widget/Settings_menu.php:108 ../../include/features.php:240
msgid "Permission Groups"
-msgstr "Groupes d'autorisation"
+msgstr "Groupes d'accès"
-#: ../../Zotlabs/Widget/Settings_menu.php:115
+#: ../../Zotlabs/Widget/Settings_menu.php:125
msgid "Premium Channel Settings"
msgstr "Paramètres de canal VIP"
@@ -8077,160 +8968,296 @@ msgstr "Paramètres de canal VIP"
msgid "Bookmarked Chatrooms"
msgstr "Salons favoris"
+#: ../../Zotlabs/Widget/Notifications.php:16
+msgid "New Network Activity"
+msgstr "Nouvelle activité de réseau"
+
+#: ../../Zotlabs/Widget/Notifications.php:17
+msgid "New Network Activity Notifications"
+msgstr "Nouvelles notifications d'activité de réseau"
+
+#: ../../Zotlabs/Widget/Notifications.php:20
+msgid "View your network activity"
+msgstr "Visualiser l'activité de votre réseau"
+
+#: ../../Zotlabs/Widget/Notifications.php:23
+msgid "Mark all notifications read"
+msgstr "Marquer tous les notifications lus"
+
+#: ../../Zotlabs/Widget/Notifications.php:26
+#: ../../Zotlabs/Widget/Notifications.php:45
+#: ../../Zotlabs/Widget/Notifications.php:141
+msgid "Show new posts only"
+msgstr "Afficher uniquement les nouveaux posts"
+
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:142
+msgid "Filter by name"
+msgstr "Filtrer par nom"
+
+#: ../../Zotlabs/Widget/Notifications.php:35
+msgid "New Home Activity"
+msgstr "Nouvelle activité principale"
+
+#: ../../Zotlabs/Widget/Notifications.php:36
+msgid "New Home Activity Notifications"
+msgstr "Notifications de nouvelles activités principales"
+
+#: ../../Zotlabs/Widget/Notifications.php:39
+msgid "View your home activity"
+msgstr "Voir votre activité principale"
+
+#: ../../Zotlabs/Widget/Notifications.php:42
+#: ../../Zotlabs/Widget/Notifications.php:138
+msgid "Mark all notifications seen"
+msgstr "Marquer les notifications vues"
+
+#: ../../Zotlabs/Widget/Notifications.php:54
+msgid "New Mails"
+msgstr "Nouveaux courriels"
+
+#: ../../Zotlabs/Widget/Notifications.php:55
+msgid "New Mails Notifications"
+msgstr "Notifications de nouveaux courriels"
+
+#: ../../Zotlabs/Widget/Notifications.php:58
+msgid "View your private mails"
+msgstr "Consulter vos courriels privés"
+
+#: ../../Zotlabs/Widget/Notifications.php:61
+msgid "Mark all messages seen"
+msgstr "Marquer tous les messages vus"
+
+#: ../../Zotlabs/Widget/Notifications.php:69
+msgid "New Events"
+msgstr "Nouveaux événements"
+
+#: ../../Zotlabs/Widget/Notifications.php:70
+msgid "New Events Notifications"
+msgstr "Notifications de nouveaux événements"
+
+#: ../../Zotlabs/Widget/Notifications.php:73
+msgid "View events"
+msgstr "Voir les événements"
+
+#: ../../Zotlabs/Widget/Notifications.php:76
+msgid "Mark all events seen"
+msgstr "Marquer tous les événements comme vus"
+
+#: ../../Zotlabs/Widget/Notifications.php:85
+msgid "New Connections Notifications"
+msgstr "Notifications de nouvelles connexions"
+
+#: ../../Zotlabs/Widget/Notifications.php:88
+msgid "View all connections"
+msgstr "Voir toutes les connexions"
+
+#: ../../Zotlabs/Widget/Notifications.php:96
+msgid "New Files"
+msgstr "Nouveaux fichiers"
+
+#: ../../Zotlabs/Widget/Notifications.php:97
+msgid "New Files Notifications"
+msgstr "Notifications de nouveaux fichiers"
+
+#: ../../Zotlabs/Widget/Notifications.php:104
+#: ../../Zotlabs/Widget/Notifications.php:105
+msgid "Notices"
+msgstr "Notifications"
+
+#: ../../Zotlabs/Widget/Notifications.php:108
+msgid "View all notices"
+msgstr "Voir tous les avis"
+
+#: ../../Zotlabs/Widget/Notifications.php:111
+msgid "Mark all notices seen"
+msgstr "Marquer tous les avis vus"
+
+#: ../../Zotlabs/Widget/Notifications.php:121
+msgid "New Registrations"
+msgstr "Nouvelles inscriptions"
+
+#: ../../Zotlabs/Widget/Notifications.php:122
+msgid "New Registrations Notifications"
+msgstr "Notifications de nouveaux inscriptions"
+
+#: ../../Zotlabs/Widget/Notifications.php:132
+msgid "Public Stream Notifications"
+msgstr "Notifications de flux publics"
+
+#: ../../Zotlabs/Widget/Notifications.php:135
+msgid "View the public stream"
+msgstr "Voir le flux public"
+
+#: ../../Zotlabs/Widget/Notifications.php:150
+msgid "Sorry, you have got no notifications at the moment"
+msgstr "Désolé, vous n'avez pas de notifications pour le moment."
+
#: ../../util/nconfig.php:34
msgid "Source channel not found."
msgstr "Source du canal introuvable."
-#: ../../boot.php:1164 ../../addon/opensearch/opensearch.php:26
-#, php-format
-msgctxt "opensearch"
-msgid "Search %1$s (%2$s)"
-msgstr "Recherche %1$s (%2$s)"
-
-#: ../../boot.php:1164 ../../addon/opensearch/opensearch.php:28
-msgctxt "opensearch"
-msgid "$Projectname"
-msgstr "$Projectname"
-
-#: ../../boot.php:1611
+#: ../../boot.php:1569
msgid "Create an account to access services and applications"
msgstr "Créer un compte pour accéder aux services et applications"
-#: ../../boot.php:1630 ../../include/nav.php:99 ../../include/nav.php:123
+#: ../../boot.php:1588 ../../include/nav.php:111 ../../include/nav.php:140
+#: ../../include/nav.php:159
msgid "Logout"
msgstr "Déconnexion"
-#: ../../boot.php:1633
+#: ../../boot.php:1592
msgid "Login/Email"
msgstr "pseudo / email"
-#: ../../boot.php:1634
+#: ../../boot.php:1593
msgid "Password"
msgstr "Mot de passe"
-#: ../../boot.php:1635
+#: ../../boot.php:1594
msgid "Remember me"
msgstr "Se souvenir de moi"
-#: ../../boot.php:1638
+#: ../../boot.php:1597
msgid "Forgot your password?"
msgstr "Mot de passe oublié&nbsp;?"
-#: ../../boot.php:2176
-msgid "toggle mobile"
-msgstr "(dés)activer mobile"
-
-#: ../../boot.php:2329
+#: ../../boot.php:2354
#, php-format
msgid "[$Projectname] Website SSL error for %s"
-msgstr ""
+msgstr "[$Projectname] erreur SSL du site web pour %s"
-#: ../../boot.php:2334
+#: ../../boot.php:2359
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Le certificat SSL n'est pas valide. Corrigez le."
-#: ../../boot.php:2452
+#: ../../boot.php:2475
#, php-format
msgid "[$Projectname] Cron tasks not running on %s"
-msgstr ""
+msgstr "[$Projectname] Tâches Cron inactives sur %s"
-#: ../../boot.php:2457
+#: ../../boot.php:2480
msgid "Cron/Scheduled tasks not running."
msgstr "Les taches planifiées ne tournent pas."
-#: ../../boot.php:2458 ../../include/datetime.php:286
+#: ../../boot.php:2481 ../../include/datetime.php:238
msgid "never"
msgstr "jamais"
-#: ../../view/theme/redbasic/php/config.php:9
+#: ../../view/theme/redbasic_c/php/config.php:16
+#: ../../view/theme/redbasic_c/php/config.php:19
+#: ../../view/theme/redbasic/php/config.php:16
+#: ../../view/theme/redbasic/php/config.php:19
msgid "Focus (Hubzilla default)"
msgstr "Focus (par défaut pour Hubzilla)"
-#: ../../view/theme/redbasic/php/config.php:88
+#: ../../view/theme/redbasic_c/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:97
msgid "Theme settings"
msgstr "Paramètres du thème"
-#: ../../view/theme/redbasic/php/config.php:89
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic/php/config.php:98
msgid "Narrow navbar"
msgstr "Barre de navigation fine"
-#: ../../view/theme/redbasic/php/config.php:90
+#: ../../view/theme/redbasic_c/php/config.php:101
+#: ../../view/theme/redbasic/php/config.php:99
msgid "Navigation bar background color"
msgstr "Couleur de fond de la barre de navigation"
-#: ../../view/theme/redbasic/php/config.php:91
+#: ../../view/theme/redbasic_c/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:100
msgid "Navigation bar icon color "
msgstr "Couleur des icônes de la barre de navigation"
-#: ../../view/theme/redbasic/php/config.php:92
+#: ../../view/theme/redbasic_c/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:101
msgid "Navigation bar active icon color "
msgstr "Couleur de l'icône active de la barre de navigation"
-#: ../../view/theme/redbasic/php/config.php:93
+#: ../../view/theme/redbasic_c/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:102
msgid "Link color"
-msgstr ""
+msgstr "Couleur des liens"
-#: ../../view/theme/redbasic/php/config.php:94
+#: ../../view/theme/redbasic_c/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Set font-color for banner"
msgstr "Définir la couleur du texte de la bannière"
-#: ../../view/theme/redbasic/php/config.php:95
+#: ../../view/theme/redbasic_c/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Set the background color"
msgstr "Définir la couleur d'arrière-plan"
-#: ../../view/theme/redbasic/php/config.php:96
+#: ../../view/theme/redbasic_c/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Set the background image"
msgstr "Définir l'image d'arrière-plan"
-#: ../../view/theme/redbasic/php/config.php:97
+#: ../../view/theme/redbasic_c/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Set the background color of items"
msgstr "Définir la couleur de fond des contributions"
-#: ../../view/theme/redbasic/php/config.php:98
+#: ../../view/theme/redbasic_c/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Set the background color of comments"
msgstr "Couleur de fond des commentaires"
-#: ../../view/theme/redbasic/php/config.php:99
+#: ../../view/theme/redbasic_c/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Set font-size for the entire application"
msgstr "Définir la taille de police pour l'application entière"
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Examples: 87.5%, 14px"
-msgstr ""
+#: ../../view/theme/redbasic_c/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Examples: 1rem, 100%, 16px"
+msgstr "Exemples&nbsp;: 1rem, 100%, 16px"
-#: ../../view/theme/redbasic/php/config.php:100
+#: ../../view/theme/redbasic_c/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Set font-color for posts and comments"
msgstr "Définir la couleur de police pour les contributions et commentaires"
-#: ../../view/theme/redbasic/php/config.php:101
+#: ../../view/theme/redbasic_c/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Set radius of corners"
msgstr "Définir le rayon des arrondis"
-#: ../../view/theme/redbasic/php/config.php:101
+#: ../../view/theme/redbasic_c/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Example: 4px"
-msgstr ""
+msgstr "Exemple&nbsp;: 4px"
-#: ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic_c/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Set shadow depth of photos"
msgstr "Définir la profondeur de l'ombre des photos"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic_c/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Set maximum width of content region in pixel"
msgstr "Définir la largeur maximale de la zone des contenus"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic_c/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Leave empty for default width"
msgstr "Laissez vide pour avoir la largeur par défaut"
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic_c/php/config.php:115
msgid "Left align page content"
msgstr "Aligner à gauche le contenu de la page"
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic_c/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Set size of conversation author photo"
msgstr "Définir la taille de la photo de l'auteur d'une conversation"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic_c/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Set size of followup author photos"
msgstr "Définir la taille de la photo de l'auteur d'une réponse"
@@ -8239,7 +9266,7 @@ msgid "Errors encountered deleting database table "
msgstr "Des erreurs ont eu lieu lors de la suppression de la table de la base de données."
#: ../../addon/rendezvous/rendezvous.php:95
-#: ../../addon/twitter/twitter.php:773
+#: ../../addon/twitter/twitter.php:779
msgid "Submit Settings"
msgstr "Emvoyer les paramètres"
@@ -8360,6 +9387,10 @@ msgid ""
" share their own locations with the group."
msgstr "Créez un nouveau rendez-vous et partagez le lien d'accès avec les gens que vous souhaitez inviter au groupe. Ceux qui ouvrent le lien deviennent membres du rendez-vous. Ils peuvent afficher les emplacements des autres membres, ajouter des marqueurs à la carte ou partager leurs propres emplacements avec le groupe."
+#: ../../addon/rendezvous/rendezvous.php:232
+msgid "You have no rendezvous. Press the button above to create a rendezvous!"
+msgstr "Vous n'avez pas de rendez-vous. Appuyez sur le bouton ci-dessus pour créer un rendez-vous !"
+
#: ../../addon/skeleton/skeleton.php:59
msgid "Some setting"
msgstr "Un certain paramètre"
@@ -8372,232 +9403,43 @@ msgstr "Un paramètre"
msgid "Skeleton Settings"
msgstr "Paramètres du squelette"
-#: ../../addon/gnusoc/gnusoc.php:118
+#: ../../addon/gnusoc/gnusoc.php:249
msgid "GNU-Social Protocol Settings updated."
-msgstr ""
+msgstr "Paramètres du protocol GNU-Social mis à jour."
+
+#: ../../addon/gnusoc/gnusoc.php:268
+msgid ""
+"The GNU-Social protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr "Le protocole GNU-Social ne gère pas les canaux localisés sur plusieurs serveurs. Vos contacts sur ce réseau peuvent donc être injoignables à partir des autres emplacements (clones) de ce canal."
-#: ../../addon/gnusoc/gnusoc.php:129
+#: ../../addon/gnusoc/gnusoc.php:271
msgid "Enable the GNU-Social protocol for this channel"
-msgstr ""
+msgstr "Activer le protocole GNU-Social pour ce canal"
-#: ../../addon/gnusoc/gnusoc.php:133
+#: ../../addon/gnusoc/gnusoc.php:275
msgid "GNU-Social Protocol Settings"
-msgstr ""
+msgstr "Paramètres du protocol GNU-Social"
-#: ../../addon/gnusoc/gnusoc.php:323
+#: ../../addon/gnusoc/gnusoc.php:471
msgid "Follow"
-msgstr ""
+msgstr "S'abonner"
-#: ../../addon/gnusoc/gnusoc.php:326
+#: ../../addon/gnusoc/gnusoc.php:474
#, php-format
msgid "%1$s is now following %2$s"
-msgstr ""
-
-#: ../../addon/cdav/Mod_Cdav.php:744
-msgid "INVALID EVENT DISMISSED!"
-msgstr "ÉVÉNEMENT INVALIDE REJETÉ!"
-
-#: ../../addon/cdav/Mod_Cdav.php:745
-msgid "Summary: "
-msgstr "Sommaire :"
-
-#: ../../addon/cdav/Mod_Cdav.php:746
-msgid "Date: "
-msgstr "Date :"
-
-#: ../../addon/cdav/Mod_Cdav.php:747 ../../addon/cdav/Mod_Cdav.php:754
-msgid "Reason: "
-msgstr "Raison :"
-
-#: ../../addon/cdav/Mod_Cdav.php:752
-msgid "INVALID CARD DISMISSED!"
-msgstr "ÉVÉNEMENT INVALIDE REJETÉ!"
-
-#: ../../addon/cdav/Mod_Cdav.php:753
-msgid "Name: "
-msgstr "Nom :"
-
-#: ../../addon/cdav/Mod_Cdav.php:770
-msgid ""
-"You have to enable this plugin in Feature/Addon Settings > CalDAV/CardDAV "
-"Settings before you can use it."
-msgstr "Vous avez activé ce plugin dans Fonctionalités/Paramètres des extensions > CalDAV/CardDAV Paramètres avant que vous puissiez l'utiliser."
-
-#: ../../addon/cdav/Mod_Cdav.php:836 ../../addon/cdav/Mod_Cdav.php:837
-msgid "Example: YYYY-MM-DD HH:mm"
-msgstr "Exemple : YYYY-MM-DD HH:mm"
-
-#: ../../addon/cdav/Mod_Cdav.php:837
-msgid "End date and time"
-msgstr "Date et heure de fin"
-
-#: ../../addon/cdav/Mod_Cdav.php:852
-msgid "List month"
-msgstr "Liste mois"
-
-#: ../../addon/cdav/Mod_Cdav.php:853
-msgid "List week"
-msgstr "Liste semaine"
-
-#: ../../addon/cdav/Mod_Cdav.php:854
-msgid "List day"
-msgstr "Liste jour"
-
-#: ../../addon/cdav/Mod_Cdav.php:861
-msgid "More"
-msgstr "Plus"
-
-#: ../../addon/cdav/Mod_Cdav.php:862
-msgid "Less"
-msgstr "Moins"
-
-#: ../../addon/cdav/Mod_Cdav.php:863
-msgid "Select calendar"
-msgstr "Sélectionner un calendrier"
-
-#: ../../addon/cdav/Mod_Cdav.php:865
-msgid "Delete all"
-msgstr "Tout supprimer"
-
-#: ../../addon/cdav/Mod_Cdav.php:867
-msgid "Sorry! Editing of recurrent events is not yet implemented."
-msgstr "Désolé ! L'édition d'événements récurrents n'est pas encore implémenté."
-
-#: ../../addon/cdav/cdav.php:36
-msgid "Errors encountered creating database table: "
-msgstr "Des erreurs se sont produites lors de la création de la table de la base de données :"
-
-#: ../../addon/cdav/cdav.php:197
-msgid "Default Calendar"
-msgstr "Agenda par défaut"
-
-#: ../../addon/cdav/cdav.php:206
-msgid "Default Addressbook"
-msgstr "Carnet d'adresses par défaut"
-
-#: ../../addon/cdav/cdav.php:215
-msgid "CalDAV/CardDAV Settings saved."
-msgstr "Les paramètres CalDAV/CardDAV ont été sauvegardés."
-
-#: ../../addon/cdav/cdav.php:234
-msgid "Enable CalDAV/CardDAV Server for this channel"
-msgstr "Activer le serveur CalDAV/CardDAV pour ce canal"
-
-#: ../../addon/cdav/cdav.php:237
-#, php-format
-msgid "Your CalDAV resources are located at %s "
-msgstr "Vos ressources CalDAV sont situées à %s"
-
-#: ../../addon/cdav/cdav.php:240
-#, php-format
-msgid "Your CardDAV resources are located at %s "
-msgstr "Vos ressources CardDAV sont situées à %s"
-
-#: ../../addon/cdav/cdav.php:246
-msgid "CalDAV/CardDAV Settings"
-msgstr "Paramètres CalDAV/CardDAV"
-
-#: ../../addon/cdav/cdav.php:272 ../../include/connections.php:670
-msgid "Home, Voice"
-msgstr "Domicile, Voix"
-
-#: ../../addon/cdav/cdav.php:273 ../../include/connections.php:671
-msgid "Home, Fax"
-msgstr "Domicile, Fax"
-
-#: ../../addon/cdav/cdav.php:275 ../../include/connections.php:673
-msgid "Work, Voice"
-msgstr "Travail, Voix"
-
-#: ../../addon/cdav/cdav.php:276 ../../include/connections.php:674
-msgid "Work, Fax"
-msgstr "Travail, Fax"
-
-#: ../../addon/cdav/include/widgets.php:37
-msgid "Select Channel"
-msgstr "Sélectionner un canal"
-
-#: ../../addon/cdav/include/widgets.php:42
-msgid "Read-write"
-msgstr "Lire et écrire"
-
-#: ../../addon/cdav/include/widgets.php:43
-msgid "Read-only"
-msgstr "Lire uniquement"
-
-#: ../../addon/cdav/include/widgets.php:116
-msgid "My Calendars"
-msgstr "Mes agendas"
-
-#: ../../addon/cdav/include/widgets.php:118
-msgid "Shared Calendars"
-msgstr "Agendas partagés"
-
-#: ../../addon/cdav/include/widgets.php:122
-msgid "Share this calendar"
-msgstr "Partager cet agenda"
-
-#: ../../addon/cdav/include/widgets.php:124
-msgid "Calendar name and color"
-msgstr "Nom et couleur de l'agenda"
-
-#: ../../addon/cdav/include/widgets.php:126
-msgid "Create new calendar"
-msgstr "Créer un nouvel agenda"
-
-#: ../../addon/cdav/include/widgets.php:128
-msgid "Calendar Name"
-msgstr "Nom de l'agenda"
-
-#: ../../addon/cdav/include/widgets.php:129
-msgid "Calendar Tools"
-msgstr "Outils pour les agendas"
-
-#: ../../addon/cdav/include/widgets.php:130
-msgid "Import calendar"
-msgstr "Importer un agenda"
-
-#: ../../addon/cdav/include/widgets.php:131
-msgid "Select a calendar to import to"
-msgstr "Sélectionner un agenda à importer dans"
-
-#: ../../addon/cdav/include/widgets.php:158
-msgid "Addressbooks"
-msgstr "Carnet d'adresses"
-
-#: ../../addon/cdav/include/widgets.php:160
-msgid "Addressbook name"
-msgstr "Nom du carnet d'adresses"
-
-#: ../../addon/cdav/include/widgets.php:162
-msgid "Create new addressbook"
-msgstr "Créer un nouveau carnet d'adresses"
-
-#: ../../addon/cdav/include/widgets.php:163
-msgid "Addressbook Name"
-msgstr "Nom du carnet d'adresses"
-
-#: ../../addon/cdav/include/widgets.php:165
-msgid "Addressbook Tools"
-msgstr "Outils pour les carnets d'adresses"
-
-#: ../../addon/cdav/include/widgets.php:166
-msgid "Import addressbook"
-msgstr "Importer un carnet d'adresses"
-
-#: ../../addon/cdav/include/widgets.php:167
-msgid "Select an addressbook to import to"
-msgstr "Sélectionner un carnet d'adresses à importer dans"
+msgstr "%1$s est maintenant abonné à %2$s"
#: ../../addon/planets/planets.php:121
msgid "Planets Settings updated."
msgstr "Paramètres Planets mis à jour."
-#: ../../addon/planets/planets.php:153
+#: ../../addon/planets/planets.php:149
msgid "Enable Planets Plugin"
msgstr "Activer le plugin Planets"
-#: ../../addon/planets/planets.php:157
+#: ../../addon/planets/planets.php:153
msgid "Planets Settings"
msgstr "Paramètres Planets"
@@ -8630,8 +9472,8 @@ msgstr "Retourner ensuite"
msgid "Page to load after image selection."
msgstr "Page à afficher après la sélection de l'image."
-#: ../../addon/openclipatar/openclipatar.php:58 ../../include/channel.php:1046
-#: ../../include/nav.php:107
+#: ../../addon/openclipatar/openclipatar.php:58 ../../include/channel.php:1300
+#: ../../include/nav.php:119
msgid "Edit Profile"
msgstr "Éditeur de profil"
@@ -8688,6 +9530,11 @@ msgstr "Téléversé par :"
msgid "Drawn by: "
msgstr "Dessiné par :"
+#: ../../addon/openclipatar/openclipatar.php:182
+#: ../../addon/openclipatar/openclipatar.php:194
+msgid "Use this image"
+msgstr "Utiliser cette image"
+
#: ../../addon/openclipatar/openclipatar.php:192
msgid "Or select from a free OpenClipart.org image:"
msgstr "ou sélectionner une image libre d'OpenClipart.org :"
@@ -8800,10 +9647,10 @@ msgstr "Paramètres NSFW sauvegardés."
msgid "Possible adult content"
msgstr "Contenu pour adulte probable"
-#: ../../addon/nsfw/nsfw.php:211
+#: ../../addon/nsfw/nsfw.php:222
#, php-format
msgid "%s - view"
-msgstr ""
+msgstr "%s - vue"
#: ../../addon/ijpost/ijpost.php:42
msgid "Post to Insanejournal"
@@ -8833,38 +9680,6 @@ msgstr "Paramètres de publication de InsaneJournal"
msgid "Insane Journal Settings saved."
msgstr "Les paramètres d'InsaneJournal ont été sauvegardés"
-#: ../../addon/js_upload/js_upload.php:44
-msgid "Upload a file"
-msgstr "Téléverser un fichier"
-
-#: ../../addon/js_upload/js_upload.php:45
-msgid "Drop files here to upload"
-msgstr "Glisser les fichiers ici pour téléversement"
-
-#: ../../addon/js_upload/js_upload.php:47
-msgid "Failed"
-msgstr "Échec"
-
-#: ../../addon/js_upload/js_upload.php:315
-msgid "No files were uploaded."
-msgstr "Aucun fichier n'a été téléversé."
-
-#: ../../addon/js_upload/js_upload.php:322
-msgid "Uploaded file is empty"
-msgstr "Le fichier téléversé est vide"
-
-#: ../../addon/js_upload/js_upload.php:335
-msgid "Image exceeds size limit of "
-msgstr "L'image excède la taille limite de"
-
-#: ../../addon/js_upload/js_upload.php:347
-msgid "File has an invalid extension, it should be one of "
-msgstr "L'extension du fichier est invalide, elle doit être l'une des suivantes"
-
-#: ../../addon/js_upload/js_upload.php:359
-msgid "Upload was cancelled, or server error encountered"
-msgstr "Le téléversement a été annulé, ou le serveur a rencontré une erreur"
-
#: ../../addon/dwpost/dwpost.php:42
msgid "Post to Dreamwidth"
msgstr "Publier sur Dreamwidth"
@@ -8889,17 +9704,14 @@ msgstr "Publication avec Dreamwidth par défaut"
msgid "Dreamwidth Post Settings"
msgstr "Paramètres de publication Dreamwidth"
-#: ../../addon/firefox/firefox.php:23
-msgid "Install Firefox Sharing Tools"
-msgstr "Installer Firefox Sharing Tools"
+#: ../../addon/notifyadmin/notifyadmin.php:34
+msgid "New registration"
+msgstr "Nouvelle inscription"
-#: ../../addon/firefox/firefox.php:34
-msgid "Share content from Firefox to $Projectname"
-msgstr "Partager du contenu depuis Firefox avec $Projectname"
-
-#: ../../addon/firefox/firefox.php:37
-msgid "Install Firefox Sharing Tools to this web browser"
-msgstr "Installer Firefox Sharing Tools sur ce navigateur"
+#: ../../addon/notifyadmin/notifyadmin.php:42
+#, php-format
+msgid "Message sent to %s. New account registration: %s"
+msgstr "Message envoyé à %s. %sEnregistrement d'un nouveau compte : "
#: ../../addon/dirstats/dirstats.php:94
msgid "Hubzilla Directory Stats"
@@ -8960,22 +9772,6 @@ msgid ""
"applies to chatrooms,"
msgstr "Veuillez noter que les statistiques de Diaspora et Friendica sont simplement celles dont **ce répertoire** est au courant, et pas toutes celles connues dans le réseau. Cela s'applique également aux salles de discussion,"
-#: ../../addon/mailhost/mailhost.php:36
-msgid "Email notification hub"
-msgstr "Notification par mail du hub"
-
-#: ../../addon/mailhost/mailhost.php:36
-msgid "Hostname"
-msgstr "Nom d'hôte"
-
-#: ../../addon/mailhost/mailhost.php:40
-msgid "Mailhost Settings"
-msgstr "Paramètres mail de l'hôte"
-
-#: ../../addon/mailhost/mailhost.php:54
-msgid "MAILHOST Settings saved."
-msgstr "Paramètres mail de l'hôte sauvegardés."
-
#: ../../addon/likebanner/likebanner.php:51
msgid "Your Webbie:"
msgstr "Vous êtes Webbie :"
@@ -9165,17 +9961,17 @@ msgstr "Date de naissance"
msgid "OpenID protocol error. No ID returned."
msgstr "Erreur du protocole OpenID. Aucune ID trouvée."
-#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:286
+#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:300
msgid "Login failed."
msgstr "Échec de la connexion."
#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
+#: ../../include/selectors.php:66 ../../include/channel.php:1480
msgid "Male"
msgstr "Homme"
#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
+#: ../../include/selectors.php:66 ../../include/channel.php:1478
msgid "Female"
msgstr "Femme"
@@ -9362,50 +10158,50 @@ msgstr "Déclarer un amour éternel pour"
msgid "declared undying love for"
msgstr "A déclaré l'amour éternel pour"
-#: ../../addon/diaspora/diaspora.php:677
+#: ../../addon/diaspora/diaspora.php:779
msgid "Diaspora Protocol Settings updated."
-msgstr ""
+msgstr "Paramètres du protocole Diaspora mis à jour."
-#: ../../addon/diaspora/diaspora.php:696
+#: ../../addon/diaspora/diaspora.php:798
+msgid ""
+"The Diaspora protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr "Le protocole Diaspora ne gère pas les canaux localisés sur plusieurs serveurs. Vos contacts sur ce réseau peuvent donc être injoignables à partir des autres emplacements (clones) de ce canal."
+
+#: ../../addon/diaspora/diaspora.php:801
msgid "Enable the Diaspora protocol for this channel"
-msgstr ""
+msgstr "Activer le protocole Diaspora pour ce canal"
-#: ../../addon/diaspora/diaspora.php:700
+#: ../../addon/diaspora/diaspora.php:805
msgid "Allow any Diaspora member to comment on your public posts"
-msgstr ""
+msgstr "Permettre à tous les membres de Diaspora de commenter vos publications publiques"
-#: ../../addon/diaspora/diaspora.php:704
+#: ../../addon/diaspora/diaspora.php:809
msgid "Prevent your hashtags from being redirected to other sites"
-msgstr ""
+msgstr "Empêcher la redirection de vos mots-clés (hashtags) vers d'autres sites"
+
+#: ../../addon/diaspora/diaspora.php:813
+msgid ""
+"Sign and forward posts and comments with no existing Diaspora signature"
+msgstr "Signer et faire suivre les publications et commentaires n'ayant aucune signature Diaspora"
-#: ../../addon/diaspora/diaspora.php:709
+#: ../../addon/diaspora/diaspora.php:818
msgid "Followed hashtags (comma separated, do not include the #)"
-msgstr ""
+msgstr "Mots-clés suivis (séparer par une virgule, ne pas mettre le #)"
-#: ../../addon/diaspora/diaspora.php:714
+#: ../../addon/diaspora/diaspora.php:823
msgid "Diaspora Protocol Settings"
-msgstr ""
+msgstr "Paramètres du protocole Diaspora"
#: ../../addon/diaspora/import_diaspora.php:16
msgid "No username found in import file."
-msgstr ""
+msgstr "Pas de nom d'utilisateur dans le fichier d'import."
-#: ../../addon/diaspora/import_diaspora.php:41 ../../include/import.php:62
+#: ../../addon/diaspora/import_diaspora.php:41 ../../include/import.php:67
msgid "Unable to create a unique channel address. Import failed."
msgstr "Impossible de créer une adresse de canal unique. Echec de l'import."
-#: ../../addon/gitwiki/Mod_Gitwiki.php:107
-msgid "Error retrieving wiki"
-msgstr "Erreur lors de la récupération du wiki"
-
-#: ../../addon/gitwiki/Mod_Gitwiki.php:114
-msgid "Error creating zip file export folder"
-msgstr "Erreur lors de la création du dossier d'exportation du fichier zip"
-
-#: ../../addon/gitwiki/Mod_Gitwiki.php:132
-msgid "Error downloading wiki: "
-msgstr "Erreur lors du téléchargement du wiki:"
-
#: ../../addon/testdrive/testdrive.php:104
#, php-format
msgid "Your account on %s will expire in a few days."
@@ -9443,6 +10239,86 @@ msgstr "PHP upload_max_filesize: "
msgid "PHP post_max_size (must be larger than upload_max_filesize): "
msgstr "PHP post_max_size (must be larger than upload_max_filesize): "
+#: ../../addon/gravatar/gravatar.php:123
+msgid "generic profile image"
+msgstr "image de profil générique"
+
+#: ../../addon/gravatar/gravatar.php:124
+msgid "random geometric pattern"
+msgstr "motif géométrique aléatoire"
+
+#: ../../addon/gravatar/gravatar.php:125
+msgid "monster face"
+msgstr "visage de monstre"
+
+#: ../../addon/gravatar/gravatar.php:126
+msgid "computer generated face"
+msgstr "visage généré par ordinateur"
+
+#: ../../addon/gravatar/gravatar.php:127
+msgid "retro arcade style face"
+msgstr "visage de style arcade rétro"
+
+#: ../../addon/gravatar/gravatar.php:128
+msgid "Hub default profile photo"
+msgstr "Photo du profil par défaut du concentrateur"
+
+#: ../../addon/gravatar/gravatar.php:143
+msgid "Information"
+msgstr "Information"
+
+#: ../../addon/gravatar/gravatar.php:143
+msgid ""
+"Libravatar addon is installed, too. Please disable Libravatar addon or this "
+"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
+"nothing was found at Libravatar."
+msgstr "Libravatar greffon est également installé. Veuillez désactiver le greffon Libravatar ou cet greffon Gravatar.<br>Le greffon Libravatar reviendra à Gravatar si rien n'a été trouvé à Libravatar."
+
+#: ../../addon/gravatar/gravatar.php:150
+#: ../../addon/msgfooter/msgfooter.php:46 ../../addon/xmpp/xmpp.php:91
+msgid "Save Settings"
+msgstr "Sauvegarder les paramètres"
+
+#: ../../addon/gravatar/gravatar.php:151
+msgid "Default avatar image"
+msgstr "Image avatar par défaut"
+
+#: ../../addon/gravatar/gravatar.php:151
+msgid "Select default avatar image if none was found at Gravatar. See README"
+msgstr "Sélectionnez l'image d'avatar par défaut si aucune n'a été trouvée sur Gravatar. Voir README"
+
+#: ../../addon/gravatar/gravatar.php:152
+msgid "Rating of images"
+msgstr "Evaluation des images"
+
+#: ../../addon/gravatar/gravatar.php:152
+msgid "Select the appropriate avatar rating for your site. See README"
+msgstr "Sélectionnez l'évaluation d'avatar appropriée pour votre site. Voir README"
+
+#: ../../addon/gravatar/gravatar.php:165
+msgid "Gravatar settings updated."
+msgstr "Paramètres Gravatar mis à jour."
+
+#: ../../addon/hzfiles/hzfiles.php:79
+msgid "Hubzilla File Storage Import"
+msgstr "Importation de fichiers de stockage Hubzilla"
+
+#: ../../addon/hzfiles/hzfiles.php:80
+msgid "This will import all your cloud files from another server."
+msgstr "Ceci importera tous vos fichiers cloud à partir d'un autre serveur."
+
+#: ../../addon/hzfiles/hzfiles.php:81
+msgid "Hubzilla Server base URL"
+msgstr "URL de base du serveur Hubzilla"
+
+#: ../../addon/hzfiles/hzfiles.php:82
+msgid "Since modified date yyyy-mm-dd"
+msgstr "Depuis la date modifiée aaaaa-mm-jjj"
+
+#: ../../addon/hzfiles/hzfiles.php:83
+msgid "Until modified date yyyy-mm-dd"
+msgstr "Jusqu'à la date modifiée aaaaa-mm-jjj"
+
#: ../../addon/visage/visage.php:93
msgid "Recent Channel/Profile Viewers"
msgstr "Visiteurs récents du canal/profil"
@@ -9508,24 +10384,9 @@ msgstr "Test du mail"
msgid "Message subject"
msgstr "Objet du message"
-#: ../../addon/diaspora_reconnect/diaspora_reconnect.php:44
-#, php-format
-msgid "Reconnecting %d connections"
-msgstr ""
-
-#: ../../addon/diaspora_reconnect/diaspora_reconnect.php:63
-msgid "Diaspora Reconnect"
-msgstr ""
-
-#: ../../addon/diaspora_reconnect/diaspora_reconnect.php:65
-msgid ""
-"Use this form to re-establish Diaspora connections which were initially made"
-" from a different hub."
-msgstr ""
-
-#: ../../addon/diaspora_reconnect/diaspora_reconnect.php:70
-msgid "Reconnect"
-msgstr ""
+#: ../../addon/mdpost/mdpost.php:41
+msgid "Use markdown for editing posts"
+msgstr "Utiliser Markdown pour l'édition des posts"
#: ../../addon/openstreetmap/openstreetmap.php:146
msgid "View Larger"
@@ -9568,10 +10429,6 @@ msgstr "Inclure le marqueur sur la carte"
msgid "Include a marker on the map."
msgstr "Inclure un marqueur sur la carte."
-#: ../../addon/msgfooter/msgfooter.php:46 ../../addon/xmpp/xmpp.php:91
-msgid "Save Settings"
-msgstr "Sauvegarder les paramètres"
-
#: ../../addon/msgfooter/msgfooter.php:47
msgid "text to include in all outgoing posts from this site"
msgstr "Texte à inclure dans tous les messages sortants de ce site"
@@ -9612,8 +10469,8 @@ msgstr "Mot de passe de connexion Friendica"
msgid "Hubzilla to Friendica Post Settings"
msgstr "Paramètres de publication de Hubzilla vers Friendica"
-#: ../../addon/jappixmini/jappixmini.php:305 ../../include/channel.php:1137
-#: ../../include/channel.php:1294
+#: ../../addon/jappixmini/jappixmini.php:305 ../../include/channel.php:1396
+#: ../../include/channel.php:1567
msgid "Status:"
msgstr "État&nbsp;:"
@@ -9652,7 +10509,7 @@ msgstr "Mot de passe Hubzilla"
#: ../../addon/jappixmini/jappixmini.php:351
#: ../../addon/jappixmini/jappixmini.php:355
msgid "Approve subscription requests from Hubzilla contacts automatically"
-msgstr "Approuver automatiquement les demandes de connexion des contacts Hubzilla"
+msgstr "Valider automatiquement les demandes de souscription des contacts Hubzilla"
#: ../../addon/jappixmini/jappixmini.php:359
msgid "Purge internal list of jabber addresses of contacts"
@@ -9675,8 +10532,8 @@ msgid "No channels currently blocked"
msgstr "Aucun canal n'est actuellement bloqué"
#: ../../addon/superblock/superblock.php:120
-msgid "\"Superblock\" Settings"
-msgstr "Paramètres \"Superblock\""
+msgid "Superblock Settings"
+msgstr "Paramètres de Superblock"
#: ../../addon/superblock/superblock.php:345
msgid "Block Completely"
@@ -9758,26 +10615,58 @@ msgstr "Taille du fichier journal en octets avant la rotation"
msgid "Number of logfiles to retain"
msgstr "Nombre de fichiers de journal à conserver"
-#: ../../addon/frphotos/frphotos.php:91
+#: ../../addon/frphotos/frphotos.php:92
msgid "Friendica Photo Album Import"
msgstr "Importation de l'album photo Friendica "
-#: ../../addon/frphotos/frphotos.php:92
+#: ../../addon/frphotos/frphotos.php:93
msgid "This will import all your Friendica photo albums to this Red channel."
msgstr "Ceci importera toutes vos albums photos Friendica dans ce canal Hubzilla."
-#: ../../addon/frphotos/frphotos.php:93
+#: ../../addon/frphotos/frphotos.php:94
msgid "Friendica Server base URL"
msgstr "URL de base du serveur Friendica"
-#: ../../addon/frphotos/frphotos.php:94
+#: ../../addon/frphotos/frphotos.php:95
msgid "Friendica Login Username"
msgstr "Identifiant de connexion Friendica"
-#: ../../addon/frphotos/frphotos.php:95
+#: ../../addon/frphotos/frphotos.php:96
msgid "Friendica Login Password"
msgstr "Mot de passe de connexion Friendica"
+#: ../../addon/pubcrawl/as.php:1129 ../../addon/pubcrawl/as.php:1256
+#: ../../addon/pubcrawl/as.php:1432 ../../include/network.php:1775
+msgid "ActivityPub"
+msgstr "ActivityPub"
+
+#: ../../addon/pubcrawl/pubcrawl.php:1050
+msgid "ActivityPub Protocol Settings updated."
+msgstr "Paramètres du protocole ActivityPub Protocol mise à jour."
+
+#: ../../addon/pubcrawl/pubcrawl.php:1059
+msgid ""
+"The ActivityPub protocol does not support location independence. Connections"
+" you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr "Le protocole ActivityPub ne prend pas en charge l'indépendance de localisation. Les connexions que vous établissez au sein de ce réseau peuvent être inaccessibles à partir d'autres emplacements de canaux."
+
+#: ../../addon/pubcrawl/pubcrawl.php:1062
+msgid "Enable the ActivityPub protocol for this channel"
+msgstr "Activer le protocole ActivityPub pour ce canal."
+
+#: ../../addon/pubcrawl/pubcrawl.php:1065
+msgid "Send multi-media HTML articles"
+msgstr "Envoyer des articles HTML multimédia"
+
+#: ../../addon/pubcrawl/pubcrawl.php:1065
+msgid "Not supported by some microblog services such as Mastodon"
+msgstr "Non pris en charge par certains services de microblog tels que Mastodon."
+
+#: ../../addon/pubcrawl/pubcrawl.php:1069
+msgid "ActivityPub Protocol Settings"
+msgstr "Paramètres du protocole ActivityPub "
+
#: ../../addon/donate/donate.php:21
msgid "Project Servers and Resources"
msgstr "Serveurs et ressources du projet"
@@ -10070,7 +10959,7 @@ msgstr "Copier ici le code de sécurité de GNU-social."
#: ../../addon/statusnet/statusnet.php:383
msgid "Cancel Connection Process"
-msgstr "Annuler le processus de connexion"
+msgstr "Annuler le processus de prise de contact"
#: ../../addon/statusnet/statusnet.php:385
msgid "Current GNU social API is"
@@ -10080,7 +10969,7 @@ msgstr "L'API GNU-social courante est"
msgid "Cancel GNU social Connection"
msgstr "Annuler la connexion GNU-social"
-#: ../../addon/statusnet/statusnet.php:401 ../../addon/twitter/twitter.php:232
+#: ../../addon/statusnet/statusnet.php:401 ../../addon/twitter/twitter.php:233
msgid "Currently connected to: "
msgstr "Actuellement connecté à :"
@@ -10090,7 +10979,7 @@ msgid ""
"details from unknown viewers?</em>) the link potentially included in public "
"postings relayed to GNU social will lead the visitor to a blank page "
"informing the visitor that the access to your profile has been restricted."
-msgstr "Remarque : en raison de vos paramètres de confidentialité (masquer les détails de votre profil aux visiteurs inconnus? ), le lien potentiellement inclus dans les annonces publiques relayées sur GNU-social amènera le visiteur à une page vierge informant le visiteur que l'accès à votre profil a été restreint."
+msgstr "<strong>Remarque</strong>&nbsp;: en raison de vos paramètres de confidentialité (<em>masquer les détails de votre profil aux visiteurs inconnus&nbsp;?</em>), le lien potentiellement inclus dans les annonces publiques relayées sur GNU-social amènera le visiteur à une page vierge informant le visiteur que l'accès à votre profil a été restreint."
#: ../../addon/statusnet/statusnet.php:411
msgid "Allow posting to GNU social"
@@ -10112,7 +11001,7 @@ msgid ""
"account by default"
msgstr "Si cette option est activée, par défaut, vos publications publiques seront publiées sur le compte GNU-social associé"
-#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:255
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:261
msgid "Clear OAuth configuration"
msgstr "Effacer la configuration OAuth"
@@ -10120,11 +11009,11 @@ msgstr "Effacer la configuration OAuth"
msgid "GNU social Post Settings"
msgstr "Paramètres de publication GNU-social"
-#: ../../addon/statusnet/statusnet.php:891
+#: ../../addon/statusnet/statusnet.php:892
msgid "API URL"
msgstr "URL de l'API"
-#: ../../addon/statusnet/statusnet.php:894
+#: ../../addon/statusnet/statusnet.php:895
msgid "Application name"
msgstr "Nom de l'application"
@@ -10140,43 +11029,39 @@ msgstr "Générateur de QRcode"
msgid "Enter some text"
msgstr "Entrer du texte"
-#: ../../addon/chess/chess.php:276 ../../addon/chess/chess.php:433
+#: ../../addon/chess/chess.php:353 ../../addon/chess/chess.php:542
msgid "Invalid game."
msgstr "Jeu invalide"
-#: ../../addon/chess/chess.php:282 ../../addon/chess/chess.php:439
+#: ../../addon/chess/chess.php:359 ../../addon/chess/chess.php:582
msgid "You are not a player in this game."
msgstr "Vous n'êtes pas un joueur de ce jeu."
-#: ../../addon/chess/chess.php:315
+#: ../../addon/chess/chess.php:415
msgid "You must be a local channel to create a game."
msgstr "Vous devez être un canal local pour créer un jeu."
-#: ../../addon/chess/chess.php:333
+#: ../../addon/chess/chess.php:433
msgid "You must select one opponent that is not yourself."
msgstr "Vous devez sélectionner un adversaire qui ne soit pas vous-même."
-#: ../../addon/chess/chess.php:336
-msgid "Creating new game..."
-msgstr "en train de créer un nouveau jeu…"
-
-#: ../../addon/chess/chess.php:342
-msgid "You must select white or black."
-msgstr "Vous devez sélectionner les blancs ou les noirs."
+#: ../../addon/chess/chess.php:444
+msgid "Random color chosen."
+msgstr "Couleur aléatoire choisie."
-#: ../../addon/chess/chess.php:349
+#: ../../addon/chess/chess.php:452
msgid "Error creating new game."
msgstr "Erreur lors de la création du nouveau jeu."
-#: ../../addon/chess/chess.php:381 ../../include/channel.php:897
+#: ../../addon/chess/chess.php:486 ../../include/channel.php:1151
msgid "Requested channel is not available."
msgstr "Canal demandé non disponible."
-#: ../../addon/chess/chess.php:395
+#: ../../addon/chess/chess.php:500
msgid "You must select a local channel /chess/channelname"
msgstr "Vous devez sélectionner un canal local /échecs/nomducanal"
-#: ../../addon/chess/chess.php:923
+#: ../../addon/chess/chess.php:1066
msgid "Enable notifications"
msgstr "Activer les notifications"
@@ -10184,17 +11069,17 @@ msgstr "Activer les notifications"
msgid "Post to Twitter"
msgstr "Publier sur Twitter"
-#: ../../addon/twitter/twitter.php:154
+#: ../../addon/twitter/twitter.php:155
msgid "Twitter settings updated."
msgstr "Les paramètres de Twitter ont été mis à jour."
-#: ../../addon/twitter/twitter.php:183
+#: ../../addon/twitter/twitter.php:184
msgid ""
"No consumer key pair for Twitter found. Please contact your site "
"administrator."
msgstr "Aucune paire de clés d'utilisateur pour Twitter n'a été trouvée. Veuillez contacter l'administrateur de votre site."
-#: ../../addon/twitter/twitter.php:205
+#: ../../addon/twitter/twitter.php:206
msgid ""
"At this Hubzilla instance the Twitter plugin was enabled but you have not "
"yet connected your account to your Twitter account. To do so click the "
@@ -10203,15 +11088,15 @@ msgid ""
" be posted to Twitter."
msgstr "Dans cette instance de Hubzilla, le plugin Twitter a été activé, mais vous n'avez pas encore connecté votre compte à votre compte Twitter. Pour ce faire, cliquez sur le bouton ci-dessous pour obtenir un code PIN de Twitter que vous devez copier dans la zone de saisie ci-dessous, puis soumettre le formulaire. Seuls vos messages publics seront publiés sur Twitter."
-#: ../../addon/twitter/twitter.php:207
+#: ../../addon/twitter/twitter.php:208
msgid "Log in with Twitter"
msgstr "Connectez-vous avec votre compte Twitter"
-#: ../../addon/twitter/twitter.php:210
+#: ../../addon/twitter/twitter.php:211
msgid "Copy the PIN from Twitter here"
msgstr "Copier ici le PIN fourni par Twitter"
-#: ../../addon/twitter/twitter.php:237
+#: ../../addon/twitter/twitter.php:238
msgid ""
"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
"details from unknown viewers?</em>) the link potentially included in public "
@@ -10219,42 +11104,122 @@ msgid ""
"the visitor that the access to your profile has been restricted."
msgstr "Note : En raison de vos paramètres de confidentialité (Masquer les détails de votre profil aux visiteurs inconnus?), le lien potentiellement inclus dans les annonces publiques relayées vers Twitter amènera le visiteur à une page vierge l'informant que l'accès à votre profil a été restreint."
-#: ../../addon/twitter/twitter.php:242
+#: ../../addon/twitter/twitter.php:243
msgid "Allow posting to Twitter"
msgstr "Autoriser la publication sur Twitter"
-#: ../../addon/twitter/twitter.php:242
+#: ../../addon/twitter/twitter.php:243
msgid ""
"If enabled your public postings can be posted to the associated Twitter "
"account"
msgstr "Si cette option est activée, vos publications publiques peuvent être publiées sur le compte Twitter associé."
-#: ../../addon/twitter/twitter.php:246
+#: ../../addon/twitter/twitter.php:247
+msgid "Twitter post length"
+msgstr "Longueur des messages Twitter"
+
+#: ../../addon/twitter/twitter.php:247
+msgid "Maximum tweet length"
+msgstr "Longueur maximale du tweet"
+
+#: ../../addon/twitter/twitter.php:252
msgid "Send public postings to Twitter by default"
msgstr "Par défaut, envoyer vos publications publiques sur Twitter."
-#: ../../addon/twitter/twitter.php:246
+#: ../../addon/twitter/twitter.php:252
msgid ""
"If enabled your public postings will be posted to the associated Twitter "
"account by default"
msgstr "Si cette option est activée, par défaut, vos publications publiques seront publiées sur le compte Twitter associé."
-#: ../../addon/twitter/twitter.php:264
+#: ../../addon/twitter/twitter.php:270
msgid "Twitter Post Settings"
msgstr "Paramètres des publications Twitter"
-#: ../../addon/smileybutton/smileybutton.php:273
+#: ../../addon/smileybutton/smileybutton.php:211
msgid "Deactivate the feature"
msgstr "Désactiver la fonctionnalité"
-#: ../../addon/smileybutton/smileybutton.php:277
+#: ../../addon/smileybutton/smileybutton.php:215
msgid "Hide the button and show the smilies directly."
msgstr "Cacher le bouton et afficher les émoticônes directement."
-#: ../../addon/smileybutton/smileybutton.php:281
+#: ../../addon/smileybutton/smileybutton.php:219
msgid "Smileybutton Settings"
msgstr "Paramètres du bouton des émoticônes"
+#: ../../addon/cart/myshop.php:138
+msgid "Order Not Found"
+msgstr "Commande introuvable"
+
+#: ../../addon/cart/cart.php:810
+msgid "Order cannot be checked out."
+msgstr "La commande ne peut pas être finalisée."
+
+#: ../../addon/cart/cart.php:1073
+msgid "Enable Shopping Cart"
+msgstr "Activer le panier d'achats"
+
+#: ../../addon/cart/cart.php:1080
+msgid "Enable Test Catalog"
+msgstr "Activer le catalogue de test"
+
+#: ../../addon/cart/cart.php:1088
+msgid "Enable Manual Payments"
+msgstr "Activer les paiements manuels"
+
+#: ../../addon/cart/cart.php:1103
+msgid "Base Cart Settings"
+msgstr "Paramètres de base du panier"
+
+#: ../../addon/cart/cart.php:1151
+msgid "Add Item"
+msgstr "Ajouter un article"
+
+#: ../../addon/cart/cart.php:1165
+msgid "Call cart_post_"
+msgstr "Appeler cart_post_"
+
+#: ../../addon/cart/cart.php:1195
+msgid "Cart Not Enabled (profile: "
+msgstr "Panier non activé (profile:"
+
+#: ../../addon/cart/cart.php:1226 ../../addon/cart/manual_payments.php:36
+msgid "Order not found."
+msgstr "Commande introuvable."
+
+#: ../../addon/cart/cart.php:1262 ../../addon/cart/cart.php:1389
+msgid "No Order Found"
+msgstr "Aucune commande trouvée"
+
+#: ../../addon/cart/cart.php:1270
+msgid "call: "
+msgstr "appel:"
+
+#: ../../addon/cart/cart.php:1273
+msgid "An unknown error has occurred Please start again."
+msgstr "Une erreur inconnue s'est produite. Veuillez recommencer."
+
+#: ../../addon/cart/cart.php:1414
+msgid "Invalid Payment Type. Please start again."
+msgstr "Type de paiement non valable. Recommencez, s'il vous plaît."
+
+#: ../../addon/cart/cart.php:1421
+msgid "Order not found"
+msgstr "Commande non trouvée"
+
+#: ../../addon/cart/manual_payments.php:9
+msgid "Error: order mismatch. Please try again."
+msgstr "Erreur : non-appariement de commande. Veuillez réessayer."
+
+#: ../../addon/cart/manual_payments.php:29
+msgid "Manual payments are not enabled."
+msgstr "Les paiements manuels ne sont pas activés."
+
+#: ../../addon/cart/manual_payments.php:44
+msgid "Finished"
+msgstr "Terminé."
+
#: ../../addon/piwik/piwik.php:85
msgid ""
"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
@@ -10299,156 +11264,156 @@ msgstr "Activer le traqueur d'erreur du frontend JavaScript"
msgid "This feature requires Piwik >= 2.2.0"
msgstr "Cette fonctionnalité requiert une version de Piwik >=2.2.0"
-#: ../../addon/tour/tour.php:75
+#: ../../addon/tour/tour.php:76
msgid "Edit your profile and change settings."
msgstr "Éditer votre profil et changer les paramètres."
-#: ../../addon/tour/tour.php:76
+#: ../../addon/tour/tour.php:77
msgid "Click here to see activity from your connections."
-msgstr "Cliquer ici pour voir l'activité de vos connections."
+msgstr "Cliquer ici pour voir l'activité de vos contacts."
-#: ../../addon/tour/tour.php:77
+#: ../../addon/tour/tour.php:78
msgid "Click here to see your channel home."
msgstr "Cliquer ici pour voir votre canal principal."
-#: ../../addon/tour/tour.php:78
+#: ../../addon/tour/tour.php:79
msgid "You can access your private messages from here."
msgstr "Vous pouvez accéder à vos messages privés à partir d'ici."
-#: ../../addon/tour/tour.php:79
+#: ../../addon/tour/tour.php:80
msgid "Create new events here."
msgstr "Créer de nouveaux événements ici."
-#: ../../addon/tour/tour.php:80
+#: ../../addon/tour/tour.php:81
msgid ""
"You can accept new connections and change permissions for existing ones "
"here. You can also e.g. create groups of contacts."
-msgstr "Vous pouvez accepter de nouvelles connections et changer les permissions des connections existantes. Vous pouvez également créer des groupes de contacts."
+msgstr "Vous pouvez accepter de nouveaux contacts et changer les droits d'accès des contacts existants. Vous pouvez également créer des groupes de contacts."
-#: ../../addon/tour/tour.php:81
+#: ../../addon/tour/tour.php:82
msgid "System notifications will arrive here"
msgstr "Les notifications du système arriveront ici."
-#: ../../addon/tour/tour.php:82
+#: ../../addon/tour/tour.php:83
msgid "Search for content and users"
msgstr "Rechercher du contenu ou des utilisateurs"
-#: ../../addon/tour/tour.php:83
+#: ../../addon/tour/tour.php:84
msgid "Browse for new contacts"
msgstr "Rechercher de nouveaux contacts"
-#: ../../addon/tour/tour.php:84
+#: ../../addon/tour/tour.php:85
msgid "Launch installed apps"
msgstr "Démarrer des applications installées"
-#: ../../addon/tour/tour.php:85
+#: ../../addon/tour/tour.php:86
msgid "Looking for help? Click here."
msgstr "Un peu d'aide ? Cliquer ici."
-#: ../../addon/tour/tour.php:86
+#: ../../addon/tour/tour.php:87
msgid ""
"New events have occurred in your network. Click here to see what has "
"happened!"
msgstr "De nouveaux événement se sont produits dans votre réseau. Cliquer ici pour voir ce qui s'est passé !"
-#: ../../addon/tour/tour.php:87
+#: ../../addon/tour/tour.php:88
msgid "You have received a new private message. Click here to see from who!"
msgstr "Vous avez reçu un nouveau message privé. Cliquer ici pour voir qui vous écrit !"
-#: ../../addon/tour/tour.php:88
+#: ../../addon/tour/tour.php:89
msgid "There are events this week. Click here too see which!"
msgstr "Il y a des événements cette semaine. Cliquer ici pour voir lesquels !"
-#: ../../addon/tour/tour.php:89
+#: ../../addon/tour/tour.php:90
msgid "You have received a new introduction. Click here to see who!"
msgstr "Vous avez reçu une nouvelle demande de relation. Cliquer ici pour voir de qui !"
-#: ../../addon/tour/tour.php:90
+#: ../../addon/tour/tour.php:91
msgid ""
"There is a new system notification. Click here to see what has happened!"
msgstr "Vous avez reçu une notification du système. Cliquer ici pour voir ce qui se passe !"
-#: ../../addon/tour/tour.php:93
+#: ../../addon/tour/tour.php:94
msgid "Click here to share text, images, videos and sound."
msgstr "Cliquer ici pour partager du texte, des images, des vidéos ou du son."
-#: ../../addon/tour/tour.php:94
+#: ../../addon/tour/tour.php:95
msgid "You can write an optional title for your update (good for long posts)."
msgstr "Vous pouvez ajouter à votre mise à jour un titre facultatif (pratique pour de longues publications)."
-#: ../../addon/tour/tour.php:95
+#: ../../addon/tour/tour.php:96
msgid "Entering some categories here makes it easier to find your post later."
msgstr "Renseigner certaines catégories ici permet de retrouver plus facilement votre message plus tard."
-#: ../../addon/tour/tour.php:96
+#: ../../addon/tour/tour.php:97
msgid "Share photos, links, location, etc."
msgstr "Partager des photos, des liens, des localisations, etc."
-#: ../../addon/tour/tour.php:97
+#: ../../addon/tour/tour.php:98
msgid ""
"Only want to share content for a while? Make it expire at a certain date."
msgstr "Envie de partager un contenu pour une durée limitée ? Faites-le expirer à une certaine date."
-#: ../../addon/tour/tour.php:98
+#: ../../addon/tour/tour.php:99
msgid "You can password protect content."
msgstr "Vous pouvez protéger un contenu avec un mot de passe."
-#: ../../addon/tour/tour.php:99
+#: ../../addon/tour/tour.php:100
msgid "Choose who you share with."
msgstr "Choisir avec qui vous partagez."
-#: ../../addon/tour/tour.php:101
+#: ../../addon/tour/tour.php:102
msgid "Click here when you are done."
msgstr "Cliquer ici quand vous avez fini."
-#: ../../addon/tour/tour.php:104
+#: ../../addon/tour/tour.php:105
msgid "Adjust from which channels posts should be displayed."
msgstr "Préciser de quels canaux les publications seront affichées."
-#: ../../addon/tour/tour.php:105
+#: ../../addon/tour/tour.php:106
msgid "Only show posts from channels in the specified privacy group."
msgstr "Afficher uniquement les messages des canaux appartenant au groupe de contacts spécifié."
-#: ../../addon/tour/tour.php:109
+#: ../../addon/tour/tour.php:110
msgid "Easily find posts containing tags (keywords preceded by the \"#\" symbol)."
msgstr "Trouvez facilement des publications contenant des tags (mots-clés précédés du symbole \"#\")."
-#: ../../addon/tour/tour.php:110
+#: ../../addon/tour/tour.php:111
msgid "Easily find posts in given category."
msgstr "Trouvez facilement des publications dans une catégorie donnée."
-#: ../../addon/tour/tour.php:111
+#: ../../addon/tour/tour.php:112
msgid "Easily find posts by date."
msgstr "Trouvez facilement des publications en fonction de leur date."
-#: ../../addon/tour/tour.php:112
+#: ../../addon/tour/tour.php:113
msgid ""
"Suggested users who have volounteered to be shown as suggestions, and who we"
" think you might find interesting."
msgstr "Voici des utilisateurs que vous pourriez trouver intéressants. Ces utilisateurs se sont portés volontaires pour être affichés comme exemples."
-#: ../../addon/tour/tour.php:113
+#: ../../addon/tour/tour.php:114
msgid "Here you see channels you have connected to."
msgstr "Retrouvez ici les canaux auxquels vous vous êtes connectés."
-#: ../../addon/tour/tour.php:114
+#: ../../addon/tour/tour.php:115
msgid "Save your search so you can repeat it at a later date."
msgstr "Enregistrer votre recherche de façon à pouvoir la répéter plus tard."
-#: ../../addon/tour/tour.php:117
+#: ../../addon/tour/tour.php:118
msgid ""
"If you see this icon you can be sure that the sender is who it say it is. It"
" is normal that it is not always possible to verify the sender, so the icon "
"will be missing sometimes. There is usually no need to worry about that."
msgstr "Si vous voyez cette icône, vous pouvez être sûr que l'expéditeur est qui il dit qu'il est. Il est normal qu'il ne soit pas toujours possible de vérifier l'expéditeur, donc l'icône manquera parfois. Il n'est généralement pas nécessaire de s'inquiéter à ce sujet."
-#: ../../addon/tour/tour.php:118
+#: ../../addon/tour/tour.php:119
msgid ""
"Danger! It seems someone tried to forge a message! This message is not "
"necessarily from who it says it is from!"
msgstr "Attention ! Il semble que quelqu'un a essayé de contrefaire un message ! Ce message n'a pas nécessairement été envoyé par la personne annoncée !"
-#: ../../addon/tour/tour.php:125
+#: ../../addon/tour/tour.php:126
msgid ""
"Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can "
"pause it at any time and continue where you left off by reloading the page, "
@@ -10463,8 +11428,8 @@ msgstr "Partage d'identification étendu"
#: ../../addon/sendzid/sendzid.php:26
msgid ""
"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
-msgstr "Partagez votre identification avec tous les sites Web sur Internet. Lorsqu'elle est désactivée, l'identification n'est partagée qu'avec les sites de la matrice."
+"identity is only shared with $Projectname sites."
+msgstr "Partagez votre identité avec tous les sites Internet. Lorsqu'elle est désactivée, l'identité n'est partagée qu'avec les sites $Projectname."
#: ../../addon/tictac/tictac.php:21
msgid "Three Dimensional Tic-Tac-Toe"
@@ -10532,6 +11497,22 @@ msgstr "Paramètres du haut de page"
msgid "pageheader Settings saved."
msgstr "Paramètres du haut de page sauvegardés."
+#: ../../addon/authchoose/authchoose.php:67
+msgid "Only authenticate automatically to sites of your friends"
+msgstr "Ne vous authentifier automatiquement que sur les sites de vos contacts"
+
+#: ../../addon/authchoose/authchoose.php:67
+msgid "By default you are automatically authenticated anywhere in the network"
+msgstr "Par défaut vous êtres authentifiés automatiquement partout sur le réseau"
+
+#: ../../addon/authchoose/authchoose.php:71
+msgid "Authchoose Settings"
+msgstr "Paramètres Authchoose"
+
+#: ../../addon/authchoose/authchoose.php:85
+msgid "Atuhchoose Settings updated."
+msgstr "Paramètres Authchoose mis à jour."
+
#: ../../addon/moremoods/moremoods.php:19
msgid "lonely"
msgstr "isolé"
@@ -10727,6 +11708,17 @@ msgstr "Un compte a été créé pour vous."
msgid "Authentication successful but rejected: account creation is disabled."
msgstr "L'authentification a réussi mais a été rejetée : la création de comptes est désactivée."
+#: ../../addon/opensearch/opensearch.php:26
+#, php-format
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr "Recherche %1$s (%2$s)"
+
+#: ../../addon/opensearch/opensearch.php:28
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr "$Projectname"
+
#: ../../addon/opensearch/opensearch.php:43
msgid "Search $Projectname"
msgstr "Chercher dans $Projectname"
@@ -10739,7 +11731,7 @@ msgstr "Importation du fichier de stockage Redmatrix"
msgid "This will import all your Redmatrix cloud files to this channel."
msgstr "Ceci importera tous vos fichiers Redmatrix dans ce canal."
-#: ../../addon/redfiles/redfilehelper.php:67
+#: ../../addon/redfiles/redfilehelper.php:64
msgid "file"
msgstr "fichier"
@@ -10747,11 +11739,6 @@ msgstr "fichier"
msgid "Send email to all members"
msgstr "Envoyer un mail à tous les membres"
-#: ../../addon/hubwall/hubwall.php:33
-#, php-format
-msgid "$1%s Administrator"
-msgstr "$1%s administrateur"
-
#: ../../addon/hubwall/hubwall.php:73
#, php-format
msgid "%1$d of %2$d messages sent."
@@ -10825,11 +11812,11 @@ msgstr "Transsexuel"
msgid "Hermaphrodite"
msgstr "Hermaphrodite"
-#: ../../include/selectors.php:49
+#: ../../include/selectors.php:49 ../../include/channel.php:1484
msgid "Neuter"
msgstr "Neutre"
-#: ../../include/selectors.php:49
+#: ../../include/selectors.php:49 ../../include/channel.php:1486
msgid "Non-specific"
msgstr "Non spécifique"
@@ -11009,350 +11996,308 @@ msgstr "S'en fiche"
msgid "Ask me"
msgstr "Me demander"
-#: ../../include/conversation.php:200
+#: ../../include/conversation.php:169
+#, php-format
+msgid "likes %1$s's %2$s"
+msgstr "aime le %2$s de %1$s"
+
+#: ../../include/conversation.php:172
+#, php-format
+msgid "doesn't like %1$s's %2$s"
+msgstr "n'aime pas le %2$s de%1$s "
+
+#: ../../include/conversation.php:212
#, php-format
msgid "%1$s is now connected with %2$s"
msgstr "%1$s ajoute %2$s à ses contacts"
-#: ../../include/conversation.php:235
+#: ../../include/conversation.php:247
#, php-format
msgid "%1$s poked %2$s"
msgstr "%1$s a tapoté %2$s"
-#: ../../include/conversation.php:239 ../../include/text.php:1115
-#: ../../include/text.php:1120
+#: ../../include/conversation.php:251 ../../include/text.php:1129
+#: ../../include/text.php:1133
msgid "poked"
msgstr "a tapoté"
-#: ../../include/conversation.php:691
+#: ../../include/conversation.php:736
#, php-format
msgid "View %s's profile @ %s"
msgstr "Voir le profil de %s @ %s"
-#: ../../include/conversation.php:711
+#: ../../include/conversation.php:756
msgid "Categories:"
msgstr "Catégories&nbsp;:"
-#: ../../include/conversation.php:712
+#: ../../include/conversation.php:757
msgid "Filed under:"
msgstr "Classé sous&nbsp;:"
-#: ../../include/conversation.php:737
+#: ../../include/conversation.php:783
msgid "View in context"
msgstr "Voir en contexte"
-#: ../../include/conversation.php:834
+#: ../../include/conversation.php:884
msgid "remove"
msgstr "supprimer"
-#: ../../include/conversation.php:838 ../../include/nav.php:268
+#: ../../include/conversation.php:888
msgid "Loading..."
msgstr "Chargement..."
-#: ../../include/conversation.php:839
+#: ../../include/conversation.php:889
msgid "Delete Selected Items"
msgstr "Supprimer les éléments selectionnés"
-#: ../../include/conversation.php:882
+#: ../../include/conversation.php:932
msgid "View Source"
msgstr "Voir source"
-#: ../../include/conversation.php:892
+#: ../../include/conversation.php:942
msgid "Follow Thread"
msgstr "Suivre la discussion"
-#: ../../include/conversation.php:901
+#: ../../include/conversation.php:951
msgid "Unfollow Thread"
msgstr "Ne plus suivre la discussion"
-#: ../../include/conversation.php:992
-msgid "Activity/Posts"
-msgstr "Activité/Publications"
-
-#: ../../include/conversation.php:1012
+#: ../../include/conversation.php:1062
msgid "Edit Connection"
msgstr "Modifier le contact"
-#: ../../include/conversation.php:1022
+#: ../../include/conversation.php:1072
msgid "Message"
msgstr "Message"
-#: ../../include/conversation.php:1156
+#: ../../include/conversation.php:1206
#, php-format
msgid "%s likes this."
msgstr "%s aime ça."
-#: ../../include/conversation.php:1156
+#: ../../include/conversation.php:1206
#, php-format
msgid "%s doesn't like this."
msgstr "%s n'aime pas ça."
-#: ../../include/conversation.php:1160
+#: ../../include/conversation.php:1210
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
msgstr[0] "<span %1$s>%2$d personne</span> aime ceci."
msgstr[1] "<span %1$s>%2$d personnes</span> aiment ceci."
-#: ../../include/conversation.php:1162
+#: ../../include/conversation.php:1212
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
msgstr[0] "<span %1$s>%2$d personne</span> n'aime pas ça."
msgstr[1] "<span %1$s>%2$d personnes</span> n'aiment pas ça."
-#: ../../include/conversation.php:1168
+#: ../../include/conversation.php:1218
msgid "and"
msgstr "et"
-#: ../../include/conversation.php:1171
+#: ../../include/conversation.php:1221
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ", et %d autre personne"
msgstr[1] ", et %d autres personnes"
-#: ../../include/conversation.php:1172
+#: ../../include/conversation.php:1222
#, php-format
msgid "%s like this."
msgstr "%s aime ça."
-#: ../../include/conversation.php:1172
+#: ../../include/conversation.php:1222
#, php-format
msgid "%s don't like this."
msgstr "%s n'aime pas ça."
-#: ../../include/conversation.php:1215
+#: ../../include/conversation.php:1265
msgid "Set your location"
msgstr "Spécifier votre emplacement géographique"
-#: ../../include/conversation.php:1216
+#: ../../include/conversation.php:1266
msgid "Clear browser location"
msgstr "Supprimer l'emplacement géographique du navigateur"
-#: ../../include/conversation.php:1264
+#: ../../include/conversation.php:1316
msgid "Tag term:"
msgstr "Étiquette&nbsp;:"
-#: ../../include/conversation.php:1265
+#: ../../include/conversation.php:1317
msgid "Where are you right now?"
-msgstr "Où êtes-vous en ce moment&nbsp;?"
+msgstr "Où êtes-vous en ce moment ?"
-#: ../../include/conversation.php:1270
+#: ../../include/conversation.php:1322
msgid "Choose a different album..."
msgstr "Choisissez un autre album"
-#: ../../include/conversation.php:1274
+#: ../../include/conversation.php:1326
msgid "Comments enabled"
msgstr "Commentaires activés"
-#: ../../include/conversation.php:1275
+#: ../../include/conversation.php:1327
msgid "Comments disabled"
msgstr "Commentaires désactivés"
-#: ../../include/conversation.php:1313
+#: ../../include/conversation.php:1375
msgid "Page link name"
msgstr "Nom du lien vers la page"
-#: ../../include/conversation.php:1316
+#: ../../include/conversation.php:1378
msgid "Post as"
msgstr "Publier en tant que"
-#: ../../include/conversation.php:1330
+#: ../../include/conversation.php:1392
msgid "Toggle voting"
msgstr "(Dés)activer le vote"
-#: ../../include/conversation.php:1333
+#: ../../include/conversation.php:1395
msgid "Disable comments"
msgstr "Désactiver les commentaires"
-#: ../../include/conversation.php:1334
+#: ../../include/conversation.php:1396
msgid "Toggle comments"
msgstr "Basculer les commentaires"
-#: ../../include/conversation.php:1342
+#: ../../include/conversation.php:1404
msgid "Categories (optional, comma-separated list)"
msgstr "Catégories (facultatives, séparées par des virgules)"
-#: ../../include/conversation.php:1365
+#: ../../include/conversation.php:1427
msgid "Other networks and post services"
msgstr "Autres réseaux et services de messagerie"
-#: ../../include/conversation.php:1371
+#: ../../include/conversation.php:1433
msgid "Set publish date"
msgstr "Définir la date de publication"
-#: ../../include/conversation.php:1625
-msgid "Discover"
-msgstr "À découvrir"
-
-#: ../../include/conversation.php:1628
-msgid "Imported public streams"
-msgstr "Flux publics importés"
-
-#: ../../include/conversation.php:1633
+#: ../../include/conversation.php:1693
msgid "Commented Order"
msgstr "Par date de commentaire"
-#: ../../include/conversation.php:1636
+#: ../../include/conversation.php:1696
msgid "Sort by Comment Date"
msgstr "Trier par date de dernier commentaire"
-#: ../../include/conversation.php:1640
+#: ../../include/conversation.php:1700
msgid "Posted Order"
msgstr "Par date de publication"
-#: ../../include/conversation.php:1643
+#: ../../include/conversation.php:1703
msgid "Sort by Post Date"
msgstr "Trier par date de publication"
-#: ../../include/conversation.php:1651
+#: ../../include/conversation.php:1711
msgid "Posts that mention or involve you"
msgstr "Publications qui vous mentionnent ou vous concernent d'une manière ou d'une autre"
-#: ../../include/conversation.php:1660
+#: ../../include/conversation.php:1720
msgid "Activity Stream - by date"
msgstr "Flux d'activité - par date"
-#: ../../include/conversation.php:1666
+#: ../../include/conversation.php:1726
msgid "Starred"
msgstr "Avec étoile"
-#: ../../include/conversation.php:1669
+#: ../../include/conversation.php:1729
msgid "Favourite Posts"
msgstr "Publications préférées"
-#: ../../include/conversation.php:1676
+#: ../../include/conversation.php:1736
msgid "Spam"
msgstr "Indésirable"
-#: ../../include/conversation.php:1679
+#: ../../include/conversation.php:1739
msgid "Posts flagged as SPAM"
msgstr "Publications marquées comme indésirables"
-#: ../../include/conversation.php:1754
+#: ../../include/conversation.php:1814 ../../include/nav.php:381
msgid "Status Messages and Posts"
msgstr "Messages d'état et contributions"
-#: ../../include/conversation.php:1767
+#: ../../include/conversation.php:1827 ../../include/nav.php:394
msgid "Profile Details"
msgstr "Détails du profil"
-#: ../../include/conversation.php:1777 ../../include/photos.php:527
+#: ../../include/conversation.php:1837 ../../include/nav.php:404
+#: ../../include/photos.php:662
msgid "Photo Albums"
msgstr "Albums photo"
-#: ../../include/conversation.php:1785
+#: ../../include/conversation.php:1845 ../../include/nav.php:412
msgid "Files and Storage"
msgstr "Fichiers et Stockage"
-#: ../../include/conversation.php:1821
+#: ../../include/conversation.php:1882 ../../include/nav.php:447
msgid "Bookmarks"
msgstr "Favoris"
-#: ../../include/conversation.php:1824
+#: ../../include/conversation.php:1885 ../../include/nav.php:450
msgid "Saved Bookmarks"
msgstr "Favoris sauvegardés"
-#: ../../include/conversation.php:1835
+#: ../../include/conversation.php:1896 ../../include/nav.php:461
+msgid "View Cards"
+msgstr "Voir cartes"
+
+#: ../../include/conversation.php:1904
+msgid "articles"
+msgstr "articles"
+
+#: ../../include/conversation.php:1907 ../../include/nav.php:472
+msgid "View Articles"
+msgstr "Voir articles"
+
+#: ../../include/conversation.php:1918 ../../include/nav.php:484
msgid "View Webpages"
msgstr "Voir les pages web"
-#: ../../include/conversation.php:1904
+#: ../../include/conversation.php:1987
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] "Participe"
msgstr[1] "Participent"
-#: ../../include/conversation.php:1907
+#: ../../include/conversation.php:1990
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] "Ne participe pas"
msgstr[1] "Ne participent pas"
-#: ../../include/conversation.php:1910
+#: ../../include/conversation.php:1993
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] "Indécis(e)"
msgstr[1] "Indécis(es)"
-#: ../../include/conversation.php:1913
+#: ../../include/conversation.php:1996
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] "D'accord"
msgstr[1] "D'accord"
-#: ../../include/conversation.php:1916
+#: ../../include/conversation.php:1999
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] "Pas d'accord"
msgstr[1] "Pas d'accord"
-#: ../../include/conversation.php:1919
+#: ../../include/conversation.php:2002
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
msgstr[0] "S'abstient"
msgstr[1] "S'abstiennent"
-#: ../../include/permissions.php:35
-msgid "Can view my normal stream and posts"
-msgstr "Peut voir les publications ordinaires sur mon canal."
-
-#: ../../include/permissions.php:39
-msgid "Can view my webpages"
-msgstr "Peut voir mes pages web"
-
-#: ../../include/permissions.php:43
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Peuvent poster sur la page de mon canal (\"mur\")"
-
-#: ../../include/permissions.php:46
-msgid "Can like/dislike stuff"
-msgstr "Peuvent aimer/ne pas aimer"
-
-#: ../../include/permissions.php:46
-msgid "Profiles and things other than posts/comments"
-msgstr "Profils et autres excluant les publications/commentaires."
-
-#: ../../include/permissions.php:48
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Peut faire suivre à tous les contacts de mon canal via \"@mention\""
-
-#: ../../include/permissions.php:48
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avancé - utile pour les canaux de type \"forum/groupe\""
-
-#: ../../include/permissions.php:49
-msgid "Can chat with me (when available)"
-msgstr "Peut discuter avec moi (quand disponibie)"
-
-#: ../../include/permissions.php:50
-msgid "Can write to my file storage and photos"
-msgstr "Peut charger des fichiers et des photos dans mon canal"
-
-#: ../../include/permissions.php:51
-msgid "Can edit my webpages"
-msgstr "Peut modifier mes pages web"
-
-#: ../../include/permissions.php:53
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Plutôt avancé - très utile dans les communautés ouvertes"
-
-#: ../../include/permissions.php:55
-msgid "Can administer my channel resources"
-msgstr "Peut administrer les ressources de mon canal"
-
-#: ../../include/permissions.php:55
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes"
-
#: ../../include/dir_fns.php:141
msgid "Directory Options"
msgstr "Options d'annuaire"
@@ -11374,353 +12319,377 @@ msgstr "Ce site uniquement"
msgid "%1$s's bookmarks"
msgstr "Favoris de %1$s"
-#: ../../include/import.php:41
+#: ../../include/import.php:25
+msgid "Unable to import a removed channel."
+msgstr "Impossible d'importer un canal supprimé."
+
+#: ../../include/import.php:46
msgid ""
"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr "L'import a échoué. Un canal existe déjà avec ce nom"
-#: ../../include/import.php:105
+#: ../../include/import.php:111
msgid "Cloned channel not found. Import failed."
msgstr "Canal cloné non trouvé. Echec de l'import."
-#: ../../include/text.php:478
+#: ../../include/text.php:492
msgid "prev"
msgstr "préc."
-#: ../../include/text.php:480
+#: ../../include/text.php:494
msgid "first"
msgstr "premier"
-#: ../../include/text.php:509
+#: ../../include/text.php:523
msgid "last"
msgstr "dernier"
-#: ../../include/text.php:512
+#: ../../include/text.php:526
msgid "next"
msgstr "Suivant"
-#: ../../include/text.php:523
+#: ../../include/text.php:537
msgid "older"
msgstr "plus ancien"
-#: ../../include/text.php:525
+#: ../../include/text.php:539
msgid "newer"
msgstr "plus récent"
-#: ../../include/text.php:945
+#: ../../include/text.php:961
msgid "No connections"
-msgstr "Pas de relations."
+msgstr "Pas de contact."
-#: ../../include/text.php:970
+#: ../../include/text.php:993
#, php-format
msgid "View all %s connections"
msgstr "Voir les %s contacts"
-#: ../../include/text.php:1115 ../../include/text.php:1120
+#: ../../include/text.php:1129 ../../include/text.php:1133
msgid "poke"
msgstr "tapoter"
-#: ../../include/text.php:1121
+#: ../../include/text.php:1134
msgid "ping"
msgstr "ping"
-#: ../../include/text.php:1121
+#: ../../include/text.php:1134
msgid "pinged"
msgstr "pingé"
-#: ../../include/text.php:1122
+#: ../../include/text.php:1135
msgid "prod"
msgstr "encourager"
-#: ../../include/text.php:1122
+#: ../../include/text.php:1135
msgid "prodded"
-msgstr "encouragé"
+msgstr "à encouragé"
-#: ../../include/text.php:1123
+#: ../../include/text.php:1136
msgid "slap"
msgstr "giffler"
-#: ../../include/text.php:1123
+#: ../../include/text.php:1136
msgid "slapped"
msgstr "gifflé(e)"
-#: ../../include/text.php:1124
+#: ../../include/text.php:1137
msgid "finger"
msgstr "pointer"
-#: ../../include/text.php:1124
+#: ../../include/text.php:1137
msgid "fingered"
msgstr "pointé"
-#: ../../include/text.php:1125
+#: ../../include/text.php:1138
msgid "rebuff"
msgstr "rejetter"
-#: ../../include/text.php:1125
+#: ../../include/text.php:1138
msgid "rebuffed"
msgstr "rejeté"
-#: ../../include/text.php:1137
+#: ../../include/text.php:1161
msgid "happy"
msgstr "heureux"
-#: ../../include/text.php:1138
+#: ../../include/text.php:1162
msgid "sad"
msgstr "triste"
-#: ../../include/text.php:1139
+#: ../../include/text.php:1163
msgid "mellow"
msgstr "mélancolique"
-#: ../../include/text.php:1140
+#: ../../include/text.php:1164
msgid "tired"
msgstr "fatigué"
-#: ../../include/text.php:1141
+#: ../../include/text.php:1165
msgid "perky"
msgstr "impertinent"
-#: ../../include/text.php:1142
+#: ../../include/text.php:1166
msgid "angry"
msgstr "en colère"
-#: ../../include/text.php:1143
+#: ../../include/text.php:1167
msgid "stupefied"
msgstr "stupéfait"
-#: ../../include/text.php:1144
+#: ../../include/text.php:1168
msgid "puzzled"
msgstr "perplexe"
-#: ../../include/text.php:1145
+#: ../../include/text.php:1169
msgid "interested"
msgstr "intéressé"
-#: ../../include/text.php:1146
+#: ../../include/text.php:1170
msgid "bitter"
msgstr "amer"
-#: ../../include/text.php:1147
+#: ../../include/text.php:1171
msgid "cheerful"
msgstr "plein d'entrain"
-#: ../../include/text.php:1148
+#: ../../include/text.php:1172
msgid "alive"
msgstr "vivant"
-#: ../../include/text.php:1149
+#: ../../include/text.php:1173
msgid "annoyed"
msgstr "agaçé"
-#: ../../include/text.php:1150
+#: ../../include/text.php:1174
msgid "anxious"
msgstr "anxieux"
-#: ../../include/text.php:1151
+#: ../../include/text.php:1175
msgid "cranky"
msgstr "énervé"
-#: ../../include/text.php:1152
+#: ../../include/text.php:1176
msgid "disturbed"
msgstr "perturbé"
-#: ../../include/text.php:1153
+#: ../../include/text.php:1177
msgid "frustrated"
msgstr "frustré"
-#: ../../include/text.php:1154
+#: ../../include/text.php:1178
msgid "depressed"
msgstr "déprimé"
-#: ../../include/text.php:1155
+#: ../../include/text.php:1179
msgid "motivated"
msgstr "motivé"
-#: ../../include/text.php:1156
+#: ../../include/text.php:1180
msgid "relaxed"
msgstr "détendu"
-#: ../../include/text.php:1157
+#: ../../include/text.php:1181
msgid "surprised"
msgstr "surpris"
-#: ../../include/text.php:1330 ../../include/js_strings.php:70
+#: ../../include/text.php:1360 ../../include/js_strings.php:76
msgid "Monday"
msgstr "Lundi"
-#: ../../include/text.php:1330 ../../include/js_strings.php:71
+#: ../../include/text.php:1360 ../../include/js_strings.php:77
msgid "Tuesday"
msgstr "Mardi"
-#: ../../include/text.php:1330 ../../include/js_strings.php:72
+#: ../../include/text.php:1360 ../../include/js_strings.php:78
msgid "Wednesday"
msgstr "Mercredi"
-#: ../../include/text.php:1330 ../../include/js_strings.php:73
+#: ../../include/text.php:1360 ../../include/js_strings.php:79
msgid "Thursday"
msgstr "Jeudi"
-#: ../../include/text.php:1330 ../../include/js_strings.php:74
+#: ../../include/text.php:1360 ../../include/js_strings.php:80
msgid "Friday"
msgstr "Vendredi"
-#: ../../include/text.php:1330 ../../include/js_strings.php:75
+#: ../../include/text.php:1360 ../../include/js_strings.php:81
msgid "Saturday"
msgstr "Samedi"
-#: ../../include/text.php:1330 ../../include/js_strings.php:69
+#: ../../include/text.php:1360 ../../include/js_strings.php:75
msgid "Sunday"
msgstr "Dimanche"
-#: ../../include/text.php:1334 ../../include/js_strings.php:45
+#: ../../include/text.php:1364 ../../include/js_strings.php:51
msgid "January"
msgstr "Janvier"
-#: ../../include/text.php:1334 ../../include/js_strings.php:46
+#: ../../include/text.php:1364 ../../include/js_strings.php:52
msgid "February"
msgstr "Février"
-#: ../../include/text.php:1334 ../../include/js_strings.php:47
+#: ../../include/text.php:1364 ../../include/js_strings.php:53
msgid "March"
msgstr "Mars"
-#: ../../include/text.php:1334 ../../include/js_strings.php:48
+#: ../../include/text.php:1364 ../../include/js_strings.php:54
msgid "April"
msgstr "Avril"
-#: ../../include/text.php:1334
+#: ../../include/text.php:1364
msgid "May"
msgstr "Mai"
-#: ../../include/text.php:1334 ../../include/js_strings.php:50
+#: ../../include/text.php:1364 ../../include/js_strings.php:56
msgid "June"
msgstr "Juin"
-#: ../../include/text.php:1334 ../../include/js_strings.php:51
+#: ../../include/text.php:1364 ../../include/js_strings.php:57
msgid "July"
msgstr "Juillet"
-#: ../../include/text.php:1334 ../../include/js_strings.php:52
+#: ../../include/text.php:1364 ../../include/js_strings.php:58
msgid "August"
msgstr "Août"
-#: ../../include/text.php:1334 ../../include/js_strings.php:53
+#: ../../include/text.php:1364 ../../include/js_strings.php:59
msgid "September"
msgstr "Septembre"
-#: ../../include/text.php:1334 ../../include/js_strings.php:54
+#: ../../include/text.php:1364 ../../include/js_strings.php:60
msgid "October"
msgstr "Octobre"
-#: ../../include/text.php:1334 ../../include/js_strings.php:55
+#: ../../include/text.php:1364 ../../include/js_strings.php:61
msgid "November"
msgstr "Novembre"
-#: ../../include/text.php:1334 ../../include/js_strings.php:56
+#: ../../include/text.php:1364 ../../include/js_strings.php:62
msgid "December"
msgstr "Décembre"
-#: ../../include/text.php:1411 ../../include/text.php:1415
+#: ../../include/text.php:1428 ../../include/text.php:1432
msgid "Unknown Attachment"
msgstr "Pièce jointe inconnue"
-#: ../../include/text.php:1417
+#: ../../include/text.php:1434 ../../include/feedutils.php:860
msgid "unknown"
msgstr "Inconnu"
-#: ../../include/text.php:1453
+#: ../../include/text.php:1470
msgid "remove category"
msgstr "supprimer la catégorie"
-#: ../../include/text.php:1527
+#: ../../include/text.php:1544
msgid "remove from file"
msgstr "retirer du fichier"
-#: ../../include/text.php:1789 ../../include/language.php:367
+#: ../../include/text.php:1686 ../../include/message.php:12
+msgid "Download binary/encrypted content"
+msgstr "Télécharger le contenu binaire/chiffré"
+
+#: ../../include/text.php:1849 ../../include/language.php:397
msgid "default"
msgstr "défaut"
-#: ../../include/text.php:1797
+#: ../../include/text.php:1857
msgid "Page layout"
msgstr "Mise en page"
-#: ../../include/text.php:1797
+#: ../../include/text.php:1857
msgid "You can create your own with the layouts tool"
msgstr "Créez les vôtres avec les outils de mise en page"
-#: ../../include/text.php:1825
+#: ../../include/text.php:1868
+msgid "HTML"
+msgstr "HTML"
+
+#: ../../include/text.php:1871
+msgid "Comanche Layout"
+msgstr "mise en page Comanche"
+
+#: ../../include/text.php:1876
+msgid "PHP"
+msgstr "PHP"
+
+#: ../../include/text.php:1885
msgid "Page content type"
msgstr "Type de contenu de la page"
-#: ../../include/text.php:1958
+#: ../../include/text.php:2018
msgid "activity"
msgstr "activité"
-#: ../../include/text.php:2272
+#: ../../include/text.php:2100
+msgid "a-z, 0-9, -, and _ only"
+msgstr "a-z, 0-9, -, -, et _ seulement"
+
+#: ../../include/text.php:2402
msgid "Design Tools"
msgstr "Outils de conception"
-#: ../../include/text.php:2278
+#: ../../include/text.php:2408
msgid "Pages"
msgstr "Pages"
-#: ../../include/text.php:2300
+#: ../../include/text.php:2430
msgid "Import website..."
msgstr "Importer le site web…"
-#: ../../include/text.php:2301
+#: ../../include/text.php:2431
msgid "Select folder to import"
msgstr "Sélectionner le dossier à importer"
-#: ../../include/text.php:2302
+#: ../../include/text.php:2432
msgid "Import from a zipped folder:"
msgstr "Importer à partir d'un dossier zippé :"
-#: ../../include/text.php:2303
+#: ../../include/text.php:2433
msgid "Import from cloud files:"
msgstr "Importer à partir de fichiers dans le cloud :"
-#: ../../include/text.php:2304
+#: ../../include/text.php:2434
msgid "/cloud/channel/path/to/folder"
msgstr "/cloud/channel/chemain/du/repertoire"
-#: ../../include/text.php:2305
+#: ../../include/text.php:2435
msgid "Enter path to website files"
msgstr "Entrer le chemin vers les fichiers du site web"
-#: ../../include/text.php:2306
+#: ../../include/text.php:2436
msgid "Select folder"
msgstr "Sélectionner un répertoire"
-#: ../../include/text.php:2307
+#: ../../include/text.php:2437
msgid "Export website..."
msgstr "Exporter le site web…"
-#: ../../include/text.php:2308
+#: ../../include/text.php:2438
msgid "Export to a zip file"
msgstr "Exporter dans un fichier zip"
-#: ../../include/text.php:2309
+#: ../../include/text.php:2439
msgid "website.zip"
msgstr "website.zip"
-#: ../../include/text.php:2310
+#: ../../include/text.php:2440
msgid "Enter a name for the zip file."
msgstr "Entrer un nom pour le fichier zip."
-#: ../../include/text.php:2311
+#: ../../include/text.php:2441
msgid "Export to cloud files"
msgstr "Exporter dans des fichiers sur le cloud"
-#: ../../include/text.php:2312
+#: ../../include/text.php:2442
msgid "/path/to/export/folder"
msgstr "/chemin/vers/le/dossier/d'export"
-#: ../../include/text.php:2313
+#: ../../include/text.php:2443
msgid "Enter a path to a cloud files destination."
msgstr "Entrer le chemin vers le cloud de fichiers"
-#: ../../include/text.php:2314
+#: ../../include/text.php:2444
msgid "Specify folder"
msgstr "Spécifier un répertoire"
@@ -11759,65 +12728,53 @@ msgstr "Inviter des amis"
msgid "Advanced example: name=fred and country=iceland"
msgstr "Exemple avancé&nbsp;: name=fred and country=iceland"
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d contact en commun"
-msgstr[1] "%d contacts en commun"
-
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr "montrer plus"
-
-#: ../../include/markdown.php:444
-msgid "Attachments:"
-msgstr ""
-
-#: ../../include/markdown.php:538 ../../include/event.php:22
-#: ../../include/event.php:69
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\à G\\hi"
-
-#: ../../include/markdown.php:540
-msgid "$Projectname event notification:"
-msgstr ""
+#: ../../include/contact_widgets.php:223
+msgid "Common Connections"
+msgstr "Connexions communes"
-#: ../../include/markdown.php:544 ../../include/event.php:30
-#: ../../include/event.php:73
-msgid "Starts:"
-msgstr "Début&nbsp;:"
+#: ../../include/contact_widgets.php:228
+#, php-format
+msgid "View all %d common connections"
+msgstr "Voir toutes les connexions communes %d"
-#: ../../include/markdown.php:552 ../../include/event.php:40
-#: ../../include/event.php:77
-msgid "Finishes:"
-msgstr "Fin&nbsp;:"
+#: ../../include/markdown.php:158 ../../include/bbcode.php:356
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s a écrit %2$s qui suit %3$s"
-#: ../../include/follow.php:26
+#: ../../include/follow.php:37
msgid "Channel is blocked on this site."
msgstr "Ce canal est bloqué sur ce site."
-#: ../../include/follow.php:31
+#: ../../include/follow.php:42
msgid "Channel location missing."
msgstr "Emplacement du canal introuvable."
-#: ../../include/follow.php:73
+#: ../../include/follow.php:84
msgid "Response from remote channel was incomplete."
msgstr "La réponse du canal distant était incomplète."
-#: ../../include/follow.php:90
+#: ../../include/follow.php:96
+msgid "Premium channel - please visit:"
+msgstr "Canal Premium - s'il vous plaît visitez :"
+
+#: ../../include/follow.php:110
msgid "Channel was deleted and no longer exists."
msgstr "Le canal a été supprimé et n'existe plus."
-#: ../../include/follow.php:140 ../../include/follow.php:175
-msgid "Protocol disabled."
-msgstr "Protocole désactivé."
+#: ../../include/follow.php:165
+msgid "Remote channel or protocol unavailable."
+msgstr "Canal distant ou protocole indisponible."
-#: ../../include/follow.php:163
+#: ../../include/follow.php:188
msgid "Channel discovery failed."
msgstr "La tentative d'accéder au canal a échoué."
-#: ../../include/follow.php:202
+#: ../../include/follow.php:200
+msgid "Protocol disabled."
+msgstr "Protocole désactivé."
+
+#: ../../include/follow.php:211
msgid "Cannot connect to yourself."
msgstr "Ne peut pas se connecter à vous."
@@ -11862,7 +12819,7 @@ msgstr "Indice pour la phrase de passe"
#: ../../include/js_strings.php:16
msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées."
+msgstr "Note&nbsp;: Les droits d'accès ont changé, mais n'ont pas encore été enregistrés."
#: ../../include/js_strings.php:17
msgid "close all"
@@ -11888,199 +12845,199 @@ msgstr "Merci d'insérer une URL"
msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr "Changements en attente. Voulez-vous vraiment quitter cette page?"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:31
msgid "timeago.prefixAgo"
msgstr "timeago.prefixAgo"
-#: ../../include/js_strings.php:28
+#: ../../include/js_strings.php:32
msgid "timeago.prefixFromNow"
msgstr "timeago.prefixFromNow"
-#: ../../include/js_strings.php:29
-msgid "ago"
-msgstr "auparavant"
+#: ../../include/js_strings.php:33
+msgid "timeago.suffixAgo"
+msgstr "timeago.suffixAgo"
-#: ../../include/js_strings.php:30
-msgid "from now"
-msgstr "de maintenant"
+#: ../../include/js_strings.php:34
+msgid "timeago.suffixFromNow"
+msgstr "timeago.suffixFromNow"
-#: ../../include/js_strings.php:31
+#: ../../include/js_strings.php:37
msgid "less than a minute"
msgstr "moins d'une minute"
-#: ../../include/js_strings.php:32
+#: ../../include/js_strings.php:38
msgid "about a minute"
msgstr "environ une minute"
-#: ../../include/js_strings.php:33
+#: ../../include/js_strings.php:39
#, php-format
msgid "%d minutes"
msgstr "%d minutes"
-#: ../../include/js_strings.php:34
+#: ../../include/js_strings.php:40
msgid "about an hour"
msgstr "environ une heure"
-#: ../../include/js_strings.php:35
+#: ../../include/js_strings.php:41
#, php-format
msgid "about %d hours"
msgstr "environ %d heures"
-#: ../../include/js_strings.php:36
+#: ../../include/js_strings.php:42
msgid "a day"
msgstr "un jour"
-#: ../../include/js_strings.php:37
+#: ../../include/js_strings.php:43
#, php-format
msgid "%d days"
msgstr "%d jours"
-#: ../../include/js_strings.php:38
+#: ../../include/js_strings.php:44
msgid "about a month"
msgstr "environ un mois"
-#: ../../include/js_strings.php:39
+#: ../../include/js_strings.php:45
#, php-format
msgid "%d months"
msgstr "%d mois"
-#: ../../include/js_strings.php:40
+#: ../../include/js_strings.php:46
msgid "about a year"
msgstr "environ un an"
-#: ../../include/js_strings.php:41
+#: ../../include/js_strings.php:47
#, php-format
msgid "%d years"
msgstr "%d années"
-#: ../../include/js_strings.php:42
+#: ../../include/js_strings.php:48
msgid " "
msgstr " "
-#: ../../include/js_strings.php:43
+#: ../../include/js_strings.php:49
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/js_strings.php:49
+#: ../../include/js_strings.php:55
msgctxt "long"
msgid "May"
msgstr "Mai"
-#: ../../include/js_strings.php:57
+#: ../../include/js_strings.php:63
msgid "Jan"
msgstr "Jan"
-#: ../../include/js_strings.php:58
+#: ../../include/js_strings.php:64
msgid "Feb"
msgstr "Fev"
-#: ../../include/js_strings.php:59
+#: ../../include/js_strings.php:65
msgid "Mar"
msgstr "Mar"
-#: ../../include/js_strings.php:60
+#: ../../include/js_strings.php:66
msgid "Apr"
msgstr "Avr"
-#: ../../include/js_strings.php:61
+#: ../../include/js_strings.php:67
msgctxt "short"
msgid "May"
msgstr "Mai"
-#: ../../include/js_strings.php:62
+#: ../../include/js_strings.php:68
msgid "Jun"
msgstr "Jun"
-#: ../../include/js_strings.php:63
+#: ../../include/js_strings.php:69
msgid "Jul"
msgstr "Jul"
-#: ../../include/js_strings.php:64
+#: ../../include/js_strings.php:70
msgid "Aug"
msgstr "Aou"
-#: ../../include/js_strings.php:65
+#: ../../include/js_strings.php:71
msgid "Sep"
msgstr "Sep"
-#: ../../include/js_strings.php:66
+#: ../../include/js_strings.php:72
msgid "Oct"
msgstr "Oct"
-#: ../../include/js_strings.php:67
+#: ../../include/js_strings.php:73
msgid "Nov"
msgstr "Nov"
-#: ../../include/js_strings.php:68
+#: ../../include/js_strings.php:74
msgid "Dec"
msgstr "Dec"
-#: ../../include/js_strings.php:76
+#: ../../include/js_strings.php:82
msgid "Sun"
msgstr "Dim"
-#: ../../include/js_strings.php:77
+#: ../../include/js_strings.php:83
msgid "Mon"
msgstr "Lun"
-#: ../../include/js_strings.php:78
+#: ../../include/js_strings.php:84
msgid "Tue"
msgstr "Mar"
-#: ../../include/js_strings.php:79
+#: ../../include/js_strings.php:85
msgid "Wed"
msgstr "Mer"
-#: ../../include/js_strings.php:80
+#: ../../include/js_strings.php:86
msgid "Thu"
msgstr "Jeu"
-#: ../../include/js_strings.php:81
+#: ../../include/js_strings.php:87
msgid "Fri"
msgstr "Ven"
-#: ../../include/js_strings.php:82
+#: ../../include/js_strings.php:88
msgid "Sat"
msgstr "Sam"
-#: ../../include/js_strings.php:83
+#: ../../include/js_strings.php:89
msgctxt "calendar"
msgid "today"
msgstr "aujourd'hui"
-#: ../../include/js_strings.php:84
+#: ../../include/js_strings.php:90
msgctxt "calendar"
msgid "month"
msgstr "mois"
-#: ../../include/js_strings.php:85
+#: ../../include/js_strings.php:91
msgctxt "calendar"
msgid "week"
msgstr "semaine"
-#: ../../include/js_strings.php:86
+#: ../../include/js_strings.php:92
msgctxt "calendar"
msgid "day"
msgstr "jour"
-#: ../../include/js_strings.php:87
+#: ../../include/js_strings.php:93
msgctxt "calendar"
msgid "All day"
msgstr "Toute la journée"
-#: ../../include/message.php:30
+#: ../../include/message.php:40
msgid "Unable to determine sender."
msgstr "Impossible de déterminer l'émetteur."
-#: ../../include/message.php:67
+#: ../../include/message.php:79
msgid "No recipient provided."
msgstr "Pas de destinataire."
-#: ../../include/message.php:72
+#: ../../include/message.php:84
msgid "[no subject]"
msgstr "[sans objet]"
-#: ../../include/message.php:223
+#: ../../include/message.php:214
msgid "Stored post could not be verified."
msgstr "Le message stocké n'a pas pu être vérifié."
@@ -12107,1180 +13064,1208 @@ msgstr "Visiter %2$s de %1$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s a mis à jour %2$s, modifiant %3$s."
-#: ../../include/attach.php:250 ../../include/attach.php:339
+#: ../../include/attach.php:265 ../../include/attach.php:361
msgid "Item was not found."
msgstr "Élément introuvable."
-#: ../../include/attach.php:500
+#: ../../include/attach.php:554
msgid "No source file."
msgstr "Pas de fichier source."
-#: ../../include/attach.php:522
+#: ../../include/attach.php:576
msgid "Cannot locate file to replace"
msgstr "Impossible de trouver le fichier à remplacer."
-#: ../../include/attach.php:540
+#: ../../include/attach.php:595
msgid "Cannot locate file to revise/update"
msgstr "Impossible de trouver le fichier à corriger/mettre à jour"
-#: ../../include/attach.php:671
+#: ../../include/attach.php:737
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Le fichier dépasse la taille limite de %d"
-#: ../../include/attach.php:685
+#: ../../include/attach.php:758
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes."
-#: ../../include/attach.php:855
+#: ../../include/attach.php:940
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Envoi du fichier impossible. Limite système ou action avortée."
-#: ../../include/attach.php:868
+#: ../../include/attach.php:969
msgid "Stored file could not be verified. Upload failed."
msgstr "Le fichier stocké n'a pu être vérifié. Echec de l'envoi."
-#: ../../include/attach.php:923 ../../include/attach.php:939
+#: ../../include/attach.php:1043 ../../include/attach.php:1059
msgid "Path not available."
msgstr "Chemin non disponible."
-#: ../../include/attach.php:988 ../../include/attach.php:1153
+#: ../../include/attach.php:1108 ../../include/attach.php:1273
msgid "Empty pathname"
msgstr "Chemin vide"
-#: ../../include/attach.php:1014
+#: ../../include/attach.php:1134
msgid "duplicate filename or path"
msgstr "doublon de chemin ou de fichier"
-#: ../../include/attach.php:1039
+#: ../../include/attach.php:1159
msgid "Path not found."
msgstr "Chemin introuvable."
-#: ../../include/attach.php:1107
+#: ../../include/attach.php:1227
msgid "mkdir failed."
msgstr "mkdir a échoué."
-#: ../../include/attach.php:1111
+#: ../../include/attach.php:1231
msgid "database storage failed."
msgstr "l'écriture dans la base de données a échoué."
-#: ../../include/attach.php:1159
+#: ../../include/attach.php:1279
msgid "Empty path"
msgstr "Chemin vide"
-#: ../../include/security.php:117
-msgid "guest:"
-msgstr "Visiteur"
-
#: ../../include/security.php:532
msgid ""
"The form security token was not correct. This probably happened because the "
"form has been opened for too long (>3 hours) before submitting it."
msgstr "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures)."
-#: ../../include/items.php:846 ../../include/items.php:893
+#: ../../include/items.php:885 ../../include/items.php:945
msgid "(Unknown)"
msgstr "(Inconnu)"
-#: ../../include/items.php:1094
+#: ../../include/items.php:1133
msgid "Visible to anybody on the internet."
msgstr "Visible pour tout le monde sur internet."
-#: ../../include/items.php:1096
+#: ../../include/items.php:1135
msgid "Visible to you only."
msgstr "Visible pour vous seulement."
-#: ../../include/items.php:1098
+#: ../../include/items.php:1137
msgid "Visible to anybody in this network."
msgstr "Visible pour tout le monde sur ce réseau."
-#: ../../include/items.php:1100
+#: ../../include/items.php:1139
msgid "Visible to anybody authenticated."
msgstr "Visible aux utilisateurs authentifiés."
-#: ../../include/items.php:1102
+#: ../../include/items.php:1141
#, php-format
msgid "Visible to anybody on %s."
msgstr "Visible pour tous sur %s."
-#: ../../include/items.php:1104
+#: ../../include/items.php:1143
msgid "Visible to all connections."
-msgstr "Visible pour tous les contacts."
+msgstr "Visible par tous les contacts."
-#: ../../include/items.php:1106
+#: ../../include/items.php:1145
msgid "Visible to approved connections."
-msgstr "Visible aux contacts approuvés."
+msgstr "Visible par les contacts validés."
-#: ../../include/items.php:1108
+#: ../../include/items.php:1147
msgid "Visible to specific connections."
-msgstr "Visible pour certains contacts."
+msgstr "Visible par certains contacts."
-#: ../../include/items.php:3925
+#: ../../include/items.php:4197
msgid "Privacy group is empty."
msgstr "Groupe de contacts vide."
-#: ../../include/items.php:3932
+#: ../../include/items.php:4204
#, php-format
msgid "Privacy group: %s"
msgstr "Groupe de contacts&nbsp;: %s"
-#: ../../include/items.php:3944
+#: ../../include/items.php:4216
msgid "Connection not found."
msgstr "Contact non trouvé."
-#: ../../include/items.php:4293
+#: ../../include/items.php:4565
msgid "profile photo"
msgstr "photo de profil"
-#: ../../include/items.php:4489
+#: ../../include/items.php:4756
#, php-format
msgid "[Edited %s]"
msgstr "[%s édité]"
-#: ../../include/items.php:4489
+#: ../../include/items.php:4756
msgctxt "edit_activity"
msgid "Post"
msgstr "Publier"
-#: ../../include/items.php:4489
+#: ../../include/items.php:4756
msgctxt "edit_activity"
msgid "Comment"
msgstr "Commenter"
-#: ../../include/channel.php:33
+#: ../../include/channel.php:35
msgid "Unable to obtain identity information from database"
msgstr "Impossible d'obtenir les données d'identité depuis la base de données"
-#: ../../include/channel.php:67
+#: ../../include/channel.php:68
msgid "Empty name"
msgstr "Nom vide"
-#: ../../include/channel.php:70
+#: ../../include/channel.php:71
msgid "Name too long"
msgstr "Nom trop long"
-#: ../../include/channel.php:181
+#: ../../include/channel.php:188
msgid "No account identifier"
msgstr "Pas d'identifiant de compte"
-#: ../../include/channel.php:193
+#: ../../include/channel.php:200
msgid "Nickname is required."
msgstr "Un surnom est requis."
-#: ../../include/channel.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Surnom réservé. Merci d'en choisir un autre."
-
-#: ../../include/channel.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Le surnom contient des caractères interdits ou est déjà pris sur ce site."
-
-#: ../../include/channel.php:270
+#: ../../include/channel.php:277
msgid "Unable to retrieve created identity"
msgstr "Impossible de récupérer l'identité créée"
-#: ../../include/channel.php:342
+#: ../../include/channel.php:373
msgid "Default Profile"
msgstr "Profil par défaut"
-#: ../../include/channel.php:1043
+#: ../../include/channel.php:532 ../../include/channel.php:621
+msgid "Unable to retrieve modified identity"
+msgstr "Impossible de récupérer l'identité modifiée"
+
+#: ../../include/channel.php:1297
msgid "Create New Profile"
msgstr "Créer un nouveau profil"
-#: ../../include/channel.php:1063
+#: ../../include/channel.php:1318
msgid "Visible to everybody"
msgstr "Visible de tous"
-#: ../../include/channel.php:1136 ../../include/channel.php:1250
+#: ../../include/channel.php:1395 ../../include/channel.php:1523
msgid "Gender:"
msgstr "Sexe&nbsp;:"
-#: ../../include/channel.php:1138 ../../include/channel.php:1305
+#: ../../include/channel.php:1397 ../../include/channel.php:1591
msgid "Homepage:"
msgstr "Site Internet&nbsp;:"
-#: ../../include/channel.php:1139
+#: ../../include/channel.php:1398
msgid "Online Now"
msgstr "Connecté"
-#: ../../include/channel.php:1255
+#: ../../include/channel.php:1451
+msgid "Change your profile photo"
+msgstr "Modifier votre photo de profil"
+
+#: ../../include/channel.php:1482
+msgid "Trans"
+msgstr "Trans"
+
+#: ../../include/channel.php:1528
msgid "Like this channel"
msgstr "J'aime ce canal"
-#: ../../include/channel.php:1279
+#: ../../include/channel.php:1552
msgid "j F, Y"
msgstr "j F, Y"
-#: ../../include/channel.php:1280
+#: ../../include/channel.php:1553
msgid "j F"
msgstr "j F"
-#: ../../include/channel.php:1287
+#: ../../include/channel.php:1560
msgid "Birthday:"
msgstr "Date de naissance&nbsp;:"
-#: ../../include/channel.php:1300
+#: ../../include/channel.php:1573
#, php-format
msgid "for %1$d %2$s"
msgstr "depuis %1$d %2$s"
-#: ../../include/channel.php:1303
-msgid "Sexual Preference:"
-msgstr "Orientation sexuelle&nbsp;:"
-
-#: ../../include/channel.php:1309
+#: ../../include/channel.php:1585
msgid "Tags:"
msgstr "Étiquettes&nbsp;:"
-#: ../../include/channel.php:1311
+#: ../../include/channel.php:1589
+msgid "Sexual Preference:"
+msgstr "Orientation sexuelle&nbsp;:"
+
+#: ../../include/channel.php:1595
msgid "Political Views:"
msgstr "Opinions politiques&nbsp;:"
-#: ../../include/channel.php:1313
+#: ../../include/channel.php:1597
msgid "Religion:"
msgstr "Religion&nbsp;:"
-#: ../../include/channel.php:1317
+#: ../../include/channel.php:1601
msgid "Hobbies/Interests:"
msgstr "Occupations/Centres d'intérêt&nbsp;:"
-#: ../../include/channel.php:1319
+#: ../../include/channel.php:1603
msgid "Likes:"
msgstr "Aime&nbsp;:"
-#: ../../include/channel.php:1321
+#: ../../include/channel.php:1605
msgid "Dislikes:"
msgstr "N'aime pas&nbsp;:"
-#: ../../include/channel.php:1323
+#: ../../include/channel.php:1607
msgid "Contact information and Social Networks:"
msgstr "Coordonnées et réseaux sociaux&nbsp;:"
-#: ../../include/channel.php:1325
+#: ../../include/channel.php:1609
msgid "My other channels:"
msgstr "Mes autres canaux&nbsp;:"
-#: ../../include/channel.php:1327
+#: ../../include/channel.php:1611
msgid "Musical interests:"
msgstr "Goûts musicaux&nbsp;:"
-#: ../../include/channel.php:1329
+#: ../../include/channel.php:1613
msgid "Books, literature:"
msgstr "Lectures, goûts littéraires&nbsp;:"
-#: ../../include/channel.php:1331
+#: ../../include/channel.php:1615
msgid "Television:"
msgstr "Télévision&nbsp;:"
-#: ../../include/channel.php:1333
+#: ../../include/channel.php:1617
msgid "Film/dance/culture/entertainment:"
msgstr "Cinéma/danse/culture/divertissement&nsbp;:"
-#: ../../include/channel.php:1335
+#: ../../include/channel.php:1619
msgid "Love/Romance:"
msgstr "Vie sentimentale/amoureuse&nbsp;:"
-#: ../../include/channel.php:1337
+#: ../../include/channel.php:1621
msgid "Work/employment:"
msgstr "Travail/Occupation&nbsp;"
-#: ../../include/channel.php:1339
+#: ../../include/channel.php:1623
msgid "School/education:"
msgstr "Études&nbsp;"
-#: ../../include/channel.php:1362
+#: ../../include/channel.php:1646
msgid "Like this thing"
msgstr "J'aime ceci"
-#: ../../include/channel.php:2135
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utilisateur '%s' supprimé"
+#: ../../include/event.php:24 ../../include/event.php:71
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\à G\\hi"
+
+#: ../../include/event.php:32 ../../include/event.php:75
+msgid "Starts:"
+msgstr "Début&nbsp;:"
+
+#: ../../include/event.php:42 ../../include/event.php:79
+msgid "Finishes:"
+msgstr "Fin&nbsp;:"
-#: ../../include/event.php:1004
+#: ../../include/event.php:1011
msgid "This event has been added to your calendar."
msgstr "Cet évènement a été ajouté dans votre calendrier."
-#: ../../include/event.php:1204
+#: ../../include/event.php:1227
msgid "Not specified"
msgstr "Non spécifié"
-#: ../../include/event.php:1205
+#: ../../include/event.php:1228
msgid "Needs Action"
msgstr "Besoin d'une action"
-#: ../../include/event.php:1206
+#: ../../include/event.php:1229
msgid "Completed"
msgstr "Terminé"
-#: ../../include/event.php:1207
+#: ../../include/event.php:1230
msgid "In Process"
msgstr "En cours"
-#: ../../include/event.php:1208
+#: ../../include/event.php:1231
msgid "Cancelled"
msgstr "Annulé"
-#: ../../include/network.php:756
+#: ../../include/event.php:1310 ../../include/connections.php:692
+msgid "Home, Voice"
+msgstr "Domicile, Voix"
+
+#: ../../include/event.php:1311 ../../include/connections.php:693
+msgid "Home, Fax"
+msgstr "Domicile, Fax"
+
+#: ../../include/event.php:1313 ../../include/connections.php:695
+msgid "Work, Voice"
+msgstr "Travail, Voix"
+
+#: ../../include/event.php:1314 ../../include/connections.php:696
+msgid "Work, Fax"
+msgstr "Travail, Fax"
+
+#: ../../include/network.php:762
msgid "view full size"
msgstr "voir en taille réelle"
-#: ../../include/network.php:2011
-msgid "No Subject"
-msgstr "Pas d'objet"
-
-#: ../../include/network.php:2265 ../../include/network.php:2266
+#: ../../include/network.php:1770 ../../include/network.php:1771
msgid "Friendica"
msgstr "Friendica"
-#: ../../include/network.php:2267
+#: ../../include/network.php:1772
msgid "OStatus"
msgstr "OStatus"
-#: ../../include/network.php:2268
+#: ../../include/network.php:1773
msgid "GNU-Social"
msgstr "GNU-Social"
-#: ../../include/network.php:2269
+#: ../../include/network.php:1774
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/network.php:2271
+#: ../../include/network.php:1777
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../include/network.php:2272
+#: ../../include/network.php:1778
msgid "Facebook"
msgstr "Facebook"
-#: ../../include/network.php:2273
+#: ../../include/network.php:1779
msgid "Zot"
msgstr "Zot"
-#: ../../include/network.php:2274
+#: ../../include/network.php:1780
msgid "LinkedIn"
msgstr "Linkedin"
-#: ../../include/network.php:2275
+#: ../../include/network.php:1781
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/network.php:2276
+#: ../../include/network.php:1782
msgid "MySpace"
msgstr "MySpace"
-#: ../../include/page_widgets.php:7
-msgid "New Page"
-msgstr "Nouvelle page"
-
-#: ../../include/language.php:380
+#: ../../include/language.php:410
msgid "Select an alternate language"
msgstr "Choisir une langue alternative"
-#: ../../include/acl_selectors.php:208
+#: ../../include/acl_selectors.php:113
msgid "Who can see this?"
msgstr "Qui peut voir cela"
-#: ../../include/acl_selectors.php:209
+#: ../../include/acl_selectors.php:114
msgid "Custom selection"
msgstr "Sélection personnalisée"
-#: ../../include/acl_selectors.php:210
+#: ../../include/acl_selectors.php:115
msgid ""
"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
" the scope of \"Show\"."
msgstr "Sélectionnez \"Afficher\" pour permettre l'affichage. \"Ne pas afficher\" vous permet de remplacer et de limiter la portée de \"Afficher\"."
-#: ../../include/acl_selectors.php:211
+#: ../../include/acl_selectors.php:116
msgid "Show"
msgstr "Montrer"
-#: ../../include/acl_selectors.php:212
+#: ../../include/acl_selectors.php:117
msgid "Don't show"
msgstr "Cacher"
-#: ../../include/acl_selectors.php:245
+#: ../../include/acl_selectors.php:150
#, php-format
msgid ""
"Post permissions %s cannot be changed %s after a post is shared.</br />These"
" permissions set who is allowed to view the post."
-msgstr "Les autorisations d'accès d'un message %s ne peuvent pas être modifiées %s une fois le message envoyé. Ces autorisations définissent qui est autorisé à afficher le message."
+msgstr "Les droits d'accès d'un message %s ne peuvent pas être modifiés %s une fois le message envoyé. </br />Ces droits d'accès définissent qui est autorisé à afficher le message."
-#: ../../include/dba/dba_driver.php:189
+#: ../../include/dba/dba_driver.php:178
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Impossible de trouver les infos DNS du serveur de BDD '%s'"
-#: ../../include/bbcode.php:134 ../../include/bbcode.php:1040
-#: ../../include/bbcode.php:1043 ../../include/bbcode.php:1048
-#: ../../include/bbcode.php:1051 ../../include/bbcode.php:1054
-#: ../../include/bbcode.php:1057 ../../include/bbcode.php:1062
-#: ../../include/bbcode.php:1065 ../../include/bbcode.php:1070
-#: ../../include/bbcode.php:1073 ../../include/bbcode.php:1076
-#: ../../include/bbcode.php:1079
+#: ../../include/bbcode.php:198 ../../include/bbcode.php:1200
+#: ../../include/bbcode.php:1203 ../../include/bbcode.php:1208
+#: ../../include/bbcode.php:1211 ../../include/bbcode.php:1214
+#: ../../include/bbcode.php:1217 ../../include/bbcode.php:1222
+#: ../../include/bbcode.php:1225 ../../include/bbcode.php:1230
+#: ../../include/bbcode.php:1233 ../../include/bbcode.php:1236
+#: ../../include/bbcode.php:1239
msgid "Image/photo"
msgstr "Image/photo"
-#: ../../include/bbcode.php:173 ../../include/bbcode.php:1090
+#: ../../include/bbcode.php:237 ../../include/bbcode.php:1250
msgid "Encrypted content"
msgstr "Contenu chiffré"
-#: ../../include/bbcode.php:189
+#: ../../include/bbcode.php:253
#, php-format
-msgid "Install %s element: "
-msgstr "Installer %s élément"
+msgid "Install %1$s element %2$s"
+msgstr "Installer %1$s element %2$s"
-#: ../../include/bbcode.php:193
+#: ../../include/bbcode.php:257
#, php-format
msgid ""
"This post contains an installable %s element, however you lack permissions "
"to install it on this site."
-msgstr "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site."
+msgstr "Ce message contient un élément installable %s, mais vous n'avez pas le droit de l'installer sur ce site."
-#: ../../include/bbcode.php:272
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s a écrit %2$s qui suit %3$s"
+#: ../../include/bbcode.php:348
+msgid "card"
+msgstr "carte"
+
+#: ../../include/bbcode.php:350
+msgid "article"
+msgstr "article"
-#: ../../include/bbcode.php:349 ../../include/bbcode.php:357
+#: ../../include/bbcode.php:433 ../../include/bbcode.php:441
msgid "Click to open/close"
msgstr "Cliquer pour ouvrir/fermer"
-#: ../../include/bbcode.php:357
+#: ../../include/bbcode.php:441
msgid "spoiler"
msgstr "spoiler"
-#: ../../include/bbcode.php:1028
+#: ../../include/bbcode.php:454
+msgid "View article"
+msgstr "Voir l'article"
+
+#: ../../include/bbcode.php:454
+msgid "View summary"
+msgstr "Voir le résumé"
+
+#: ../../include/bbcode.php:1188
msgid "$1 wrote:"
msgstr "$1 a écrit&nbsp;:"
-#: ../../include/oembed.php:308
+#: ../../include/oembed.php:329
msgid " by "
msgstr "par"
-#: ../../include/oembed.php:309
+#: ../../include/oembed.php:330
msgid " on "
msgstr "sur"
-#: ../../include/oembed.php:338
+#: ../../include/oembed.php:359
msgid "Embedded content"
msgstr "Contenu imbriqué"
-#: ../../include/oembed.php:347
+#: ../../include/oembed.php:368
msgid "Embedding disabled"
msgstr "Imbrication désactivée"
-#: ../../include/features.php:58
+#: ../../include/zid.php:347
+#, php-format
+msgid "OpenWebAuth: %1$s welcomes %2$s"
+msgstr "OpenWebAuth: %1$s accueille favorablement %2$s"
+
+#: ../../include/features.php:56
msgid "General Features"
msgstr "Fonctionnalités générales"
-#: ../../include/features.php:63
-msgid "Multiple Profiles"
-msgstr "Profils multiples"
-
-#: ../../include/features.php:64
-msgid "Ability to create multiple profiles"
-msgstr "Possibilité de créer plusieurs profils"
+#: ../../include/features.php:61
+msgid "Display new member quick links menu"
+msgstr "Afficher le menu des liens rapides pour les nouveaux membres"
-#: ../../include/features.php:72
+#: ../../include/features.php:69
msgid "Advanced Profiles"
-msgstr "Profils Avancés"
+msgstr "Profils avancés"
-#: ../../include/features.php:73
+#: ../../include/features.php:70
msgid "Additional profile sections and selections"
msgstr "Sections et sélections supplémentaires du profil"
-#: ../../include/features.php:81
+#: ../../include/features.php:78
msgid "Profile Import/Export"
-msgstr "Importer/Exporter le profil"
+msgstr "Importer/exporter le profil"
-#: ../../include/features.php:82
+#: ../../include/features.php:79
msgid "Save and load profile details across sites/channels"
msgstr "Sauvegarder et charger les détails d'un profil entre sites/canaux"
-#: ../../include/features.php:90
+#: ../../include/features.php:87
msgid "Web Pages"
msgstr "Pages web"
-#: ../../include/features.php:91
+#: ../../include/features.php:88
msgid "Provide managed web pages on your channel"
msgstr "Fournir des pages web, sous votre contrôle, sur votre canal"
-#: ../../include/features.php:100
+#: ../../include/features.php:97
msgid "Provide a wiki for your channel"
msgstr "Fournir un wiki pour votre canal."
-#: ../../include/features.php:117
+#: ../../include/features.php:114
msgid "Private Notes"
msgstr "Notes privées"
-#: ../../include/features.php:118
+#: ../../include/features.php:115
msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr "Active un outil pour stocker des notes et des rappels (note&nbsp;:non chiffré)"
-#: ../../include/features.php:126
+#: ../../include/features.php:124
+msgid "Create personal planning cards"
+msgstr "Créer des cartes de planification personnelle"
+
+#: ../../include/features.php:134
+msgid "Create interactive articles"
+msgstr "Créer des articles interactifs"
+
+#: ../../include/features.php:142
msgid "Navigation Channel Select"
msgstr "Sélection du canal par la navigation"
-#: ../../include/features.php:127
+#: ../../include/features.php:143
msgid "Change channels directly from within the navigation dropdown menu"
msgstr "Changez de canal directement depuis le menu de navigation déroulant"
-#: ../../include/features.php:135
+#: ../../include/features.php:151
msgid "Photo Location"
msgstr "Site de prise de vue"
-#: ../../include/features.php:136
+#: ../../include/features.php:152
msgid "If location data is available on uploaded photos, link this to a map."
msgstr "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte."
-#: ../../include/features.php:144
+#: ../../include/features.php:160
msgid "Access Controlled Chatrooms"
msgstr "Accéder au salons de discussions contrôlés."
-#: ../../include/features.php:145
+#: ../../include/features.php:161
msgid "Provide chatrooms and chat services with access control."
msgstr "Fournir des salons de discussions et des services de discussions avec contrôle d'accès."
-#: ../../include/features.php:154
-msgid "Provide alternate connection permission roles."
-msgstr "Fournir des rôles d'autorisation différents pour ce contact."
-
-#: ../../include/features.php:162
+#: ../../include/features.php:170
msgid "Smart Birthdays"
msgstr "Anniversaires intelligents"
-#: ../../include/features.php:163
+#: ../../include/features.php:171
msgid ""
"Make birthday events timezone aware in case your friends are scattered "
"across the planet."
msgstr "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents."
-#: ../../include/features.php:171
+#: ../../include/features.php:179
msgid "Event Timezone Selection"
msgstr "Sélection du fuseau horaire de l'événement"
-#: ../../include/features.php:172
+#: ../../include/features.php:180
msgid "Allow event creation in timezones other than your own."
msgstr "Autorise la création d’événements sur d'autres fuseaux horaires que le vôtre."
-#: ../../include/features.php:180
+#: ../../include/features.php:189
+msgid "Premium Channel"
+msgstr "Canal VIP"
+
+#: ../../include/features.php:190
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal"
+
+#: ../../include/features.php:198
msgid "Advanced Directory Search"
msgstr "Recherche avancée dans les répertoires"
-#: ../../include/features.php:181
+#: ../../include/features.php:199
msgid "Allows creation of complex directory search queries"
msgstr "Autoriser la création d'entrées complexes de recherche de répertoire"
-#: ../../include/features.php:189
+#: ../../include/features.php:207
msgid "Advanced Theme and Layout Settings"
msgstr "Paramètres avancés du thème et de l'agencement."
-#: ../../include/features.php:190
+#: ../../include/features.php:208
msgid "Allows fine tuning of themes and page layouts"
msgstr "Autoriser la personnalisation fine des thèmes et des agencements."
-#: ../../include/features.php:200
+#: ../../include/features.php:217
+msgid "Access Control and Permissions"
+msgstr "Contrôle d'accès et autorisations"
+
+#: ../../include/features.php:221 ../../include/group.php:328
+msgid "Privacy Groups"
+msgstr "Groupes de contacts"
+
+#: ../../include/features.php:222
+msgid "Enable management and selection of privacy groups"
+msgstr "Active la gestion et la sélection des groupes de contacts"
+
+#: ../../include/features.php:230
+msgid "Multiple Profiles"
+msgstr "Profils multiples"
+
+#: ../../include/features.php:231
+msgid "Ability to create multiple profiles"
+msgstr "Possibilité de créer plusieurs profils"
+
+#: ../../include/features.php:241
+msgid "Provide alternate connection permission roles."
+msgstr "Fournir des rôles d'accès différents pour ce contact."
+
+#: ../../include/features.php:249
+msgid "OAuth1 Clients"
+msgstr "Clients OAuth1"
+
+#: ../../include/features.php:250
+msgid "Manage OAuth1 authenticatication tokens for mobile and remote apps."
+msgstr "Gérer les jetons d'authentification OAuth1 pour les applications mobiles et distantes."
+
+#: ../../include/features.php:258
+msgid "OAuth2 Clients"
+msgstr "Clients OAuth2"
+
+#: ../../include/features.php:259
+msgid "Manage OAuth2 authenticatication tokens for mobile and remote apps."
+msgstr "Gérer les jetons d'authentification OAuth2 pour les applications mobiles et distantes."
+
+#: ../../include/features.php:267
+msgid "Access Tokens"
+msgstr "Jetons d'accès."
+
+#: ../../include/features.php:268
+msgid "Create access tokens so that non-members can access private content."
+msgstr "Créez des jetons d'accès pour que les non-membres puissent accéder au contenu privé."
+
+#: ../../include/features.php:279
msgid "Post Composition Features"
msgstr "Fonctionnalités de composition"
-#: ../../include/features.php:204
+#: ../../include/features.php:283
msgid "Large Photos"
msgstr "Grandes photos"
-#: ../../include/features.php:205
+#: ../../include/features.php:284
msgid ""
"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
"(640px) photo thumbnails"
msgstr "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px)."
-#: ../../include/features.php:214
+#: ../../include/features.php:293
msgid "Automatically import channel content from other channels or feeds"
msgstr "Importe automatiquement le contenus d'autres canaux ou flux dans le canal actif"
-#: ../../include/features.php:222
+#: ../../include/features.php:301
msgid "Even More Encryption"
msgstr "Encore plus de chiffrement"
-#: ../../include/features.php:223
+#: ../../include/features.php:302
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Permettre le chiffrement optionnel du contenu de bout en bout au moyen d'un secret partagé"
-#: ../../include/features.php:231
+#: ../../include/features.php:310
msgid "Enable Voting Tools"
msgstr "Activer les outils de vote"
-#: ../../include/features.php:232
+#: ../../include/features.php:311
msgid "Provide a class of post which others can vote on"
msgstr "Fournit un type de publication sur lequel les utilisateurs peuvent voter"
-#: ../../include/features.php:240
+#: ../../include/features.php:319
msgid "Disable Comments"
msgstr "Désactiver les commentaires"
-#: ../../include/features.php:241
+#: ../../include/features.php:320
msgid "Provide the option to disable comments for a post"
msgstr "Fournir la possibilité de désactiver les commentaires pour une publication."
-#: ../../include/features.php:249
+#: ../../include/features.php:328
msgid "Delayed Posting"
msgstr "Publication plus tard"
-#: ../../include/features.php:250
+#: ../../include/features.php:329
msgid "Allow posts to be published at a later date"
msgstr "Permettre de publier des messages à une date programmée"
-#: ../../include/features.php:258
+#: ../../include/features.php:337
msgid "Content Expiration"
msgstr "Expiration du contenu"
-#: ../../include/features.php:259
+#: ../../include/features.php:338
msgid "Remove posts/comments and/or private messages at a future time"
msgstr "Supprimer les contributions/commentaires et/ou messages privés plus tard"
-#: ../../include/features.php:267
+#: ../../include/features.php:346
msgid "Suppress Duplicate Posts/Comments"
msgstr "Supprimer les publications/commentaires en doublon"
-#: ../../include/features.php:268
+#: ../../include/features.php:347
msgid ""
"Prevent posts with identical content to be published with less than two "
"minutes in between submissions."
msgstr "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle"
-#: ../../include/features.php:279
+#: ../../include/features.php:355
+msgid "Auto-save drafts of posts and comments"
+msgstr "Sauvegarde automatique des brouillons de messages et commentaires"
+
+#: ../../include/features.php:356
+msgid ""
+"Automatically saves post and comment drafts in local browser storage to help"
+" prevent accidental loss of compositions"
+msgstr "Enregistre automatiquement les brouillons de messages et de commentaires dans le stockage local du navigateur pour aider à prévenir la perte accidentelle de compositions."
+
+#: ../../include/features.php:367
msgid "Network and Stream Filtering"
msgstr "Filtrage du réseau et des flux"
-#: ../../include/features.php:283
+#: ../../include/features.php:371
msgid "Search by Date"
msgstr "Chercher par date"
-#: ../../include/features.php:284
+#: ../../include/features.php:372
msgid "Ability to select posts by date ranges"
msgstr "Pouvoir choisir des publications par date"
-#: ../../include/features.php:292 ../../include/group.php:331
-msgid "Privacy Groups"
-msgstr "Groupes de contacts"
-
-#: ../../include/features.php:293
-msgid "Enable management and selection of privacy groups"
-msgstr "Active la gestion et la sélection des groupes de contacts"
-
-#: ../../include/features.php:302
+#: ../../include/features.php:382
msgid "Save search terms for re-use"
msgstr "Sauvegarder des termes de recherche pour utilisation ultérieure"
-#: ../../include/features.php:310
+#: ../../include/features.php:390
msgid "Network Personal Tab"
msgstr "Onglet \"Me concernant\""
-#: ../../include/features.php:311
+#: ../../include/features.php:391
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu"
-#: ../../include/features.php:319
+#: ../../include/features.php:399
msgid "Network New Tab"
msgstr "Onglet \"nouveautés réseau\""
-#: ../../include/features.php:320
+#: ../../include/features.php:400
msgid "Enable tab to display all new Network activity"
msgstr "Activer un onglet présentant toute l'activité récente sur le réseau"
-#: ../../include/features.php:328
+#: ../../include/features.php:408
msgid "Affinity Tool"
msgstr "Gérer l'affinité"
-#: ../../include/features.php:329
+#: ../../include/features.php:409
msgid "Filter stream activity by depth of relationships"
msgstr "Filtrer le flux d'activité en fonction de la profondeur des relations"
-#: ../../include/features.php:338
+#: ../../include/features.php:418
msgid "Show friend and connection suggestions"
-msgstr "Afficher un ami et les suggestions de relations"
+msgstr "Afficher les suggestions de mise en contact"
-#: ../../include/features.php:346
+#: ../../include/features.php:426
msgid "Connection Filtering"
msgstr "Filtrage des contacts"
-#: ../../include/features.php:347
+#: ../../include/features.php:427
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs"
-#: ../../include/features.php:359
+#: ../../include/features.php:439
msgid "Post/Comment Tools"
msgstr "Gérer les publications/commentaires"
-#: ../../include/features.php:363
+#: ../../include/features.php:443
msgid "Community Tagging"
msgstr "Etiquetage communautaire"
-#: ../../include/features.php:364
+#: ../../include/features.php:444
msgid "Ability to tag existing posts"
msgstr "Permettre de marquer les publications existantes"
-#: ../../include/features.php:372
+#: ../../include/features.php:452
msgid "Post Categories"
msgstr "Catégoriser les publications"
-#: ../../include/features.php:373
+#: ../../include/features.php:453
msgid "Add categories to your posts"
msgstr "Ajouter des catégories à vos publications"
-#: ../../include/features.php:381
+#: ../../include/features.php:461
msgid "Emoji Reactions"
msgstr "Réactions par émoticônes"
-#: ../../include/features.php:382
+#: ../../include/features.php:462
msgid "Add emoji reaction ability to posts"
msgstr "Ajouter la possibilité de réagir aux publications par émoticônes"
-#: ../../include/features.php:391
+#: ../../include/features.php:471
msgid "Ability to file posts under folders"
msgstr "Permettre de classer les publications dans des dossiers"
-#: ../../include/features.php:399
+#: ../../include/features.php:479
msgid "Dislike Posts"
msgstr "\"Ne pas aimer\" les publications"
-#: ../../include/features.php:400
+#: ../../include/features.php:480
msgid "Ability to dislike posts/comments"
msgstr "Possibilité de \"ne pas aimer\" les publications/commentaires"
-#: ../../include/features.php:408
+#: ../../include/features.php:488
msgid "Star Posts"
msgstr "Pouvoir mettre en avant les publications"
-#: ../../include/features.php:409
+#: ../../include/features.php:489
msgid "Ability to mark special posts with a star indicator"
msgstr "Pouvoir marquer certaines publications d'une étoile"
-#: ../../include/features.php:417
+#: ../../include/features.php:497
msgid "Tag Cloud"
msgstr "Nuage de tags"
-#: ../../include/features.php:418
+#: ../../include/features.php:498
msgid "Provide a personal tag cloud on your channel page"
msgstr "Afficher un nuage de vos tags sur votre canal"
-#: ../../include/features.php:430
-msgid "Premium Channel"
-msgstr "Canal VIP"
-
-#: ../../include/features.php:431
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal"
-
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
-msgstr "Étiquettes"
-
-#: ../../include/taxonomy.php:293
+#: ../../include/taxonomy.php:491
msgid "Keywords"
msgstr "Mots-clefs"
-#: ../../include/taxonomy.php:314
+#: ../../include/taxonomy.php:512
msgid "have"
msgstr "ont"
-#: ../../include/taxonomy.php:314
+#: ../../include/taxonomy.php:512
msgid "has"
msgstr "a"
-#: ../../include/taxonomy.php:315
+#: ../../include/taxonomy.php:513
msgid "want"
msgstr "veulent"
-#: ../../include/taxonomy.php:315
+#: ../../include/taxonomy.php:513
msgid "wants"
msgstr "veut"
-#: ../../include/taxonomy.php:316
+#: ../../include/taxonomy.php:514
msgid "likes"
msgstr "aime"
-#: ../../include/taxonomy.php:317
+#: ../../include/taxonomy.php:515
msgid "dislikes"
msgstr "n'aime pas"
-#: ../../include/account.php:35
+#: ../../include/account.php:36
msgid "Not a valid email address"
msgstr "Ce n'est pas une adresse de courriel valide"
-#: ../../include/account.php:37
+#: ../../include/account.php:38
msgid "Your email domain is not among those allowed on this site"
msgstr "Votre domaine de courriel ne fait pas partie de ceux autorisés par ce site"
-#: ../../include/account.php:43
+#: ../../include/account.php:44
msgid "Your email address is already registered at this site."
msgstr "Votre adresse de courriel est déjà inscrite sur ce site."
-#: ../../include/account.php:75
+#: ../../include/account.php:76
msgid "An invitation is required."
msgstr "Une invitation est requise."
-#: ../../include/account.php:79
+#: ../../include/account.php:80
msgid "Invitation could not be verified."
msgstr "Votre invitation n'a pas pu être vérifiée."
-#: ../../include/account.php:130
+#: ../../include/account.php:158
msgid "Please enter the required information."
msgstr "Merci d'entrer les informations requises."
-#: ../../include/account.php:198
+#: ../../include/account.php:225
msgid "Failed to store account information."
msgstr "Impossible de stocker les informations liées au compte."
-#: ../../include/account.php:263
+#: ../../include/account.php:314
#, php-format
msgid "Registration confirmation for %s"
msgstr "Confirmation de l'inscription pour %s"
-#: ../../include/account.php:330
+#: ../../include/account.php:383
#, php-format
msgid "Registration request at %s"
msgstr "Demande d'inscription sur %s"
-#: ../../include/account.php:352
+#: ../../include/account.php:405
msgid "your registration password"
msgstr "votre mot de passe d'inscription"
-#: ../../include/account.php:358 ../../include/account.php:420
+#: ../../include/account.php:411 ../../include/account.php:473
#, php-format
msgid "Registration details for %s"
msgstr "Détails de l'inscription pour %s"
-#: ../../include/account.php:431
+#: ../../include/account.php:484
msgid "Account approved."
-msgstr "Compte approuvé."
+msgstr "Compte validé."
-#: ../../include/account.php:471
+#: ../../include/account.php:524
#, php-format
msgid "Registration revoked for %s"
msgstr "Inscription révoquée pour %s"
-#: ../../include/account.php:756 ../../include/account.php:758
+#: ../../include/account.php:803 ../../include/account.php:805
msgid "Click here to upgrade."
msgstr "Cliquez ici pour mettre à jour."
-#: ../../include/account.php:764
+#: ../../include/account.php:811
msgid "This action exceeds the limits set by your subscription plan."
msgstr "Cette action outrepasserait les limites prévues par votre forfait."
-#: ../../include/account.php:769
+#: ../../include/account.php:816
msgid "This action is not available under your subscription plan."
msgstr "Cette action n'est pas disponible avec votre forfait."
-#: ../../include/datetime.php:147
+#: ../../include/datetime.php:140
msgid "Birthday"
msgstr "Anniversaire"
-#: ../../include/datetime.php:149
+#: ../../include/datetime.php:140
msgid "Age: "
msgstr "Age&nbsp;:"
-#: ../../include/datetime.php:151
+#: ../../include/datetime.php:140
msgid "YYYY-MM-DD or MM-DD"
msgstr "AAAA-MM-JJ ou MM-JJ"
-#: ../../include/datetime.php:292
+#: ../../include/datetime.php:244
msgid "less than a second ago"
msgstr "à l'instant"
-#: ../../include/datetime.php:310
+#: ../../include/datetime.php:262
#, php-format
msgctxt "e.g. 22 hours ago, 1 minute ago"
msgid "%1$d %2$s ago"
msgstr "il y a %1$d %2$s"
-#: ../../include/datetime.php:321
+#: ../../include/datetime.php:273
msgctxt "relative_date"
msgid "year"
msgid_plural "years"
msgstr[0] "an"
msgstr[1] "ans"
-#: ../../include/datetime.php:324
+#: ../../include/datetime.php:276
msgctxt "relative_date"
msgid "month"
msgid_plural "months"
msgstr[0] "mois"
msgstr[1] "mois"
-#: ../../include/datetime.php:327
+#: ../../include/datetime.php:279
msgctxt "relative_date"
msgid "week"
msgid_plural "weeks"
msgstr[0] "semaine"
msgstr[1] "semaines"
-#: ../../include/datetime.php:330
+#: ../../include/datetime.php:282
msgctxt "relative_date"
msgid "day"
msgid_plural "days"
msgstr[0] "jour"
msgstr[1] "jours"
-#: ../../include/datetime.php:333
+#: ../../include/datetime.php:285
msgctxt "relative_date"
msgid "hour"
msgid_plural "hours"
msgstr[0] "heure"
msgstr[1] "heures"
-#: ../../include/datetime.php:336
+#: ../../include/datetime.php:288
msgctxt "relative_date"
msgid "minute"
msgid_plural "minutes"
msgstr[0] "minute"
msgstr[1] "minutes"
-#: ../../include/datetime.php:339
+#: ../../include/datetime.php:291
msgctxt "relative_date"
msgid "second"
msgid_plural "seconds"
msgstr[0] "seconde"
msgstr[1] "secondes"
-#: ../../include/datetime.php:576
+#: ../../include/datetime.php:520
#, php-format
msgid "%1$s's birthday"
msgstr "Anniversaire de %1$s"
-#: ../../include/datetime.php:577
+#: ../../include/datetime.php:521
#, php-format
msgid "Happy Birthday %1$s"
msgstr "Joyeux Anniversaire %1$s"
-#: ../../include/nav.php:88
+#: ../../include/nav.php:96
msgid "Remote authentication"
msgstr "Authentification distante"
-#: ../../include/nav.php:88
+#: ../../include/nav.php:96
msgid "Click to authenticate to your home hub"
msgstr "S'authentifier auprès de votre hub principal"
-#: ../../include/nav.php:99 ../../include/nav.php:123
+#: ../../include/nav.php:102 ../../include/nav.php:190
+msgid "Manage Your Channels"
+msgstr "Gérer vos canaux"
+
+#: ../../include/nav.php:105 ../../include/nav.php:192
+msgid "Account/Channel Settings"
+msgstr "Paramètres du Compte/Canal"
+
+#: ../../include/nav.php:111 ../../include/nav.php:140
msgid "End this session"
msgstr "Mettre fin à la session"
-#: ../../include/nav.php:102
+#: ../../include/nav.php:114
msgid "Your profile page"
msgstr "Votre profil"
-#: ../../include/nav.php:105
+#: ../../include/nav.php:117
msgid "Manage/Edit profiles"
msgstr "Gérer/modifier vos profils"
-#: ../../include/nav.php:107
-msgid "Edit your profile"
-msgstr "Modifier votre profil"
-
-#: ../../include/nav.php:113
+#: ../../include/nav.php:126 ../../include/nav.php:130
msgid "Sign in"
msgstr "Connexion"
-#: ../../include/nav.php:138
+#: ../../include/nav.php:157
msgid "Take me home"
-msgstr ""
+msgstr "Retourner sur mon serveur"
-#: ../../include/nav.php:140
+#: ../../include/nav.php:159
msgid "Log me out of this site"
msgstr "Déconnectez-moi de ce site"
-#: ../../include/nav.php:145
+#: ../../include/nav.php:164
msgid "Create an account"
msgstr "Créer un compte"
-#: ../../include/nav.php:157
+#: ../../include/nav.php:176
msgid "Help and documentation"
msgstr "Aide et documentation"
-#: ../../include/nav.php:160
+#: ../../include/nav.php:179
msgid "Search site @name, #tag, ?docs, content"
msgstr "Recherche @nom, #tag, contenu"
-#: ../../include/nav.php:172
-msgid "Your grid"
-msgstr "Votre réseau"
-
-#: ../../include/nav.php:173
-msgid "View your network/grid"
-msgstr "Voir votre réseau"
-
-#: ../../include/nav.php:174
-msgid "Mark all grid notifications seen"
-msgstr "Marquer toutes les notifications du réseau comme vues"
-
-#: ../../include/nav.php:176
-msgid "Channel home"
-msgstr "Mon canal"
-
-#: ../../include/nav.php:177
-msgid "View your channel home"
-msgstr "Voir la page d'accueil de votre canal"
-
-#: ../../include/nav.php:178
-msgid "Mark all channel notifications seen"
-msgstr "Marquer toutes les notifications du canal comme vues"
-
-#: ../../include/nav.php:184
-msgid "Notices"
-msgstr "Notifications"
-
-#: ../../include/nav.php:184
-msgid "Notifications"
-msgstr "Notifications"
-
-#: ../../include/nav.php:185
-msgid "View all notifications"
-msgstr "Voir toutes les notifications"
-
-#: ../../include/nav.php:188
-msgid "Private mail"
-msgstr "Messages privés"
-
-#: ../../include/nav.php:189
-msgid "View your private messages"
-msgstr "Voir vos messages privés"
-
-#: ../../include/nav.php:190
-msgid "Mark all private messages seen"
-msgstr "Marquer tous les messages privés comme vus"
-
-#: ../../include/nav.php:196
-msgid "Event Calendar"
-msgstr "Calendrier des événements"
-
-#: ../../include/nav.php:197
-msgid "View events"
-msgstr "Voir les événements"
-
-#: ../../include/nav.php:198
-msgid "Mark all events seen"
-msgstr "Marquer tous les événements comme vus"
-
-#: ../../include/nav.php:201
-msgid "Manage Your Channels"
-msgstr "Gérer vos canaux"
-
-#: ../../include/nav.php:203
-msgid "Account/Channel Settings"
-msgstr "Paramètres du Compte/Canal"
-
-#: ../../include/nav.php:211
+#: ../../include/nav.php:199
msgid "Site Setup and Configuration"
msgstr "Configuration du site"
-#: ../../include/nav.php:273
+#: ../../include/nav.php:290
msgid "@name, #tag, ?doc, content"
msgstr "@nom, #étiquette, ?doc, contenu"
-#: ../../include/nav.php:274
+#: ../../include/nav.php:291
msgid "Please wait..."
msgstr "Merci de patienter..."
-#: ../../include/nav.php:276
+#: ../../include/nav.php:297
msgid "Add Apps"
-msgstr ""
+msgstr "Ajouter des applications"
-#: ../../include/photos.php:115
+#: ../../include/nav.php:298
+msgid "Arrange Apps"
+msgstr "Réarranger les applications"
+
+#: ../../include/nav.php:299
+msgid "Toggle System Apps"
+msgstr "(Dés)activer les applications système"
+
+#: ../../include/photos.php:150
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
msgstr "L'image dépasse la taille limite de %lu octets"
-#: ../../include/photos.php:122
+#: ../../include/photos.php:161
msgid "Image file is empty."
msgstr "L'image est vide."
-#: ../../include/photos.php:261
+#: ../../include/photos.php:322
msgid "Photo storage failed."
msgstr "Le stockage de l'image a échoué."
-#: ../../include/photos.php:301
+#: ../../include/photos.php:371
msgid "a new photo"
msgstr "une nouvelle photo"
-#: ../../include/photos.php:305
+#: ../../include/photos.php:375
#, php-format
msgctxt "photo_upload"
msgid "%1$s posted %2$s to %3$s"
msgstr "%1$s a publié %2$s pour %3$s"
-#: ../../include/photos.php:532
+#: ../../include/photos.php:667
msgid "Upload New Photos"
msgstr "Ajouter des photos"
-#: ../../include/zot.php:649
+#: ../../include/zot.php:772
msgid "Invalid data packet"
msgstr "Paquet de données invalide"
-#: ../../include/zot.php:665
+#: ../../include/zot.php:799
msgid "Unable to verify channel signature"
msgstr "Impossible de vérifier la signature du canal"
-#: ../../include/zot.php:2316
+#: ../../include/zot.php:2552
#, php-format
msgid "Unable to verify site signature for %s"
msgstr "Impossible de vérifier la signature de site pour %s"
-#: ../../include/zot.php:3722
+#: ../../include/zot.php:4206
msgid "invalid target signature"
msgstr "signature de la cible invalide"
-#: ../../include/group.php:26
+#: ../../include/group.php:22
msgid ""
"A deleted group with this name was revived. Existing item permissions "
"<strong>may</strong> apply to this group and any future members. If this is "
"not what you intended, please create another group with a different name."
-msgstr "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent."
+msgstr "Un groupe supprimé portant ce nom a été ressuscité. Les droits d'accès liés aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent."
-#: ../../include/group.php:268
+#: ../../include/group.php:264
msgid "Add new connections to this privacy group"
msgstr "Ajouter de nouveaux contacts à ce groupe de contacts"
-#: ../../include/group.php:309
+#: ../../include/group.php:306
msgid "edit"
msgstr "modifier"
-#: ../../include/group.php:332
+#: ../../include/group.php:329
msgid "Edit group"
msgstr "Modifier le groupe"
-#: ../../include/group.php:333
+#: ../../include/group.php:330
msgid "Add privacy group"
msgstr "Créer un groupe de contacts"
-#: ../../include/group.php:334
+#: ../../include/group.php:331
msgid "Channels not in any privacy group"
msgstr "Contacts n'étant dans aucun groupe de contacts"
-#: ../../include/connections.php:127
+#: ../../include/connections.php:133
msgid "New window"
msgstr "Nouvelle fenêtre"
-#: ../../include/connections.php:128
+#: ../../include/connections.php:134
msgid "Open the selected location in a different window or browser tab"
msgstr "Ouvrir l'emplacement dans une fenêtre ou un onglet différent"
-#: ../../include/auth.php:148
+#: ../../include/auth.php:152
+msgid "Delegation session ended."
+msgstr "La séance de délégation a pris fin."
+
+#: ../../include/auth.php:156
msgid "Logged out."
msgstr "Deconnecté."
-#: ../../include/auth.php:275
+#: ../../include/auth.php:273
+msgid "Email validation is incomplete. Please check your email."
+msgstr "La validation du courriel est incomplète. Veuillez vérifier l'adresse courriel."
+
+#: ../../include/auth.php:289
msgid "Failed authentication"
msgstr "Échec de l'authentification"
-#: ../../include/help.php:33
+#: ../../include/help.php:34
msgid "Help:"
msgstr "Aide&nbsp;:"
-#: ../../include/help.php:65
+#: ../../include/help.php:78
msgid "Not Found"
msgstr "Introuvable"
diff --git a/view/fr/hstrings.php b/view/fr/hstrings.php
index d883cc240..6941f6321 100644
--- a/view/fr/hstrings.php
+++ b/view/fr/hstrings.php
@@ -5,9 +5,9 @@ function string_plural_select_fr($n){
return ($n > 1);;
}}
App::$rtl = 0;
-App::$strings["Can view my channel stream and posts"] = "Peut voir mon canal et mes publicatiosn";
+App::$strings["Can view my channel stream and posts"] = "Peut voir mon canal et mes publications";
App::$strings["Can send me their channel stream and posts"] = "Peuvent m'envoyer leur flux et les publications de leur canal";
-App::$strings["Can view my default channel profile"] = "Peut voir le profil par défaut du canal.";
+App::$strings["Can view my default channel profile"] = "Peut voir le profil par défaut du canal";
App::$strings["Can view my connections"] = "Peut voir mes contacts";
App::$strings["Can view my file storage and photos"] = "Peut voir mes fichiers et photos";
App::$strings["Can upload/modify my file storage and photos"] = "Peut télécharger/modifier mes fichiers et mes photos";
@@ -15,15 +15,16 @@ App::$strings["Can view my channel webpages"] = "Peut voir les pages web de mon
App::$strings["Can view my wiki pages"] = "Peut voir les pages de mon wiki";
App::$strings["Can create/edit my channel webpages"] = "Peut créer ou modifier les pages web de mon canal";
App::$strings["Can write to my wiki pages"] = "Peut écrire sur mon wiki";
-App::$strings["Can post on my channel (wall) page"] = "Peut écrire sur le mur de mon canal (mur)";
+App::$strings["Can post on my channel (wall) page"] = "Peut poster sur mon canal (\"mur\")";
App::$strings["Can comment on or like my posts"] = "Peuvent commenter et/ou aimer mes publications";
App::$strings["Can send me private mail messages"] = "Peuvent m'envoyer des messages privés";
-App::$strings["Can like/dislike profiles and profile things"] = "Peut aimer ou détester des profiles";
+App::$strings["Can like/dislike profiles and profile things"] = "Peut aimer ou détester des profils";
App::$strings["Can forward to all my channel connections via @+ mentions in posts"] = "Peut faire suivre à tous mes contacts avec la mention @+ dans une publication";
App::$strings["Can chat with me"] = "Peut discuter avec moi";
App::$strings["Can source my public posts in derived channels"] = "Peut rediriger mes publications publiques vers des canaux dérivés";
App::$strings["Can administer my channel"] = "Peut administrer mon canal";
App::$strings["Social Networking"] = "Réseau social";
+App::$strings["Social - Party"] = "Social - Fête";
App::$strings["Social - Mostly Public"] = "Social - principalement public";
App::$strings["Social - Restricted"] = "Social - restreint";
App::$strings["Social - Private"] = "Social - privé";
@@ -40,7 +41,7 @@ App::$strings["Special - Group Repository"] = "Spécial - dépôt partagé";
App::$strings["Other"] = "Autre";
App::$strings["Custom/Expert Mode"] = "Mode expert/spécifique";
App::$strings["Requested profile is not available."] = "Profil demandé non disponible.";
-App::$strings["Permission denied."] = "Permission refusée.";
+App::$strings["Permission denied."] = "Accès refusé.";
App::$strings["Block Name"] = "Nom du Bloc";
App::$strings["Blocks"] = "Blocs";
App::$strings["Block Title"] = "Titre du bloc";
@@ -71,6 +72,8 @@ App::$strings["2. Enter my \$Projectname network address into the site searchbar
App::$strings["or visit"] = "ou rendez-vous sur";
App::$strings["3. Click [Connect]"] = "3. Cliquez sur [Ajouter]";
App::$strings["Submit"] = "Envoyer";
+App::$strings["Articles"] = "Articles";
+App::$strings["Add Article"] = "Ajouter article";
App::$strings["Item not found"] = "Élément introuvable";
App::$strings["Layout Name"] = "Nom de la mise en page";
App::$strings["Layout Description (Optional)"] = "Description de la mise en page (facultatif)";
@@ -82,44 +85,101 @@ App::$strings["Profile"] = "Profil";
App::$strings["Click on a contact to add or remove."] = "Cliquer sur un contact pour l'ajouter ou le retirer.";
App::$strings["Visible To"] = "Visible par";
App::$strings["All Connections"] = "Tous les contacts";
+App::$strings["INVALID EVENT DISMISSED!"] = "ÉVÉNEMENT INVALIDE REJETÉ!";
+App::$strings["Summary: "] = "Sommaire :";
+App::$strings["Unknown"] = "Inconnu";
+App::$strings["Date: "] = "Date :";
+App::$strings["Reason: "] = "Raison :";
+App::$strings["INVALID CARD DISMISSED!"] = "ÉVÉNEMENT INVALIDE REJETÉ!";
+App::$strings["Name: "] = "Nom :";
+App::$strings["Event title"] = "Titre de l'événement";
+App::$strings["Start date and time"] = "Date et heure de début";
+App::$strings["Example: YYYY-MM-DD HH:mm"] = "Exemple : YYYY-MM-DD HH:mm";
+App::$strings["End date and time"] = "Date et heure de fin";
+App::$strings["Description"] = "Description";
+App::$strings["Location"] = "Emplacement";
+App::$strings["Previous"] = "Précédent";
+App::$strings["Next"] = "Suivant";
+App::$strings["Today"] = "Aujourd'hui";
+App::$strings["Month"] = "Mois";
+App::$strings["Week"] = "Semaine";
+App::$strings["Day"] = "Jour";
+App::$strings["List month"] = "Liste mois";
+App::$strings["List week"] = "Liste semaine";
+App::$strings["List day"] = "Liste jour";
+App::$strings["More"] = "Plus";
+App::$strings["Less"] = "Moins";
+App::$strings["Select calendar"] = "Sélectionner un calendrier";
+App::$strings["Delete all"] = "Tout supprimer";
+App::$strings["Cancel"] = "Annuler";
+App::$strings["Sorry! Editing of recurrent events is not yet implemented."] = "Désolé ! L'édition d'événements récurrents n'est pas encore implémenté.";
+App::$strings["Name"] = "Nom";
+App::$strings["Organisation"] = "Organisation";
+App::$strings["Title"] = "Titre";
+App::$strings["Phone"] = "Téléphone";
+App::$strings["Email"] = "Courriel";
+App::$strings["Instant messenger"] = "Instant messenger";
+App::$strings["Website"] = "Site web";
+App::$strings["Address"] = "Adresse";
+App::$strings["Note"] = "Note";
+App::$strings["Mobile"] = "Mobile";
+App::$strings["Home"] = "Mon canal";
+App::$strings["Work"] = "Travail";
+App::$strings["Add Contact"] = "Ajouter un contact";
+App::$strings["Add Field"] = "Ajouter un champ";
+App::$strings["Update"] = "Mise à jour";
+App::$strings["P.O. Box"] = "P.O. Box";
+App::$strings["Additional"] = "Information complémentaires";
+App::$strings["Street"] = "Rue";
+App::$strings["Locality"] = "Localité";
+App::$strings["Region"] = "Région";
+App::$strings["ZIP Code"] = "ZIP code";
+App::$strings["Country"] = "Pays";
+App::$strings["Default Calendar"] = "Agenda par défaut";
+App::$strings["Default Addressbook"] = "Carnet d'adresses par défaut";
App::$strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire";
App::$strings["You must be logged in to see this page."] = "Vous devez vous connecter pour voir cette page.";
App::$strings["Posts and comments"] = "Publications et commentaires";
App::$strings["Only posts"] = "Seulement les publications";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permissions insuffisantes. Demande redirigée vers la page du profil.";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Droits d'accès insuffisants. Demande redirigée vers la page du profil.";
App::$strings["Export Channel"] = "Exporter le canal";
-App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, permissions, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus.";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Exportez les principales informations de votre canal dans un fichier. Celui-ci pourra servir de sauvegarde de vos contacts, droits d'accès, profils et données de base. Il pourra être importé sur un nouveau hub/serveur, mais n'embarquera pas vos contenus.";
App::$strings["Export Content"] = "Exporter le contenu";
-App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra toutes vos relations, permissions, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence.";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportez les informations du canal et les contenus récents dans un fichier JSON. Celui-ci contiendra tous vos contacts, droits d'accès, profils, et plusieurs mois de publications. Ce fichier peut être TRÈS gros. Armez-vous de patience - plusieurs minutes peuvent s'écouler avant que le téléchargement ne commence.";
App::$strings["Export your posts from a given year."] = "Exporter vos publications d'une année en particulier";
App::$strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Vous pouvez également exporter vos publications et conversations pour une année ou un mois particulier. Ajustez la date dans la barre de votre navigateur pour sélectionner d'autres dates. Si l'export échoue (possible en cas de pénurie de mémoire sur le serveur de votre hub), essayez à nouveau en sélectionnant un intervalle de dates plus petit.";
App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Pour sélectionner toutes les publications pour une année donnée, telle que cette année, visitez <a href=\"%1\$s\">%2\$s</a>";
App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Pour sélectionner toutes les publications pour un mois donné, par exemple janvier, visitez <a href=\"%1\$s\">%2\$s</a>";
App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Ces fichiers de contenu peuvent être importés ou restaurés en visitant <a href=\"%1\$s\">%2\$s</a> sur n'importe quel site hébergeant votre canal. Pour de meilleurs résultats merci de les importer par ordre chronologique (les plus anciens d'abord).";
+App::$strings["Welcome to Hubzilla!"] = "Bienvenue sur Hubzilla !";
+App::$strings["You have got no unseen posts..."] = "Vous n'avez aucune publication non-vue...";
App::$strings["Public access denied."] = "Accès public refusé.";
App::$strings["Search"] = "Recherche";
App::$strings["Items tagged with: %s"] = "Eléments étiquetés avec&nbsp;: %s";
App::$strings["Search results for: %s"] = "Résultats de recherche pour&nbsp;: %s";
+App::$strings["Public Stream"] = "Flux public";
App::$strings["Location not found."] = "Emplacement introuvable.";
App::$strings["Location lookup failed."] = "Echec de la recherche de l'emplacement.";
App::$strings["Please select another location to become primary before removing the primary location."] = "Merci de sélectionner un autre emplacement comme nouvel emplacement primaire avant de supprimer l'emplacement primaire actuel.";
App::$strings["Syncing locations"] = "Synchronisation des emplacements";
App::$strings["No locations found."] = "Emplacement(s) introuvable.";
App::$strings["Manage Channel Locations"] = "Gérer les emplacements des canaux";
-App::$strings["Location"] = "Emplacement";
-App::$strings["Address"] = "Adresse";
App::$strings["Primary"] = "Primaire";
App::$strings["Drop"] = "Supprimer";
App::$strings["Sync Now"] = "Synchronisez maintenant";
App::$strings["Please wait several minutes between consecutive operations."] = "Merci d'attendre plusieurs minutes entre opérations successives.";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quand c'est possible, abandonnez un emplacement en vous connectant sur le site/hub et en supprimant votre canal.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Utilisez ce formulaire pour abandonner l'emplacement si le hub n'est plus actif.";
+App::$strings["Change Order of Pinned Navbar Apps"] = "Changer l'ordre des applications épinglées";
+App::$strings["Change Order of App Tray Apps"] = "Changer l'ordre des applications du menu";
+App::$strings["Use arrows to move the corresponding app left (top) or right (bottom) in the navbar"] = "Utilisez les flèches pour déplacer l'application correspondante à gauche (en haut) ou à droite (en bas) dans la barre de navigation.";
+App::$strings["Use arrows to move the corresponding app up or down in the app tray"] = "Utilisez les flèches pour déplacer l'application correspondante vers le haut ou vers le bas dans le panneau d'applications.";
App::$strings["Menu not found."] = "Menu introuvable.";
App::$strings["Unable to create element."] = "Impossible de créer l'entrée.";
App::$strings["Unable to update menu element."] = "Impossible de mettre à jour l'entrée de menu.";
App::$strings["Unable to add menu element."] = "Impossible d'ajouter l'entrée de menu.";
App::$strings["Not found."] = "Introuvable.";
-App::$strings["Menu Item Permissions"] = "Permissions de l'entrée de menu";
+App::$strings["Menu Item Permissions"] = "Droits d'accès de l'entrée de menu";
App::$strings["(click to open/close)"] = "(cliquer pour ouvrir/fermer)";
App::$strings["Link Name"] = "Nom du lien";
App::$strings["Link or Submenu Target"] = "Lien ou sous-menu cible";
@@ -155,23 +215,20 @@ App::$strings["Event title and start time are required."] = "Un titre et une dat
App::$strings["Event not found."] = "Événement introuvable.";
App::$strings["event"] = "événement";
App::$strings["Edit event title"] = "Modifier le titre de l'événement";
-App::$strings["Event title"] = "Titre de l'événement";
App::$strings["Required"] = "Requis";
App::$strings["Categories (comma-separated list)"] = "Catégories (séparées par des virgules)";
App::$strings["Edit Category"] = "Modifier la catégorie";
App::$strings["Category"] = "Catégorie";
App::$strings["Edit start date and time"] = "Modifier la date et l'heure de début";
-App::$strings["Start date and time"] = "Date et heure de début";
App::$strings["Finish date and time are not known or not relevant"] = "Date et heure de fin inconnues ou sans objet";
App::$strings["Edit finish date and time"] = "Modifier la date et l'heure de fin";
App::$strings["Finish date and time"] = "Date et heure de fin";
App::$strings["Adjust for viewer timezone"] = "Ajuster au fuseau horaire du visiteur";
App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Important pour les événements se tenant en un lieu particulier. Pas pratique pour les vacances communes à de nombreux pays dans le monde.";
App::$strings["Edit Description"] = "Modifier la description";
-App::$strings["Description"] = "Description";
App::$strings["Edit Location"] = "Modifier l'emplacement";
App::$strings["Preview"] = "Aperçu";
-App::$strings["Permission settings"] = "Gérer les autorisations";
+App::$strings["Permission settings"] = "Gérer les droits d'accès";
App::$strings["Timezone:"] = "Fuseau horaire&nbsp;:";
App::$strings["Advanced Options"] = "Options avancées";
App::$strings["l, F j"] = "l, F j";
@@ -181,17 +238,11 @@ App::$strings["Link to Source"] = "Lien vers la Source";
App::$strings["calendar"] = "calendrier";
App::$strings["Edit Event"] = "Modifier l'événement";
App::$strings["Create Event"] = "Créer un événement";
-App::$strings["Previous"] = "Précédent";
-App::$strings["Next"] = "Suivant";
App::$strings["Export"] = "Export";
-App::$strings["Month"] = "Mois";
-App::$strings["Week"] = "Semaine";
-App::$strings["Day"] = "Jour";
-App::$strings["Today"] = "Aujourd'hui";
App::$strings["Event removed"] = "Événement supprimé";
App::$strings["Failed to remove event"] = "Impossible de supprimer l'événement";
App::$strings["App installed."] = "Application installée.";
-App::$strings["Malformed app."] = "Erreur de l'application - Malformée.";
+App::$strings["Malformed app."] = "Application mal formée.";
App::$strings["Embed code"] = "Imbriquer le code";
App::$strings["Edit App"] = "Modifier l'application";
App::$strings["Create App"] = "Créer une application";
@@ -209,6 +260,10 @@ App::$strings["photo"] = "photo";
App::$strings["status"] = "état";
App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s suit %3\$s de %2\$s";
App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ne suit plus %3\$s de %2\$s";
+App::$strings["Channel not found."] = "Canal introuvable.";
+App::$strings["Insert web link"] = "Insérer lien web";
+App::$strings["Title (optional)"] = "Titre (facultatif)";
+App::$strings["Edit Article"] = "Éditer l'article";
App::$strings["Nothing to import."] = "Rien à importer.";
App::$strings["Unable to download data from old server"] = "Impossible de récupérer les données de l'ancien serveur";
App::$strings["Imported file is empty."] = "Le fichier importé est vide.";
@@ -226,8 +281,9 @@ App::$strings["Channel role and privacy"] = "Rôle et confidentialité du canal"
App::$strings["Select a channel role with your privacy requirements."] = "Sélectionner un rôle de canal adapté à vos besoins de confidentialité.";
App::$strings["Read more about roles"] = "En savoir plus sur les rôles";
App::$strings["Create Channel"] = "Créer le canal";
-App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des permissions d'accès très fines.";
+App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Un canal est votre identité sur ce réseau. Il peut représenter une personne, un blog, ou un forum par exemple. Les canaux peuvent entrer en contact les uns avec les autres pour partager des informations avec des droits d'accès très fins.";
App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "ou <a href=\"import\">importer un canal existant</a> d'un autre serveur.";
+App::$strings["Validate"] = "Valider";
App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un canal moins de 48 heures après avoir changé le mot de passe d'un compte.";
App::$strings["Remove This Channel"] = "Supprimer ce canal";
App::$strings["WARNING: "] = "AVERTISSEMENT&nbsp;:";
@@ -238,7 +294,6 @@ App::$strings["Remove this channel and all its clones from the network"] = "Supp
App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Par défaut, seule l'instance du canal présente sur ce hub sera supprimée du réseau";
App::$strings["Remove Channel"] = "Supprimer le canal";
App::$strings["Files: shared with me"] = "Fichiers&nbsp;: partagés avec moi";
-App::$strings["Name"] = "Nom";
App::$strings["NEW"] = "NOUVEAU";
App::$strings["Size"] = "Taille";
App::$strings["Last Modified"] = "Modifié le";
@@ -270,11 +325,7 @@ App::$strings["Your account email address must match this in order to use the we
App::$strings["Website URL"] = "URL du site web";
App::$strings["Please use SSL (https) URL if available."] = "Veuillez utiliser SSL/TLS (https) si disponible.";
App::$strings["Please select a default timezone for your website"] = "Veuillez choisir un fuseau horaire par défaut pour votre site";
-App::$strings["Basic/Minimal Social Networking"] = "Réseau social de base";
-App::$strings["Standard Configuration (default)"] = "Configuration standard par défaut";
-App::$strings["Professional"] = "Professionel";
App::$strings["Site settings"] = "Paramètres du site";
-App::$strings["Server Configuration/Role"] = "Configuration du site.";
App::$strings["PHP version 5.5 or greater is required."] = "PHP version 5.5 ou supérieur est requis";
App::$strings["PHP version"] = "Version de PHP";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Impossible de trouver une version CLI de PHP dans le PATH du serveur web.";
@@ -298,6 +349,7 @@ App::$strings["OpenSSL PHP module"] = "module PHP OpenSSL";
App::$strings["PDO database PHP module"] = "module PDO de la base de données PHP";
App::$strings["mb_string PHP module"] = "module PHP mb_string";
App::$strings["xml PHP module"] = "module PHP xml";
+App::$strings["zip PHP module"] = "module zip PHP";
App::$strings["Apache mod_rewrite module"] = "module Apache mod_rewrite";
App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erreur&nbsp;: le module mod-rewrite du serveur web Apache est requis, mais pas installé.";
App::$strings["exec"] = "exécuter";
@@ -310,11 +362,11 @@ App::$strings["Error: openssl PHP module required but not installed."] = "Erreur
App::$strings["Error: PDO database PHP module required but not installed."] = "Erreur: le module PDO de base de données PHP est requis mais n'est pas installé.";
App::$strings["Error: mb_string PHP module required but not installed."] = "Erreur&nbsp;: le module mb_string de PHP est requis, mais pas installé.";
App::$strings["Error: xml PHP module required for DAV but not installed."] = "Erreur&nbsp;: le module xml de PHP est requis pour le DAV, mais pas installé.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "C'est généralement lié à un problème de droits, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Au terme de cette procédure, nous vous transmettrons un texte à sauvegarder dans un fichier nommé .htconfig.php, à la racine de votre installation de \$Projectname.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Autrement, vous pouvez contourner toute cette procédure et réaliser l'installation manuellement. Merci de consulter le fichier \"install/INSTALL.txt\" pour les instructions détaillées.";
+App::$strings["Error: zip PHP module required but not installed."] = "Erreur&nbsp;: le module zip de PHP est requis, mais pas installé.";
App::$strings[".htconfig.php is writable"] = "Le fichier .htconfig.php est accessible en écriture";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installeur web a besoin de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais en est incapable.";
+App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "C'est généralement lié à un problème de droits d'accès, à cause duquel le serveur web est interdit d'écriture dans le répertoire concerné - alors que votre propre utilisateur a le droit.";
+App::$strings["Please see install/INSTALL.txt for additional information."] = "Merci de vous reporter à install/INSTALL.txt pour des informations supplémentaires.";
App::$strings["This software uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Ce logiciel utilise Smarty3 comme moteur de modèles pour afficher ses vues Web. Smarty3 compile ses modèles en PHP pour accélérer le rendu.";
App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "Afin de stocker ces modèles compilés, le serveur Web doit disposer d'un accès en écriture au répertoire %s selon le dossier Web racine.";
App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Merci de vous assurer que l'utilisateur sous lequel le serveur web tourne (le plus souvent, www-data) a bien l'autorisation d'écrire dans ce répertoire.";
@@ -334,7 +386,7 @@ App::$strings["Url rewrite in .htaccess is not working. Check your server config
App::$strings["Url rewrite is working"] = "La réécriture d'URL fonctionne";
App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web.";
App::$strings["Errors encountered creating database tables."] = "Erreurs rencontrées pendant la création de tables de BDD.";
-App::$strings["<h1>What next</h1>"] = "<h1>Et maintenant</h1>";
+App::$strings["<h1>What next?</h1>"] = "<h1>Et maintenant&nbsp;?</h1>";
App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises à jour du réseau.";
App::$strings["Continue"] = "Continuer";
App::$strings["Premium Channel Setup"] = "Configuration du canal VIP";
@@ -361,10 +413,10 @@ App::$strings["Executing %s failed. Check system logs."] = "L'éxecution de %s a
App::$strings["Update %s was successfully applied."] = "La mise à jour %s a été appliquée avec succès.";
App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La mise à jour %s n'a pas retourné d'information. Impossible de savoir si elle a réussi ou non.";
App::$strings["Update function %s could not be found."] = "La fonction de mise à jour %s est introuvable.";
-App::$strings["No failed updates."] = "Aucune mise à jour défaillante.";
App::$strings["Failed Updates"] = "Mises à jour défaillantes";
App::$strings["Mark success (if update was manually applied)"] = "Marquer comme réussie (si la mise à jour a été réalisée manuellement)";
App::$strings["Attempt to execute this update step automatically"] = "Tenter de réaliser cette étape de mise à jour automatiquement";
+App::$strings["No failed updates."] = "Aucune mise à jour défaillante.";
App::$strings["Item not found."] = "Élément introuvable";
App::$strings["Plugin %s disabled."] = "Greffon %s désactivé.";
App::$strings["Plugin %s enabled."] = "Greffon %s activé.";
@@ -389,11 +441,9 @@ App::$strings["(optional)"] = "(en option)";
App::$strings["Download Plugin Repo"] = "Télécharger l'extension";
App::$strings["Install new repo"] = "Installer un nouveau dépôt";
App::$strings["Install"] = "Installer";
-App::$strings["Cancel"] = "Annuler";
App::$strings["Manage Repos"] = "Gérer les dépôts";
App::$strings["Installed Plugin Repositories"] = "Dépôt des extensions installées";
App::$strings["Install a New Plugin Repository"] = "Installer un nouveau dépôt pour extensions";
-App::$strings["Update"] = "Mise à jour";
App::$strings["Switch branch"] = "Changer de branche";
App::$strings["Remove"] = "Retirer";
App::$strings["%s account blocked/unblocked"] = array(
@@ -412,7 +462,6 @@ App::$strings["Accounts"] = "Comptes";
App::$strings["select all"] = "tout sélectionner";
App::$strings["Registrations waiting for confirm"] = "Inscriptions en attente d'approbation";
App::$strings["Request date"] = "Date de la demande";
-App::$strings["Email"] = "Courriel";
App::$strings["No registrations."] = "Pas d'inscriptions.";
App::$strings["Approve"] = "Approuver";
App::$strings["Deny"] = "Refuser";
@@ -468,7 +517,7 @@ App::$strings["[Experimental]"] = "[Expérimental]";
App::$strings["[Unsupported]"] = "[Non maintenu]";
App::$strings["Site settings updated."] = "Paramètres du site sauvegardés.";
App::$strings["Default"] = "Défaut";
-App::$strings["%s - (Incompatible)"] = "";
+App::$strings["%s - (Incompatible)"] = "%s - (Incompatible)";
App::$strings["mobile"] = "mobile";
App::$strings["experimental"] = "expérimental";
App::$strings["unsupported"] = "non maintenu";
@@ -494,6 +543,7 @@ App::$strings["Used to provide a member experience matched to technical comfort
App::$strings["Lock the technical skill level setting"] = "Bloque le niveau technique du paramétrage";
App::$strings["Members can set their own technical comfort level by default"] = "Les utilisateurs peuvent paramétrer leur propre niveau technique.";
App::$strings["Banner/Logo"] = "Bannière/logo";
+App::$strings["Unfiltered HTML/CSS/JS is allowed"] = "Autoriser le HTML/CSS/JS non filtré";
App::$strings["Administrator Information"] = "Informations de l'administrateur";
App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Coordonnées de l'administrateur du site. Affichées sur la page 'siteinfo'. Vous pouvez utiliser du BBCode ici";
App::$strings["Site Information"] = "Site information";
@@ -501,8 +551,6 @@ App::$strings["Publicly visible description of this site. Displayed on siteinfo
App::$strings["System language"] = "Langue du système";
App::$strings["System theme"] = "Thème du système";
App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Thème par défaut - il peut être changé pour chaque profil utilisateur - <a href='#' id='cnftheme'>modifier le thème</a>";
-App::$strings["Mobile system theme"] = "Thème par défaut pour les mobiles";
-App::$strings["Theme for mobile devices"] = "Thème pour les mobiles";
App::$strings["Allow Feeds as Connections"] = "Autoriser les Flux (RSS) comme contacts";
App::$strings["(Heavy system resource usage)"] = "(Impact important sur les ressources)";
App::$strings["Maximum image size"] = "Taille maximale des images";
@@ -510,6 +558,8 @@ App::$strings["Maximum size in bytes of uploaded images. Default is 0, which mea
App::$strings["Does this site allow new member registration?"] = "Est-ce que l'enregistrement de nouveaux membres est autorisé sur ce site&nbsp;?";
App::$strings["Invitation only"] = "Sur invitation seulement";
App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "N'autoriser que les nouvelles inscriptions avec code d'invitation. La stratégie d'inscription ci-dessus doit être mise sur \"Oui\".";
+App::$strings["Minimum age"] = "Âge minimum";
+App::$strings["Minimum age (in years) for who may register on this site."] = "Âge minimum (en années) pour les personnes pouvant s'inscrire sur ce site.";
App::$strings["Which best describes the types of account offered by this hub?"] = "Quelle est la meilleure description des types de comptes proposés sur ce hub&nbsp;?";
App::$strings["Register text"] = "Texte d'inscription";
App::$strings["Will be displayed prominently on the registration page."] = "Sera affiché de manière bien visible sur le formulaire d'inscription.";
@@ -527,13 +577,17 @@ App::$strings["Force publish"] = "Publicité forcée";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Cocher pour forcer la publication de tous les profils du site dans l'annuaire.";
App::$strings["Import Public Streams"] = "Flux publics importés";
App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importer du contenu public à partir d'autres sites et autoriser l'accès à ce contenu. Attention&nbsp;: ce contenu n'est pas modéré.";
+App::$strings["Site only Public Streams"] = "Flux publics du site seulement";
+App::$strings["Allow access to public content originating only from this site if Imported Public Streams are disabled."] = "Autoriser l'accès au contenu public provenant uniquement de ce site si les flux publics importés sont désactivés.";
+App::$strings["Allow anybody on the internet to access the Public streams"] = "Permettre à n'importe qui sur Internet d'accéder aux flux publics.";
+App::$strings["Disable to require authentication before viewing. Warning: this content is unmoderated."] = "Désactiver l'authentification avant l'affichage. Attention : ce contenu n'est pas modéré.";
App::$strings["Login on Homepage"] = "Connexion sur la page d'accueil";
App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Présenter une boîte de dialogue de connexion aux visiteurs sur la page d'accueil si aucun autre contenu n'a été configuré.";
App::$strings["Enable context help"] = "Permettre l'aide contextuelle";
App::$strings["Display contextual help for the current page when the help button is pressed."] = "Afficher l'aide contextuel en cliquant sur le bouton aide.";
-App::$strings["Reply-to email address for system generated email."] = "";
-App::$strings["Sender (From) email address for system generated email."] = "";
-App::$strings["Name of email sender for system generated email."] = "";
+App::$strings["Reply-to email address for system generated email."] = "Adresse courriel de retour pour les courriels générés par l'application.";
+App::$strings["Sender (From) email address for system generated email."] = "Adresse courriel de l'expéditeur (champ \"De\") pour les courriels générés par l'application.";
+App::$strings["Name of email sender for system generated email."] = "Nom ou courriel de l'expéditeur pour les courriels générés par l'application.";
App::$strings["Directory Server URL"] = "URL du serveur d'annuaire";
App::$strings["Default directory server"] = "Serveur d'annuaire par défaut";
App::$strings["Proxy user"] = "Utilisateur du proxy";
@@ -544,12 +598,25 @@ App::$strings["Delivery interval"] = "Intervalle de distribution";
App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Temporise le processus de distribution de tant de secondes pour réduire la charge sur le système. Valeurs recommandées&nbsp;: 4-5 pour les serveurs mutualisés, 2-3 pour les VPS. 0-1 pour les gros serveurs dédiés.";
App::$strings["Deliveries per process"] = "Distributions par processus";
App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Nombre de distributions à tenter au sein d'un seul processus système. Ajuster si nécessaire pour affiner la performance du système. Recommandé&nbsp;:1-5.";
+App::$strings["Queue Threshold"] = "Seuil de file d'attente";
+App::$strings["Always defer immediate delivery if queue contains more than this number of entries."] = "Reportez toujours la livraison immédiate si la file d'attente contient plus que ce nombre d'entrées.";
App::$strings["Poll interval"] = "Intervalle de scrutation";
App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Temporise le processus de scrutation en tâche de fond de tant de secondes, pour réduire la charge. Si 0, utilise l'intervalle de distribution.";
+App::$strings["Path to ImageMagick convert program"] = "Chemin d'accès au programme \"convert\" de ImageMagick";
+App::$strings["If set, use this program to generate photo thumbnails for huge images ( > 4000 pixels in either dimension), otherwise memory exhaustion may occur. Example: /usr/bin/convert"] = "Si cette option est activée, utilisez ce programme pour générer des vignettes de photos pour des images géantes ( > 4000 pixels dans l'une ou l'autre dimension), sinon la mémoire risque de s'épuiser. Exemple : /usr/bin/convert";
+App::$strings["Allow SVG thumbnails in file browser"] = "Autoriser les vignettes SVG dans le navigateur de fichiers";
+App::$strings["WARNING: SVG images may contain malicious code."] = "ATTENTION : les images SVG peuvent contenir du code malveillant.";
App::$strings["Maximum Load Average"] = "Charge maximale moyenne";
App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Charge système maximale au-delà de laquelle distribution et scrutation sont reportées - par défaut 50.";
App::$strings["Expiration period in days for imported (grid/network) content"] = "Délai d'expiration pour le contenu importé (réseau)";
App::$strings["0 for no expiration of imported content"] = "0 pour ne pas expirer le contenu importé";
+App::$strings["Do not expire any posts which have comments less than this many days ago"] = "Ne pas considérer comme expirés les messages qui ont reçu des commentaires depuis moins de ce nombre de jours";
+App::$strings["Public servers: Optional landing (marketing) webpage for new registrants"] = "Serveurs publics : page Web facultative d'atterrissage (marketing) pour les nouveaux inscrits.";
+App::$strings["Create this page first. Default is %s/register"] = "Créez d'abord cette page. La valeur par défaut est %s /register";
+App::$strings["Page to display after creating a new channel"] = "Page à afficher après la création d'un nouveau canal";
+App::$strings["Recommend: profiles, go, or settings"] = "Recommander : profils, go, ou paramètres";
+App::$strings["Optional: site location"] = "Option : emplacement du site";
+App::$strings["Region or country"] = "Région ou pays";
App::$strings["New Profile Field"] = "Nouveau champ de profil";
App::$strings["Field nickname"] = "Nom court du champ";
App::$strings["System name of field"] = "Nom système du champ";
@@ -602,20 +669,22 @@ App::$strings["One site per line. By default embedded content is filtered."] = "
App::$strings["Block embedded HTML from these domains"] = "Bloquer le HTML embarqué à partir de ces domaines";
App::$strings["Remote privacy information not available."] = "Les informations distantes de confidentialité ne sont pas disponibles.";
App::$strings["Visible to:"] = "Visible par&nbsp;:";
-App::$strings["__ctx:acl__ Profile"] = "";
-App::$strings["Permission category saved."] = "Catégorie d'autorisation enregistrée.";
+App::$strings["__ctx:acl__ Profile"] = "Profil";
+App::$strings["Comment approved"] = "Commentaire validé";
+App::$strings["Comment deleted"] = "Commentaire supprimé";
+App::$strings["Permission category saved."] = "Profil d'accès enregistré.";
App::$strings["Use this form to create permission rules for various classes of people or connections."] = "Utilisez ce formulaire pour créer des règles d'accès pour différentes catégories de personnes ou de contacts.";
-App::$strings["Permission Categories"] = "Catégories d'autorisation";
-App::$strings["Permission Name"] = "Nom de l'autorisation";
+App::$strings["Permission Categories"] = "Profils d'accès";
+App::$strings["Permission Name"] = "Nom du droit d'accès";
App::$strings["My Settings"] = "Mes paramètres";
App::$strings["inherited"] = "héritée";
-App::$strings["Individual Permissions"] = "Permissions individuelles";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités.";
+App::$strings["Individual Permissions"] = "Droits d'accès individuels";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Certains droits d'accès peuvent être hérités de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous ne pouvez pas modifier ces droits d'accès-ci ici.";
App::$strings["Friends"] = "Amis";
App::$strings["Settings updated."] = "Paramètres mis à jour.";
App::$strings["Nobody except yourself"] = "Personne sauf vous";
App::$strings["Only those you specifically allow"] = "Seulement ceux que vous autorisez spécifiquement";
-App::$strings["Approved connections"] = "Contacts approuvés";
+App::$strings["Approved connections"] = "Contacts validés";
App::$strings["Any connections"] = "Tous les contacts";
App::$strings["Anybody on this website"] = "Tous les utilisateurs du hub";
App::$strings["Anybody in this network"] = "Tous les utilisateurs sur ce réseau";
@@ -637,17 +706,17 @@ App::$strings["Use Browser Location:"] = "Utiliser la géolocalisation du naviga
App::$strings["Adult Content"] = "Contenu \"adulte\"";
App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)";
App::$strings["Security and Privacy Settings"] = "Paramètres de sécurité et de confidentialité";
-App::$strings["Your permissions are already configured. Click to view/adjust"] = "Vous permissions sont déjà paramétrées. Cliquer pour voir/ajuster";
+App::$strings["Your permissions are already configured. Click to view/adjust"] = "Vous droits d'accès sont déjà paramétrés. Cliquer pour voir/modifier";
App::$strings["Hide my online presence"] = "Cacher ma présence en ligne";
App::$strings["Prevents displaying in your profile that you are online"] = "Cacher votre statut (en ligne/hors ligne) sur votre profil";
App::$strings["Simple Privacy Settings:"] = "Paramètres de confidentialité simplifiés&nbsp;:";
App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Très public - <em>extrèmement permissif (à n'utiliser qu'en connaissance de cause)</em>";
-App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Classique - <em>public par défaut, privé en cas de besoin (comparable aux permissions type réseau social, avec une confidentialité améliorée)</em>";
+App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Classique - <em>public par défaut, privé en cas de besoin (comparable aux droits d'accès type réseau social, avec une confidentialité améliorée)</em>";
App::$strings["Private - <em>default private, never open or public</em>"] = "Privé - <em>privé par défaut, jamais ouvert ni public</em>";
App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>";
App::$strings["Allow others to tag your posts"] = "Autoriser les autres à \"étiqueter\" vos publications";
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Souvent utilisé par la communauté pour identifier un contenu inapproprié a posteriori ";
-App::$strings["Channel Permission Limits"] = "Limites des permissions du canal";
+App::$strings["Channel Permission Limits"] = "Limites des droits d'accès du canal";
App::$strings["Expire other channel content after this many days"] = "Faire expirer le contenu des autres canaux après n jours";
App::$strings["0 or blank to use the website limit."] = "0 ou vide pour utiliser la limite du site web";
App::$strings["This website expires after %d days."] = "Ce site web expirera après %d jours.";
@@ -655,10 +724,11 @@ App::$strings["This website does not expire imported content."] = "Ce site web n
App::$strings["The website limit takes precedence if lower than your limit."] = "La limite du site Web a priorité si elle est inférieure à votre limite.";
App::$strings["Maximum Friend Requests/Day:"] = "Nombre maximum de demandes de contact par jour&nbsp;:";
App::$strings["May reduce spam activity"] = "Contribue à réduire l'impact des indésirables";
-App::$strings["Default Access Control List (ACL)"] = "Default Access Control List (ACL)";
+App::$strings["Default Privacy Group"] = "Groupe de contacts par défaut&nbsp;:";
App::$strings["Use my default audience setting for the type of object published"] = "Utiliser mon paramètre de publication par défaut pour le type d'objet publié";
-App::$strings["Channel permissions category:"] = "Catégorie de permissions du canal&nbsp;:";
-App::$strings["Default Permissions Group"] = "";
+App::$strings["Profile to assign new connections"] = "Profil pour assigner de nouvelles connexions";
+App::$strings["Channel permissions category:"] = "Profils d'accès du canal&nbsp;:";
+App::$strings["Default Permissions Group"] = "Groupe d'accès par défaut";
App::$strings["Maximum private messages per day from unknown people:"] = "Nombre maximum de messages privés émanant d'inconnus, par jour&nbsp;:";
App::$strings["Useful to reduce spamming"] = "Utile pour réduire les indésirables";
App::$strings["Notification Settings"] = "Paramètres de notification";
@@ -690,7 +760,12 @@ App::$strings["System info messages"] = "Messages d'info système";
App::$strings["System critical alerts"] = "Alertes critiques système";
App::$strings["New connections"] = "Nouveaux contacts";
App::$strings["System Registrations"] = "Inscriptions système";
-App::$strings["Also show new wall posts, private messages and connections under Notices"] = "Afficher également les nouvelles publications sur le mur, les messages privés et les contacts dans Notifications";
+App::$strings["Unseen shared files"] = "Fichiers partagés non vus";
+App::$strings["Unseen public activity"] = "Activité publique non vue";
+App::$strings["Unseen likes and dislikes"] = "Aime et n'aime pas non consultés";
+App::$strings["Email notification hub (hostname)"] = "Concentrateur de notification par courriel (nom d'hôte)";
+App::$strings["If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s"] = "Si votre canal est dupliqué sur plusieurs hubs, définissez cet emplacement comme votre emplacement préféré. Cela empêchera les notifications par courriel en double. Exemple : %s";
+App::$strings["Show new wall posts, private messages and connections under Notices"] = "Montrer les nouveaux envois, messages privés et les nouvelles connexions dans Notifications";
App::$strings["Notify me of events this many days in advance"] = "Me prévenir d’événements à venir tant de jours en avance";
App::$strings["Must be greater than 0"] = "Doit être supérieur à 0";
App::$strings["Advanced Account/Page Type Settings"] = "Paramètres avancés de compte/type de page";
@@ -702,8 +777,10 @@ App::$strings["Default file upload folder"] = "Répertoire par défaut pour les
App::$strings["Personal menu to display in your channel pages"] = "Menu personnel à afficher sur les pages de votre canal";
App::$strings["Remove this channel."] = "Supprimer ce canal";
App::$strings["Firefox Share \$Projectname provider"] = "Connecteur \$Projectname pour Firefox Share";
-App::$strings["Start calendar week on Monday"] = "";
+App::$strings["Start calendar week on Monday"] = "Commencer la semaine du calendrier le lundi";
App::$strings["Additional Features"] = "Fonctionnalités additionnelles";
+App::$strings["Your technical skill level"] = "Votre niveau technique";
+App::$strings["Used to provide a member experience and additional features consistent with your comfort level"] = "Utilisé pour offrir une expérience de membre et des fonctions supplémentaires compatibles avec votre niveau de confort.";
App::$strings["This channel is limited to %d tokens"] = "Ce canal est limité à %d jetons";
App::$strings["Name and Password are required."] = "Le nom et le mot de passe sont requis";
App::$strings["Token saved."] = "Jeton sauvegardé";
@@ -714,6 +791,22 @@ App::$strings["Login Name"] = "Nom d'utilisateur";
App::$strings["Login Password"] = "Mot de passe";
App::$strings["Expires (yyyy-mm-dd)"] = "Date d'expiration sous la forme année mois jour (AAAA-MM-JJ)";
App::$strings["Their Settings"] = "Leurs paramètres";
+App::$strings["Name and Secret are required"] = "Un nom et un secret sont requis";
+App::$strings["Add OAuth2 application"] = "Ajouter une application OAuth2";
+App::$strings["Name of application"] = "Nom de l'application";
+App::$strings["Consumer Secret"] = "Secret client";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères.";
+App::$strings["Redirect"] = "Redirection";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement";
+App::$strings["Grant Types"] = "Types de bourses";
+App::$strings["leave blank unless your application sepcifically requires this"] = "Laisser vide, sauf si votre application le requiert spécifiquement";
+App::$strings["Authorization scope"] = "Portée de l'autorisation";
+App::$strings["OAuth2 Application not found."] = "Application OAuth2 introuvable";
+App::$strings["Add application"] = "Ajouter une application";
+App::$strings["Connected OAuth2 Apps"] = "Applications OAuth2 connectées";
+App::$strings["Client key starts with"] = "La clef partagée commence par";
+App::$strings["No name"] = "Sans nom";
+App::$strings["Remove authorization"] = "Révoquer l'autorisation";
App::$strings["Not valid email."] = "Adresse de courriel non valide.";
App::$strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser.";
App::$strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci d'essayer à nouveau.";
@@ -728,17 +821,17 @@ App::$strings["Current Password"] = "Mot de passe actuel";
App::$strings["Enter New Password"] = "Entrez votre nouveau mot de passe";
App::$strings["Confirm New Password"] = "Confirmez le nouveau mot de passe";
App::$strings["Leave password fields blank unless changing"] = "Laissez les mots de passe vides si vous ne voulez pas les modifier";
-App::$strings["Your technical skill level"] = "Votre niveau technique";
-App::$strings["Used to provide a member experience matched to your comfort level"] = "Utilisé pour fournir une expérience utilisateur correspondant à votre niveau de confort";
App::$strings["Remove Account"] = "Supprimer le compte";
App::$strings["Remove this account including all its channels"] = "Supprimer ce compte et tous ses canaux";
App::$strings["Affinity Slider settings updated."] = "Paramètres de la réglette d'affinité mis à jour.";
App::$strings["No feature settings configured"] = "Aucun paramètre de fonctionnalité configuré";
App::$strings["Default maximum affinity level"] = "Niveau d'affinité maximum par défaut";
+App::$strings["0-99 default 99"] = "0-99 par défaut 99";
App::$strings["Default minimum affinity level"] = "Niveau d'affinité minimum par défaut";
+App::$strings["0-99 - default 0"] = "0-99 par défaut 0";
App::$strings["Affinity Slider Settings"] = "Paramètres de la réglette d'affinité";
-App::$strings["Feature/Addon Settings"] = "Paramètres des extensions/greffons";
-App::$strings["No special theme for mobile devices"] = "Pas de thème spécifique aux mobiles";
+App::$strings["Addon Settings"] = "Paramètres du greffon";
+App::$strings["Please save/submit changes to any panel before opening another."] = "Veuillez enregistrer/soumettre les changements à n'importe quel panneau avant d'en ouvrir un autre.";
App::$strings["%s - (Experimental)"] = "%s - (Expérimental)";
App::$strings["Display Settings"] = "Afficher les paramètres";
App::$strings["Theme Settings"] = "Paramètres du thème";
@@ -746,7 +839,6 @@ App::$strings["Custom Theme Settings"] = "Paramètres personnels du thème";
App::$strings["Content Settings"] = "Paramètres liés au contenu";
App::$strings["Display Theme:"] = "Afficher le thème&nbsp;:";
App::$strings["Select scheme"] = "Définir la palette de couleurs";
-App::$strings["Mobile Theme:"] = "Thème mobile&nbsp;:";
App::$strings["Preload images before rendering the page"] = "Pré-charger les images avant d'afficher la page";
App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Le temps de charge perçu de la page sera plus long mais la page sera complète quand elle s'affichera";
App::$strings["Enable user zoom on mobile devices"] = "Permettre à l'utilisateur d'un mobile d'agrandir le contenu";
@@ -755,6 +847,8 @@ App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 secondes, pas d
App::$strings["Maximum number of conversations to load at any time:"] = "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:";
App::$strings["Maximum of 100 items"] = "100 éléments au maximum";
App::$strings["Show emoticons (smilies) as images"] = "Remplacer les émoticônes (smileys) par des images";
+App::$strings["Provide channel menu in navigation bar"] = "Fournir le menu du canal dans la barre de navigation";
+App::$strings["Default: channel menu located in app menu"] = "Par défaut : menu du canal situé dans le menu de l'application.";
App::$strings["Manual conversation updates"] = "Manuel de mises à jour des conversations";
App::$strings["Default is on, turning this off may increase screen jumping"] = "Activé par défaut, le désactiver peut accroître les sauts d'écran";
App::$strings["Link post titles to source"] = "Lier les titres des publications à leur source";
@@ -767,22 +861,12 @@ App::$strings["click to expand content exceeding this height"] = "cliquer pour d
App::$strings["Grid page max height of content (in pixels)"] = "Hauteur maximale du contenu sur la page du réseau (en pixels)";
App::$strings["Name is required"] = "Le nom est requis";
App::$strings["Key and Secret are required"] = "Clef et secret sont requis";
-App::$strings["Add application"] = "Ajouter une application";
-App::$strings["Name of application"] = "Nom de l'application";
App::$strings["Consumer Key"] = "Clef client";
-App::$strings["Automatically generated - change if desired. Max length 20"] = "Généré automatiquement - à changer si besoin. Longueur maximale 20 caractères.";
-App::$strings["Consumer Secret"] = "Secret client";
-App::$strings["Redirect"] = "Redirection";
-App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirection - laissez vide, sauf si votre application le requiert spécifiquement";
App::$strings["Icon url"] = "URL de l'icône";
App::$strings["Optional"] = "Facultatif";
App::$strings["Application not found."] = "Application introuvable.";
App::$strings["Connected Apps"] = "Applications connectées";
-App::$strings["Client key starts with"] = "La clef partagée commence par";
-App::$strings["No name"] = "Sans nom";
-App::$strings["Remove authorization"] = "Révoquer l'autorisation";
App::$strings["View Photo"] = "Voir la photo";
-App::$strings["Unknown"] = "Inconnu";
App::$strings["Edit Album"] = "Modifier l'album";
App::$strings["Upload"] = "Envoyer";
App::$strings["Some blurb about what to do when you're new here"] = "Quelques mots sur quoi faire quand on est nouveau ici";
@@ -799,11 +883,11 @@ App::$strings["Only sends to viewers of the applicable profile"] = "Envoie exclu
App::$strings["Name of thing e.g. something"] = "Nom de l'élément, p.ex. quelque-chose";
App::$strings["URL of thing (optional)"] = "URL de l'élément (facultatif)";
App::$strings["URL for photo of thing (optional)"] = "URL d'une photo de l'élément (facultatif)";
-App::$strings["Permissions"] = "Autorisations";
+App::$strings["Permissions"] = "Droits d'accès";
App::$strings["Add Thing to your Profile"] = "Ajouter l'élément à votre profil";
App::$strings["No more system notifications."] = "Pas d'autre notification du système.";
App::$strings["System Notifications"] = "Notifications du système";
-App::$strings["Channel added."] = "Canal ajouté.";
+App::$strings["Connection added."] = "Connexion ajoutée.";
App::$strings["Your service plan only allows %d channels."] = "Votre forfait n'autorise que %d canaux.";
App::$strings["No channel. Import failed."] = "Pas de canal. Echec de l'import.";
App::$strings["Import completed."] = "L'import est terminé.";
@@ -823,38 +907,40 @@ App::$strings["Authentication failed."] = "Échec de l'authentification.";
App::$strings["Remote Authentication"] = "Authentification distante";
App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Entrez l'adresse de votre canal (par ex. moncanal@monsite.com)";
App::$strings["Authenticate"] = "Authentifier";
-App::$strings["Channel not found."] = "Canal introuvable.";
-App::$strings["Permissions denied."] = "Permissions refusées.";
+App::$strings["Permissions denied."] = "Accès refusés.";
App::$strings["Import"] = "Import";
App::$strings["Authorize application connection"] = "Autoriser l'application à se connecter";
App::$strings["Return to your app and insert this Security Code:"] = "Revenez dans votre application et mettez le code de sécurité";
App::$strings["Please login to continue."] = "Merci de vous identifier pour continuer.";
App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Voulez-vous autoriser cette application à accéder à vos publications et contacts, et/ou à publier en votre nom?";
App::$strings["Item not available."] = "Élément indisponible.";
-App::$strings["Insert web link"] = "Insérer lien web";
-App::$strings["Title (optional)"] = "Titre (facultatif)";
App::$strings["Edit Block"] = "Modifier le bloc";
App::$strings["vcard"] = "vcard";
App::$strings["Apps"] = "Applications";
-App::$strings["Manage apps"] = "";
-App::$strings["Create new app"] = "";
+App::$strings["Manage apps"] = "Gérer les applications";
+App::$strings["Create new app"] = "Créer une application";
App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s est %2\$s";
App::$strings["Mood"] = "Humeur";
App::$strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis";
+App::$strings["Active"] = "Active";
App::$strings["Blocked"] = "Bloqué(e)";
App::$strings["Ignored"] = "Ignoré(e)";
App::$strings["Hidden"] = "Caché";
-App::$strings["Archived"] = "Archivé";
+App::$strings["Archived/Unreachable"] = "Archivé/Injoignable";
App::$strings["New"] = "Nouveautés";
App::$strings["All"] = "Tous";
+App::$strings["Active Connections"] = "Connexions actives";
+App::$strings["Show active connections"] = "Voir les connexions actives";
App::$strings["New Connections"] = "Nouveaux contacts";
App::$strings["Show pending (new) connections"] = "Voir les (nouveaux) contacts en attente";
-App::$strings["Show all connections"] = "Voir tous les contacts";
App::$strings["Only show blocked connections"] = "Ne montrer que les contacts bloqués";
App::$strings["Only show ignored connections"] = "Ne montrer que les contacts ignorés";
-App::$strings["Only show archived connections"] = "Ne montrer que les contacts archivés";
+App::$strings["Only show archived/unreachable connections"] = "Ne montrer que les contacts archivés/injoignables";
App::$strings["Only show hidden connections"] = "Ne montrer que les contacts cachés";
+App::$strings["Show all connections"] = "Voir tous les contacts";
App::$strings["Pending approval"] = "En attente de validation";
+App::$strings["Archived"] = "Archivé";
+App::$strings["Not connected at this location"] = "Contact introuvable à cette adresse";
App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
App::$strings["Edit connection"] = "Modifier le contact";
App::$strings["Delete connection"] = "Supprimer le contact";
@@ -871,6 +957,7 @@ App::$strings["Connections"] = "Contacts";
App::$strings["Search your connections"] = "Chercher parmi vos contacts";
App::$strings["Connections search"] = "Chercher des contacts";
App::$strings["Find"] = "Trouver";
+App::$strings["item"] = "item";
App::$strings["Source of Item"] = "Source de l'élément";
App::$strings["Bookmark added"] = "Favori ajouté";
App::$strings["My Bookmarks"] = "Mes Favoris";
@@ -892,11 +979,11 @@ App::$strings["Upload Photos"] = "Téléverser des photos";
App::$strings["Enter an album name"] = "Entrer un nom d'album";
App::$strings["or select an existing album (doubleclick)"] = "ou sélectionner un album existant (double-clic)";
App::$strings["Create a status post for this upload"] = "Créer une publication de statut pour cet envoi";
-App::$strings["Caption (optional):"] = "Légende (facultative)";
-App::$strings["Description (optional):"] = "Description (facultative)";
+App::$strings["Description (optional)"] = "Description (facultative)";
App::$strings["Show Newest First"] = "Les plus récent(e)s en premier";
App::$strings["Show Oldest First"] = "Les moins récent(e)s en premier";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Permission refusée. L'accès à cet élément peut avoir été restreint.";
+App::$strings["Add Photos"] = "Ajouter des photos";
+App::$strings["Permission denied. Access to this item may be restricted."] = "Accès refusé. L'accès à cet élément peut avoir été restreint.";
App::$strings["Photo not available"] = "Photo non disponible";
App::$strings["Use as profile photo"] = "Utiliser comme photo du profil";
App::$strings["Use as cover photo"] = "Utilisez comme bannière";
@@ -908,7 +995,6 @@ App::$strings["Rotate CCW (left)"] = "Rotation anti-horaire (gauche)";
App::$strings["Move photo to album"] = "Déplacer la photo dans l'album";
App::$strings["Enter a new album name"] = "Entrer un nouveau nom d'album";
App::$strings["or select an existing one (doubleclick)"] = "ou en sélectionner un existant (double-clic)";
-App::$strings["Caption"] = "Titre/légende";
App::$strings["Add a Tag"] = "Ajouter une étiquette";
App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exemple&nbsp;: @marc, @Barbara_Jensen, @charles@exemple.com, #Ile_de_France, #marathon";
App::$strings["Flag as adult in album view"] = "Marquer comme \"adulte\" dans l'affichage de l'album";
@@ -944,17 +1030,26 @@ App::$strings["Recent Photos"] = "Photos récentes";
App::$strings["Profile Unavailable."] = "Profil non disponible.";
App::$strings["Not found"] = "Non trouvé";
App::$strings["Invalid channel"] = "Canal invalide.";
+App::$strings["Error retrieving wiki"] = "Erreur lors de la récupération du wiki";
+App::$strings["Error creating zip file export folder"] = "Erreur lors de la création du dossier d'exportation du fichier zip";
+App::$strings["Error downloading wiki: "] = "Erreur lors du téléchargement du wiki:";
App::$strings["Wikis"] = "Wikis";
App::$strings["Download"] = "Téléchargement";
App::$strings["Create New"] = "Nouveau";
App::$strings["Wiki name"] = "Nom du wiki";
App::$strings["Content type"] = "Type de contenu";
+App::$strings["Markdown"] = "Markdown";
+App::$strings["BBcode"] = "BBcode";
+App::$strings["Text"] = "Texte";
App::$strings["Type"] = "Type";
+App::$strings["Any&nbsp;type"] = "N'importe quel type";
+App::$strings["Lock content type"] = "Verrouiller le type de contenu";
App::$strings["Create a status post for this wiki"] = "Créer un statut de publication pour ce wiki";
+App::$strings["Edit Wiki Name"] = "Modifier le nom du wiki";
App::$strings["Wiki not found"] = "Wiki introuvable";
App::$strings["Rename page"] = "Renommer la page";
App::$strings["Error retrieving page content"] = "Erreur lors de la récupération du contenu de la page";
-App::$strings["New page"] = "";
+App::$strings["New page"] = "Nouvelle page";
App::$strings["Revision Comparison"] = "Comparaison des révisions";
App::$strings["Revert"] = "Revenir";
App::$strings["Short description of your changes (optional)"] = "Description courte de vos modifications (optionnel)";
@@ -970,10 +1065,12 @@ App::$strings["Error getting album list"] = "Erreur venant de la liste de l'albu
App::$strings["Error getting photo link"] = "Erreur provenant du lien de la photo";
App::$strings["Error getting album"] = "Erreur venant de l'album";
App::$strings["Error creating wiki. Invalid name."] = "Erreur lors de la création du wiki. Nom invalide.";
-App::$strings["A wiki with this name already exists."] = "";
+App::$strings["A wiki with this name already exists."] = "Ce nom de wiki est déjà pris";
App::$strings["Wiki created, but error creating Home page."] = "Le wiki a été créé, mais une erreur est survenue lors de la création de sa page d'accueil.";
App::$strings["Error creating wiki"] = "Erreur lors de la création du wiki.";
-App::$strings["Wiki delete permission denied."] = "Permission de supprimer le wiki refusée.";
+App::$strings["Error updating wiki. Invalid name."] = "Erreur de mise à jour du wiki. Nom invalide.";
+App::$strings["Error updating wiki"] = "Erreur de mise à jour du wiki";
+App::$strings["Wiki delete permission denied."] = "Droit de supprimer le wiki refusé.";
App::$strings["Error deleting wiki"] = "Erreur durant la suppression du wiki";
App::$strings["New page created"] = "Nouvelle page créée";
App::$strings["Cannot delete Home"] = "Impossible de supprimer la racine";
@@ -984,9 +1081,13 @@ App::$strings["toggle full screen mode"] = "Basculer en mode plein écran.";
App::$strings["Layout updated."] = "Mise en page mise à jour.";
App::$strings["Feature disabled."] = "Fonctionnalité désactivée";
App::$strings["Edit System Page Description"] = "Modifier la description de la page du système";
+App::$strings["(modified)"] = "modifié)";
+App::$strings["Reset"] = "Réinitialiser";
App::$strings["Layout not found."] = "Mise en page introuvable.";
App::$strings["Module Name:"] = "Nom du module&nbsp;:";
App::$strings["Layout Help"] = "Aide à la mise en page";
+App::$strings["Edit another layout"] = "Modifier une autre mise en page";
+App::$strings["System layout"] = "mise en page du système";
App::$strings["Poke"] = "Tapoter";
App::$strings["Poke somebody"] = "Taquiner quelqu'un";
App::$strings["Poke/Prod"] = "Tapoter/Encourager";
@@ -1005,10 +1106,10 @@ App::$strings["Photo not available."] = "Photo inaccessible.";
App::$strings["Upload File:"] = "Téléverser fichier&nbsp;:";
App::$strings["Select a profile:"] = "Choisir un profil&nbsp;:";
App::$strings["Use Photo for Profile"] = "Utiliser la photo pour le profil";
-App::$strings["Upload Profile Photo"] = "Téléverser une photo de profil";
+App::$strings["Change Profile Photo"] = "Changer la photo du profil";
App::$strings["Use"] = "Utiliser";
-App::$strings["skip this step"] = "passer cette étape";
-App::$strings["select a photo from your photo albums"] = "choisir une photo dans vos albums";
+App::$strings["Use a photo from your albums"] = "Utiliser une photo de vos albums";
+App::$strings["Select existing photo"] = "Sélectionner une photo existante";
App::$strings["Crop Image"] = "Recadrer l'image";
App::$strings["Please adjust the image cropping for optimum viewing."] = "Merci d'ajuster le cadre pour une visualisation optimale.";
App::$strings["Done Editing"] = "J'ai terminé";
@@ -1018,14 +1119,17 @@ App::$strings["Unable to locate original post."] = "Impossible de localiser la p
App::$strings["Empty post discarded."] = "Publication vide annulée.";
App::$strings["Duplicate post suppressed."] = "Publication en doublon supprimée.";
App::$strings["System error. Post not saved."] = "Erreur système. Publication non sauvegardée.";
+App::$strings["Your comment is awaiting approval."] = "Votre commentaire est en attente de validation.";
App::$strings["Unable to obtain post information from database."] = "Impossible d'obtenir les informations de publication depuis la base de données.";
App::$strings["You have reached your limit of %1$.0f top level posts."] = "Vous avez atteint votre limite de %1$.0f contributions \"racines\".";
App::$strings["You have reached your limit of %1$.0f webpages."] = "Vous avez atteint votre limite de %1$.0f pages web.";
App::$strings["sent you a private message"] = "vous a envoyé un message privé";
App::$strings["added your channel"] = "a ajouté votre canal";
+App::$strings["requires approval"] = "nécessite une approbation";
App::$strings["g A l F d"] = "g A l F d";
App::$strings["[today]"] = "[aujourd'hui]";
App::$strings["posted an event"] = "a publié un événement";
+App::$strings["shared a file with you"] = "a partagé un fichier avec vous";
App::$strings["Invalid item."] = "Élément invalide.";
App::$strings["Page not found."] = "Page introuvable.";
App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
@@ -1040,10 +1144,10 @@ App::$strings["Unable to set address book parameters."] = "Impossible de régler
App::$strings["Connection has been removed."] = "Le contact a été supprimé.";
App::$strings["View Profile"] = "Voir mon profil";
App::$strings["View %s's profile"] = "Voir le profil de %s";
-App::$strings["Refresh Permissions"] = "Actualiser les autorisations";
+App::$strings["Refresh Permissions"] = "Actualiser les droits d'accès";
App::$strings["Fetch updated permissions"] = "Récupérer les autorisations les plus récentes";
-App::$strings["Refresh Photo"] = "";
-App::$strings["Fetch updated photo"] = "";
+App::$strings["Refresh Photo"] = "Actualiser la photo";
+App::$strings["Fetch updated photo"] = "Récupérer la photo mise à jour";
App::$strings["Recent Activity"] = "Activité récente";
App::$strings["View recent posts and comments"] = "Voir les publications et commentaires récents";
App::$strings["Block (or Unblock) all communications with this connection"] = "Bloquer ou débloquer toute communication avec ce contact";
@@ -1060,9 +1164,9 @@ App::$strings["Hide"] = "Cacher";
App::$strings["Hide or Unhide this connection from your other connections"] = "Cacher ou ne plus cacher ce contact vis-à-vis de vos autres contacts";
App::$strings["This connection is hidden!"] = "Ce contact est caché&nbsp;!";
App::$strings["Delete this connection"] = "Supprimer ce contact";
-App::$strings["Fetch Vcard"] = "";
-App::$strings["Fetch electronic calling card for this connection"] = "";
-App::$strings["Open Individual Permissions section by default"] = "Ouvrir par défaut la section des autorisations individuelles";
+App::$strings["Fetch Vcard"] = "Récupérer la Vcard";
+App::$strings["Fetch electronic calling card for this connection"] = "Récupérer la carte de visite électronique de ce contact";
+App::$strings["Open Individual Permissions section by default"] = "Ouvrir par défaut la section des droits d'accès individuels";
App::$strings["Affinity"] = "Affinité";
App::$strings["Open Set Affinity section by default"] = "Ouvrir par défaut la section Définir le degré d'affinité";
App::$strings["Me"] = "Moi";
@@ -1070,21 +1174,25 @@ App::$strings["Family"] = "Famille";
App::$strings["Acquaintances"] = "Connaissances";
App::$strings["Filter"] = "Filtrer";
App::$strings["Open Custom Filter section by default"] = "Ouvrir par défaut la section Filtre personnalisé";
-App::$strings["Approve this connection"] = "Autoriser ce contact";
+App::$strings["Approve this connection"] = "Valider ce contact";
App::$strings["Accept connection to allow communication"] = "Accepter le contact pour permettre la communication";
App::$strings["Set Affinity"] = "Définir le degré d'affinité";
App::$strings["Set Profile"] = "Définir le profil";
App::$strings["Set Affinity & Profile"] = "Définir le degré d'affinité et le profil";
-App::$strings["none"] = "Aucun";
-App::$strings["Connection Default Permissions"] = "Autorisations par défaut des contacts";
+App::$strings["This connection is unreachable from this location."] = "Ce contact est injoignable à partir de ce serveur.";
+App::$strings["This connection may be unreachable from other channel locations."] = "Ce contact peut être injoignable à partir d'autres serveurs hébergeant ce canal.";
+App::$strings["Location independence is not supported by their network."] = "Leur plate-forme ne gère pas la localisation multiple des canaux/contacts.";
+App::$strings["This connection is unreachable from this location. Location independence is not supported by their network."] = "Ce contact est injoignable à partir de cette adresse. Sa plate-forme ne gère pas la localisation multiple des canaux/contacts.";
+App::$strings["Connection Default Permissions"] = "Droits d'accès par défaut des contacts";
App::$strings["Connection: %s"] = "Contact&nbsp;: %s";
-App::$strings["Apply these permissions automatically"] = "Appliquer ces permissions automatiquement";
-App::$strings["Connection requests will be approved without your interaction"] = "Les demandes de contact seront approuvées automatiquement";
+App::$strings["Apply these permissions automatically"] = "Appliquer ces droits d'accès automatiquement";
+App::$strings["Connection requests will be approved without your interaction"] = "Les demandes de contact seront validées automatiquement";
App::$strings["Permission role"] = "Rôle d'accès";
+App::$strings["Loading"] = "Chargement";
App::$strings["Add permission role"] = "Ajouter un rôle d'accès";
App::$strings["This connection's primary address is"] = "L'adresse principale de ce contact est";
App::$strings["Available locations:"] = "Emplacements disponibles&nbsp;:";
-App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Les permissions indiquées sur cette page seront appliquées à tous vos nouveaux contacts.";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Les droits d'accès indiqués sur cette page seront appliqués à tous vos nouveaux contacts.";
App::$strings["Connection Tools"] = "Actions du contact";
App::$strings["Slide to adjust your degree of friendship"] = "Faites glisser pour ajuster votre proximité avec le contact";
App::$strings["Rating"] = "Evaluation";
@@ -1097,27 +1205,9 @@ App::$strings["Do not import posts with this text"] = "Ne pas importer les publi
App::$strings["This information is public!"] = "Cette information est publique&nbsp;!";
App::$strings["Connection Pending Approval"] = "Contact en attente d'approbation";
App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Merci de choisir le profil que vous souhaitez montrer quand %s visite votre profil de manière authentifiée.";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Certaines permissions peuvent être héritées de vos <a href=\"settings\">paramètres de confidentialité</a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces permissions ici mais cela n'aura aucun effet à moins de changer les paramètres hérités.";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Certains droits d'accès peuvent être hérités de vos <a href=\"settings\"><strong>paramètres de confidentialité</strong></a> de canal, lesquels sont prioritaires sur les réglages individuels. Vous pouvez modifier ces droits d'accès ici mais cela n'aura aucun effet à moins de changer les paramètres hérités.";
App::$strings["Last update:"] = "Dernière mise à jour&nbsp;:";
App::$strings["Details"] = "Détails";
-App::$strings["Organisation"] = "Organisation";
-App::$strings["Title"] = "Titre";
-App::$strings["Phone"] = "Téléphone";
-App::$strings["Instant messenger"] = "Instant messenger";
-App::$strings["Website"] = "Site web";
-App::$strings["Note"] = "Note";
-App::$strings["Mobile"] = "Mobile";
-App::$strings["Home"] = "Mon canal";
-App::$strings["Work"] = "Travail";
-App::$strings["Add Contact"] = "Ajouter un contact";
-App::$strings["Add Field"] = "Ajouter un champ";
-App::$strings["P.O. Box"] = "P.O. Box";
-App::$strings["Additional"] = "Information complémentaires";
-App::$strings["Street"] = "Rue";
-App::$strings["Locality"] = "Localité";
-App::$strings["Region"] = "Région";
-App::$strings["ZIP Code"] = "ZIP code";
-App::$strings["Country"] = "Pays";
App::$strings["Room not found"] = "Salon introuvable";
App::$strings["Leave Room"] = "Quitter le salon";
App::$strings["Delete Room"] = "Supprimer le salon";
@@ -1162,12 +1252,27 @@ App::$strings["Help"] = "Aide";
App::$strings["Comanche page description language help"] = "Aide sur le langage de description de page Comanche";
App::$strings["Layout Description"] = "Description de la mise en page";
App::$strings["Download PDL file"] = "Télécharger le fichier PDL";
+App::$strings["Please refresh page"] = "Veuillez rafraîchir la page";
+App::$strings["Unknown error"] = "Erreur inconnue";
+App::$strings["Token verification failed."] = "La vérification du jeton a échoué.";
+App::$strings["Email Verification Required"] = "Vérification de courriel requise";
+App::$strings["A verification token was sent to your email address [%s]. Enter that token here to complete the account verification step. Please allow a few minutes for delivery, and check your spam folder if you do not see the message."] = "Un jeton de vérification a été envoyé à votre courriel [%s]. Entrez ce jeton ici pour compléter l'étape de vérification des comptes. Veuillez allouer quelques minutes pour la réception et vérifier votre dossier spam si vous ne voyez pas le message.";
+App::$strings["Resend Email"] = "Renvoyer le courriel";
+App::$strings["Validation token"] = "Jeton de validation";
+App::$strings["Post not found."] = "Publication introuvable.";
App::$strings["post"] = "publication";
App::$strings["comment"] = "commentaire";
App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s a étiqueté le %3\$s de %2\$s avec %4\$s";
App::$strings["This setting requires special processing and editing has been blocked."] = "Ce paramètre nécessité un traitement spécial, les modifications ont été bloquées.";
App::$strings["Configuration Editor"] = "Editeur de configuration";
App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attention&nbsp;:modifier certains paramètres peut rendre votre canal inutilisable. Merci d'ignorer cette page à moins d'être suffisamment à l'aise de savoir comment utiliser correctement cette fonctionnalité.";
+App::$strings["If enabled, connection requests will be approved without your interaction"] = "Si cette option est activée, les demandes de connexion seront approuvées sans votre intervention.";
+App::$strings["Automatic approval settings"] = "Paramètres d'approbation automatique";
+App::$strings["Some individual permissions may have been preset or locked based on your channel type and privacy settings."] = "Certaines permissions individuelles peuvent avoir été prédéfinies ou verrouillées en fonction de votre type de canal et de vos paramètres de confidentialité.";
+App::$strings["Unknown App"] = "App inconnue";
+App::$strings["Authorize"] = "Autoriser";
+App::$strings["Do you authorize the app %s to access your channel data?"] = "Autorisez vous l'app %s à accéder aux données de votre canal&nbsp;?";
+App::$strings["Allow"] = "Permettre";
App::$strings["Privacy group created."] = "Groupe de contacts créé.";
App::$strings["Could not create privacy group."] = "Impossible de créer le groupe de contacts.";
App::$strings["Privacy group not found."] = "Groupe de contacts introuvable.";
@@ -1200,11 +1305,11 @@ App::$strings["Sexual Preference"] = "Préférences sexuelle";
App::$strings["Homepage"] = "Site Internet";
App::$strings["Interests"] = "Centres d'intérêt";
App::$strings["Profile updated."] = "Profil mis à jour.";
-App::$strings["Hide your connections list from viewers of this profile"] = "Cacher la liste des relations pour les visiteurs de votre profile";
+App::$strings["Hide your connections list from viewers of this profile"] = "Cacher la liste de vos contacts pour les visiteurs de votre profile";
App::$strings["Edit Profile Details"] = "Modifier les détails du profil";
App::$strings["View this profile"] = "Voir ce profil";
App::$strings["Edit visibility"] = "Changer la visibilité";
-App::$strings["Profile Tools"] = "Ouitls pour votre profile";
+App::$strings["Profile Tools"] = "Outils pour votre profil";
App::$strings["Change cover photo"] = "Modifier votre bannière";
App::$strings["Change profile photo"] = "Changer la photo du profil";
App::$strings["Create a new profile using these settings"] = "Créer un nouveau profil avec ces paramètres";
@@ -1212,14 +1317,14 @@ App::$strings["Clone this profile"] = "Cloner ce profil";
App::$strings["Delete this profile"] = "Supprimer ce profil";
App::$strings["Add profile things"] = "Ajouter des éléments de profil";
App::$strings["Personal"] = "Me concernant";
-App::$strings["Relation"] = "Contacts";
+App::$strings["Relationship"] = "Relation";
App::$strings["Miscellaneous"] = "Divers";
App::$strings["Import profile from file"] = "Importer le profil à partir d'un fichier";
App::$strings["Export profile to file"] = "Exporter le profil vers un fichier.";
App::$strings["Your gender"] = "Votre genre";
App::$strings["Marital status"] = "Etat civil";
App::$strings["Sexual preference"] = "préférence sexuelle";
-App::$strings["Profile name"] = "Nom du profile";
+App::$strings["Profile name"] = "Nom du profil";
App::$strings["This is your default profile."] = "Ceci est votre profil par défaut.";
App::$strings["Your full name"] = "Votre nom complet";
App::$strings["Title/Description"] = "Titre/description";
@@ -1246,9 +1351,24 @@ App::$strings["Love/Romance"] = "Amour/Relation amoureuse";
App::$strings["School/Education"] = "Niveau d'étude";
App::$strings["Contact information and social networks"] = "Coordonnées et autres réseaux sociaux";
App::$strings["My other channels"] = "Mes autres canaux";
-App::$strings["Communications"] = "";
+App::$strings["Communications"] = "Communications";
App::$strings["Profile Image"] = "Image du profil";
App::$strings["Edit Profiles"] = "Modifier mes profils";
+App::$strings["This page is available only to site members"] = "Cette page n'est disponible que pour les membres du site.";
+App::$strings["Welcome"] = "Bienvenue";
+App::$strings["What would you like to do?"] = "Qu'est-ce que vous aimeriez faire ?";
+App::$strings["Please bookmark this page if you would like to return to it in the future"] = "Veuillez ajouter cette page à vos favoris si vous souhaitez y revenir à l'avenir.";
+App::$strings["Upload a profile photo"] = "Téléverser une photo de profil";
+App::$strings["Upload a cover photo"] = "Téléverser une photo de couverture";
+App::$strings["Edit your default profile"] = "Modifier votre profil par défaut";
+App::$strings["View friend suggestions"] = "Voir les suggestions d'amis";
+App::$strings["View the channel directory"] = "Voir l'annuaire des canaux";
+App::$strings["View/edit your channel settings"] = "Afficher/modifier les paramètres de votre canal";
+App::$strings["View the site or project documentation"] = "Consulter la documentation du site ou du projet";
+App::$strings["Visit your channel homepage"] = "Visitez la page d'accueil de votre canal";
+App::$strings["View your connections and/or add somebody whose address you already know"] = "Affichez vos connexions et/ou ajoutez quelqu'un dont vous connaissez déjà l'adresse.";
+App::$strings["View your personal stream (this may be empty until you add some connections)"] = "Visualiser votre flux personnel (ce qui peut être vide jusqu'à ce que vous ajoutiez des connexions)";
+App::$strings["View the public stream. Warning: this content is not moderated"] = "Voir le flux public. Attention : ce contenu n'est pas modéré.";
App::$strings["Page link"] = "Lien";
App::$strings["Edit Webpage"] = "Modifier la page web";
App::$strings["Create a new channel"] = "Créer un nouveau canal";
@@ -1260,6 +1380,8 @@ App::$strings["Make Default"] = "Définir comme défaut";
App::$strings["%d new messages"] = "%d nouveaux messages";
App::$strings["%d new introductions"] = "%d nouvelles relations";
App::$strings["Delegated Channel"] = "Canaux délégués";
+App::$strings["Cards"] = "Cartes";
+App::$strings["Add Card"] = "Ajouter carte";
App::$strings["This directory server requires an access token"] = "Ce serveur d'annuaire requiert un jeton d'accès";
App::$strings["About this site"] = "À propos de ce site";
App::$strings["Site Name"] = "Nom du site";
@@ -1289,6 +1411,13 @@ App::$strings["Error opening zip file"] = "Erreur lors de l'ouverture du fichier
App::$strings["Invalid folder path."] = "Chemin du dossier invalide";
App::$strings["No webpage elements detected."] = "Aucun élément de page Web détecté.";
App::$strings["Import complete."] = "Importation terminée";
+App::$strings["Channel name changes are not allowed within 48 hours of changing the account password."] = "Les changements de nom de canal ne sont pas autorisés dans les 48 heures suivant la modification du mot de passe du compte.";
+App::$strings["Reserved nickname. Please choose another."] = "Surnom réservé. Merci d'en choisir un autre.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Le surnom contient des caractères interdits ou est déjà pris sur ce site.";
+App::$strings["Change channel nickname/address"] = "Changer le pseudo/adresse du canal";
+App::$strings["Any/all connections on other networks will be lost!"] = "Toutes les connexions sur d'autres réseaux seront perdues !";
+App::$strings["New channel address"] = "Nouvelle adresse de canal";
+App::$strings["Rename Channel"] = "Renommer canal";
App::$strings["Item is not editable"] = "Elément non modifiable";
App::$strings["Edit post"] = "Modifier la publication";
App::$strings["Invalid message"] = "Message non valide";
@@ -1299,7 +1428,7 @@ App::$strings["posted"] = "publié";
App::$strings["accepted for delivery"] = "accepté pour la distribution";
App::$strings["updated"] = "mis à jour";
App::$strings["update ignored"] = "mise à jour ignorée";
-App::$strings["permission denied"] = "permission refusée";
+App::$strings["permission denied"] = "accès refusé";
App::$strings["recipient not found"] = "destinataire introuvable";
App::$strings["mail recalled"] = "courriel rappelé";
App::$strings["duplicate mail received"] = "courriel reçu en double";
@@ -1342,6 +1471,7 @@ App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s ne participe pas
App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s participe peut-être à %3\$s de %2\$s";
App::$strings["Action completed."] = "Action terminée.";
App::$strings["Thank you."] = "Merci.";
+App::$strings["No default suggestions were found."] = "Aucune suggestion par défaut n'a été trouvée.";
App::$strings["%d rating"] = array(
0 => "%d évaluation",
1 => "%d évaluations",
@@ -1358,7 +1488,7 @@ App::$strings["Connect"] = "Ajouter/Suivre";
App::$strings["Public Forum:"] = "Forum public&nbsp;:";
App::$strings["Keywords: "] = "Mots-clefs&nbsp;:";
App::$strings["Don't suggest"] = "Ne pas suggérer";
-App::$strings["Common connections:"] = "Contacts en commun&nbsp;:";
+App::$strings["Common connections (estimated):"] = "Connexions communes (estimation) :";
App::$strings["Global Directory"] = "Annuaire global";
App::$strings["Local Directory"] = "Annuaire local";
App::$strings["Finding:"] = "Recherche&nbsp;:";
@@ -1382,6 +1512,7 @@ App::$strings["Unable to communicate with requested channel."] = "Impossible de
App::$strings["Cannot verify requested channel."] = "Impossible de vérifier le canal demandé.";
App::$strings["Selected channel has private message restrictions. Send failed."] = "Le canal choisi a des restrictions quant aux messages privés. L'envoi a échoué.";
App::$strings["Messages"] = "Messages";
+App::$strings["message"] = "message";
App::$strings["Message recalled."] = "Message rappelé.";
App::$strings["Conversation removed."] = "Conversation supprimée.";
App::$strings["Expires YYYY-MM-DD HH:MM"] = "Expire le YYYY-MM-DD à HH:MM";
@@ -1418,13 +1549,14 @@ App::$strings["Select a bookmark folder"] = "Choisir un dossier de favoris";
App::$strings["Save Bookmark"] = "Enregistrer le favori";
App::$strings["URL of bookmark"] = "URL du favori";
App::$strings["Or enter new bookmark folder name"] = "Ou entrez un nouveau nom de dossier de favoris";
-App::$strings["Enter a folder name"] = "";
-App::$strings["or select an existing folder (doubleclick)"] = "";
+App::$strings["Enter a folder name"] = "Saisissez un nom de dossier";
+App::$strings["or select an existing folder (doubleclick)"] = "ou sélectionnez un dossier existant (double-clic)";
App::$strings["Save to Folder"] = "Enregistrer dans le dossier";
App::$strings["Fetching URL returns error: %1\$s"] = "Récupération d'URL échouée&nbsp;: %1\$s";
App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Nombre d'inscriptions quotidiennes dépassé. Merci d'essayer à nouveau demain.";
App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Merci d'indiquer votre adhésion aux conditions de service. L'inscription a échoué.";
App::$strings["Passwords do not match."] = "Les mots de passe ne concordent pas.";
+App::$strings["Registration successful. Continue to create your first channel..."] = "Enregistrement réussi. Continuez à créer votre premier canal ...";
App::$strings["Registration successful. Please check your email for validation instructions."] = "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte.";
App::$strings["Your registration is pending approval by the site owner."] = "Votre inscription est en attente d'approbation par l'administrateur.";
App::$strings["Your registration can not be processed."] = "Votre inscription ne peut être traîtée.";
@@ -1433,7 +1565,7 @@ App::$strings["Registration on this hub is by approval only."] = "La création d
App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">S'enregistrer sur un autre site du réseau.</a>";
App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Ce site a dépassé le nombre de création de comptes autorisé chaque jour. Merci d'essayer à nouveau demain.";
App::$strings["I accept the %s for this website"] = "J'accepte les %s de ce site";
-App::$strings["I am over 13 years of age and accept the %s for this website"] = "J'ai plus de 13 ans et j'accepte les %s de ce site";
+App::$strings["I am over %s years of age and accept the %s for this website"] = "J'ai plus de %s ans et j'accepte les %s de ce site.";
App::$strings["Your email address"] = "Votre adresse de courriel";
App::$strings["Choose a password"] = "Choisissez un mot de passe";
App::$strings["Please re-enter your password"] = "Merci de saisir à nouveau votre mot de passe";
@@ -1442,7 +1574,7 @@ App::$strings["no"] = "non";
App::$strings["yes"] = "oui";
App::$strings["Membership on this site is by invitation only."] = "L'inscription à ce site se fait uniquement sur invitation.";
App::$strings["Register"] = "S'inscrire";
-App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Ce site peut demander une validation de votre email. Si vous revenez sur le formulaire de connexion, vérifiez vos emails et suivez les instructions. Regardez aussi les spams.";
+App::$strings["This site requires email verification. After completing this form, please check your email for further instructions."] = "Ce site nécessite une vérification par courriel. Après avoir rempli ce formulaire, veuillez consulter votre courriel pour obtenir des instructions supplémentaires.";
App::$strings["Cover Photos"] = "Photos de couverture";
App::$strings["female"] = "femme";
App::$strings["%1\$s updated her %2\$s"] = "%1\$s a mis à jour son %2\$s";
@@ -1450,7 +1582,7 @@ App::$strings["male"] = "homme";
App::$strings["%1\$s updated his %2\$s"] = "%1\$s a mis à jour son %2\$s";
App::$strings["%1\$s updated their %2\$s"] = "%1\$s a mis a jour sa %2\$s";
App::$strings["cover photo"] = "Photo principale";
-App::$strings["Upload Cover Photo"] = "Téléverser une photo de couverture";
+App::$strings["Change Cover Photo"] = "Changer la photo de couverture";
App::$strings["Documentation Search"] = "Chercher dans la documentation";
App::$strings["About"] = "À propos";
App::$strings["Administrators"] = "Administrateurs";
@@ -1458,6 +1590,8 @@ App::$strings["Developers"] = "Développeurs";
App::$strings["Tutorials"] = "Tutoriels";
App::$strings["\$Projectname Documentation"] = "Documentation \$Projectname";
App::$strings["Contents"] = "Contenus";
+App::$strings["Article"] = "Article";
+App::$strings["Item has been removed."] = "L'élément a été supprimé.";
App::$strings["Tag removed"] = "Étiquette retirée";
App::$strings["Remove Item Tag"] = "Retirer une étiquette à l'élément";
App::$strings["Select a tag to remove: "] = "Étiquette à retirer&nbsp;:";
@@ -1470,33 +1604,31 @@ App::$strings["Privacy group: "] = "Groupe de contacts&nbsp;:";
App::$strings["Invalid connection."] = "Contact non valide.";
App::$strings["Invalid channel."] = "Canal invalide.";
App::$strings["network"] = "réseau";
-App::$strings["RSS"] = "RSS";
App::$strings["\$Projectname"] = "\$Projectname";
App::$strings["Welcome to %s"] = "Bienvenue sur %s";
-App::$strings["Permission Denied."] = "Permission refusée.";
+App::$strings["Permission Denied."] = "Accès refusé.";
App::$strings["File not found."] = "Fichier introuvable.";
-App::$strings["Edit file permissions"] = "Modifier les autorisations d'accès au fichier";
-App::$strings["Set/edit permissions"] = "Définir/modifier les autorisations";
+App::$strings["Edit file permissions"] = "Modifier les droits d'accès au fichier";
+App::$strings["Set/edit permissions"] = "Définir/modifier les droits d'accès";
App::$strings["Include all files and sub folders"] = "Inclure tous fichiers et sous-répertoires";
App::$strings["Return to file list"] = "Retourner à la liste des fichiers";
App::$strings["Copy/paste this code to attach file to a post"] = "Copiez/collez ce code pour joindre le fichier à une publication";
App::$strings["Copy/paste this URL to link file from a web page"] = "Copiez/collez cette URL pour pointer vers ce fichier depuis une page web";
App::$strings["Share this file"] = "Partager ce fichier";
App::$strings["Show URL to this file"] = "Montrer l'URL de ce fichier";
-App::$strings["Notify your contacts about this file"] = "Notifier vos contacts à propos de ce fichier";
+App::$strings["Show in your contacts shared folder"] = "Faire apparaître dans le dossier partagé de vos contacts";
App::$strings["No channel."] = "Pas de canal.";
-App::$strings["Common connections"] = "Contacts en commun";
-App::$strings["No connections in common."] = "Pas de contacts en commun.";
+App::$strings["No connections in common."] = "Pas de contact en commun.";
+App::$strings["View Common Connections"] = "Voir les connexions communes";
+App::$strings["Email verification resent"] = "Vérification de courriel renvoyé";
+App::$strings["Unable to resend email verification message."] = "Impossible de renvoyer le courriel de vérification.";
App::$strings["No connections."] = "Aucun contact.";
App::$strings["Visit %s's profile [%s]"] = "Visiter le profil de %s [%s]";
App::$strings["View Connections"] = "Voir les contacts";
-App::$strings["# Accounts"] = "# Comptes";
-App::$strings["# blocked accounts"] = "# comptes bloqués";
-App::$strings["# expired accounts"] = "# comptes expirés";
-App::$strings["# expiring accounts"] = "# comptes expirant";
-App::$strings["# Channels"] = "# Canaux";
-App::$strings["# primary"] = "# primaire";
-App::$strings["# clones"] = "# clones";
+App::$strings["Blocked accounts"] = "Comptes bloqués";
+App::$strings["Expired accounts"] = "Comptes expirés";
+App::$strings["Expiring accounts"] = "Comptes arrivant à expiration";
+App::$strings["Clones"] = "Clones";
App::$strings["Message queues"] = "File des messages";
App::$strings["Your software should be updated"] = "Votre logiciel doit d'être mis à jour";
App::$strings["Summary"] = "Résumé";
@@ -1512,6 +1644,7 @@ App::$strings["Website:"] = "Site web&nbsp;:";
App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal distant [%s] (encore inconnu sur ce site)";
App::$strings["Rating (this information is public)"] = "Evaluation (cette information est publique)";
App::$strings["Optionally explain your rating (this information is public)"] = "Explication facultative de votre évaluation (cette information est publique)";
+App::$strings["Edit Card"] = "Modifier la carte";
App::$strings["No valid account found."] = "Aucun compte valide trouvé.";
App::$strings["Password reset request issued. Check your email."] = "Demande de réinitialisation du mot de passe envoyée. Vérifiez vos courriels.";
App::$strings["Site Member (%s)"] = "Membre du site (%s)";
@@ -1527,8 +1660,13 @@ App::$strings["Your password has changed at %s"] = "Votre mot de passe de %s a Ã
App::$strings["Forgot your Password?"] = "Mot de passe oublié&nbsp;?";
App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Saisissez votre adresse de courriel, et validez, pour réinitialiser votre mot de passe. Vérifiez ensuite votre boîte aux lettres pour la suite des instructions.";
App::$strings["Email Address"] = "Adresse de courriel";
-App::$strings["Reset"] = "Réinitialiser";
-App::$strings["Mark all system notifications seen"] = "Marquer toutes les notifications système comme vues";
+App::$strings["Mark all seen"] = "Tout marquer comme vu";
+App::$strings["0. Beginner/Basic"] = "0. Débutant/Simple";
+App::$strings["1. Novice - not skilled but willing to learn"] = "1. Novice - pas expérimenté, mais prêt à apprendre";
+App::$strings["2. Intermediate - somewhat comfortable"] = "2. Intermédiaire - assez à l'aise";
+App::$strings["3. Advanced - very comfortable"] = "3. Avancé - très à l'aise";
+App::$strings["4. Expert - I can write computer code"] = "4. Expert - Je sais programmer";
+App::$strings["5. Wizard - I probably know more than you do"] = "5. Crack - J'en sais probablement plus que vous";
App::$strings["Site Admin"] = "Administrateur";
App::$strings["Report Bug"] = "Reporter des bogues";
App::$strings["View Bookmarks"] = "Voir les marques-pages";
@@ -1537,7 +1675,7 @@ App::$strings["Firefox Share"] = "Partager via Firefox";
App::$strings["Remote Diagnostics"] = "Diagnostiques à distance";
App::$strings["Suggest Channels"] = "Suggérer des canaux";
App::$strings["Login"] = "Connexion";
-App::$strings["Grid"] = "Réseau";
+App::$strings["Activity"] = "Activité";
App::$strings["Wiki"] = "Wiki";
App::$strings["Channel Home"] = "Mon canal";
App::$strings["Events"] = "Événements";
@@ -1554,8 +1692,10 @@ App::$strings["Post"] = "Envoyer";
App::$strings["Profile Photo"] = "Photo du Profil";
App::$strings["Purchase"] = "Acheter";
App::$strings["Undelete"] = "Restaurer";
-App::$strings["Add to app-tray"] = "";
-App::$strings["Remove from app-tray"] = "";
+App::$strings["Add to app-tray"] = "Ajouter au menu des applications";
+App::$strings["Remove from app-tray"] = "Enlever du menu des applications";
+App::$strings["Pin to navbar"] = "Épingler à la barre de navigation";
+App::$strings["Unpin from navbar"] = "Détacher de la barre de navigation";
App::$strings["__ctx:permcat__ default"] = "défaut";
App::$strings["__ctx:permcat__ follower"] = "abonné";
App::$strings["__ctx:permcat__ contributor"] = "contributeur";
@@ -1563,7 +1703,7 @@ App::$strings["__ctx:permcat__ publisher"] = "rédacteur";
App::$strings["(No Title)"] = "(Pas de titre)";
App::$strings["Wiki page create failed."] = "Échec de création de la page wiki.";
App::$strings["Wiki not found."] = "Wiki introuvable.";
-App::$strings["Destination name already exists"] = "Le nom de destination est déjà pris";
+App::$strings["Destination name already exists"] = "Ce nom de destination est déjà pris";
App::$strings["Page not found"] = "Page introuvable";
App::$strings["Error reading page content"] = "Erreur de lecture du contenu de la page";
App::$strings["Error reading wiki"] = "Erreur de lecture du wiki";
@@ -1580,13 +1720,13 @@ App::$strings["Only me"] = "Seulement moi";
App::$strings["Public"] = "Public";
App::$strings["Anybody in the \$Projectname network"] = "N'importe qui dans le réseau de \$Projectname";
App::$strings["Any account on %s"] = "N'importe quel compte sur %s";
-App::$strings["Any of my connections"] = "N'importe laquelle de mes connexions";
-App::$strings["Only connections I specifically allow"] = "Uniquement les connexions que j'ai expréssément autorisées";
+App::$strings["Any of my connections"] = "N'importe lequel de mes contacts";
+App::$strings["Only connections I specifically allow"] = "Uniquement les contacts que j'ai expressément autorisés";
App::$strings["Anybody authenticated (could include visitors from other networks)"] = "N'importe qui d'authentifié (cela peut inclure des visiteurs d'autres réseaux)";
-App::$strings["Any connections including those who haven't yet been approved"] = "N'importe quelle connexions, y compris celles qui n'ont pas encore été approuvées";
+App::$strings["Any connections including those who haven't yet been approved"] = "N'importe quel contact, y compris ceux qui n'ont pas encore été validés";
App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Ceci est votre réglage par défaut de l'audience de vos publications sur votre canal normal.";
App::$strings["This is your default setting for who can view your default channel profile"] = "Ceci est votre réglage par défaut à propos de qui peut voir votre canal de profil par défaut.";
-App::$strings["This is your default setting for who can view your connections"] = "Ceci est votre réglage par défaut à propos de qui peut voir vos relations.";
+App::$strings["This is your default setting for who can view your connections"] = "Ceci est votre réglage par défaut à propos de qui peut voir vos contacts.";
App::$strings["This is your default setting for who can view your file storage and photos"] = "Ceci est votre réglage par défaut à propos de qui peut voir vos fichiers ou photos stocké(e)s";
App::$strings["This is your default setting for the audience of your webpages"] = "Ceci est votre réglage par défaut de l'audience de vos pages web.";
App::$strings["Missing room name"] = "Il manque le nom du salon";
@@ -1598,47 +1738,58 @@ App::$strings["\$Projectname Notification"] = "Notification \$Projectname";
App::$strings["\$projectname"] = "\$projectname";
App::$strings["Thank You,"] = "Merci,";
App::$strings["%s Administrator"] = "l'administrateur de %s";
+App::$strings["This email was sent by %1\$s at %2\$s."] = "Cet courriel a été envoyé par %1\$s à %2\$s.";
+App::$strings["To stop receiving these messages, please adjust your Notification Settings at %s"] = "Pour ne plus recevoir ces messages, veuillez ajuster vos paramètres de notification à %s";
+App::$strings["To stop receiving these messages, please adjust your %s."] = "Pour ne plus recevoir ces messages, veuillez ajuster votre %s.";
App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Notify] Nouveau mail reçu sur %s";
-App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, vous avez reçu un message privé sur %3\$s, de la part de %2\$s.";
+App::$strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s vous a envoyé un nouveau message privé à %2\$s.";
App::$strings["%1\$s sent you %2\$s."] = "%1\$s vous a envoyé %2\$s.";
App::$strings["a private message"] = "un message privé";
App::$strings["Please visit %s to view and/or reply to your private messages."] = "Merci de visiter %s pour voir et/ou répondre à vos messages privés.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s a commenté sur [zrl=%3\$s]%5\$s de %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s a commenté [zrl=%3\$s]votre %4\$s[/zrl]";
+App::$strings["commented on"] = "commenté";
+App::$strings["liked"] = "aimé";
+App::$strings["disliked"] = "pas aimé";
+App::$strings["%1\$s %2\$s [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]a %4\$s[/zrl]";
+App::$strings["%1\$s %2\$s [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]%4\$s de %5\$s[/zrl]";
+App::$strings["%1\$s %2\$s [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]votre %4\$s[/zrl]";
+App::$strings["[\$Projectname:Notify] Moderated Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notification] Commentaire modéré pour la conversation n°%1\$d par %2\$s";
App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Commentaire effectué sur la conversation #%1\$d par %2\$s";
-App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s a commenté un élément de conversation que vous suivez.";
+App::$strings["%1\$s commented on an item/conversation you have been following."] = "%1\$sa commenté un élément ou une conversation que vous suivez.";
App::$strings["Please visit %s to view and/or reply to the conversation."] = "Merci de visiter %s pour voir et/ou répondre sur cette conversation.";
-App::$strings["%1\$s, %2\$s liked [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s aiment [zrl=%3\$s]votre %4\$s[/zrl]";
+App::$strings["Please visit %s to approve or reject this comment."] = "Merci de visiter %spour valider ou rejeter ce commentaire.";
+App::$strings["%1\$s liked [zrl=%2\$s]your %3\$s[/zrl]"] = "%1\$s aime [zrl=%2\$s]votre %3\$s[/zrl]";
App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Aime reçu à la convesation #%1\$d par %2\$s";
-App::$strings["%1\$s, %2\$s liked an item/conversation you created."] = "%1\$s, %2\$s a aimé un élément ou une conversation que vous avez créée.";
+App::$strings["%1\$s liked an item/conversation you created."] = "%1\$sa commenté un élément ou une conversation que vous avez créée ";
App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Notify] %s a publié sur le mur de votre profil";
-App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s a publié sur votre profil à %3\$s";
-App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s a publié sur [zrl=%3\$s]votre profil[/zrl]";
+App::$strings["%1\$s posted to your profile wall at %2\$s"] = "%1\$s a posté sur le mur de votre profil à %2\$s";
+App::$strings["%1\$s posted to [zrl=%2\$s]your wall[/zrl]"] = "%1\$s envoyé à [zrl=%2\$s]votre mur[/zrl]";
App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Notify] %s vous a étiquetté";
-App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, vous avez été étiqueté sur %3\$s par %2\$s";
-App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]vous a étiqueté[/zrl].";
+App::$strings["%1\$s tagged you at %2\$s"] = "%1\$s vous a étiqueté à %2\$s";
+App::$strings["%1\$s [zrl=%2\$s]tagged you[/zrl]."] = "%1\$s [zrl=%2\$s]vous a étiqueté[/zrl].";
App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Notify] %1\$s vous a poké";
-App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s vous a tapoté sur %3\$s";
-App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]vous a tapoté[/zrl].";
+App::$strings["%1\$s poked you at %2\$s"] = "%1\$s vous a tapoté à %2\$s";
+App::$strings["%1\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s [zrl=%2\$s]vous a tapoté[/zrl].";
App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Notify] %s a étiquetté votre publication";
-App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s a étiqueté votre publication sur %3\$s";
-App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s a étiqueté [zrl=%3\$s]votre publication[/zrl]";
+App::$strings["%1\$s tagged your post at %2\$s"] = "%1\$s a étiqueté votre message à %2\$s";
+App::$strings["%1\$s tagged [zrl=%2\$s]your post[/zrl]"] = "%1\$s a étiqueté [zrl=%2\$s]votre message[/zrl]";
App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Notify] Demande de relation reçue";
-App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une demande de contact de '%2\$s' sur %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, vous avez reçu [zrl=%2\$s]une demande de contact[/zrl] de %3\$s.";
+App::$strings["You've received an new connection request from '%1\$s' at %2\$s"] = "Vous avez reçu une nouvelle demande de connexion de la part de '%1\$s' à %2\$s";
+App::$strings["You've received [zrl=%1\$s]a new connection request[/zrl] from %2\$s."] = "Vous avez reçu [zrl=%1\$s]une nouvelle demande de connexion[/zrl] de la part de %2\$s.";
App::$strings["You may visit their profile at %s"] = "Vous pouvez visiter leur profil sur %s";
-App::$strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s avant d'approuver (ou non) cette demande de contact.";
+App::$strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s pour valider (ou non) cette demande de contact.";
App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Notify] Suggestion d'amitié reçue";
-App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une suggestion d'ami(e) de '%2\$s' à %3\$s";
-App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, avez reçu %3\$s comme [zrl=%2\$s]une suggestion d'ami(e)[/zrl] de %4\$s.";
+App::$strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "Vous avez reçu une suggestion d'ami de la part de '%1\$s' à %2\$s";
+App::$strings["You've received [zrl=%1\$s]a friend suggestion[/zrl] for %2\$s from %3\$s."] = "Vous avez reçu [zrl=%1\$s]une suggestion d'ami[/zrl] pour %2\$s de %3\$s.";
App::$strings["Name:"] = "Nom&nbsp;:";
App::$strings["Photo:"] = "Photo&nbsp;:";
-App::$strings["Please visit %s to approve or reject the suggestion."] = "Merci de visiter %s pour donner suite (ou non) à cette suggestion.";
+App::$strings["Please visit %s to approve or reject the suggestion."] = "Merci de visiter %s pour valider ou rejeter cette suggestion.";
App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Notify]";
App::$strings["created a new post"] = "a publié un nouveau message";
App::$strings["commented on %s's post"] = "a commenté la publication de %s";
+App::$strings["edited a post dated %s"] = "a édité un post daté du %s";
+App::$strings["edited a comment dated %s"] = "a édité un commentaire daté du %s";
+App::$strings["Wiki updated successfully"] = "Wiki mis à jour avec succès";
App::$strings["Wiki files deleted successfully"] = "Fichiers du wiki supprimés avec succès";
App::$strings["Update Error at %s"] = "Erreur de mise à jour sur %s";
App::$strings["Update %s failed. See error logs."] = "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur.";
@@ -1680,7 +1831,7 @@ App::$strings["Vote"] = "Vote";
App::$strings["Voting Options"] = "Options de vote";
App::$strings["Save Bookmarks"] = "Enregistrer les favoris";
App::$strings["Add to Calendar"] = "Ajouter au Calendrier";
-App::$strings["Mark all seen"] = "Tout marquer comme vu";
+App::$strings["This is an unsaved preview"] = "Il s'agit d'une prévisualisation non sauvegardée.";
App::$strings["%s show all"] = "%s montre tout";
App::$strings["Bold"] = "Gras";
App::$strings["Italic"] = "Italique";
@@ -1688,8 +1839,12 @@ App::$strings["Underline"] = "Souligné";
App::$strings["Quote"] = "Citation";
App::$strings["Code"] = "Code";
App::$strings["Image"] = "Image";
+App::$strings["Attach File"] = "Joindre fichier";
App::$strings["Insert Link"] = "Insérer un lien";
App::$strings["Video"] = "Vidéo";
+App::$strings["Your full name (required)"] = "Votre nom complet (obligatoire)";
+App::$strings["Your email address (required)"] = "Votre adresse de courriel (obligatoire)";
+App::$strings["Your website URL (optional)"] = "L'adresse de votre site web (optionelle)";
App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authentification distante bloquée. Vous êtes connecté(e) sur ce site localement. Merci de vous déconnecter et réessayer.";
App::$strings["Welcome %s. Remote authentication successful."] = "Bienvenue %s. L'authentification distante a fonctionné.";
App::$strings["parent"] = "retour";
@@ -1701,20 +1856,41 @@ App::$strings["Schedule Inbox"] = "Calendrier - Messages entrants";
App::$strings["Schedule Outbox"] = "Calendrier - Messages sortants";
App::$strings["Total"] = "Total";
App::$strings["Shared"] = "Partagé";
+App::$strings["Add Files"] = "Ajouter des fichiers";
App::$strings["You are using %1\$s of your available file storage."] = "Vous utilisez %1\$s de votre espace de stockage.";
App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "Vous utilisez %1\$s sur %2\$s d'espace disponible. (%3\$s&#37;)";
App::$strings["WARNING:"] = "AVERTISSEMENT&nbsp;:";
-App::$strings["Please use DAV to upload large (video, audio) files.<br>See <a class=\"zrl\" href=\"help/member/member_guide#Cloud_Desktop_Clients\">Cloud Desktop Clients</a>"] = "";
App::$strings["Create new folder"] = "Nouveau dossier";
App::$strings["Upload file"] = "Téléverser un fichier";
App::$strings["Drop files here to immediately upload"] = "Mettez un fichier ici pour le télécharger immédiatement";
App::$strings["Forums"] = "Forums";
+App::$strings["Select Channel"] = "Sélectionner un canal";
+App::$strings["Read-write"] = "Lire et écrire";
+App::$strings["Read-only"] = "Lire uniquement";
+App::$strings["My Calendars"] = "Mes agendas";
+App::$strings["Shared Calendars"] = "Agendas partagés";
+App::$strings["Share this calendar"] = "Partager cet agenda";
+App::$strings["Calendar name and color"] = "Nom et couleur de l'agenda";
+App::$strings["Create new calendar"] = "Créer un nouvel agenda";
+App::$strings["Calendar Name"] = "Nom de l'agenda";
+App::$strings["Calendar Tools"] = "Outils pour les agendas";
+App::$strings["Import calendar"] = "Importer un agenda";
+App::$strings["Select a calendar to import to"] = "Sélectionner un agenda à importer dans";
+App::$strings["Addressbooks"] = "Carnet d'adresses";
+App::$strings["Addressbook name"] = "Nom du carnet d'adresses";
+App::$strings["Create new addressbook"] = "Créer un nouveau carnet d'adresses";
+App::$strings["Addressbook Name"] = "Nom du carnet d'adresses";
+App::$strings["Addressbook Tools"] = "Outils pour les carnets d'adresses";
+App::$strings["Import addressbook"] = "Importer un carnet d'adresses";
+App::$strings["Select an addressbook to import to"] = "Sélectionner un carnet d'adresses à importer dans";
App::$strings["Categories"] = "Catégories";
App::$strings["Everything"] = "Tout";
App::$strings["Events Tools"] = "Outils Evènements";
App::$strings["Export Calendar"] = "Exporter le calendrier";
App::$strings["Import Calendar"] = "Importer un calendrier";
App::$strings["Suggested Chatrooms"] = "Salons suggérés";
+App::$strings["HQ Control Panel"] = "Panneau de contrôle du QG";
+App::$strings["Create a new post"] = "Créer un nouveau post";
App::$strings["Private Mail Menu"] = "Menu des messages privés";
App::$strings["Combined View"] = "Vue combinée";
App::$strings["Inbox"] = "Boîte de réception";
@@ -1725,16 +1901,16 @@ App::$strings["Overview"] = "Aperçu";
App::$strings["Rating Tools"] = "Outils d'évaluation";
App::$strings["Rate Me"] = "M'évaluer";
App::$strings["View Ratings"] = "Voir mes évaluations";
-App::$strings["__ctx:widget__ Activity"] = "";
+App::$strings["__ctx:widget__ Activity"] = "Activité";
App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Vous avez %1$.0f sur %2$.0f contacts autorisés.";
App::$strings["Add New Connection"] = "Ajouter un nouveau contact";
App::$strings["Enter channel address"] = "Saisissez l'adresse du canal";
App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Exemples&nbsp;: pierre@exemple.com, https://exemple.com/sophie";
App::$strings["Wiki List"] = "Liste de wikis";
App::$strings["Archives"] = "Archives";
-App::$strings["Conversations"] = "Conversations";
App::$strings["Received Messages"] = "Messages reçus";
App::$strings["Sent Messages"] = "Messages envoyés";
+App::$strings["Conversations"] = "Conversations";
App::$strings["No messages."] = "Pas de message.";
App::$strings["Delete conversation"] = "Supprimer la conversation";
App::$strings["Chat Members"] = "Membres du salon de discussion";
@@ -1743,8 +1919,8 @@ App::$strings["Remove term"] = "Retirer le terme";
App::$strings["Saved Searches"] = "Recherches sauvegardées";
App::$strings["add"] = "ajouter";
App::$strings["Notes"] = "Notes";
-App::$strings["Wiki Pages"] = "Pages wiki";
App::$strings["Add new page"] = "Ajouter une nouvelle page";
+App::$strings["Wiki Pages"] = "Pages wiki";
App::$strings["Page name"] = "Nom de la page";
App::$strings["Refresh"] = "Actualiser";
App::$strings["Tasks"] = "Tâches";
@@ -1752,6 +1928,20 @@ App::$strings["Suggestions"] = "Suggestions";
App::$strings["See more..."] = "Voir plus...";
App::$strings["Saved Folders"] = "Dossiers sauvegardés";
App::$strings["Click to show more"] = "Cliquer pour voir plus";
+App::$strings["Tags"] = "Étiquettes";
+App::$strings["Profile Creation"] = "Création de profil";
+App::$strings["Upload profile photo"] = "Téléverser la photo du profil";
+App::$strings["Upload cover photo"] = "Téléverser la photo de couverture";
+App::$strings["Edit your profile"] = "Modifier votre profil";
+App::$strings["Find and Connect with others"] = "Trouver et connecter avec des autres personnes";
+App::$strings["View the directory"] = "Voir l'annuaire";
+App::$strings["Manage your connections"] = "Gérez vos connexions";
+App::$strings["Communicate"] = "Communiquer";
+App::$strings["View your channel homepage"] = "Voir la page d'accueil de votre canal";
+App::$strings["View your network stream"] = "Visualisez votre flux réseau";
+App::$strings["Documentation"] = "Documentation";
+App::$strings["View public stream"] = "Voir le flux public";
+App::$strings["New Member Links"] = "Liens pour les nouveaux membres";
App::$strings["Member registrations waiting for confirmation"] = "Inscriptions en attente d'approbation";
App::$strings["Inspect queue"] = "Analyser la file d'attente";
App::$strings["DB updates"] = "Mises à jour BDD";
@@ -1760,27 +1950,55 @@ App::$strings["Plugin Features"] = "Fonctionnalités des greffons";
App::$strings["Account settings"] = "Paramètres du compte";
App::$strings["Channel settings"] = "Paramètres du canal";
App::$strings["Additional features"] = "Fonctionnalités supplémentaires";
-App::$strings["Feature/Addon settings"] = "Paramètres des extensions/greffons";
+App::$strings["Addon settings"] = "Paramètres de greffon";
App::$strings["Display settings"] = "Paramètres d'affichage";
App::$strings["Manage locations"] = "Gérer les emplacements";
App::$strings["Export channel"] = "Exporter le canal";
-App::$strings["Connected apps"] = "Applications connectées";
-App::$strings["Permission Groups"] = "Groupes d'autorisation";
+App::$strings["OAuth1 apps"] = "OAuth1 applications";
+App::$strings["OAuth2 apps"] = "OAuth2 applications";
+App::$strings["Permission Groups"] = "Groupes d'accès";
App::$strings["Premium Channel Settings"] = "Paramètres de canal VIP";
App::$strings["Bookmarked Chatrooms"] = "Salons favoris";
+App::$strings["New Network Activity"] = "Nouvelle activité de réseau";
+App::$strings["New Network Activity Notifications"] = "Nouvelles notifications d'activité de réseau";
+App::$strings["View your network activity"] = "Visualiser l'activité de votre réseau";
+App::$strings["Mark all notifications read"] = "Marquer tous les notifications lus";
+App::$strings["Show new posts only"] = "Afficher uniquement les nouveaux posts";
+App::$strings["Filter by name"] = "Filtrer par nom";
+App::$strings["New Home Activity"] = "Nouvelle activité principale";
+App::$strings["New Home Activity Notifications"] = "Notifications de nouvelles activités principales";
+App::$strings["View your home activity"] = "Voir votre activité principale";
+App::$strings["Mark all notifications seen"] = "Marquer les notifications vues";
+App::$strings["New Mails"] = "Nouveaux courriels";
+App::$strings["New Mails Notifications"] = "Notifications de nouveaux courriels";
+App::$strings["View your private mails"] = "Consulter vos courriels privés";
+App::$strings["Mark all messages seen"] = "Marquer tous les messages vus";
+App::$strings["New Events"] = "Nouveaux événements";
+App::$strings["New Events Notifications"] = "Notifications de nouveaux événements";
+App::$strings["View events"] = "Voir les événements";
+App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus";
+App::$strings["New Connections Notifications"] = "Notifications de nouvelles connexions";
+App::$strings["View all connections"] = "Voir toutes les connexions";
+App::$strings["New Files"] = "Nouveaux fichiers";
+App::$strings["New Files Notifications"] = "Notifications de nouveaux fichiers";
+App::$strings["Notices"] = "Notifications";
+App::$strings["View all notices"] = "Voir tous les avis";
+App::$strings["Mark all notices seen"] = "Marquer tous les avis vus";
+App::$strings["New Registrations"] = "Nouvelles inscriptions";
+App::$strings["New Registrations Notifications"] = "Notifications de nouveaux inscriptions";
+App::$strings["Public Stream Notifications"] = "Notifications de flux publics";
+App::$strings["View the public stream"] = "Voir le flux public";
+App::$strings["Sorry, you have got no notifications at the moment"] = "Désolé, vous n'avez pas de notifications pour le moment.";
App::$strings["Source channel not found."] = "Source du canal introuvable.";
-App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Recherche %1\$s (%2\$s)";
-App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
App::$strings["Create an account to access services and applications"] = "Créer un compte pour accéder aux services et applications";
App::$strings["Logout"] = "Déconnexion";
App::$strings["Login/Email"] = "pseudo / email";
App::$strings["Password"] = "Mot de passe";
App::$strings["Remember me"] = "Se souvenir de moi";
App::$strings["Forgot your password?"] = "Mot de passe oublié&nbsp;?";
-App::$strings["toggle mobile"] = "(dés)activer mobile";
-App::$strings["[\$Projectname] Website SSL error for %s"] = "";
+App::$strings["[\$Projectname] Website SSL error for %s"] = "[\$Projectname] erreur SSL du site web pour %s";
App::$strings["Website SSL certificate is not valid. Please correct."] = "Le certificat SSL n'est pas valide. Corrigez le.";
-App::$strings["[\$Projectname] Cron tasks not running on %s"] = "";
+App::$strings["[\$Projectname] Cron tasks not running on %s"] = "[\$Projectname] Tâches Cron inactives sur %s";
App::$strings["Cron/Scheduled tasks not running."] = "Les taches planifiées ne tournent pas.";
App::$strings["never"] = "jamais";
App::$strings["Focus (Hubzilla default)"] = "Focus (par défaut pour Hubzilla)";
@@ -1789,17 +2007,17 @@ App::$strings["Narrow navbar"] = "Barre de navigation fine";
App::$strings["Navigation bar background color"] = "Couleur de fond de la barre de navigation";
App::$strings["Navigation bar icon color "] = "Couleur des icônes de la barre de navigation";
App::$strings["Navigation bar active icon color "] = "Couleur de l'icône active de la barre de navigation";
-App::$strings["Link color"] = "";
+App::$strings["Link color"] = "Couleur des liens";
App::$strings["Set font-color for banner"] = "Définir la couleur du texte de la bannière";
App::$strings["Set the background color"] = "Définir la couleur d'arrière-plan";
App::$strings["Set the background image"] = "Définir l'image d'arrière-plan";
App::$strings["Set the background color of items"] = "Définir la couleur de fond des contributions";
App::$strings["Set the background color of comments"] = "Couleur de fond des commentaires";
App::$strings["Set font-size for the entire application"] = "Définir la taille de police pour l'application entière";
-App::$strings["Examples: 87.5%, 14px"] = "";
+App::$strings["Examples: 1rem, 100%, 16px"] = "Exemples&nbsp;: 1rem, 100%, 16px";
App::$strings["Set font-color for posts and comments"] = "Définir la couleur de police pour les contributions et commentaires";
App::$strings["Set radius of corners"] = "Définir le rayon des arrondis";
-App::$strings["Example: 4px"] = "";
+App::$strings["Example: 4px"] = "Exemple&nbsp;: 4px";
App::$strings["Set shadow depth of photos"] = "Définir la profondeur de l'ombre des photos";
App::$strings["Set maximum width of content region in pixel"] = "Définir la largeur maximale de la zone des contenus";
App::$strings["Leave empty for default width"] = "Laissez vide pour avoir la largeur par défaut";
@@ -1832,62 +2050,16 @@ App::$strings["Reminder note"] = "Note de rappel";
App::$strings["Enter a note to be displayed when you are within the specified proximity..."] = "Saisissez une note à afficher quand vous serez à la distance indiquée...";
App::$strings["Add new rendezvous"] = "Ajouter un nouveau rendezvous";
App::$strings["Create a new rendezvous and share the access link with those you wish to invite to the group. Those who open the link become members of the rendezvous. They can view other member locations, add markers to the map, or share their own locations with the group."] = "Créez un nouveau rendez-vous et partagez le lien d'accès avec les gens que vous souhaitez inviter au groupe. Ceux qui ouvrent le lien deviennent membres du rendez-vous. Ils peuvent afficher les emplacements des autres membres, ajouter des marqueurs à la carte ou partager leurs propres emplacements avec le groupe.";
+App::$strings["You have no rendezvous. Press the button above to create a rendezvous!"] = "Vous n'avez pas de rendez-vous. Appuyez sur le bouton ci-dessus pour créer un rendez-vous !";
App::$strings["Some setting"] = "Un certain paramètre";
App::$strings["A setting"] = "Un paramètre";
App::$strings["Skeleton Settings"] = "Paramètres du squelette";
-App::$strings["GNU-Social Protocol Settings updated."] = "";
-App::$strings["Enable the GNU-Social protocol for this channel"] = "";
-App::$strings["GNU-Social Protocol Settings"] = "";
-App::$strings["Follow"] = "";
-App::$strings["%1\$s is now following %2\$s"] = "";
-App::$strings["INVALID EVENT DISMISSED!"] = "ÉVÉNEMENT INVALIDE REJETÉ!";
-App::$strings["Summary: "] = "Sommaire :";
-App::$strings["Date: "] = "Date :";
-App::$strings["Reason: "] = "Raison :";
-App::$strings["INVALID CARD DISMISSED!"] = "ÉVÉNEMENT INVALIDE REJETÉ!";
-App::$strings["Name: "] = "Nom :";
-App::$strings["You have to enable this plugin in Feature/Addon Settings > CalDAV/CardDAV Settings before you can use it."] = "Vous avez activé ce plugin dans Fonctionalités/Paramètres des extensions > CalDAV/CardDAV Paramètres avant que vous puissiez l'utiliser.";
-App::$strings["Example: YYYY-MM-DD HH:mm"] = "Exemple : YYYY-MM-DD HH:mm";
-App::$strings["End date and time"] = "Date et heure de fin";
-App::$strings["List month"] = "Liste mois";
-App::$strings["List week"] = "Liste semaine";
-App::$strings["List day"] = "Liste jour";
-App::$strings["More"] = "Plus";
-App::$strings["Less"] = "Moins";
-App::$strings["Select calendar"] = "Sélectionner un calendrier";
-App::$strings["Delete all"] = "Tout supprimer";
-App::$strings["Sorry! Editing of recurrent events is not yet implemented."] = "Désolé ! L'édition d'événements récurrents n'est pas encore implémenté.";
-App::$strings["Errors encountered creating database table: "] = "Des erreurs se sont produites lors de la création de la table de la base de données :";
-App::$strings["Default Calendar"] = "Agenda par défaut";
-App::$strings["Default Addressbook"] = "Carnet d'adresses par défaut";
-App::$strings["CalDAV/CardDAV Settings saved."] = "Les paramètres CalDAV/CardDAV ont été sauvegardés.";
-App::$strings["Enable CalDAV/CardDAV Server for this channel"] = "Activer le serveur CalDAV/CardDAV pour ce canal";
-App::$strings["Your CalDAV resources are located at %s "] = "Vos ressources CalDAV sont situées à %s";
-App::$strings["Your CardDAV resources are located at %s "] = "Vos ressources CardDAV sont situées à %s";
-App::$strings["CalDAV/CardDAV Settings"] = "Paramètres CalDAV/CardDAV";
-App::$strings["Home, Voice"] = "Domicile, Voix";
-App::$strings["Home, Fax"] = "Domicile, Fax";
-App::$strings["Work, Voice"] = "Travail, Voix";
-App::$strings["Work, Fax"] = "Travail, Fax";
-App::$strings["Select Channel"] = "Sélectionner un canal";
-App::$strings["Read-write"] = "Lire et écrire";
-App::$strings["Read-only"] = "Lire uniquement";
-App::$strings["My Calendars"] = "Mes agendas";
-App::$strings["Shared Calendars"] = "Agendas partagés";
-App::$strings["Share this calendar"] = "Partager cet agenda";
-App::$strings["Calendar name and color"] = "Nom et couleur de l'agenda";
-App::$strings["Create new calendar"] = "Créer un nouvel agenda";
-App::$strings["Calendar Name"] = "Nom de l'agenda";
-App::$strings["Calendar Tools"] = "Outils pour les agendas";
-App::$strings["Import calendar"] = "Importer un agenda";
-App::$strings["Select a calendar to import to"] = "Sélectionner un agenda à importer dans";
-App::$strings["Addressbooks"] = "Carnet d'adresses";
-App::$strings["Addressbook name"] = "Nom du carnet d'adresses";
-App::$strings["Create new addressbook"] = "Créer un nouveau carnet d'adresses";
-App::$strings["Addressbook Name"] = "Nom du carnet d'adresses";
-App::$strings["Addressbook Tools"] = "Outils pour les carnets d'adresses";
-App::$strings["Import addressbook"] = "Importer un carnet d'adresses";
-App::$strings["Select an addressbook to import to"] = "Sélectionner un carnet d'adresses à importer dans";
+App::$strings["GNU-Social Protocol Settings updated."] = "Paramètres du protocol GNU-Social mis à jour.";
+App::$strings["The GNU-Social protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Le protocole GNU-Social ne gère pas les canaux localisés sur plusieurs serveurs. Vos contacts sur ce réseau peuvent donc être injoignables à partir des autres emplacements (clones) de ce canal.";
+App::$strings["Enable the GNU-Social protocol for this channel"] = "Activer le protocole GNU-Social pour ce canal";
+App::$strings["GNU-Social Protocol Settings"] = "Paramètres du protocol GNU-Social";
+App::$strings["Follow"] = "S'abonner";
+App::$strings["%1\$s is now following %2\$s"] = "%1\$s est maintenant abonné à %2\$s";
App::$strings["Planets Settings updated."] = "Paramètres Planets mis à jour.";
App::$strings["Enable Planets Plugin"] = "Activer le plugin Planets";
App::$strings["Planets Settings"] = "Paramètres Planets";
@@ -1912,6 +2084,7 @@ App::$strings["Preferred IDs Message"] = "IDs des messages préférés";
App::$strings["Message to display above preferred results."] = "Message à afficher au-dessus de la liste des résultats préférés.";
App::$strings["Uploaded by: "] = "Téléversé par :";
App::$strings["Drawn by: "] = "Dessiné par :";
+App::$strings["Use this image"] = "Utiliser cette image";
App::$strings["Or select from a free OpenClipart.org image:"] = "ou sélectionner une image libre d'OpenClipart.org :";
App::$strings["Search Term"] = "Terme de recherche";
App::$strings["Unknown error. Please try again later."] = "Erreur inconnue. Veuillez essayer à nouveau plus tard.";
@@ -1938,7 +2111,7 @@ App::$strings["Not Safe For Work Settings"] = "Paramètres NSFW (Not Safe For Wo
App::$strings["General Purpose Content Filter"] = "Filtre de contenu sujet général";
App::$strings["NSFW Settings saved."] = "Paramètres NSFW sauvegardés.";
App::$strings["Possible adult content"] = "Contenu pour adulte probable";
-App::$strings["%s - view"] = "";
+App::$strings["%s - view"] = "%s - vue";
App::$strings["Post to Insanejournal"] = "Publier sur InsaneJournal";
App::$strings["Enable InsaneJournal Post Plugin"] = "Activer le plugin de publication InsaneJournal";
App::$strings["InsaneJournal username"] = "Identifiant InsaneJournal";
@@ -1946,23 +2119,14 @@ App::$strings["InsaneJournal password"] = "Mot de passe InsaneJournal";
App::$strings["Post to InsaneJournal by default"] = "Par défaut, publier dans InsaneJournal";
App::$strings["InsaneJournal Post Settings"] = "Paramètres de publication de InsaneJournal";
App::$strings["Insane Journal Settings saved."] = "Les paramètres d'InsaneJournal ont été sauvegardés";
-App::$strings["Upload a file"] = "Téléverser un fichier";
-App::$strings["Drop files here to upload"] = "Glisser les fichiers ici pour téléversement";
-App::$strings["Failed"] = "Échec";
-App::$strings["No files were uploaded."] = "Aucun fichier n'a été téléversé.";
-App::$strings["Uploaded file is empty"] = "Le fichier téléversé est vide";
-App::$strings["Image exceeds size limit of "] = "L'image excède la taille limite de";
-App::$strings["File has an invalid extension, it should be one of "] = "L'extension du fichier est invalide, elle doit être l'une des suivantes";
-App::$strings["Upload was cancelled, or server error encountered"] = "Le téléversement a été annulé, ou le serveur a rencontré une erreur";
App::$strings["Post to Dreamwidth"] = "Publier sur Dreamwidth";
App::$strings["Enable Dreamwidth Post Plugin"] = "Activer le plugin de publication Dreamwidth";
App::$strings["Dreamwidth username"] = "Nom d'utilisateur Dreamwidth";
App::$strings["Dreamwidth password"] = "Mot de passe Dreamwidth";
App::$strings["Post to Dreamwidth by default"] = "Publication avec Dreamwidth par défaut";
App::$strings["Dreamwidth Post Settings"] = "Paramètres de publication Dreamwidth";
-App::$strings["Install Firefox Sharing Tools"] = "Installer Firefox Sharing Tools";
-App::$strings["Share content from Firefox to \$Projectname"] = "Partager du contenu depuis Firefox avec \$Projectname";
-App::$strings["Install Firefox Sharing Tools to this web browser"] = "Installer Firefox Sharing Tools sur ce navigateur";
+App::$strings["New registration"] = "Nouvelle inscription";
+App::$strings["Message sent to %s. New account registration: %s"] = "Message envoyé à %s. %sEnregistrement d'un nouveau compte : ";
App::$strings["Hubzilla Directory Stats"] = "Statistiques de l'annuaire Hubzilla";
App::$strings["Total Hubs"] = "Total de Hubs";
App::$strings["Hubzilla Hubs"] = "Hubs Hubzilla";
@@ -1977,10 +2141,6 @@ App::$strings["Average Age"] = "Âge moyen";
App::$strings["Known Chatrooms"] = "Salons de discussion connus";
App::$strings["Known Tags"] = "Étiquettes connues";
App::$strings["Please note Diaspora and Friendica statistics are merely those **this directory** is aware of, and not all those known in the network. This also applies to chatrooms,"] = "Veuillez noter que les statistiques de Diaspora et Friendica sont simplement celles dont **ce répertoire** est au courant, et pas toutes celles connues dans le réseau. Cela s'applique également aux salles de discussion,";
-App::$strings["Email notification hub"] = "Notification par mail du hub";
-App::$strings["Hostname"] = "Nom d'hôte";
-App::$strings["Mailhost Settings"] = "Paramètres mail de l'hôte";
-App::$strings["MAILHOST Settings saved."] = "Paramètres mail de l'hôte sauvegardés.";
App::$strings["Your Webbie:"] = "Vous êtes Webbie :";
App::$strings["Fontsize (px):"] = "Taille de la police (px) :";
App::$strings["Link:"] = "Lien :";
@@ -2075,17 +2235,16 @@ App::$strings["bonk"] = "baiser";
App::$strings["bonked"] = "baisé(e)";
App::$strings["declare undying love for"] = "Déclarer un amour éternel pour";
App::$strings["declared undying love for"] = "A déclaré l'amour éternel pour";
-App::$strings["Diaspora Protocol Settings updated."] = "";
-App::$strings["Enable the Diaspora protocol for this channel"] = "";
-App::$strings["Allow any Diaspora member to comment on your public posts"] = "";
-App::$strings["Prevent your hashtags from being redirected to other sites"] = "";
-App::$strings["Followed hashtags (comma separated, do not include the #)"] = "";
-App::$strings["Diaspora Protocol Settings"] = "";
-App::$strings["No username found in import file."] = "";
+App::$strings["Diaspora Protocol Settings updated."] = "Paramètres du protocole Diaspora mis à jour.";
+App::$strings["The Diaspora protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Le protocole Diaspora ne gère pas les canaux localisés sur plusieurs serveurs. Vos contacts sur ce réseau peuvent donc être injoignables à partir des autres emplacements (clones) de ce canal.";
+App::$strings["Enable the Diaspora protocol for this channel"] = "Activer le protocole Diaspora pour ce canal";
+App::$strings["Allow any Diaspora member to comment on your public posts"] = "Permettre à tous les membres de Diaspora de commenter vos publications publiques";
+App::$strings["Prevent your hashtags from being redirected to other sites"] = "Empêcher la redirection de vos mots-clés (hashtags) vers d'autres sites";
+App::$strings["Sign and forward posts and comments with no existing Diaspora signature"] = "Signer et faire suivre les publications et commentaires n'ayant aucune signature Diaspora";
+App::$strings["Followed hashtags (comma separated, do not include the #)"] = "Mots-clés suivis (séparer par une virgule, ne pas mettre le #)";
+App::$strings["Diaspora Protocol Settings"] = "Paramètres du protocole Diaspora";
+App::$strings["No username found in import file."] = "Pas de nom d'utilisateur dans le fichier d'import.";
App::$strings["Unable to create a unique channel address. Import failed."] = "Impossible de créer une adresse de canal unique. Echec de l'import.";
-App::$strings["Error retrieving wiki"] = "Erreur lors de la récupération du wiki";
-App::$strings["Error creating zip file export folder"] = "Erreur lors de la création du dossier d'exportation du fichier zip";
-App::$strings["Error downloading wiki: "] = "Erreur lors du téléchargement du wiki:";
App::$strings["Your account on %s will expire in a few days."] = "Votre compte sur %s expirera dans quelques jours.";
App::$strings["Your $Productname test account is about to expire."] = "Votre compte de test $NomDeProduit est sur le point d'expirer.";
App::$strings["Enable Rainbowtag"] = "Activer Rainbowtag";
@@ -2095,6 +2254,25 @@ App::$strings["Show Upload Limits"] = "Afficher les limites de débit ascendant
App::$strings["Hubzilla configured maximum size: "] = "Taille maximale configurée par Hubzilla:";
App::$strings["PHP upload_max_filesize: "] = "PHP upload_max_filesize: ";
App::$strings["PHP post_max_size (must be larger than upload_max_filesize): "] = "PHP post_max_size (must be larger than upload_max_filesize): ";
+App::$strings["generic profile image"] = "image de profil générique";
+App::$strings["random geometric pattern"] = "motif géométrique aléatoire";
+App::$strings["monster face"] = "visage de monstre";
+App::$strings["computer generated face"] = "visage généré par ordinateur";
+App::$strings["retro arcade style face"] = "visage de style arcade rétro";
+App::$strings["Hub default profile photo"] = "Photo du profil par défaut du concentrateur";
+App::$strings["Information"] = "Information";
+App::$strings["Libravatar addon is installed, too. Please disable Libravatar addon or this Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "Libravatar greffon est également installé. Veuillez désactiver le greffon Libravatar ou cet greffon Gravatar.<br>Le greffon Libravatar reviendra à Gravatar si rien n'a été trouvé à Libravatar.";
+App::$strings["Save Settings"] = "Sauvegarder les paramètres";
+App::$strings["Default avatar image"] = "Image avatar par défaut";
+App::$strings["Select default avatar image if none was found at Gravatar. See README"] = "Sélectionnez l'image d'avatar par défaut si aucune n'a été trouvée sur Gravatar. Voir README";
+App::$strings["Rating of images"] = "Evaluation des images";
+App::$strings["Select the appropriate avatar rating for your site. See README"] = "Sélectionnez l'évaluation d'avatar appropriée pour votre site. Voir README";
+App::$strings["Gravatar settings updated."] = "Paramètres Gravatar mis à jour.";
+App::$strings["Hubzilla File Storage Import"] = "Importation de fichiers de stockage Hubzilla";
+App::$strings["This will import all your cloud files from another server."] = "Ceci importera tous vos fichiers cloud à partir d'un autre serveur.";
+App::$strings["Hubzilla Server base URL"] = "URL de base du serveur Hubzilla";
+App::$strings["Since modified date yyyy-mm-dd"] = "Depuis la date modifiée aaaaa-mm-jjj";
+App::$strings["Until modified date yyyy-mm-dd"] = "Jusqu'à la date modifiée aaaaa-mm-jjj";
App::$strings["Recent Channel/Profile Viewers"] = "Visiteurs récents du canal/profil";
App::$strings["This plugin/addon has not been configured."] = "Cette extension n'a pas été configurée.";
App::$strings["Please visit the Visage settings on %s"] = "Veuillez visiter les paramètres de Visage sur %s";
@@ -2111,10 +2289,7 @@ App::$strings["Mail sent."] = "Mail envoyé.";
App::$strings["Sending of mail failed."] = "L'envoi du mail a échoué.";
App::$strings["Mail Test"] = "Test du mail";
App::$strings["Message subject"] = "Objet du message";
-App::$strings["Reconnecting %d connections"] = "";
-App::$strings["Diaspora Reconnect"] = "";
-App::$strings["Use this form to re-establish Diaspora connections which were initially made from a different hub."] = "";
-App::$strings["Reconnect"] = "";
+App::$strings["Use markdown for editing posts"] = "Utiliser Markdown pour l'édition des posts";
App::$strings["View Larger"] = "Afficher en plus grand";
App::$strings["Tile Server URL"] = "URL de la tuile du serveur";
App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Une liste de <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">serveurs de cartes publics</a>";
@@ -2124,7 +2299,6 @@ App::$strings["Default zoom"] = "Zoom par défaut";
App::$strings["The default zoom level. (1:world, 18:highest, also depends on tile server)"] = "Le niveau de zoom par défaut. (1: monde, 18: plus élevé, dépend également du serveur de tuiles)";
App::$strings["Include marker on map"] = "Inclure le marqueur sur la carte";
App::$strings["Include a marker on the map."] = "Inclure un marqueur sur la carte.";
-App::$strings["Save Settings"] = "Sauvegarder les paramètres";
App::$strings["text to include in all outgoing posts from this site"] = "Texte à inclure dans tous les messages sortants de ce site";
App::$strings["Post to Friendica"] = "Publier sur Friendica";
App::$strings["rtof Settings saved."] = "Paramètres rtof sauvegardés.";
@@ -2144,13 +2318,13 @@ App::$strings["Jabber BOSH host URL"] = "Adresse hôte pour Jabber BOSH";
App::$strings["Jabber password"] = "Mot de passe Jabber";
App::$strings["Encrypt Jabber password with Hubzilla password"] = "Chiffrer le mot de passe Jabber avec le mot de passe Hubzilla";
App::$strings["Hubzilla password"] = "Mot de passe Hubzilla";
-App::$strings["Approve subscription requests from Hubzilla contacts automatically"] = "Approuver automatiquement les demandes de connexion des contacts Hubzilla";
+App::$strings["Approve subscription requests from Hubzilla contacts automatically"] = "Valider automatiquement les demandes de souscription des contacts Hubzilla";
App::$strings["Purge internal list of jabber addresses of contacts"] = "Purger la liste interne des adresses jabber des contacts";
App::$strings["Configuration Help"] = "Aide pour la configuration";
App::$strings["Jappix Mini Settings"] = "Paramètres de Jappix mini";
App::$strings["Currently blocked"] = "Actuellement bloqué";
App::$strings["No channels currently blocked"] = "Aucun canal n'est actuellement bloqué";
-App::$strings["\"Superblock\" Settings"] = "Paramètres \"Superblock\"";
+App::$strings["Superblock Settings"] = "Paramètres de Superblock";
App::$strings["Block Completely"] = "Bloquer complètement";
App::$strings["superblock settings updated"] = "Les paramètres du superblock ont été mis à jour";
App::$strings["Federate"] = "Fédérer";
@@ -2176,6 +2350,13 @@ App::$strings["This will import all your Friendica photo albums to this Red chan
App::$strings["Friendica Server base URL"] = "URL de base du serveur Friendica";
App::$strings["Friendica Login Username"] = "Identifiant de connexion Friendica";
App::$strings["Friendica Login Password"] = "Mot de passe de connexion Friendica";
+App::$strings["ActivityPub"] = "ActivityPub";
+App::$strings["ActivityPub Protocol Settings updated."] = "Paramètres du protocole ActivityPub Protocol mise à jour.";
+App::$strings["The ActivityPub protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Le protocole ActivityPub ne prend pas en charge l'indépendance de localisation. Les connexions que vous établissez au sein de ce réseau peuvent être inaccessibles à partir d'autres emplacements de canaux.";
+App::$strings["Enable the ActivityPub protocol for this channel"] = "Activer le protocole ActivityPub pour ce canal.";
+App::$strings["Send multi-media HTML articles"] = "Envoyer des articles HTML multimédia";
+App::$strings["Not supported by some microblog services such as Mastodon"] = "Non pris en charge par certains services de microblog tels que Mastodon.";
+App::$strings["ActivityPub Protocol Settings"] = "Paramètres du protocole ActivityPub ";
App::$strings["Project Servers and Resources"] = "Serveurs et ressources du projet";
App::$strings["Project Creator and Tech Lead"] = "Créateur et Responsable Technique du projet";
App::$strings["Admin, developer, directorymin, support bloke"] = "Administrateur, développeur, responsable d'annuaire, équipe support";
@@ -2238,11 +2419,11 @@ App::$strings["GNU social application name"] = "Nom de l'application GNU-social"
App::$strings["To connect to your GNU social account click the button below to get a security code from GNU social which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to GNU social."] = "Pour vous connecter à votre compte GNU-social, cliquez sur le bouton ci-dessous pour obtenir un code de sécurité de GNU-social. Vous devez le copier dans la zone de saisie ci-dessous, puis soumettre le formulaire. Seuls vos messages publics seront visibles sur GNU-social.";
App::$strings["Log in with GNU social"] = "Vous connecter avec GNU-social";
App::$strings["Copy the security code from GNU social here"] = "Copier ici le code de sécurité de GNU-social.";
-App::$strings["Cancel Connection Process"] = "Annuler le processus de connexion";
+App::$strings["Cancel Connection Process"] = "Annuler le processus de prise de contact";
App::$strings["Current GNU social API is"] = "L'API GNU-social courante est";
App::$strings["Cancel GNU social Connection"] = "Annuler la connexion GNU-social";
App::$strings["Currently connected to: "] = "Actuellement connecté à :";
-App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "Remarque : en raison de vos paramètres de confidentialité (masquer les détails de votre profil aux visiteurs inconnus? ), le lien potentiellement inclus dans les annonces publiques relayées sur GNU-social amènera le visiteur à une page vierge informant le visiteur que l'accès à votre profil a été restreint.";
+App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Remarque</strong>&nbsp;: en raison de vos paramètres de confidentialité (<em>masquer les détails de votre profil aux visiteurs inconnus&nbsp;?</em>), le lien potentiellement inclus dans les annonces publiques relayées sur GNU-social amènera le visiteur à une page vierge informant le visiteur que l'accès à votre profil a été restreint.";
App::$strings["Allow posting to GNU social"] = "Autoriser la publication sur GNU-social";
App::$strings["If enabled your public postings can be posted to the associated GNU-social account"] = "Si cette option est activée, vos publications publiques peuvent être publiées sur le compte GNU-social associé.";
App::$strings["Post to GNU social by default"] = "Par défaut, publier sur GNU-social";
@@ -2258,8 +2439,7 @@ App::$strings["Invalid game."] = "Jeu invalide";
App::$strings["You are not a player in this game."] = "Vous n'êtes pas un joueur de ce jeu.";
App::$strings["You must be a local channel to create a game."] = "Vous devez être un canal local pour créer un jeu.";
App::$strings["You must select one opponent that is not yourself."] = "Vous devez sélectionner un adversaire qui ne soit pas vous-même.";
-App::$strings["Creating new game..."] = "en train de créer un nouveau jeu…";
-App::$strings["You must select white or black."] = "Vous devez sélectionner les blancs ou les noirs.";
+App::$strings["Random color chosen."] = "Couleur aléatoire choisie.";
App::$strings["Error creating new game."] = "Erreur lors de la création du nouveau jeu.";
App::$strings["Requested channel is not available."] = "Canal demandé non disponible.";
App::$strings["You must select a local channel /chess/channelname"] = "Vous devez sélectionner un canal local /échecs/nomducanal";
@@ -2273,12 +2453,32 @@ App::$strings["Copy the PIN from Twitter here"] = "Copier ici le PIN fourni par
App::$strings["<strong>Note:</strong> Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "Note : En raison de vos paramètres de confidentialité (Masquer les détails de votre profil aux visiteurs inconnus?), le lien potentiellement inclus dans les annonces publiques relayées vers Twitter amènera le visiteur à une page vierge l'informant que l'accès à votre profil a été restreint.";
App::$strings["Allow posting to Twitter"] = "Autoriser la publication sur Twitter";
App::$strings["If enabled your public postings can be posted to the associated Twitter account"] = "Si cette option est activée, vos publications publiques peuvent être publiées sur le compte Twitter associé.";
+App::$strings["Twitter post length"] = "Longueur des messages Twitter";
+App::$strings["Maximum tweet length"] = "Longueur maximale du tweet";
App::$strings["Send public postings to Twitter by default"] = "Par défaut, envoyer vos publications publiques sur Twitter.";
App::$strings["If enabled your public postings will be posted to the associated Twitter account by default"] = "Si cette option est activée, par défaut, vos publications publiques seront publiées sur le compte Twitter associé.";
App::$strings["Twitter Post Settings"] = "Paramètres des publications Twitter";
App::$strings["Deactivate the feature"] = "Désactiver la fonctionnalité";
App::$strings["Hide the button and show the smilies directly."] = "Cacher le bouton et afficher les émoticônes directement.";
App::$strings["Smileybutton Settings"] = "Paramètres du bouton des émoticônes";
+App::$strings["Order Not Found"] = "Commande introuvable";
+App::$strings["Order cannot be checked out."] = "La commande ne peut pas être finalisée.";
+App::$strings["Enable Shopping Cart"] = "Activer le panier d'achats";
+App::$strings["Enable Test Catalog"] = "Activer le catalogue de test";
+App::$strings["Enable Manual Payments"] = "Activer les paiements manuels";
+App::$strings["Base Cart Settings"] = "Paramètres de base du panier";
+App::$strings["Add Item"] = "Ajouter un article";
+App::$strings["Call cart_post_"] = "Appeler cart_post_";
+App::$strings["Cart Not Enabled (profile: "] = "Panier non activé (profile:";
+App::$strings["Order not found."] = "Commande introuvable.";
+App::$strings["No Order Found"] = "Aucune commande trouvée";
+App::$strings["call: "] = "appel:";
+App::$strings["An unknown error has occurred Please start again."] = "Une erreur inconnue s'est produite. Veuillez recommencer.";
+App::$strings["Invalid Payment Type. Please start again."] = "Type de paiement non valable. Recommencez, s'il vous plaît.";
+App::$strings["Order not found"] = "Commande non trouvée";
+App::$strings["Error: order mismatch. Please try again."] = "Erreur : non-appariement de commande. Veuillez réessayer.";
+App::$strings["Manual payments are not enabled."] = "Les paiements manuels ne sont pas activés.";
+App::$strings["Finished"] = "Terminé.";
App::$strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Ce site web est surveillé grâce à l'outil d'analyse <a href='http://www.piwik.org'>Piwik</a>.";
App::$strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Si vous ne souhaitez pas que vos visites soient enregistrées de cette façon, <a href='%s'>vous pouvez\ndéfinir un cookie pour empêcher Piwik de suivre davantage de visites du site</a> (opt-out).";
App::$strings["Piwik Base URL"] = "URL de base Piwik";
@@ -2289,11 +2489,11 @@ App::$strings["Asynchronous tracking"] = "Traqueur asynchrone";
App::$strings["Enable frontend JavaScript error tracking"] = "Activer le traqueur d'erreur du frontend JavaScript";
App::$strings["This feature requires Piwik >= 2.2.0"] = "Cette fonctionnalité requiert une version de Piwik >=2.2.0";
App::$strings["Edit your profile and change settings."] = "Éditer votre profil et changer les paramètres.";
-App::$strings["Click here to see activity from your connections."] = "Cliquer ici pour voir l'activité de vos connections.";
+App::$strings["Click here to see activity from your connections."] = "Cliquer ici pour voir l'activité de vos contacts.";
App::$strings["Click here to see your channel home."] = "Cliquer ici pour voir votre canal principal.";
App::$strings["You can access your private messages from here."] = "Vous pouvez accéder à vos messages privés à partir d'ici.";
App::$strings["Create new events here."] = "Créer de nouveaux événements ici.";
-App::$strings["You can accept new connections and change permissions for existing ones here. You can also e.g. create groups of contacts."] = "Vous pouvez accepter de nouvelles connections et changer les permissions des connections existantes. Vous pouvez également créer des groupes de contacts.";
+App::$strings["You can accept new connections and change permissions for existing ones here. You can also e.g. create groups of contacts."] = "Vous pouvez accepter de nouveaux contacts et changer les droits d'accès des contacts existants. Vous pouvez également créer des groupes de contacts.";
App::$strings["System notifications will arrive here"] = "Les notifications du système arriveront ici.";
App::$strings["Search for content and users"] = "Rechercher du contenu ou des utilisateurs";
App::$strings["Browse for new contacts"] = "Rechercher de nouveaux contacts";
@@ -2324,7 +2524,7 @@ App::$strings["If you see this icon you can be sure that the sender is who it sa
App::$strings["Danger! It seems someone tried to forge a message! This message is not necessarily from who it says it is from!"] = "Attention ! Il semble que quelqu'un a essayé de contrefaire un message ! Ce message n'a pas nécessairement été envoyé par la personne annoncée !";
App::$strings["Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can pause it at any time and continue where you left off by reloading the page, or navigting to another page.</p><p>You can also advance by pressing the return key"] = "Bienvenue sur Hubzilla! Voulez-vous faire un tour de l'interface utilisateur? Vous pouvez le mettre en pause à tout moment et continuer où vous l'avez laissé en rechargeant la page ou en naviguant vers une autre page. Vous pouvez également avancer en appuyant sur la touche de retour.";
App::$strings["Extended Identity Sharing"] = "Partage d'identification étendu";
-App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Partagez votre identification avec tous les sites Web sur Internet. Lorsqu'elle est désactivée, l'identification n'est partagée qu'avec les sites de la matrice.";
+App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with \$Projectname sites."] = "Partagez votre identité avec tous les sites Internet. Lorsqu'elle est désactivée, l'identité n'est partagée qu'avec les sites \$Projectname.";
App::$strings["Three Dimensional Tic-Tac-Toe"] = "Tic-tac-toe en 3 dimensions";
App::$strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe";
App::$strings["New game"] = "Nouveau jeu";
@@ -2340,6 +2540,10 @@ App::$strings["I won!"] = "J'ai gagné !";
App::$strings["Message to display on every page on this server"] = "Message à afficher sur chaque page de ce serveur";
App::$strings["Pageheader Settings"] = "Paramètres du haut de page";
App::$strings["pageheader Settings saved."] = "Paramètres du haut de page sauvegardés.";
+App::$strings["Only authenticate automatically to sites of your friends"] = "Ne vous authentifier automatiquement que sur les sites de vos contacts";
+App::$strings["By default you are automatically authenticated anywhere in the network"] = "Par défaut vous êtres authentifiés automatiquement partout sur le réseau";
+App::$strings["Authchoose Settings"] = "Paramètres Authchoose";
+App::$strings["Atuhchoose Settings updated."] = "Paramètres Authchoose mis à jour.";
App::$strings["lonely"] = "isolé";
App::$strings["drunk"] = "saoul";
App::$strings["horny"] = "libidineux";
@@ -2388,12 +2592,13 @@ App::$strings["Pump.io Post Settings"] = "Paramètres de publication Pump.io";
App::$strings["PumpIO Settings saved."] = "Paramètres Pump.io sauvegardés.";
App::$strings["An account has been created for you."] = "Un compte a été créé pour vous.";
App::$strings["Authentication successful but rejected: account creation is disabled."] = "L'authentification a réussi mais a été rejetée : la création de comptes est désactivée.";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Recherche %1\$s (%2\$s)";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
App::$strings["Search \$Projectname"] = "Chercher dans \$Projectname";
App::$strings["Redmatrix File Storage Import"] = "Importation du fichier de stockage Redmatrix";
App::$strings["This will import all your Redmatrix cloud files to this channel."] = "Ceci importera tous vos fichiers Redmatrix dans ce canal.";
App::$strings["file"] = "fichier";
App::$strings["Send email to all members"] = "Envoyer un mail à tous les membres";
-App::$strings["$1%s Administrator"] = "$1%s administrateur";
App::$strings["%1\$d of %2\$d messages sent."] = "%1\$d message(s) envoyés sur %2\$d.";
App::$strings["Send email to all hub members."] = "Envoyer un e-mail à tous les membres du hub.";
App::$strings["Sender Email address"] = "Adresse mail de l'expéditeur";
@@ -2458,6 +2663,8 @@ App::$strings["Uncertain"] = "Incertain";
App::$strings["It's complicated"] = "C'est compliqué";
App::$strings["Don't care"] = "S'en fiche";
App::$strings["Ask me"] = "Me demander";
+App::$strings["likes %1\$s's %2\$s"] = "aime le %2\$s de %1\$s";
+App::$strings["doesn't like %1\$s's %2\$s"] = "n'aime pas le %2\$s de%1\$s ";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ajoute %2\$s à ses contacts";
App::$strings["%1\$s poked %2\$s"] = "%1\$s a tapoté %2\$s";
App::$strings["poked"] = "a tapoté";
@@ -2471,7 +2678,6 @@ App::$strings["Delete Selected Items"] = "Supprimer les éléments selectionnés
App::$strings["View Source"] = "Voir source";
App::$strings["Follow Thread"] = "Suivre la discussion";
App::$strings["Unfollow Thread"] = "Ne plus suivre la discussion";
-App::$strings["Activity/Posts"] = "Activité/Publications";
App::$strings["Edit Connection"] = "Modifier le contact";
App::$strings["Message"] = "Message";
App::$strings["%s likes this."] = "%s aime ça.";
@@ -2494,7 +2700,7 @@ App::$strings["%s don't like this."] = "%s n'aime pas ça.";
App::$strings["Set your location"] = "Spécifier votre emplacement géographique";
App::$strings["Clear browser location"] = "Supprimer l'emplacement géographique du navigateur";
App::$strings["Tag term:"] = "Étiquette&nbsp;:";
-App::$strings["Where are you right now?"] = "Où êtes-vous en ce moment&nbsp;?";
+App::$strings["Where are you right now?"] = "Où êtes-vous en ce moment ?";
App::$strings["Choose a different album..."] = "Choisissez un autre album";
App::$strings["Comments enabled"] = "Commentaires activés";
App::$strings["Comments disabled"] = "Commentaires désactivés";
@@ -2506,8 +2712,6 @@ App::$strings["Toggle comments"] = "Basculer les commentaires";
App::$strings["Categories (optional, comma-separated list)"] = "Catégories (facultatives, séparées par des virgules)";
App::$strings["Other networks and post services"] = "Autres réseaux et services de messagerie";
App::$strings["Set publish date"] = "Définir la date de publication";
-App::$strings["Discover"] = "À découvrir";
-App::$strings["Imported public streams"] = "Flux publics importés";
App::$strings["Commented Order"] = "Par date de commentaire";
App::$strings["Sort by Comment Date"] = "Trier par date de dernier commentaire";
App::$strings["Posted Order"] = "Par date de publication";
@@ -2524,6 +2728,9 @@ App::$strings["Photo Albums"] = "Albums photo";
App::$strings["Files and Storage"] = "Fichiers et Stockage";
App::$strings["Bookmarks"] = "Favoris";
App::$strings["Saved Bookmarks"] = "Favoris sauvegardés";
+App::$strings["View Cards"] = "Voir cartes";
+App::$strings["articles"] = "articles";
+App::$strings["View Articles"] = "Voir articles";
App::$strings["View Webpages"] = "Voir les pages web";
App::$strings["__ctx:noun__ Attending"] = array(
0 => "Participe",
@@ -2549,24 +2756,12 @@ App::$strings["__ctx:noun__ Abstain"] = array(
0 => "S'abstient",
1 => "S'abstiennent",
);
-App::$strings["Can view my normal stream and posts"] = "Peut voir les publications ordinaires sur mon canal.";
-App::$strings["Can view my webpages"] = "Peut voir mes pages web";
-App::$strings["Can post on my channel page (\"wall\")"] = "Peuvent poster sur la page de mon canal (\"mur\")";
-App::$strings["Can like/dislike stuff"] = "Peuvent aimer/ne pas aimer";
-App::$strings["Profiles and things other than posts/comments"] = "Profils et autres excluant les publications/commentaires.";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Peut faire suivre à tous les contacts de mon canal via \"@mention\"";
-App::$strings["Advanced - useful for creating group forum channels"] = "Avancé - utile pour les canaux de type \"forum/groupe\"";
-App::$strings["Can chat with me (when available)"] = "Peut discuter avec moi (quand disponibie)";
-App::$strings["Can write to my file storage and photos"] = "Peut charger des fichiers et des photos dans mon canal";
-App::$strings["Can edit my webpages"] = "Peut modifier mes pages web";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Plutôt avancé - très utile dans les communautés ouvertes";
-App::$strings["Can administer my channel resources"] = "Peut administrer les ressources de mon canal";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Très avancé. Ne pas toucher, sauf si vous savez ce que vous faîtes";
App::$strings["Directory Options"] = "Options d'annuaire";
App::$strings["Safe Mode"] = "Mode sûr";
App::$strings["Public Forums Only"] = "Les forums publics uniquement";
App::$strings["This Website Only"] = "Ce site uniquement";
App::$strings["%1\$s's bookmarks"] = "Favoris de %1\$s";
+App::$strings["Unable to import a removed channel."] = "Impossible d'importer un canal supprimé.";
App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "L'import a échoué. Un canal existe déjà avec ce nom";
App::$strings["Cloned channel not found. Import failed."] = "Canal cloné non trouvé. Echec de l'import.";
App::$strings["prev"] = "préc.";
@@ -2575,13 +2770,13 @@ App::$strings["last"] = "dernier";
App::$strings["next"] = "Suivant";
App::$strings["older"] = "plus ancien";
App::$strings["newer"] = "plus récent";
-App::$strings["No connections"] = "Pas de relations.";
+App::$strings["No connections"] = "Pas de contact.";
App::$strings["View all %s connections"] = "Voir les %s contacts";
App::$strings["poke"] = "tapoter";
App::$strings["ping"] = "ping";
App::$strings["pinged"] = "pingé";
App::$strings["prod"] = "encourager";
-App::$strings["prodded"] = "encouragé";
+App::$strings["prodded"] = "à encouragé";
App::$strings["slap"] = "giffler";
App::$strings["slapped"] = "gifflé(e)";
App::$strings["finger"] = "pointer";
@@ -2632,11 +2827,16 @@ App::$strings["Unknown Attachment"] = "Pièce jointe inconnue";
App::$strings["unknown"] = "Inconnu";
App::$strings["remove category"] = "supprimer la catégorie";
App::$strings["remove from file"] = "retirer du fichier";
+App::$strings["Download binary/encrypted content"] = "Télécharger le contenu binaire/chiffré";
App::$strings["default"] = "défaut";
App::$strings["Page layout"] = "Mise en page";
App::$strings["You can create your own with the layouts tool"] = "Créez les vôtres avec les outils de mise en page";
+App::$strings["HTML"] = "HTML";
+App::$strings["Comanche Layout"] = "mise en page Comanche";
+App::$strings["PHP"] = "PHP";
App::$strings["Page content type"] = "Type de contenu de la page";
App::$strings["activity"] = "activité";
+App::$strings["a-z, 0-9, -, and _ only"] = "a-z, 0-9, -, -, et _ seulement";
App::$strings["Design Tools"] = "Outils de conception";
App::$strings["Pages"] = "Pages";
App::$strings["Import website..."] = "Importer le site web…";
@@ -2665,22 +2865,17 @@ App::$strings["Examples: Robert Morgenstein, Fishing"] = "Exemples: Guillaume Ma
App::$strings["Random Profile"] = "Un profil au hasard";
App::$strings["Invite Friends"] = "Inviter des amis";
App::$strings["Advanced example: name=fred and country=iceland"] = "Exemple avancé&nbsp;: name=fred and country=iceland";
-App::$strings["%d connection in common"] = array(
- 0 => "%d contact en commun",
- 1 => "%d contacts en commun",
-);
-App::$strings["show more"] = "montrer plus";
-App::$strings["Attachments:"] = "";
-App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\à G\\hi";
-App::$strings["\$Projectname event notification:"] = "";
-App::$strings["Starts:"] = "Début&nbsp;:";
-App::$strings["Finishes:"] = "Fin&nbsp;:";
+App::$strings["Common Connections"] = "Connexions communes";
+App::$strings["View all %d common connections"] = "Voir toutes les connexions communes %d";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s";
App::$strings["Channel is blocked on this site."] = "Ce canal est bloqué sur ce site.";
App::$strings["Channel location missing."] = "Emplacement du canal introuvable.";
App::$strings["Response from remote channel was incomplete."] = "La réponse du canal distant était incomplète.";
+App::$strings["Premium channel - please visit:"] = "Canal Premium - s'il vous plaît visitez :";
App::$strings["Channel was deleted and no longer exists."] = "Le canal a été supprimé et n'existe plus.";
-App::$strings["Protocol disabled."] = "Protocole désactivé.";
+App::$strings["Remote channel or protocol unavailable."] = "Canal distant ou protocole indisponible.";
App::$strings["Channel discovery failed."] = "La tentative d'accéder au canal a échoué.";
+App::$strings["Protocol disabled."] = "Protocole désactivé.";
App::$strings["Cannot connect to yourself."] = "Ne peut pas se connecter à vous.";
App::$strings["Delete this item?"] = "Supprimer cet élément?";
App::$strings["%s show less"] = "%s afficher moins";
@@ -2691,7 +2886,7 @@ App::$strings["Passwords do not match"] = "Les mots de passe ne correspondent pa
App::$strings["everybody"] = "tout le monde";
App::$strings["Secret Passphrase"] = "Phrase de passe secrète";
App::$strings["Passphrase hint"] = "Indice pour la phrase de passe";
-App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées.";
+App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les droits d'accès ont changé, mais n'ont pas encore été enregistrés.";
App::$strings["close all"] = "fermer tout";
App::$strings["Nothing new here"] = "Aucun nouveau contenu trouvé";
App::$strings["Rate This Channel (this is public)"] = "Evaluer ce canal (publiquement)";
@@ -2700,8 +2895,8 @@ App::$strings["Please enter a link URL"] = "Merci d'insérer une URL";
App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Changements en attente. Voulez-vous vraiment quitter cette page?";
App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "auparavant";
-App::$strings["from now"] = "de maintenant";
+App::$strings["timeago.suffixAgo"] = "timeago.suffixAgo";
+App::$strings["timeago.suffixFromNow"] = "timeago.suffixFromNow";
App::$strings["less than a minute"] = "moins d'une minute";
App::$strings["about a minute"] = "environ une minute";
App::$strings["%d minutes"] = "%d minutes";
@@ -2764,7 +2959,6 @@ App::$strings["Path not found."] = "Chemin introuvable.";
App::$strings["mkdir failed."] = "mkdir a échoué.";
App::$strings["database storage failed."] = "l'écriture dans la base de données a échoué.";
App::$strings["Empty path"] = "Chemin vide";
-App::$strings["guest:"] = "Visiteur";
App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Le formulaire n'est plus sécurisé, probablement parce qu'il est ouvert depuis trop longtemps (plus de 3 heures).";
App::$strings["(Unknown)"] = "(Inconnu)";
App::$strings["Visible to anybody on the internet."] = "Visible pour tout le monde sur internet.";
@@ -2772,9 +2966,9 @@ App::$strings["Visible to you only."] = "Visible pour vous seulement.";
App::$strings["Visible to anybody in this network."] = "Visible pour tout le monde sur ce réseau.";
App::$strings["Visible to anybody authenticated."] = "Visible aux utilisateurs authentifiés.";
App::$strings["Visible to anybody on %s."] = "Visible pour tous sur %s.";
-App::$strings["Visible to all connections."] = "Visible pour tous les contacts.";
-App::$strings["Visible to approved connections."] = "Visible aux contacts approuvés.";
-App::$strings["Visible to specific connections."] = "Visible pour certains contacts.";
+App::$strings["Visible to all connections."] = "Visible par tous les contacts.";
+App::$strings["Visible to approved connections."] = "Visible par les contacts validés.";
+App::$strings["Visible to specific connections."] = "Visible par certains contacts.";
App::$strings["Privacy group is empty."] = "Groupe de contacts vide.";
App::$strings["Privacy group: %s"] = "Groupe de contacts&nbsp;: %s";
App::$strings["Connection not found."] = "Contact non trouvé.";
@@ -2787,22 +2981,23 @@ App::$strings["Empty name"] = "Nom vide";
App::$strings["Name too long"] = "Nom trop long";
App::$strings["No account identifier"] = "Pas d'identifiant de compte";
App::$strings["Nickname is required."] = "Un surnom est requis.";
-App::$strings["Reserved nickname. Please choose another."] = "Surnom réservé. Merci d'en choisir un autre.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Le surnom contient des caractères interdits ou est déjà pris sur ce site.";
App::$strings["Unable to retrieve created identity"] = "Impossible de récupérer l'identité créée";
App::$strings["Default Profile"] = "Profil par défaut";
+App::$strings["Unable to retrieve modified identity"] = "Impossible de récupérer l'identité modifiée";
App::$strings["Create New Profile"] = "Créer un nouveau profil";
App::$strings["Visible to everybody"] = "Visible de tous";
App::$strings["Gender:"] = "Sexe&nbsp;:";
App::$strings["Homepage:"] = "Site Internet&nbsp;:";
App::$strings["Online Now"] = "Connecté";
+App::$strings["Change your profile photo"] = "Modifier votre photo de profil";
+App::$strings["Trans"] = "Trans";
App::$strings["Like this channel"] = "J'aime ce canal";
App::$strings["j F, Y"] = "j F, Y";
App::$strings["j F"] = "j F";
App::$strings["Birthday:"] = "Date de naissance&nbsp;:";
App::$strings["for %1\$d %2\$s"] = "depuis %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Orientation sexuelle&nbsp;:";
App::$strings["Tags:"] = "Étiquettes&nbsp;:";
+App::$strings["Sexual Preference:"] = "Orientation sexuelle&nbsp;:";
App::$strings["Political Views:"] = "Opinions politiques&nbsp;:";
App::$strings["Religion:"] = "Religion&nbsp;:";
App::$strings["Hobbies/Interests:"] = "Occupations/Centres d'intérêt&nbsp;:";
@@ -2818,15 +3013,20 @@ App::$strings["Love/Romance:"] = "Vie sentimentale/amoureuse&nbsp;:";
App::$strings["Work/employment:"] = "Travail/Occupation&nbsp;";
App::$strings["School/education:"] = "Études&nbsp;";
App::$strings["Like this thing"] = "J'aime ceci";
-App::$strings["User '%s' deleted"] = "Utilisateur '%s' supprimé";
+App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\à G\\hi";
+App::$strings["Starts:"] = "Début&nbsp;:";
+App::$strings["Finishes:"] = "Fin&nbsp;:";
App::$strings["This event has been added to your calendar."] = "Cet évènement a été ajouté dans votre calendrier.";
App::$strings["Not specified"] = "Non spécifié";
App::$strings["Needs Action"] = "Besoin d'une action";
App::$strings["Completed"] = "Terminé";
App::$strings["In Process"] = "En cours";
App::$strings["Cancelled"] = "Annulé";
+App::$strings["Home, Voice"] = "Domicile, Voix";
+App::$strings["Home, Fax"] = "Domicile, Fax";
+App::$strings["Work, Voice"] = "Travail, Voix";
+App::$strings["Work, Fax"] = "Travail, Fax";
App::$strings["view full size"] = "voir en taille réelle";
-App::$strings["No Subject"] = "Pas d'objet";
App::$strings["Friendica"] = "Friendica";
App::$strings["OStatus"] = "OStatus";
App::$strings["GNU-Social"] = "GNU-Social";
@@ -2837,54 +3037,71 @@ App::$strings["Zot"] = "Zot";
App::$strings["LinkedIn"] = "Linkedin";
App::$strings["XMPP/IM"] = "XMPP/IM";
App::$strings["MySpace"] = "MySpace";
-App::$strings["New Page"] = "Nouvelle page";
App::$strings["Select an alternate language"] = "Choisir une langue alternative";
App::$strings["Who can see this?"] = "Qui peut voir cela";
App::$strings["Custom selection"] = "Sélection personnalisée";
App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Sélectionnez \"Afficher\" pour permettre l'affichage. \"Ne pas afficher\" vous permet de remplacer et de limiter la portée de \"Afficher\".";
App::$strings["Show"] = "Montrer";
App::$strings["Don't show"] = "Cacher";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Les autorisations d'accès d'un message %s ne peuvent pas être modifiées %s une fois le message envoyé. Ces autorisations définissent qui est autorisé à afficher le message.";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Les droits d'accès d'un message %s ne peuvent pas être modifiés %s une fois le message envoyé. </br />Ces droits d'accès définissent qui est autorisé à afficher le message.";
App::$strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de BDD '%s'";
App::$strings["Image/photo"] = "Image/photo";
App::$strings["Encrypted content"] = "Contenu chiffré";
-App::$strings["Install %s element: "] = "Installer %s élément";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ce message contient un élément installable %s, mais vous n'avez pas l'autorisation de l'installer sur ce site.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s a écrit %2\$s qui suit %3\$s";
+App::$strings["Install %1\$s element %2\$s"] = "Installer %1\$s element %2\$s";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ce message contient un élément installable %s, mais vous n'avez pas le droit de l'installer sur ce site.";
+App::$strings["card"] = "carte";
+App::$strings["article"] = "article";
App::$strings["Click to open/close"] = "Cliquer pour ouvrir/fermer";
App::$strings["spoiler"] = "spoiler";
+App::$strings["View article"] = "Voir l'article";
+App::$strings["View summary"] = "Voir le résumé";
App::$strings["$1 wrote:"] = "$1 a écrit&nbsp;:";
App::$strings[" by "] = "par";
App::$strings[" on "] = "sur";
App::$strings["Embedded content"] = "Contenu imbriqué";
App::$strings["Embedding disabled"] = "Imbrication désactivée";
+App::$strings["OpenWebAuth: %1\$s welcomes %2\$s"] = "OpenWebAuth: %1\$s accueille favorablement %2\$s";
App::$strings["General Features"] = "Fonctionnalités générales";
-App::$strings["Multiple Profiles"] = "Profils multiples";
-App::$strings["Ability to create multiple profiles"] = "Possibilité de créer plusieurs profils";
-App::$strings["Advanced Profiles"] = "Profils Avancés";
+App::$strings["Display new member quick links menu"] = "Afficher le menu des liens rapides pour les nouveaux membres";
+App::$strings["Advanced Profiles"] = "Profils avancés";
App::$strings["Additional profile sections and selections"] = "Sections et sélections supplémentaires du profil";
-App::$strings["Profile Import/Export"] = "Importer/Exporter le profil";
+App::$strings["Profile Import/Export"] = "Importer/exporter le profil";
App::$strings["Save and load profile details across sites/channels"] = "Sauvegarder et charger les détails d'un profil entre sites/canaux";
App::$strings["Web Pages"] = "Pages web";
App::$strings["Provide managed web pages on your channel"] = "Fournir des pages web, sous votre contrôle, sur votre canal";
App::$strings["Provide a wiki for your channel"] = "Fournir un wiki pour votre canal.";
App::$strings["Private Notes"] = "Notes privées";
App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Active un outil pour stocker des notes et des rappels (note&nbsp;:non chiffré)";
+App::$strings["Create personal planning cards"] = "Créer des cartes de planification personnelle";
+App::$strings["Create interactive articles"] = "Créer des articles interactifs";
App::$strings["Navigation Channel Select"] = "Sélection du canal par la navigation";
App::$strings["Change channels directly from within the navigation dropdown menu"] = "Changez de canal directement depuis le menu de navigation déroulant";
App::$strings["Photo Location"] = "Site de prise de vue";
App::$strings["If location data is available on uploaded photos, link this to a map."] = "Si des informations géographiques sont présentes dans les images téléversées, les lier à une carte.";
App::$strings["Access Controlled Chatrooms"] = "Accéder au salons de discussions contrôlés.";
App::$strings["Provide chatrooms and chat services with access control."] = "Fournir des salons de discussions et des services de discussions avec contrôle d'accès.";
-App::$strings["Provide alternate connection permission roles."] = "Fournir des rôles d'autorisation différents pour ce contact.";
App::$strings["Smart Birthdays"] = "Anniversaires intelligents";
App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Adapter les anniversaires aux fuseaux horaires, utile pour vos amis sur d'autres continents.";
App::$strings["Event Timezone Selection"] = "Sélection du fuseau horaire de l'événement";
App::$strings["Allow event creation in timezones other than your own."] = "Autorise la création d’événements sur d'autres fuseaux horaires que le vôtre.";
+App::$strings["Premium Channel"] = "Canal VIP";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal";
App::$strings["Advanced Directory Search"] = "Recherche avancée dans les répertoires";
App::$strings["Allows creation of complex directory search queries"] = "Autoriser la création d'entrées complexes de recherche de répertoire";
App::$strings["Advanced Theme and Layout Settings"] = "Paramètres avancés du thème et de l'agencement.";
App::$strings["Allows fine tuning of themes and page layouts"] = "Autoriser la personnalisation fine des thèmes et des agencements.";
+App::$strings["Access Control and Permissions"] = "Contrôle d'accès et autorisations";
+App::$strings["Privacy Groups"] = "Groupes de contacts";
+App::$strings["Enable management and selection of privacy groups"] = "Active la gestion et la sélection des groupes de contacts";
+App::$strings["Multiple Profiles"] = "Profils multiples";
+App::$strings["Ability to create multiple profiles"] = "Possibilité de créer plusieurs profils";
+App::$strings["Provide alternate connection permission roles."] = "Fournir des rôles d'accès différents pour ce contact.";
+App::$strings["OAuth1 Clients"] = "Clients OAuth1";
+App::$strings["Manage OAuth1 authenticatication tokens for mobile and remote apps."] = "Gérer les jetons d'authentification OAuth1 pour les applications mobiles et distantes.";
+App::$strings["OAuth2 Clients"] = "Clients OAuth2";
+App::$strings["Manage OAuth2 authenticatication tokens for mobile and remote apps."] = "Gérer les jetons d'authentification OAuth2 pour les applications mobiles et distantes.";
+App::$strings["Access Tokens"] = "Jetons d'accès.";
+App::$strings["Create access tokens so that non-members can access private content."] = "Créez des jetons d'accès pour que les non-membres puissent accéder au contenu privé.";
App::$strings["Post Composition Features"] = "Fonctionnalités de composition";
App::$strings["Large Photos"] = "Grandes photos";
App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Inclure de grands aperçus (1024px) dans les messages. Si désactivé, inclure de petits aperçus (640px).";
@@ -2901,11 +3118,11 @@ App::$strings["Content Expiration"] = "Expiration du contenu";
App::$strings["Remove posts/comments and/or private messages at a future time"] = "Supprimer les contributions/commentaires et/ou messages privés plus tard";
App::$strings["Suppress Duplicate Posts/Comments"] = "Supprimer les publications/commentaires en doublon";
App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Empêcher des messages aux contenus identiques d'être publiés à moins de deux minutes d'intervalle";
+App::$strings["Auto-save drafts of posts and comments"] = "Sauvegarde automatique des brouillons de messages et commentaires";
+App::$strings["Automatically saves post and comment drafts in local browser storage to help prevent accidental loss of compositions"] = "Enregistre automatiquement les brouillons de messages et de commentaires dans le stockage local du navigateur pour aider à prévenir la perte accidentelle de compositions.";
App::$strings["Network and Stream Filtering"] = "Filtrage du réseau et des flux";
App::$strings["Search by Date"] = "Chercher par date";
App::$strings["Ability to select posts by date ranges"] = "Pouvoir choisir des publications par date";
-App::$strings["Privacy Groups"] = "Groupes de contacts";
-App::$strings["Enable management and selection of privacy groups"] = "Active la gestion et la sélection des groupes de contacts";
App::$strings["Save search terms for re-use"] = "Sauvegarder des termes de recherche pour utilisation ultérieure";
App::$strings["Network Personal Tab"] = "Onglet \"Me concernant\"";
App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Activer un onglet affichant seulement les publications du réseau sur lesquelles vous êtes intervenu";
@@ -2913,7 +3130,7 @@ App::$strings["Network New Tab"] = "Onglet \"nouveautés réseau\"";
App::$strings["Enable tab to display all new Network activity"] = "Activer un onglet présentant toute l'activité récente sur le réseau";
App::$strings["Affinity Tool"] = "Gérer l'affinité";
App::$strings["Filter stream activity by depth of relationships"] = "Filtrer le flux d'activité en fonction de la profondeur des relations";
-App::$strings["Show friend and connection suggestions"] = "Afficher un ami et les suggestions de relations";
+App::$strings["Show friend and connection suggestions"] = "Afficher les suggestions de mise en contact";
App::$strings["Connection Filtering"] = "Filtrage des contacts";
App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrer les publications entrantes de mes contacts sur la base de mots-clefs";
App::$strings["Post/Comment Tools"] = "Gérer les publications/commentaires";
@@ -2930,9 +3147,6 @@ App::$strings["Star Posts"] = "Pouvoir mettre en avant les publications";
App::$strings["Ability to mark special posts with a star indicator"] = "Pouvoir marquer certaines publications d'une étoile";
App::$strings["Tag Cloud"] = "Nuage de tags";
App::$strings["Provide a personal tag cloud on your channel page"] = "Afficher un nuage de vos tags sur votre canal";
-App::$strings["Premium Channel"] = "Canal VIP";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Vous permet d'appliquer des règles et restrictions aux contacts de votre canal";
-App::$strings["Tags"] = "Étiquettes";
App::$strings["Keywords"] = "Mots-clefs";
App::$strings["have"] = "ont";
App::$strings["has"] = "a";
@@ -2951,7 +3165,7 @@ App::$strings["Registration confirmation for %s"] = "Confirmation de l'inscripti
App::$strings["Registration request at %s"] = "Demande d'inscription sur %s";
App::$strings["your registration password"] = "votre mot de passe d'inscription";
App::$strings["Registration details for %s"] = "Détails de l'inscription pour %s";
-App::$strings["Account approved."] = "Compte approuvé.";
+App::$strings["Account approved."] = "Compte validé.";
App::$strings["Registration revoked for %s"] = "Inscription révoquée pour %s";
App::$strings["Click here to upgrade."] = "Cliquez ici pour mettre à jour.";
App::$strings["This action exceeds the limits set by your subscription plan."] = "Cette action outrepasserait les limites prévues par votre forfait.";
@@ -2993,37 +3207,23 @@ App::$strings["%1\$s's birthday"] = "Anniversaire de %1\$s";
App::$strings["Happy Birthday %1\$s"] = "Joyeux Anniversaire %1\$s";
App::$strings["Remote authentication"] = "Authentification distante";
App::$strings["Click to authenticate to your home hub"] = "S'authentifier auprès de votre hub principal";
+App::$strings["Manage Your Channels"] = "Gérer vos canaux";
+App::$strings["Account/Channel Settings"] = "Paramètres du Compte/Canal";
App::$strings["End this session"] = "Mettre fin à la session";
App::$strings["Your profile page"] = "Votre profil";
App::$strings["Manage/Edit profiles"] = "Gérer/modifier vos profils";
-App::$strings["Edit your profile"] = "Modifier votre profil";
App::$strings["Sign in"] = "Connexion";
-App::$strings["Take me home"] = "";
+App::$strings["Take me home"] = "Retourner sur mon serveur";
App::$strings["Log me out of this site"] = "Déconnectez-moi de ce site";
App::$strings["Create an account"] = "Créer un compte";
App::$strings["Help and documentation"] = "Aide et documentation";
App::$strings["Search site @name, #tag, ?docs, content"] = "Recherche @nom, #tag, contenu";
-App::$strings["Your grid"] = "Votre réseau";
-App::$strings["View your network/grid"] = "Voir votre réseau";
-App::$strings["Mark all grid notifications seen"] = "Marquer toutes les notifications du réseau comme vues";
-App::$strings["Channel home"] = "Mon canal";
-App::$strings["View your channel home"] = "Voir la page d'accueil de votre canal";
-App::$strings["Mark all channel notifications seen"] = "Marquer toutes les notifications du canal comme vues";
-App::$strings["Notices"] = "Notifications";
-App::$strings["Notifications"] = "Notifications";
-App::$strings["View all notifications"] = "Voir toutes les notifications";
-App::$strings["Private mail"] = "Messages privés";
-App::$strings["View your private messages"] = "Voir vos messages privés";
-App::$strings["Mark all private messages seen"] = "Marquer tous les messages privés comme vus";
-App::$strings["Event Calendar"] = "Calendrier des événements";
-App::$strings["View events"] = "Voir les événements";
-App::$strings["Mark all events seen"] = "Marquer tous les événements comme vus";
-App::$strings["Manage Your Channels"] = "Gérer vos canaux";
-App::$strings["Account/Channel Settings"] = "Paramètres du Compte/Canal";
App::$strings["Site Setup and Configuration"] = "Configuration du site";
App::$strings["@name, #tag, ?doc, content"] = "@nom, #étiquette, ?doc, contenu";
App::$strings["Please wait..."] = "Merci de patienter...";
-App::$strings["Add Apps"] = "";
+App::$strings["Add Apps"] = "Ajouter des applications";
+App::$strings["Arrange Apps"] = "Réarranger les applications";
+App::$strings["Toggle System Apps"] = "(Dés)activer les applications système";
App::$strings["Image exceeds website size limit of %lu bytes"] = "L'image dépasse la taille limite de %lu octets";
App::$strings["Image file is empty."] = "L'image est vide.";
App::$strings["Photo storage failed."] = "Le stockage de l'image a échoué.";
@@ -3034,7 +3234,7 @@ App::$strings["Invalid data packet"] = "Paquet de données invalide";
App::$strings["Unable to verify channel signature"] = "Impossible de vérifier la signature du canal";
App::$strings["Unable to verify site signature for %s"] = "Impossible de vérifier la signature de site pour %s";
App::$strings["invalid target signature"] = "signature de la cible invalide";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un groupe supprimé portant ce nom a été ressuscité. Les permissions liées aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent.";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un groupe supprimé portant ce nom a été ressuscité. Les droits d'accès liés aux éléments existants <strong>peuvent</strong> s'appliquer au groupe et aux membres futurs. Si ce n'est pas ce que vous attendiez, merci de créer un autre groupe avec un nom différent.";
App::$strings["Add new connections to this privacy group"] = "Ajouter de nouveaux contacts à ce groupe de contacts";
App::$strings["edit"] = "modifier";
App::$strings["Edit group"] = "Modifier le groupe";
@@ -3042,7 +3242,9 @@ App::$strings["Add privacy group"] = "Créer un groupe de contacts";
App::$strings["Channels not in any privacy group"] = "Contacts n'étant dans aucun groupe de contacts";
App::$strings["New window"] = "Nouvelle fenêtre";
App::$strings["Open the selected location in a different window or browser tab"] = "Ouvrir l'emplacement dans une fenêtre ou un onglet différent";
+App::$strings["Delegation session ended."] = "La séance de délégation a pris fin.";
App::$strings["Logged out."] = "Deconnecté.";
+App::$strings["Email validation is incomplete. Please check your email."] = "La validation du courriel est incomplète. Veuillez vérifier l'adresse courriel.";
App::$strings["Failed authentication"] = "Échec de l'authentification";
App::$strings["Help:"] = "Aide&nbsp;:";
App::$strings["Not Found"] = "Introuvable";
diff --git a/view/it/hmessages.po b/view/it/hmessages.po
index c09bc1536..5f9ec9cc6 100644
--- a/view/it/hmessages.po
+++ b/view/it/hmessages.po
@@ -1,18 +1,18 @@
-# Hubzilla Project
-# Copyright (C) 2012-2014 the Hubzilla Project
-# This file is distributed under the same license as the Red package.
+# hubzilla
+# Copyright (C) 2012-2016 hubzilla
+# This file is distributed under the same license as the hubzilla package.
#
# Translators:
-# Davide Pesenti <mrjive@mrjive.it>, 2015-2016
+# Davide Pesenti <mrjive@mrjive.it>, 2015-2016,2018
# Paolo Wave <pynolo@tarine.net>, 2015-2016
# Paolo Wave <pynolo@tarine.net>, 2015
msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-09-30 00:02-0700\n"
-"PO-Revision-Date: 2016-10-02 12:23+0000\n"
-"Last-Translator: Paolo Wave <pynolo@tarine.net>\n"
+"POT-Creation-Date: 2018-03-01 08:51+0100\n"
+"PO-Revision-Date: 2018-03-01 17:14+0000\n"
+"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/Friendica/red-matrix/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,674 +20,2416 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../Zotlabs/Access/PermissionRoles.php:182
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/Permissions.php:56
+msgid "Can view my channel stream and posts"
+msgstr "Può vedere i post e i contenuti del mio canale"
+
+#: ../../Zotlabs/Access/Permissions.php:57
+msgid "Can send me their channel stream and posts"
+msgstr "È tra i canali che seguo"
+
+#: ../../Zotlabs/Access/Permissions.php:58
+msgid "Can view my default channel profile"
+msgstr "Può vedere il profilo predefinito del canale"
+
+#: ../../Zotlabs/Access/Permissions.php:59
+msgid "Can view my connections"
+msgstr "Può vedere i miei contatti"
+
+#: ../../Zotlabs/Access/Permissions.php:60
+msgid "Can view my file storage and photos"
+msgstr "Può vedere il mio archivio file e foto"
+
+#: ../../Zotlabs/Access/Permissions.php:61
+msgid "Can upload/modify my file storage and photos"
+msgstr "Può caricare o modificare i file e le foto del mio archivio"
+
+#: ../../Zotlabs/Access/Permissions.php:62
+msgid "Can view my channel webpages"
+msgstr "Può vedere le pagine web del mio canale"
+
+#: ../../Zotlabs/Access/Permissions.php:63
+msgid "Can view my wiki pages"
+msgstr "Può vedere le pagine del mio wiki"
+
+#: ../../Zotlabs/Access/Permissions.php:64
+msgid "Can create/edit my channel webpages"
+msgstr "Può creare o modificare le pagine web del mio canale"
+
+#: ../../Zotlabs/Access/Permissions.php:65
+msgid "Can write to my wiki pages"
+msgstr "Può scrivere nelle pagine del mio wiki"
+
+#: ../../Zotlabs/Access/Permissions.php:66
+msgid "Can post on my channel (wall) page"
+msgstr "Può postare sulla mia bacheca"
+
+#: ../../Zotlabs/Access/Permissions.php:67
+msgid "Can comment on or like my posts"
+msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
+
+#: ../../Zotlabs/Access/Permissions.php:68
+msgid "Can send me private mail messages"
+msgstr "Può inviarmi messaggi privati"
+
+#: ../../Zotlabs/Access/Permissions.php:69
+msgid "Can like/dislike profiles and profile things"
+msgstr "Può aggiungere un \"mi piace\" sul profilo e sugli oggetti del profilo"
+
+#: ../../Zotlabs/Access/Permissions.php:70
+msgid "Can forward to all my channel connections via @+ mentions in posts"
+msgstr "Può inoltrare post a tutti i miei contatti con una menzione @+"
+
+#: ../../Zotlabs/Access/Permissions.php:71
+msgid "Can chat with me"
+msgstr "Può aprire una chat con me"
+
+#: ../../Zotlabs/Access/Permissions.php:72
+msgid "Can source my public posts in derived channels"
+msgstr "Può usare i miei post pubblici per creare canali derivati"
+
+#: ../../Zotlabs/Access/Permissions.php:73
+msgid "Can administer my channel"
+msgstr "Può amministrare il mio canale"
+
+#: ../../Zotlabs/Access/PermissionRoles.php:265
msgid "Social Networking"
msgstr "Social network"
-#: ../../Zotlabs/Access/PermissionRoles.php:183
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/PermissionRoles.php:266
msgid "Social - Mostly Public"
msgstr "Social - Prevalentemente pubblico"
-#: ../../Zotlabs/Access/PermissionRoles.php:184
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/PermissionRoles.php:267
msgid "Social - Restricted"
msgstr "Social - Con restrizioni"
-#: ../../Zotlabs/Access/PermissionRoles.php:185
-#: ../../include/permissions.php:945
+#: ../../Zotlabs/Access/PermissionRoles.php:268
msgid "Social - Private"
msgstr "Social - Privato"
-#: ../../Zotlabs/Access/PermissionRoles.php:188
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:271
msgid "Community Forum"
msgstr "Forum di discussione"
-#: ../../Zotlabs/Access/PermissionRoles.php:189
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:272
msgid "Forum - Mostly Public"
msgstr "Social - Prevalentemente pubblico"
-#: ../../Zotlabs/Access/PermissionRoles.php:190
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:273
msgid "Forum - Restricted"
msgstr "Forum - Con restrizioni"
-#: ../../Zotlabs/Access/PermissionRoles.php:191
-#: ../../include/permissions.php:946
+#: ../../Zotlabs/Access/PermissionRoles.php:274
msgid "Forum - Private"
msgstr "Forum - Privato"
-#: ../../Zotlabs/Access/PermissionRoles.php:194
-#: ../../include/permissions.php:947
+#: ../../Zotlabs/Access/PermissionRoles.php:277
msgid "Feed Republish"
msgstr "Aggregatore di feed esterni"
-#: ../../Zotlabs/Access/PermissionRoles.php:195
-#: ../../include/permissions.php:947
+#: ../../Zotlabs/Access/PermissionRoles.php:278
msgid "Feed - Mostly Public"
msgstr "Feed - Prevalentemente pubblico"
-#: ../../Zotlabs/Access/PermissionRoles.php:196
-#: ../../include/permissions.php:947
+#: ../../Zotlabs/Access/PermissionRoles.php:279
msgid "Feed - Restricted"
msgstr "Feed - Con restrizioni"
-#: ../../Zotlabs/Access/PermissionRoles.php:199
-#: ../../include/permissions.php:948
+#: ../../Zotlabs/Access/PermissionRoles.php:282
msgid "Special Purpose"
msgstr "Per finalità speciali"
-#: ../../Zotlabs/Access/PermissionRoles.php:200
-#: ../../include/permissions.php:948
+#: ../../Zotlabs/Access/PermissionRoles.php:283
msgid "Special - Celebrity/Soapbox"
msgstr "Speciale - Pagina per fan"
-#: ../../Zotlabs/Access/PermissionRoles.php:201
-#: ../../include/permissions.php:948
+#: ../../Zotlabs/Access/PermissionRoles.php:284
msgid "Special - Group Repository"
msgstr "Speciale - Repository di gruppo"
-#: ../../Zotlabs/Access/PermissionRoles.php:204
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:213
-#: ../../Zotlabs/Module/Settings/Channel.php:442
-#: ../../include/permissions.php:949 ../../include/selectors.php:49
+#: ../../Zotlabs/Access/PermissionRoles.php:287
+#: ../../Zotlabs/Module/Cdav.php:1182 ../../Zotlabs/Module/New_channel.php:130
+#: ../../Zotlabs/Module/Settings/Channel.php:473
+#: ../../Zotlabs/Module/Connedit.php:918 ../../Zotlabs/Module/Profiles.php:798
+#: ../../Zotlabs/Module/Register.php:224 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
-#: ../../include/selectors.php:140
+#: ../../include/selectors.php:140 ../../include/event.php:1315
+#: ../../include/event.php:1322 ../../include/connections.php:689
+#: ../../include/connections.php:696
msgid "Other"
msgstr "Altro"
-#: ../../Zotlabs/Access/PermissionRoles.php:205
-#: ../../include/permissions.php:949
+#: ../../Zotlabs/Access/PermissionRoles.php:288
msgid "Custom/Expert Mode"
msgstr "Personalizzazione per esperti"
-#: ../../Zotlabs/Access/Permissions.php:30
-msgid "Can view my channel stream and posts"
-msgstr "Può vedere i post e i contenuti del mio canale"
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Articles.php:29
+#: ../../Zotlabs/Module/Editlayout.php:31 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Editwebpage.php:32
+#: ../../Zotlabs/Module/Cards.php:33 ../../Zotlabs/Module/Webpages.php:33
+#: ../../Zotlabs/Module/Filestorage.php:51 ../../include/channel.php:1198
+msgid "Requested profile is not available."
+msgstr "Il profilo richiesto non è disponibile."
-#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:42
-msgid "Can send me their channel stream and posts"
-msgstr "È tra i canali che seguo"
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:94
+#: ../../Zotlabs/Module/Articles.php:68 ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Channel.php:110
+#: ../../Zotlabs/Module/Channel.php:248 ../../Zotlabs/Module/Channel.php:288
+#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Events.php:271
+#: ../../Zotlabs/Module/Appman.php:86 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Article_edit.php:51
+#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/New_channel.php:102
+#: ../../Zotlabs/Module/Sharedwithme.php:16 ../../Zotlabs/Module/Setup.php:209
+#: ../../Zotlabs/Module/Moderate.php:13
+#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:275
+#: ../../Zotlabs/Module/Thing.php:295 ../../Zotlabs/Module/Thing.php:336
+#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Profile.php:85 ../../Zotlabs/Module/Profile.php:101
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Connections.php:29
+#: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Bookmarks.php:64
+#: ../../Zotlabs/Module/Photos.php:69 ../../Zotlabs/Module/Wiki.php:50
+#: ../../Zotlabs/Module/Wiki.php:273 ../../Zotlabs/Module/Wiki.php:400
+#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Poke.php:149
+#: ../../Zotlabs/Module/Profile_photo.php:302
+#: ../../Zotlabs/Module/Profile_photo.php:315
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Item.php:229
+#: ../../Zotlabs/Module/Item.php:246 ../../Zotlabs/Module/Item.php:256
+#: ../../Zotlabs/Module/Item.php:1099 ../../Zotlabs/Module/Page.php:34
+#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Connedit.php:389
+#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Chat.php:105
+#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Layouts.php:71
+#: ../../Zotlabs/Module/Layouts.php:78 ../../Zotlabs/Module/Layouts.php:89
+#: ../../Zotlabs/Module/Defperms.php:173 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Profiles.php:198 ../../Zotlabs/Module/Profiles.php:635
+#: ../../Zotlabs/Module/Editwebpage.php:68
+#: ../../Zotlabs/Module/Editwebpage.php:89
+#: ../../Zotlabs/Module/Editwebpage.php:107
+#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Cards.php:72 ../../Zotlabs/Module/Webpages.php:118
+#: ../../Zotlabs/Module/Block.php:24 ../../Zotlabs/Module/Block.php:74
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Sources.php:74
+#: ../../Zotlabs/Module/Like.php:185 ../../Zotlabs/Module/Suggest.php:28
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mail.php:146
+#: ../../Zotlabs/Module/Register.php:77
+#: ../../Zotlabs/Module/Cover_photo.php:281
+#: ../../Zotlabs/Module/Cover_photo.php:294
+#: ../../Zotlabs/Module/Display.php:406 ../../Zotlabs/Module/Network.php:15
+#: ../../Zotlabs/Module/Filestorage.php:15
+#: ../../Zotlabs/Module/Filestorage.php:70
+#: ../../Zotlabs/Module/Filestorage.php:85
+#: ../../Zotlabs/Module/Filestorage.php:117 ../../Zotlabs/Module/Common.php:38
+#: ../../Zotlabs/Module/Viewconnections.php:28
+#: ../../Zotlabs/Module/Viewconnections.php:33
+#: ../../Zotlabs/Module/Service_limits.php:11
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Card_edit.php:51
+#: ../../Zotlabs/Module/Notifications.php:11
+#: ../../Zotlabs/Lib/Chatroom.php:133 ../../Zotlabs/Web/WebServer.php:123
+#: ../../addon/keepout/keepout.php:36 ../../addon/openid/Mod_Id.php:53
+#: ../../addon/gitwiki/Mod_Gitwiki.php:196
+#: ../../addon/gitwiki/Mod_Gitwiki.php:292 ../../addon/pumpio/pumpio.php:40
+#: ../../include/attach.php:150 ../../include/attach.php:197
+#: ../../include/attach.php:270 ../../include/attach.php:284
+#: ../../include/attach.php:293 ../../include/attach.php:366
+#: ../../include/attach.php:380 ../../include/attach.php:387
+#: ../../include/attach.php:469 ../../include/attach.php:1019
+#: ../../include/attach.php:1093 ../../include/attach.php:1258
+#: ../../include/items.php:3656 ../../include/photos.php:27
+msgid "Permission denied."
+msgstr "Permesso negato."
-#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:36
-msgid "Can view my default channel profile"
-msgstr "Può vedere il profilo predefinito del canale"
+#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
+#: ../../Zotlabs/Module/Editblock.php:113
+msgid "Block Name"
+msgstr "Nome del block"
-#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:37
-msgid "Can view my connections"
-msgstr "Può vedere i miei contatti"
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2402
+msgid "Blocks"
+msgstr "Block"
-#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:38
-msgid "Can view my file storage and photos"
-msgstr "Può vedere il mio archivio file e foto"
+#: ../../Zotlabs/Module/Blocks.php:156
+msgid "Block Title"
+msgstr "Titolo del block"
-#: ../../Zotlabs/Access/Permissions.php:35
-msgid "Can upload/modify my file storage and photos"
-msgstr "Può caricare o modificare i file e le foto del mio archivio"
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:114
+#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:251
+msgid "Created"
+msgstr "Creato"
-#: ../../Zotlabs/Access/Permissions.php:36
-msgid "Can view my channel webpages"
-msgstr "Può vedere le pagine web del mio canale"
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:115
+#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Webpages.php:252
+msgid "Edited"
+msgstr "Modificato"
-#: ../../Zotlabs/Access/Permissions.php:37
-msgid "Can create/edit my channel webpages"
-msgstr "Può creare o modificare le pagine web del mio canale"
+#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Articles.php:96
+#: ../../Zotlabs/Module/Cdav.php:1185 ../../Zotlabs/Module/New_channel.php:146
+#: ../../Zotlabs/Module/Connedit.php:921 ../../Zotlabs/Module/Menu.php:118
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Module/Profiles.php:801
+#: ../../Zotlabs/Module/Cards.php:100 ../../Zotlabs/Module/Webpages.php:239
+#: ../../Zotlabs/Storage/Browser.php:276 ../../Zotlabs/Storage/Browser.php:382
+#: ../../Zotlabs/Widget/Cdav.php:128 ../../Zotlabs/Widget/Cdav.php:165
+msgid "Create"
+msgstr "Crea"
-#: ../../Zotlabs/Access/Permissions.php:38
-msgid "Can post on my channel (wall) page"
-msgstr "Può postare sulla mia bacheca"
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114
+#: ../../Zotlabs/Module/Article_edit.php:99
+#: ../../Zotlabs/Module/Admin/Profs.php:154
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Module/Editblock.php:114
+#: ../../Zotlabs/Module/Connections.php:265
+#: ../../Zotlabs/Module/Connections.php:303
+#: ../../Zotlabs/Module/Connections.php:323 ../../Zotlabs/Module/Wiki.php:202
+#: ../../Zotlabs/Module/Wiki.php:358 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Layouts.php:193
+#: ../../Zotlabs/Module/Editwebpage.php:142
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:85
+#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Lib/Apps.php:409
+#: ../../Zotlabs/Lib/ThreadItem.php:121 ../../Zotlabs/Storage/Browser.php:288
+#: ../../Zotlabs/Widget/Cdav.php:126 ../../Zotlabs/Widget/Cdav.php:162
+#: ../../addon/gitwiki/Mod_Gitwiki.php:151
+#: ../../addon/gitwiki/Mod_Gitwiki.php:252 ../../include/channel.php:1297
+#: ../../include/channel.php:1301 ../../include/menu.php:113
+msgid "Edit"
+msgstr "Modifica"
-#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:44
-msgid "Can comment on or like my posts"
-msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
+#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1102
+#: ../../Zotlabs/Module/Layouts.php:194 ../../Zotlabs/Module/Webpages.php:241
+#: ../../Zotlabs/Widget/Cdav.php:124 ../../include/conversation.php:1363
+msgid "Share"
+msgstr "Condividi"
-#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:45
-msgid "Can send me private mail messages"
-msgstr "Può inviarmi messaggi privati"
+#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editlayout.php:138
+#: ../../Zotlabs/Module/Cdav.php:897 ../../Zotlabs/Module/Cdav.php:1187
+#: ../../Zotlabs/Module/Article_edit.php:129
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Profs.php:155
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Module/Thing.php:262 ../../Zotlabs/Module/Editblock.php:139
+#: ../../Zotlabs/Module/Connections.php:273
+#: ../../Zotlabs/Module/Photos.php:1203 ../../Zotlabs/Module/Connedit.php:654
+#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Module/Group.php:179
+#: ../../Zotlabs/Module/Profiles.php:803
+#: ../../Zotlabs/Module/Editwebpage.php:167
+#: ../../Zotlabs/Module/Webpages.php:242
+#: ../../Zotlabs/Module/Card_edit.php:129 ../../Zotlabs/Lib/Apps.php:410
+#: ../../Zotlabs/Lib/ThreadItem.php:141 ../../Zotlabs/Storage/Browser.php:289
+#: ../../include/conversation.php:690 ../../include/conversation.php:733
+msgid "Delete"
+msgstr "Elimina"
-#: ../../Zotlabs/Access/Permissions.php:41
-msgid "Can like/dislike profiles and profile things"
-msgstr "Può aggiungere un \"mi piace\" sul profilo e sugli oggetti del profilo"
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Events.php:694
+#: ../../Zotlabs/Module/Wiki.php:204 ../../Zotlabs/Module/Layouts.php:198
+#: ../../Zotlabs/Module/Webpages.php:246 ../../Zotlabs/Module/Pubsites.php:60
+#: ../../addon/gitwiki/Mod_Gitwiki.php:153
+msgid "View"
+msgstr "Guarda"
-#: ../../Zotlabs/Access/Permissions.php:42
-msgid "Can forward to all my channel connections via @+ mentions in posts"
-msgstr "Può inoltrare post a tutti i miei contatti con una menzione @+"
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Hai superato il numero massimo di inviti."
-#: ../../Zotlabs/Access/Permissions.php:43
-msgid "Can chat with me"
-msgstr "Può aprire una chat con me"
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: non è un indirizzo email valido."
-#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:53
-msgid "Can source my public posts in derived channels"
-msgstr "Può usare i miei post pubblici per creare canali derivati"
+#: ../../Zotlabs/Module/Invite.php:67
+msgid "Please join us on $Projectname"
+msgstr "Unisciti a noi su $Projectname"
-#: ../../Zotlabs/Access/Permissions.php:45
-msgid "Can administer my channel"
-msgstr "Può amministrare il mio canale"
+#: ../../Zotlabs/Module/Invite.php:77
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:238
-msgid "parent"
-msgstr "cartella superiore"
+#: ../../Zotlabs/Module/Invite.php:82
+#: ../../addon/notifyadmin/notifyadmin.php:40
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s: la consegna del messaggio è fallita."
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2711
-msgid "Collection"
-msgstr "Cartella"
+#: ../../Zotlabs/Module/Invite.php:86
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d messaggio inviato."
+msgstr[1] "%d messaggi inviati."
-#: ../../Zotlabs/Storage/Browser.php:134
-msgid "Principal"
-msgstr "Principale"
+#: ../../Zotlabs/Module/Invite.php:107
+msgid "You have no more invitations available"
+msgstr "Non hai altri inviti disponibili"
-#: ../../Zotlabs/Storage/Browser.php:137
-msgid "Addressbook"
-msgstr "Rubrica"
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "Send invitations"
+msgstr "Spedisci inviti"
-#: ../../Zotlabs/Storage/Browser.php:140
-msgid "Calendar"
-msgstr "Calendario"
+#: ../../Zotlabs/Module/Invite.php:139
+msgid "Enter email addresses, one per line:"
+msgstr "Inserisci gli indirizzi email, uno per riga:"
-#: ../../Zotlabs/Storage/Browser.php:143
-msgid "Schedule Inbox"
-msgstr "Appuntamenti ricevuti"
+#: ../../Zotlabs/Module/Invite.php:140 ../../Zotlabs/Module/Mail.php:285
+msgid "Your message:"
+msgstr "Il tuo messaggio:"
-#: ../../Zotlabs/Storage/Browser.php:146
-msgid "Schedule Outbox"
-msgstr "Appuntamenti inviati"
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "Please join my community on $Projectname."
+msgstr "Entra nella mia comunità su $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:143
+msgid "You will need to supply this invitation code:"
+msgstr "Dovrai fornire questo codice invito:"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:789
-#: ../../Zotlabs/Module/Photos.php:1249
-#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
-#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1031
-#: ../../include/widgets.php:1683
+#: ../../Zotlabs/Module/Invite.php:146
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
+
+#: ../../Zotlabs/Module/Invite.php:147
+msgid "or visit"
+msgstr "oppure visita"
+
+#: ../../Zotlabs/Module/Invite.php:149
+msgid "3. Click [Connect]"
+msgstr "3. Clicca su [Aggiungi]"
+
+#: ../../Zotlabs/Module/Invite.php:151 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Events.php:493
+#: ../../Zotlabs/Module/Appman.php:152
+#: ../../Zotlabs/Module/Import_items.php:129
+#: ../../Zotlabs/Module/Setup.php:308 ../../Zotlabs/Module/Setup.php:349
+#: ../../Zotlabs/Module/Connect.php:98
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Plugins.php:438
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Channels.php:147
+#: ../../Zotlabs/Module/Admin/Themes.php:158
+#: ../../Zotlabs/Module/Admin/Site.php:289
+#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Account_edit.php:74
+#: ../../Zotlabs/Module/Admin/Security.php:104
+#: ../../Zotlabs/Module/Settings/Permcats.php:110
+#: ../../Zotlabs/Module/Settings/Channel.php:488
+#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Tokens.php:168
+#: ../../Zotlabs/Module/Settings/Account.php:118
+#: ../../Zotlabs/Module/Settings/Featured.php:54
+#: ../../Zotlabs/Module/Settings/Display.php:192
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374
+#: ../../Zotlabs/Module/Import.php:529 ../../Zotlabs/Module/Cal.php:345
+#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Photos.php:1082
+#: ../../Zotlabs/Module/Photos.php:1122 ../../Zotlabs/Module/Photos.php:1240
+#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Module/Pdledit.php:98
+#: ../../Zotlabs/Module/Poke.php:200 ../../Zotlabs/Module/Connedit.php:887
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:242
+#: ../../Zotlabs/Module/Email_validation.php:40
+#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Defperms.php:249
+#: ../../Zotlabs/Module/Group.php:87 ../../Zotlabs/Module/Profiles.php:726
+#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
+#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Mail.php:431
+#: ../../Zotlabs/Module/Filestorage.php:160 ../../Zotlabs/Module/Rate.php:166
+#: ../../Zotlabs/Lib/ThreadItem.php:750
+#: ../../Zotlabs/Widget/Eventstools.php:16
+#: ../../Zotlabs/Widget/Wiki_pages.php:40
+#: ../../Zotlabs/Widget/Wiki_pages.php:97
+#: ../../view/theme/redbasic_c/php/config.php:95
+#: ../../view/theme/redbasic/php/config.php:93
+#: ../../addon/skeleton/skeleton.php:65 ../../addon/gnusoc/gnusoc.php:273
+#: ../../addon/planets/planets.php:153
+#: ../../addon/openclipatar/openclipatar.php:53
+#: ../../addon/wppost/wppost.php:113 ../../addon/nsfw/nsfw.php:92
+#: ../../addon/ijpost/ijpost.php:89 ../../addon/dwpost/dwpost.php:89
+#: ../../addon/likebanner/likebanner.php:57
+#: ../../addon/redphotos/redphotos.php:136 ../../addon/irc/irc.php:53
+#: ../../addon/ljpost/ljpost.php:86 ../../addon/startpage/startpage.php:113
+#: ../../addon/diaspora/diaspora.php:822
+#: ../../addon/gitwiki/Mod_Gitwiki.php:155
+#: ../../addon/rainbowtag/rainbowtag.php:85 ../../addon/hzfiles/hzfiles.php:84
+#: ../../addon/visage/visage.php:170 ../../addon/nsabait/nsabait.php:161
+#: ../../addon/mailtest/mailtest.php:100
+#: ../../addon/openstreetmap/openstreetmap.php:168
+#: ../../addon/rtof/rtof.php:101 ../../addon/jappixmini/jappixmini.php:371
+#: ../../addon/superblock/superblock.php:120 ../../addon/nofed/nofed.php:80
+#: ../../addon/redred/redred.php:119 ../../addon/logrot/logrot.php:35
+#: ../../addon/frphotos/frphotos.php:96 ../../addon/pubcrawl/pubcrawl.php:1053
+#: ../../addon/chords/Mod_Chords.php:60 ../../addon/libertree/libertree.php:85
+#: ../../addon/flattrwidget/flattrwidget.php:124
+#: ../../addon/statusnet/statusnet.php:322
+#: ../../addon/statusnet/statusnet.php:380
+#: ../../addon/statusnet/statusnet.php:432
+#: ../../addon/statusnet/statusnet.php:900 ../../addon/twitter/twitter.php:218
+#: ../../addon/twitter/twitter.php:265
+#: ../../addon/smileybutton/smileybutton.php:219
+#: ../../addon/piwik/piwik.php:95 ../../addon/pageheader/pageheader.php:48
+#: ../../addon/authchoose/authchoose.php:71 ../../addon/xmpp/xmpp.php:69
+#: ../../addon/pumpio/pumpio.php:237 ../../addon/redfiles/redfiles.php:124
+#: ../../addon/hubwall/hubwall.php:95 ../../include/js_strings.php:22
+msgid "Submit"
+msgstr "Salva"
+
+#: ../../Zotlabs/Module/Articles.php:38 ../../Zotlabs/Module/Articles.php:179
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/features.php:124
+#: ../../include/nav.php:469
+msgid "Articles"
+msgstr "Articoli"
+
+#: ../../Zotlabs/Module/Articles.php:95
+msgid "Add Article"
+msgstr "Aggiungi un articolo"
+
+#: ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Article_edit.php:17
+#: ../../Zotlabs/Module/Article_edit.php:33
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editwebpage.php:80
+#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Card_edit.php:17
+#: ../../Zotlabs/Module/Card_edit.php:33
+msgid "Item not found"
+msgstr "Elemento non trovato"
+
+#: ../../Zotlabs/Module/Editlayout.php:128
+#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189
+msgid "Layout Name"
+msgstr "Nome layout"
+
+#: ../../Zotlabs/Module/Editlayout.php:129
+#: ../../Zotlabs/Module/Layouts.php:132
+msgid "Layout Description (Optional)"
+msgstr "Descrizione del layout (facoltativa)"
+
+#: ../../Zotlabs/Module/Editlayout.php:137
+msgid "Edit Layout"
+msgstr "Modifica il layout"
+
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:86
+#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Cloud.php:111 ../../Zotlabs/Module/Group.php:74
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:68
+#: ../../Zotlabs/Module/Like.php:296 ../../Zotlabs/Web/WebServer.php:122
+#: ../../addon/redphotos/redphotos.php:119 ../../addon/hzfiles/hzfiles.php:73
+#: ../../addon/frphotos/frphotos.php:81 ../../addon/redfiles/redfiles.php:109
+#: ../../include/items.php:358
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
+msgid "Invalid profile identifier."
+msgstr "Indentificativo del profilo non valido."
+
+#: ../../Zotlabs/Module/Profperm.php:111
+msgid "Profile Visibility Editor"
+msgstr "Modifica la visibilità del profilo"
+
+#: ../../Zotlabs/Module/Profperm.php:113 ../../include/channel.php:1634
+msgid "Profile"
+msgstr "Profilo"
+
+#: ../../Zotlabs/Module/Profperm.php:115
+msgid "Click on a contact to add or remove."
+msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
+
+#: ../../Zotlabs/Module/Profperm.php:124
+msgid "Visible To"
+msgstr "Visibile a"
+
+#: ../../Zotlabs/Module/Profperm.php:140
+#: ../../Zotlabs/Module/Connections.php:140
+msgid "All Connections"
+msgstr "Tutti i contatti"
+
+#: ../../Zotlabs/Module/Cdav.php:785
+msgid "INVALID EVENT DISMISSED!"
+msgstr "EVENTO NON VALIDO ELIMINATO!"
+
+#: ../../Zotlabs/Module/Cdav.php:786
+msgid "Summary: "
+msgstr "Sommario:"
+
+#: ../../Zotlabs/Module/Cdav.php:786 ../../Zotlabs/Module/Cdav.php:787
+#: ../../Zotlabs/Module/Cdav.php:794 ../../Zotlabs/Module/Embedphotos.php:146
+#: ../../Zotlabs/Module/Photos.php:817 ../../Zotlabs/Module/Photos.php:1273
+#: ../../Zotlabs/Lib/Apps.php:754 ../../Zotlabs/Lib/Apps.php:832
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Widget/Portfolio.php:95
+#: ../../Zotlabs/Widget/Album.php:84 ../../addon/pubcrawl/as.php:853
+#: ../../include/conversation.php:1160
msgid "Unknown"
msgstr "Sconosciuto"
-#: ../../Zotlabs/Storage/Browser.php:225 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:96
-#: ../../include/conversation.php:1679
-msgid "Files"
-msgstr "Archivio file"
+#: ../../Zotlabs/Module/Cdav.php:787
+msgid "Date: "
+msgstr "Data:"
-#: ../../Zotlabs/Storage/Browser.php:226
-msgid "Total"
-msgstr "Totale"
+#: ../../Zotlabs/Module/Cdav.php:788 ../../Zotlabs/Module/Cdav.php:795
+msgid "Reason: "
+msgstr "Motivo:"
-#: ../../Zotlabs/Storage/Browser.php:228
-msgid "Shared"
-msgstr "Condiviso"
+#: ../../Zotlabs/Module/Cdav.php:793
+msgid "INVALID CARD DISMISSED!"
+msgstr "CARD NON VALIDA ELIMINATA!"
-#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:321
-#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:147
-#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
-#: ../../Zotlabs/Module/Webpages.php:239
-msgid "Create"
-msgstr "Crea"
+#: ../../Zotlabs/Module/Cdav.php:794
+msgid "Name: "
+msgstr "Nome:"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
-#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:816 ../../Zotlabs/Module/Photos.php:1370
-#: ../../Zotlabs/Module/Profile_photo.php:390
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1696
-msgid "Upload"
-msgstr "Carica"
+#: ../../Zotlabs/Module/Cdav.php:868 ../../Zotlabs/Module/Events.php:460
+msgid "Event title"
+msgstr "Titolo dell'evento"
-#: ../../Zotlabs/Storage/Browser.php:234
-#: ../../Zotlabs/Module/Admin/Channels.php:163
-#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Chat.php:250
-#: ../../Zotlabs/Module/Settings/Oauth.php:89
-#: ../../Zotlabs/Module/Settings/Oauth.php:115
-msgid "Name"
-msgstr "Nome"
+#: ../../Zotlabs/Module/Cdav.php:869 ../../Zotlabs/Module/Events.php:466
+msgid "Start date and time"
+msgstr "Data e ora di inizio"
-#: ../../Zotlabs/Storage/Browser.php:235
-msgid "Type"
-msgstr "Tipo"
+#: ../../Zotlabs/Module/Cdav.php:869 ../../Zotlabs/Module/Cdav.php:870
+msgid "Example: YYYY-MM-DD HH:mm"
+msgstr "Esempio: YYYY-MM-DD HH:mm"
-#: ../../Zotlabs/Storage/Browser.php:236
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1372
-msgid "Size"
-msgstr "Dimensione"
+#: ../../Zotlabs/Module/Cdav.php:870
+msgid "End date and time"
+msgstr "Data e ora di fine"
-#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:102
-msgid "Last Modified"
-msgstr "Ultima modifica"
+#: ../../Zotlabs/Module/Cdav.php:871 ../../Zotlabs/Module/Events.php:473
+#: ../../Zotlabs/Module/Appman.php:142 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../addon/rendezvous/rendezvous.php:173
+msgid "Description"
+msgstr "Descrizione"
-#: ../../Zotlabs/Storage/Browser.php:239
-#: ../../Zotlabs/Module/Admin/Profs.php:154
-#: ../../Zotlabs/Module/Connections.php:290
-#: ../../Zotlabs/Module/Connections.php:310
-#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Editlayout.php:114
-#: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Layouts.php:192
-#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:84
-#: ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Module/Settings/Oauth.php:149
-#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../Zotlabs/Lib/Apps.php:341
-#: ../../include/channel.php:959 ../../include/channel.php:963
-#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39
-#: ../../include/menu.php:113
-msgid "Edit"
-msgstr "Modifica"
+#: ../../Zotlabs/Module/Cdav.php:872 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Profiles.php:509
+#: ../../Zotlabs/Module/Profiles.php:737 ../../Zotlabs/Module/Pubsites.php:52
+#: ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Posizione geografica"
-#: ../../Zotlabs/Storage/Browser.php:240
-#: ../../Zotlabs/Module/Admin/Accounts.php:174
-#: ../../Zotlabs/Module/Admin/Channels.php:153
-#: ../../Zotlabs/Module/Admin/Profs.php:155
-#: ../../Zotlabs/Module/Connections.php:263
-#: ../../Zotlabs/Module/Connedit.php:607
-#: ../../Zotlabs/Module/Editblock.php:134
-#: ../../Zotlabs/Module/Editlayout.php:137
-#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Module/Thing.php:261
-#: ../../Zotlabs/Module/Settings/Oauth.php:150
-#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../Zotlabs/Lib/Apps.php:342
-#: ../../include/conversation.php:660
-msgid "Delete"
-msgstr "Elimina"
+#: ../../Zotlabs/Module/Cdav.php:879 ../../Zotlabs/Module/Events.php:689
+#: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Cal.php:346 ../../Zotlabs/Module/Photos.php:971
+msgid "Previous"
+msgstr "Precendente"
-#: ../../Zotlabs/Storage/Browser.php:299
-#, php-format
-msgid "You are using %1$s of your available file storage."
-msgstr "Stai usando %1$s dello spazio disponibile per i tuoi file."
+#: ../../Zotlabs/Module/Cdav.php:880 ../../Zotlabs/Module/Events.php:690
+#: ../../Zotlabs/Module/Events.php:699 ../../Zotlabs/Module/Setup.php:263
+#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Cal.php:347
+#: ../../Zotlabs/Module/Photos.php:980
+msgid "Next"
+msgstr "Successivo"
-#: ../../Zotlabs/Storage/Browser.php:304
-#, php-format
-msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
-msgstr "Stai usando %1$s di %2$s che hai a disposizione per i file. (%3$s&#37;)"
+#: ../../Zotlabs/Module/Cdav.php:881 ../../Zotlabs/Module/Events.php:700
+#: ../../Zotlabs/Module/Cal.php:348
+msgid "Today"
+msgstr "Oggi"
-#: ../../Zotlabs/Storage/Browser.php:315
-msgid "WARNING:"
-msgstr "ATTENZIONE:"
+#: ../../Zotlabs/Module/Cdav.php:882 ../../Zotlabs/Module/Events.php:695
+msgid "Month"
+msgstr "Mese"
-#: ../../Zotlabs/Storage/Browser.php:320
-msgid "Create new folder"
-msgstr "Nuova cartella"
+#: ../../Zotlabs/Module/Cdav.php:883 ../../Zotlabs/Module/Events.php:696
+msgid "Week"
+msgstr "Settimana"
-#: ../../Zotlabs/Storage/Browser.php:322
-msgid "Upload file"
-msgstr "Carica un file"
+#: ../../Zotlabs/Module/Cdav.php:884 ../../Zotlabs/Module/Events.php:697
+msgid "Day"
+msgstr "Giorno"
-#: ../../Zotlabs/Storage/Browser.php:335
-msgid "Drop files here to immediately upload"
-msgstr "Trascina i file qui per caricarli al volo"
+#: ../../Zotlabs/Module/Cdav.php:885
+msgid "List month"
+msgstr "Lista del mese"
-#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:128
-#: ../../Zotlabs/Module/Achievements.php:34
-#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104
-#: ../../Zotlabs/Module/Channel.php:229 ../../Zotlabs/Module/Channel.php:270
-#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Bookmarks.php:61
-#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
-#: ../../Zotlabs/Module/Mail.php:121 ../../Zotlabs/Module/Connections.php:33
-#: ../../Zotlabs/Module/Cover_photo.php:277
-#: ../../Zotlabs/Module/Cover_photo.php:290
-#: ../../Zotlabs/Module/Connedit.php:395 ../../Zotlabs/Module/Editblock.php:67
-#: ../../Zotlabs/Module/Editlayout.php:67
-#: ../../Zotlabs/Module/Editlayout.php:90
-#: ../../Zotlabs/Module/Editwebpage.php:68
-#: ../../Zotlabs/Module/Editwebpage.php:89
-#: ../../Zotlabs/Module/Editwebpage.php:104
-#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Api.php:12
-#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Filestorage.php:23
-#: ../../Zotlabs/Module/Filestorage.php:78
-#: ../../Zotlabs/Module/Filestorage.php:93
-#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Manage.php:10
-#: ../../Zotlabs/Module/Group.php:13 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Invite.php:17
-#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Like.php:181
-#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Message.php:18
-#: ../../Zotlabs/Module/Setup.php:220 ../../Zotlabs/Module/Mood.php:116
-#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/New_channel.php:77
-#: ../../Zotlabs/Module/New_channel.php:104
-#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
-#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
-#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89
-#: ../../Zotlabs/Module/Profile_photo.php:265
-#: ../../Zotlabs/Module/Profile_photo.php:278
-#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Settings.php:59
-#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
-#: ../../Zotlabs/Module/Webpages.php:116 ../../Zotlabs/Module/Editpost.php:17
-#: ../../Zotlabs/Module/Events.php:264
-#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
-#: ../../Zotlabs/Module/Thing.php:335 ../../Zotlabs/Module/Item.php:214
-#: ../../Zotlabs/Module/Item.php:222 ../../Zotlabs/Module/Item.php:1068
-#: ../../Zotlabs/Module/Sharedwithme.php:11
-#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
-#: ../../Zotlabs/Module/Viewconnections.php:28
-#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137
-#: ../../include/photos.php:27 ../../include/items.php:3506
-#: ../../include/attach.php:142 ../../include/attach.php:190
-#: ../../include/attach.php:253 ../../include/attach.php:267
-#: ../../include/attach.php:274 ../../include/attach.php:339
-#: ../../include/attach.php:353 ../../include/attach.php:360
-#: ../../include/attach.php:440 ../../include/attach.php:909
-#: ../../include/attach.php:980 ../../include/attach.php:1132
-msgid "Permission denied."
-msgstr "Permesso negato."
+#: ../../Zotlabs/Module/Cdav.php:886
+msgid "List week"
+msgstr "Lista della settimana"
-#: ../../Zotlabs/Web/Router.php:146 ../../include/help.php:56
-msgid "Not Found"
-msgstr "Non disponibile"
+#: ../../Zotlabs/Module/Cdav.php:887
+msgid "List day"
+msgstr "Lista del giorno"
-#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Page.php:94
-#: ../../Zotlabs/Module/Block.php:79 ../../Zotlabs/Module/Display.php:120
-#: ../../include/help.php:59
-msgid "Page not found."
-msgstr "Pagina non trovata."
+#: ../../Zotlabs/Module/Cdav.php:894
+msgid "More"
+msgstr "Di più"
-#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Group.php:72
-#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:66
-#: ../../Zotlabs/Module/Import_items.php:114 ../../Zotlabs/Module/Like.php:283
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:403
-msgid "Permission denied"
-msgstr "Permesso negato"
+#: ../../Zotlabs/Module/Cdav.php:895
+msgid "Less"
+msgstr "Meno"
-#: ../../Zotlabs/Zot/Auth.php:138
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
+#: ../../Zotlabs/Module/Cdav.php:896
+msgid "Select calendar"
+msgstr "Seleziona calendario"
-#: ../../Zotlabs/Zot/Auth.php:246
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
+#: ../../Zotlabs/Module/Cdav.php:898
+msgid "Delete all"
+msgstr "Elimina tutto"
-#: ../../Zotlabs/Module/Achievements.php:15
-#: ../../Zotlabs/Module/Editblock.php:31
-#: ../../Zotlabs/Module/Editlayout.php:31
-#: ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Connect.php:17
-#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Profile.php:20
-#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Layouts.php:31
-#: ../../Zotlabs/Module/Webpages.php:33 ../../include/channel.php:859
-msgid "Requested profile is not available."
-msgstr "Il profilo richiesto non è disponibile."
+#: ../../Zotlabs/Module/Cdav.php:899 ../../Zotlabs/Module/Cdav.php:1188
+#: ../../Zotlabs/Module/Admin/Plugins.php:423
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../Zotlabs/Module/Wiki.php:345 ../../Zotlabs/Module/Wiki.php:375
+#: ../../Zotlabs/Module/Profile_photo.php:464
+#: ../../Zotlabs/Module/Connedit.php:924 ../../Zotlabs/Module/Fbrowser.php:66
+#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Profiles.php:804
+#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Module/Cover_photo.php:365
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../addon/gitwiki/Mod_Gitwiki.php:244
+#: ../../addon/gitwiki/Mod_Gitwiki.php:267 ../../include/conversation.php:1386
+#: ../../include/conversation.php:1435
+msgid "Cancel"
+msgstr "Annulla"
-#: ../../Zotlabs/Module/Achievements.php:38
-msgid "Some blurb about what to do when you're new here"
-msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
+#: ../../Zotlabs/Module/Cdav.php:900
+msgid "Sorry! Editing of recurrent events is not yet implemented."
+msgstr "Spiacenti! La modifica di eventi ricorrenti non è ancora disponibile."
-#: ../../Zotlabs/Module/Chatsvc.php:117
-msgid "Away"
-msgstr "Assente"
+#: ../../Zotlabs/Module/Cdav.php:1170
+#: ../../Zotlabs/Module/Sharedwithme.php:105
+#: ../../Zotlabs/Module/Admin/Channels.php:159
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
+#: ../../Zotlabs/Module/Wiki.php:209 ../../Zotlabs/Module/Connedit.php:906
+#: ../../Zotlabs/Module/Chat.php:251 ../../Zotlabs/Lib/NativeWikiPage.php:558
+#: ../../Zotlabs/Storage/Browser.php:283
+#: ../../Zotlabs/Widget/Wiki_page_history.php:22
+#: ../../addon/rendezvous/rendezvous.php:172
+#: ../../addon/gitwiki/Mod_Gitwiki.php:158
+msgid "Name"
+msgstr "Nome"
-#: ../../Zotlabs/Module/Chatsvc.php:122
-msgid "Online"
-msgstr "Online"
+#: ../../Zotlabs/Module/Cdav.php:1171 ../../Zotlabs/Module/Connedit.php:907
+msgid "Organisation"
+msgstr "Organizzazione"
-#: ../../Zotlabs/Module/Network.php:95
-msgid "No such group"
-msgstr "Impossibile trovare il gruppo di canali"
+#: ../../Zotlabs/Module/Cdav.php:1172 ../../Zotlabs/Module/Connedit.php:908
+msgid "Title"
+msgstr "Titolo"
-#: ../../Zotlabs/Module/Network.php:135
-msgid "No such channel"
-msgstr "Canale sconosciuto"
+#: ../../Zotlabs/Module/Cdav.php:1173 ../../Zotlabs/Module/Connedit.php:909
+#: ../../Zotlabs/Module/Profiles.php:789
+msgid "Phone"
+msgstr "Telefono"
-#: ../../Zotlabs/Module/Network.php:140
-msgid "forum"
-msgstr "forum"
+#: ../../Zotlabs/Module/Cdav.php:1174
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182
+#: ../../Zotlabs/Module/Connedit.php:910 ../../Zotlabs/Module/Profiles.php:790
+#: ../../addon/openid/MysqlProvider.php:56
+#: ../../addon/openid/MysqlProvider.php:57 ../../addon/rtof/rtof.php:93
+#: ../../addon/redred/redred.php:107 ../../include/network.php:1775
+msgid "Email"
+msgstr "Email"
-#: ../../Zotlabs/Module/Network.php:152
-msgid "Search Results For:"
-msgstr "Cerca risultati con:"
+#: ../../Zotlabs/Module/Cdav.php:1175 ../../Zotlabs/Module/Connedit.php:911
+#: ../../Zotlabs/Module/Profiles.php:791
+msgid "Instant messenger"
+msgstr "Messaggistica istantanea"
-#: ../../Zotlabs/Module/Network.php:218
-msgid "Privacy group is empty"
-msgstr "Il gruppo di canali è vuoto"
+#: ../../Zotlabs/Module/Cdav.php:1176 ../../Zotlabs/Module/Connedit.php:912
+#: ../../Zotlabs/Module/Profiles.php:792
+msgid "Website"
+msgstr "Sito web"
-#: ../../Zotlabs/Module/Network.php:227
-msgid "Privacy group: "
-msgstr "Gruppo di canali:"
+#: ../../Zotlabs/Module/Cdav.php:1177 ../../Zotlabs/Module/Locs.php:118
+#: ../../Zotlabs/Module/Admin/Channels.php:160
+#: ../../Zotlabs/Module/Connedit.php:913 ../../Zotlabs/Module/Profiles.php:502
+#: ../../Zotlabs/Module/Profiles.php:793
+msgid "Address"
+msgstr "Indirizzo"
-#: ../../Zotlabs/Module/Network.php:253
-msgid "Invalid connection."
-msgstr "Contatto non valido."
+#: ../../Zotlabs/Module/Cdav.php:1178 ../../Zotlabs/Module/Connedit.php:914
+#: ../../Zotlabs/Module/Profiles.php:794
+msgid "Note"
+msgstr "Nota"
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "La chiamata all'URL restituisce questo errore: %1$s"
+#: ../../Zotlabs/Module/Cdav.php:1179 ../../Zotlabs/Module/Connedit.php:915
+#: ../../Zotlabs/Module/Profiles.php:795 ../../include/event.php:1308
+#: ../../include/connections.php:682
+msgid "Mobile"
+msgstr "Mobile"
-#: ../../Zotlabs/Module/Acl.php:313
-msgid "network"
-msgstr "rete"
+#: ../../Zotlabs/Module/Cdav.php:1180 ../../Zotlabs/Module/Connedit.php:916
+#: ../../Zotlabs/Module/Profiles.php:796 ../../include/event.php:1309
+#: ../../include/connections.php:683
+msgid "Home"
+msgstr "Bacheca"
+
+#: ../../Zotlabs/Module/Cdav.php:1181 ../../Zotlabs/Module/Connedit.php:917
+#: ../../Zotlabs/Module/Profiles.php:797 ../../include/event.php:1312
+#: ../../include/connections.php:686
+msgid "Work"
+msgstr "Lavoro"
+
+#: ../../Zotlabs/Module/Cdav.php:1183 ../../Zotlabs/Module/Connedit.php:919
+#: ../../Zotlabs/Module/Profiles.php:799
+#: ../../addon/jappixmini/jappixmini.php:368
+msgid "Add Contact"
+msgstr "Aggiungi contatto"
+
+#: ../../Zotlabs/Module/Cdav.php:1184 ../../Zotlabs/Module/Connedit.php:920
+#: ../../Zotlabs/Module/Profiles.php:800
+msgid "Add Field"
+msgstr "Aggiungi campo"
+
+#: ../../Zotlabs/Module/Cdav.php:1186
+#: ../../Zotlabs/Module/Admin/Plugins.php:453
+#: ../../Zotlabs/Module/Settings/Oauth.php:42
+#: ../../Zotlabs/Module/Settings/Oauth.php:113
+#: ../../Zotlabs/Module/Connedit.php:922 ../../Zotlabs/Module/Profiles.php:802
+#: ../../Zotlabs/Lib/Apps.php:393
+msgid "Update"
+msgstr "Aggiorna"
+
+#: ../../Zotlabs/Module/Cdav.php:1189 ../../Zotlabs/Module/Connedit.php:925
+msgid "P.O. Box"
+msgstr "P.O. Box"
+
+#: ../../Zotlabs/Module/Cdav.php:1190 ../../Zotlabs/Module/Connedit.php:926
+msgid "Additional"
+msgstr "Aggiuntivo"
+
+#: ../../Zotlabs/Module/Cdav.php:1191 ../../Zotlabs/Module/Connedit.php:927
+msgid "Street"
+msgstr "Via"
+
+#: ../../Zotlabs/Module/Cdav.php:1192 ../../Zotlabs/Module/Connedit.php:928
+msgid "Locality"
+msgstr "Località"
-#: ../../Zotlabs/Module/Acl.php:323
-msgid "RSS"
-msgstr "RSS"
+#: ../../Zotlabs/Module/Cdav.php:1193 ../../Zotlabs/Module/Connedit.php:929
+msgid "Region"
+msgstr "Regione"
+
+#: ../../Zotlabs/Module/Cdav.php:1194 ../../Zotlabs/Module/Connedit.php:930
+msgid "ZIP Code"
+msgstr "CAP"
+
+#: ../../Zotlabs/Module/Cdav.php:1195 ../../Zotlabs/Module/Connedit.php:931
+#: ../../Zotlabs/Module/Profiles.php:760
+msgid "Country"
+msgstr "Nazione"
+
+#: ../../Zotlabs/Module/Cdav.php:1242
+msgid "Default Calendar"
+msgstr "Calendario predefinito"
+
+#: ../../Zotlabs/Module/Cdav.php:1252
+msgid "Default Addressbook"
+msgstr "Rubrica predefinita"
+
+#: ../../Zotlabs/Module/Regdir.php:49 ../../Zotlabs/Module/Dirsearch.php:25
+msgid "This site is not a directory server"
+msgstr "Questo non è un directory server"
-#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Wiki.php:20
-#: ../../Zotlabs/Module/Chat.php:25
+#: ../../Zotlabs/Module/Channel.php:32 ../../Zotlabs/Module/Chat.php:25
+#: ../../addon/gitwiki/Mod_Gitwiki.php:28 ../../addon/chess/chess.php:508
msgid "You must be logged in to see this page."
msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
-#: ../../Zotlabs/Module/Channel.php:40
+#: ../../Zotlabs/Module/Channel.php:47 ../../Zotlabs/Module/Hcard.php:37
+#: ../../Zotlabs/Module/Profile.php:45
msgid "Posts and comments"
msgstr "Post e commenti"
-#: ../../Zotlabs/Module/Channel.php:41
+#: ../../Zotlabs/Module/Channel.php:54 ../../Zotlabs/Module/Hcard.php:44
+#: ../../Zotlabs/Module/Profile.php:52
msgid "Only posts"
msgstr "Solo post"
-#: ../../Zotlabs/Module/Channel.php:101
+#: ../../Zotlabs/Module/Channel.php:107
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
-#: ../../Zotlabs/Module/Import.php:33
+#: ../../Zotlabs/Module/Uexport.php:57 ../../Zotlabs/Module/Uexport.php:58
+msgid "Export Channel"
+msgstr "Esporta il canale"
+
+#: ../../Zotlabs/Module/Uexport.php:59
+msgid ""
+"Export your basic channel information to a file. This acts as a backup of "
+"your connections, permissions, profile and basic data, which can be used to "
+"import your data to a new server hub, but does not contain your content."
+msgstr "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato."
+
+#: ../../Zotlabs/Module/Uexport.php:60
+msgid "Export Content"
+msgstr "Esporta i contenuti"
+
+#: ../../Zotlabs/Module/Uexport.php:61
+msgid ""
+"Export your channel information and recent content to a JSON backup that can"
+" be restored or imported to another server hub. This backs up all of your "
+"connections, permissions, profile data and several months of posts. This "
+"file may be VERY large. Please be patient - it may take several minutes for"
+" this download to begin."
+msgstr "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento."
+
+#: ../../Zotlabs/Module/Uexport.php:63
+msgid "Export your posts from a given year."
+msgstr "Esporta i tuoi post a partire dall'anno scelto."
+
+#: ../../Zotlabs/Module/Uexport.php:65
+msgid ""
+"You may also export your posts and conversations for a particular year or "
+"month. Adjust the date in your browser location bar to select other dates. "
+"If the export fails (possibly due to memory exhaustion on your server hub), "
+"please try again selecting a more limited date range."
+msgstr "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date."
+
+#: ../../Zotlabs/Module/Uexport.php:66
#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Il tuo account permette di creare al massimo %d canali."
+msgid ""
+"To select all posts for a given year, such as this year, visit <a "
+"href=\"%1$s\">%2$s</a>"
+msgstr "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1$s\">%2$s</a> "
+
+#: ../../Zotlabs/Module/Uexport.php:67
+#, php-format
+msgid ""
+"To select all posts for a given month, such as January of this year, visit "
+"<a href=\"%1$s\">%2$s</a>"
+msgstr "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1$s\">%2$s</a>"
+
+#: ../../Zotlabs/Module/Uexport.php:68
+#, php-format
+msgid ""
+"These content files may be imported or restored by visiting <a "
+"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results"
+" please import or restore these in date order (oldest first)."
+msgstr "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1$s\">%2$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)"
+
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "Welcome to Hubzilla!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Hq.php:140
+msgid "You have got no unseen posts..."
+msgstr ""
+
+#: ../../Zotlabs/Module/Search.php:17 ../../Zotlabs/Module/Photos.php:540
+#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Directory.php:63
+#: ../../Zotlabs/Module/Directory.php:68 ../../Zotlabs/Module/Display.php:30
+#: ../../Zotlabs/Module/Viewconnections.php:23
+msgid "Public access denied."
+msgstr "Accesso pubblico negato."
+
+#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:319
+#: ../../Zotlabs/Lib/Apps.php:256 ../../Zotlabs/Widget/Sitesearch.php:31
+#: ../../include/text.php:1051 ../../include/text.php:1063
+#: ../../include/acl_selectors.php:118 ../../include/nav.php:179
+msgid "Search"
+msgstr "Cerca"
+
+#: ../../Zotlabs/Module/Search.php:226
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Elementi taggati con: %s"
+
+#: ../../Zotlabs/Module/Search.php:228
+#, php-format
+msgid "Search results for: %s"
+msgstr "Risultati ricerca: %s"
+
+#: ../../Zotlabs/Module/Pubstream.php:93
+#: ../../Zotlabs/Widget/Notifications.php:131
+msgid "Public Stream"
+msgstr "Flusso pubblico"
+
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
+msgid "Location not found."
+msgstr "Indirizzo non trovato."
+
+#: ../../Zotlabs/Module/Locs.php:62
+msgid "Location lookup failed."
+msgstr "La ricerca dell'indirizzo è fallita."
+
+#: ../../Zotlabs/Module/Locs.php:66
+msgid ""
+"Please select another location to become primary before removing the primary"
+" location."
+msgstr "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria."
+
+#: ../../Zotlabs/Module/Locs.php:95
+msgid "Syncing locations"
+msgstr "Sincronizzazione tra hub"
+
+#: ../../Zotlabs/Module/Locs.php:105
+msgid "No locations found."
+msgstr "Nessun indirizzo trovato."
+
+#: ../../Zotlabs/Module/Locs.php:116
+msgid "Manage Channel Locations"
+msgstr "Modifica gli indirizzi del canale"
+
+#: ../../Zotlabs/Module/Locs.php:119 ../../Zotlabs/Module/Admin.php:111
+msgid "Primary"
+msgstr "Primario"
+
+#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
+msgid "Drop"
+msgstr "Elimina"
-#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr "Sincronizza ora"
+
+#: ../../Zotlabs/Module/Locs.php:123
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione."
+
+#: ../../Zotlabs/Module/Locs.php:124
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli."
+
+#: ../../Zotlabs/Module/Locs.php:125
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante."
+
+#: ../../Zotlabs/Module/Apporder.php:44
+msgid "Change Order of Pinned Navbar Apps"
+msgstr "Cambia l'ordine della app bloccate sulla barra di navigazione"
+
+#: ../../Zotlabs/Module/Apporder.php:44
+msgid "Change Order of App Tray Apps"
+msgstr "Cambia l'ordine delle app elencate nel menu delle app"
+
+#: ../../Zotlabs/Module/Apporder.php:45
+msgid ""
+"Use arrows to move the corresponding app left (top) or right (bottom) in the"
+" navbar"
+msgstr "Utilizza le frecce per spostare l'app a sinistra (su) o destra (giù) nella barra di navigazione"
+
+#: ../../Zotlabs/Module/Apporder.php:45
+msgid "Use arrows to move the corresponding app up or down in the app tray"
+msgstr "Utilizza le frecce per spostare l'app su o giù nel menu delle app"
+
+#: ../../Zotlabs/Module/Mitem.php:28 ../../Zotlabs/Module/Menu.php:144
+msgid "Menu not found."
+msgstr "Menù non trovato."
+
+#: ../../Zotlabs/Module/Mitem.php:52
+msgid "Unable to create element."
+msgstr "Impossibile creare l'elemento."
+
+#: ../../Zotlabs/Module/Mitem.php:76
+msgid "Unable to update menu element."
+msgstr "Non è possibile aggiornare l'elemento del menù."
+
+#: ../../Zotlabs/Module/Mitem.php:92
+msgid "Unable to add menu element."
+msgstr "Impossibile aggiungere l'elemento al menù."
+
+#: ../../Zotlabs/Module/Mitem.php:120 ../../Zotlabs/Module/Menu.php:166
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "Non trovato."
+
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
+msgid "Menu Item Permissions"
+msgstr "Permessi del menu"
+
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid "(click to open/close)"
+msgstr "(clicca per aprire/chiudere)"
+
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176
+msgid "Link Name"
+msgstr "Nome link"
+
+#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239
+msgid "Link or Submenu Target"
+msgstr "Azione del link o del sottomenu"
+
+#: ../../Zotlabs/Module/Mitem.php:161
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
+
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240
+msgid "Use magic-auth if available"
+msgstr "Usa l'autenticazione tramite il tuo hub, se disponibile"
+
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:163
+#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
+#: ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Admin/Site.php:252
+#: ../../Zotlabs/Module/Settings/Channel.php:305
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
+#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Connedit.php:779
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Defperms.php:180 ../../Zotlabs/Module/Profiles.php:681
+#: ../../Zotlabs/Module/Filestorage.php:155
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic_c/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:98
+#: ../../addon/planets/planets.php:149 ../../addon/wppost/wppost.php:82
+#: ../../addon/wppost/wppost.php:105 ../../addon/wppost/wppost.php:109
+#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
+#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
+#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
+#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
+#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
+#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/jappixmini/jappixmini.php:313
+#: ../../addon/jappixmini/jappixmini.php:343
+#: ../../addon/jappixmini/jappixmini.php:351
+#: ../../addon/jappixmini/jappixmini.php:355
+#: ../../addon/jappixmini/jappixmini.php:359 ../../addon/nofed/nofed.php:72
+#: ../../addon/nofed/nofed.php:76 ../../addon/redred/redred.php:95
+#: ../../addon/redred/redred.php:99 ../../addon/libertree/libertree.php:69
+#: ../../addon/libertree/libertree.php:81
+#: ../../addon/flattrwidget/flattrwidget.php:120
+#: ../../addon/statusnet/statusnet.php:389
+#: ../../addon/statusnet/statusnet.php:411
+#: ../../addon/statusnet/statusnet.php:415
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
+#: ../../addon/smileybutton/smileybutton.php:211
+#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
+#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
+#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+msgid "No"
+msgstr "No"
+
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:163
+#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:471
+#: ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Admin/Site.php:254
+#: ../../Zotlabs/Module/Settings/Channel.php:305
+#: ../../Zotlabs/Module/Settings/Display.php:100
+#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Photos.php:697
+#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Wiki.php:219
+#: ../../Zotlabs/Module/Connedit.php:396 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Defperms.php:180
+#: ../../Zotlabs/Module/Profiles.php:681
+#: ../../Zotlabs/Module/Filestorage.php:155
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397 ../../boot.php:1587
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic_c/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:98
+#: ../../addon/planets/planets.php:149 ../../addon/wppost/wppost.php:82
+#: ../../addon/wppost/wppost.php:105 ../../addon/wppost/wppost.php:109
+#: ../../addon/nsfw/nsfw.php:84 ../../addon/ijpost/ijpost.php:73
+#: ../../addon/ijpost/ijpost.php:85 ../../addon/dwpost/dwpost.php:73
+#: ../../addon/dwpost/dwpost.php:85 ../../addon/ljpost/ljpost.php:70
+#: ../../addon/ljpost/ljpost.php:82 ../../addon/gitwiki/Mod_Gitwiki.php:166
+#: ../../addon/rainbowtag/rainbowtag.php:81 ../../addon/visage/visage.php:166
+#: ../../addon/nsabait/nsabait.php:157 ../../addon/rtof/rtof.php:81
+#: ../../addon/rtof/rtof.php:85 ../../addon/jappixmini/jappixmini.php:309
+#: ../../addon/jappixmini/jappixmini.php:313
+#: ../../addon/jappixmini/jappixmini.php:343
+#: ../../addon/jappixmini/jappixmini.php:351
+#: ../../addon/jappixmini/jappixmini.php:355
+#: ../../addon/jappixmini/jappixmini.php:359 ../../addon/nofed/nofed.php:72
+#: ../../addon/nofed/nofed.php:76 ../../addon/redred/redred.php:95
+#: ../../addon/redred/redred.php:99 ../../addon/libertree/libertree.php:69
+#: ../../addon/libertree/libertree.php:81
+#: ../../addon/flattrwidget/flattrwidget.php:120
+#: ../../addon/statusnet/statusnet.php:389
+#: ../../addon/statusnet/statusnet.php:411
+#: ../../addon/statusnet/statusnet.php:415
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:243
+#: ../../addon/twitter/twitter.php:252 ../../addon/twitter/twitter.php:261
+#: ../../addon/smileybutton/smileybutton.php:211
+#: ../../addon/smileybutton/smileybutton.php:215
+#: ../../addon/authchoose/authchoose.php:67 ../../addon/xmpp/xmpp.php:53
+#: ../../addon/pumpio/pumpio.php:219 ../../addon/pumpio/pumpio.php:223
+#: ../../addon/pumpio/pumpio.php:227 ../../addon/pumpio/pumpio.php:231
+#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
+#: ../../include/dir_fns.php:145
+msgid "Yes"
+msgstr "Sì"
+
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241
+msgid "Open link in new window"
+msgstr "Apri il link in una nuova finestra"
+
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Order in list"
+msgstr "Ordine dell'elenco"
+
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "I numeri più alti andranno in fondo all'elenco"
+
+#: ../../Zotlabs/Module/Mitem.php:165
+msgid "Submit and finish"
+msgstr "Salva e termina"
+
+#: ../../Zotlabs/Module/Mitem.php:166
+msgid "Submit and continue"
+msgstr "Salva e continua"
+
+#: ../../Zotlabs/Module/Mitem.php:174
+msgid "Menu:"
+msgstr "Menu:"
+
+#: ../../Zotlabs/Module/Mitem.php:177
+msgid "Link Target"
+msgstr "Destinazione link"
+
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Edit menu"
+msgstr "Modifica il menù"
+
+#: ../../Zotlabs/Module/Mitem.php:183
+msgid "Edit element"
+msgstr "Modifica l'elemento"
+
+#: ../../Zotlabs/Module/Mitem.php:184
+msgid "Drop element"
+msgstr "Elimina l'elemento"
+
+#: ../../Zotlabs/Module/Mitem.php:185
+msgid "New element"
+msgstr "Nuovo elemento"
+
+#: ../../Zotlabs/Module/Mitem.php:186
+msgid "Edit this menu container"
+msgstr "Modifica il contenitore del menù"
+
+#: ../../Zotlabs/Module/Mitem.php:187
+msgid "Add menu element"
+msgstr "Aggiungi un elemento al menù"
+
+#: ../../Zotlabs/Module/Mitem.php:188
+msgid "Delete this menu item"
+msgstr "Elimina questo elemento del menù"
+
+#: ../../Zotlabs/Module/Mitem.php:189
+msgid "Edit this menu item"
+msgstr "Modifica questo elemento del menù"
+
+#: ../../Zotlabs/Module/Mitem.php:206
+msgid "Menu item not found."
+msgstr "L'elemento del menù non è stato trovato."
+
+#: ../../Zotlabs/Module/Mitem.php:219
+msgid "Menu item deleted."
+msgstr "L'elemento del menù è stato eliminato."
+
+#: ../../Zotlabs/Module/Mitem.php:221
+msgid "Menu item could not be deleted."
+msgstr "L'elemento del menù non può essere eliminato."
+
+#: ../../Zotlabs/Module/Mitem.php:228
+msgid "Edit Menu Element"
+msgstr "Modifica l'elemento del menù"
+
+#: ../../Zotlabs/Module/Mitem.php:238
+msgid "Link text"
+msgstr "Testo del link"
+
+#: ../../Zotlabs/Module/Events.php:25
+msgid "Calendar entries imported."
+msgstr "Le voci del calendario sono state importate."
+
+#: ../../Zotlabs/Module/Events.php:27
+msgid "No calendar entries found."
+msgstr "Non sono state trovate voci del calendario."
+
+#: ../../Zotlabs/Module/Events.php:110
+msgid "Event can not end before it has started."
+msgstr "Un evento non può terminare prima del suo inizio."
+
+#: ../../Zotlabs/Module/Events.php:112 ../../Zotlabs/Module/Events.php:121
+#: ../../Zotlabs/Module/Events.php:143
+msgid "Unable to generate preview."
+msgstr "Impossibile creare un'anteprima."
+
+#: ../../Zotlabs/Module/Events.php:119
+msgid "Event title and start time are required."
+msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
+
+#: ../../Zotlabs/Module/Events.php:141 ../../Zotlabs/Module/Events.php:265
+msgid "Event not found."
+msgstr "Evento non trovato."
+
+#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Tagger.php:73
+#: ../../Zotlabs/Module/Like.php:385 ../../include/conversation.php:119
+#: ../../include/text.php:2007 ../../include/event.php:1153
+msgid "event"
+msgstr "l'evento"
+
+#: ../../Zotlabs/Module/Events.php:460
+msgid "Edit event title"
+msgstr "Modifica il titolo dell'evento"
+
+#: ../../Zotlabs/Module/Events.php:460 ../../Zotlabs/Module/Events.php:465
+#: ../../Zotlabs/Module/Appman.php:140 ../../Zotlabs/Module/Appman.php:141
+#: ../../Zotlabs/Module/Profiles.php:748 ../../Zotlabs/Module/Profiles.php:752
+#: ../../include/datetime.php:205
+msgid "Required"
+msgstr "Obbligatorio"
+
+#: ../../Zotlabs/Module/Events.php:462
+msgid "Categories (comma-separated list)"
+msgstr "Categorie (separate da virgola)"
+
+#: ../../Zotlabs/Module/Events.php:463
+msgid "Edit Category"
+msgstr "Modifica la categoria"
+
+#: ../../Zotlabs/Module/Events.php:463
+msgid "Category"
+msgstr "Categoria"
+
+#: ../../Zotlabs/Module/Events.php:466
+msgid "Edit start date and time"
+msgstr "Modifica data/ora di inizio"
+
+#: ../../Zotlabs/Module/Events.php:467 ../../Zotlabs/Module/Events.php:470
+msgid "Finish date and time are not known or not relevant"
+msgstr "La data e l'ora di fine non sono necessarie"
+
+#: ../../Zotlabs/Module/Events.php:469
+msgid "Edit finish date and time"
+msgstr "Modifica data/ora di fine"
+
+#: ../../Zotlabs/Module/Events.php:469
+msgid "Finish date and time"
+msgstr "Data e ora di fine"
+
+#: ../../Zotlabs/Module/Events.php:471 ../../Zotlabs/Module/Events.php:472
+msgid "Adjust for viewer timezone"
+msgstr "Adatta al fuso orario di chi legge"
+
+#: ../../Zotlabs/Module/Events.php:471
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "Importante per eventi che avvengono online ma con un certo fuso orario."
+
+#: ../../Zotlabs/Module/Events.php:473
+msgid "Edit Description"
+msgstr "Modifica la descrizione"
+
+#: ../../Zotlabs/Module/Events.php:475
+msgid "Edit Location"
+msgstr "Modifica il luogo"
+
+#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Photos.php:1123
+#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Lib/ThreadItem.php:760
+#: ../../include/conversation.php:1330
+msgid "Preview"
+msgstr "Anteprima"
+
+#: ../../Zotlabs/Module/Events.php:479 ../../include/conversation.php:1402
+msgid "Permission settings"
+msgstr "Permessi dei tuoi contatti"
+
+#: ../../Zotlabs/Module/Events.php:489
+msgid "Timezone:"
+msgstr "Fuso orario: "
+
+#: ../../Zotlabs/Module/Events.php:494
+msgid "Advanced Options"
+msgstr "Opzioni avanzate"
+
+#: ../../Zotlabs/Module/Events.php:605 ../../Zotlabs/Module/Cal.php:266
+msgid "l, F j"
+msgstr "l j F"
+
+#: ../../Zotlabs/Module/Events.php:633
+msgid "Edit event"
+msgstr "Modifica l'evento"
+
+#: ../../Zotlabs/Module/Events.php:635
+msgid "Delete event"
+msgstr "Elimina l'evento"
+
+#: ../../Zotlabs/Module/Events.php:660 ../../Zotlabs/Module/Cal.php:315
+#: ../../include/text.php:1826
+msgid "Link to Source"
+msgstr "Link al sito d'origine"
+
+#: ../../Zotlabs/Module/Events.php:669
+msgid "calendar"
+msgstr "calendario"
+
+#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:338
+msgid "Edit Event"
+msgstr "Modifica l'evento"
+
+#: ../../Zotlabs/Module/Events.php:688 ../../Zotlabs/Module/Cal.php:338
+msgid "Create Event"
+msgstr "Crea un evento"
+
+#: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Cal.php:341
+#: ../../include/channel.php:1637
+msgid "Export"
+msgstr "Esporta"
+
+#: ../../Zotlabs/Module/Events.php:731
+msgid "Event removed"
+msgstr "Evento eliminato"
+
+#: ../../Zotlabs/Module/Events.php:734
+msgid "Failed to remove event"
+msgstr "Impossibile eliminare l'evento"
+
+#: ../../Zotlabs/Module/Appman.php:38 ../../Zotlabs/Module/Appman.php:55
+msgid "App installed."
+msgstr "App installata"
+
+#: ../../Zotlabs/Module/Appman.php:48
+msgid "Malformed app."
+msgstr "L'app contiene errori"
+
+#: ../../Zotlabs/Module/Appman.php:129
+msgid "Embed code"
+msgstr "Inserisci il codice"
+
+#: ../../Zotlabs/Module/Appman.php:135
+msgid "Edit App"
+msgstr "Modifica app"
+
+#: ../../Zotlabs/Module/Appman.php:135
+msgid "Create App"
+msgstr "Crea una app"
+
+#: ../../Zotlabs/Module/Appman.php:140
+msgid "Name of app"
+msgstr "Nome app"
+
+#: ../../Zotlabs/Module/Appman.php:141
+msgid "Location (URL) of app"
+msgstr "Indirizzo (URL) della app"
+
+#: ../../Zotlabs/Module/Appman.php:143
+msgid "Photo icon URL"
+msgstr "URL icona"
+
+#: ../../Zotlabs/Module/Appman.php:143
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixel - facoltativa"
+
+#: ../../Zotlabs/Module/Appman.php:144
+msgid "Categories (optional, comma separated list)"
+msgstr "Categorie (facoltative, lista separata da virgole)"
+
+#: ../../Zotlabs/Module/Appman.php:145
+msgid "Version ID"
+msgstr "ID versione"
+
+#: ../../Zotlabs/Module/Appman.php:146
+msgid "Price of app"
+msgstr "Prezzo app"
+
+#: ../../Zotlabs/Module/Appman.php:147
+msgid "Location (URL) to purchase app"
+msgstr "Indirizzo (URL) per acquistare la app"
+
+#: ../../Zotlabs/Module/Regmod.php:15
+msgid "Please login."
+msgstr "Effettua l'accesso."
+
+#: ../../Zotlabs/Module/Magic.php:72
+msgid "Hub not found."
+msgstr "Hub non trovato."
+
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Tagger.php:69
+#: ../../Zotlabs/Module/Like.php:383
+#: ../../addon/redphotos/redphotohelper.php:71
+#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
+#: ../../include/conversation.php:116 ../../include/text.php:2004
+msgid "photo"
+msgstr "la foto"
+
+#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Module/Like.php:383
+#: ../../addon/diaspora/Receiver.php:1518 ../../addon/pubcrawl/as.php:1359
+#: ../../include/conversation.php:144 ../../include/text.php:2010
+msgid "status"
+msgstr "il messaggio di stato"
+
+#: ../../Zotlabs/Module/Subthread.php:142
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s sta seguendo %3$s di %2$s"
+
+#: ../../Zotlabs/Module/Subthread.php:144
+#, php-format
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr "%1$s non segue più %3$s di %2$s"
+
+#: ../../Zotlabs/Module/Article_edit.php:44 ../../Zotlabs/Module/Cal.php:62
+#: ../../Zotlabs/Module/Chanview.php:96 ../../Zotlabs/Module/Page.php:75
+#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Block.php:41
+#: ../../Zotlabs/Module/Card_edit.php:44
+msgid "Channel not found."
+msgstr "Canale non trovato."
+
+#: ../../Zotlabs/Module/Article_edit.php:101
+#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:207
+#: ../../Zotlabs/Module/Editwebpage.php:143 ../../Zotlabs/Module/Mail.php:288
+#: ../../Zotlabs/Module/Mail.php:430 ../../Zotlabs/Module/Card_edit.php:101
+#: ../../include/conversation.php:1278
+msgid "Insert web link"
+msgstr "Inserisci un indirizzo web"
+
+#: ../../Zotlabs/Module/Article_edit.php:117
+#: ../../Zotlabs/Module/Editblock.php:129
+#: ../../Zotlabs/Module/Card_edit.php:117 ../../include/conversation.php:1398
+msgid "Title (optional)"
+msgstr "Titolo (facoltativo)"
+
+#: ../../Zotlabs/Module/Article_edit.php:128
+msgid "Edit Article"
+msgstr "Modifica l'articolo"
+
+#: ../../Zotlabs/Module/Import_items.php:48 ../../Zotlabs/Module/Import.php:64
msgid "Nothing to import."
msgstr "Non c'è niente da importare."
-#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
+#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:79
+#: ../../Zotlabs/Module/Import.php:95
msgid "Unable to download data from old server"
msgstr "Impossibile importare i dati dal vecchio hub"
-#: ../../Zotlabs/Module/Import.php:101
-#: ../../Zotlabs/Module/Import_items.php:72
+#: ../../Zotlabs/Module/Import_items.php:77
+#: ../../Zotlabs/Module/Import.php:102
msgid "Imported file is empty."
msgstr "Il file da importare è vuoto."
-#: ../../Zotlabs/Module/Import.php:123
-#: ../../Zotlabs/Module/Import_items.php:88
+#: ../../Zotlabs/Module/Import_items.php:93
+#: ../../Zotlabs/Module/Import.php:121
#, php-format
msgid "Warning: Database versions differ by %1$d updates."
msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti."
-#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
-msgid "Cloned channel not found. Import failed."
-msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
+#: ../../Zotlabs/Module/Import_items.php:108
+msgid "Import completed"
+msgstr "Importazione completata"
-#: ../../Zotlabs/Module/Import.php:163
-msgid "No channel. Import failed."
-msgstr "Nessun canale. Import fallito."
+#: ../../Zotlabs/Module/Import_items.php:125
+msgid "Import Items"
+msgstr "Importa i contenuti"
-#: ../../Zotlabs/Module/Import.php:520
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
-msgstr "L'importazione è terminata con successo."
+#: ../../Zotlabs/Module/Import_items.php:126
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."
-#: ../../Zotlabs/Module/Import.php:542
-msgid "You must be logged in to use this feature."
-msgstr "Per questa funzionalità devi aver effettuato l'accesso."
+#: ../../Zotlabs/Module/Import_items.php:127
+#: ../../Zotlabs/Module/Import.php:516
+msgid "File to Upload"
+msgstr "File da caricare"
-#: ../../Zotlabs/Module/Import.php:547
-msgid "Import Channel"
-msgstr "Importa un canale"
+#: ../../Zotlabs/Module/New_channel.php:119
+#: ../../Zotlabs/Module/Manage.php:138
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
+
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:254
+msgid "Name or caption"
+msgstr "Nome o titolo"
-#: ../../Zotlabs/Module/Import.php:548
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:254
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
+msgstr "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\""
+
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:256
+msgid "Choose a short nickname"
+msgstr "Scegli un nome breve"
+
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:256
+#, php-format
msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file."
-msgstr "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza."
+"Your nickname will be used to create an easy to remember channel address "
+"e.g. nickname%s"
+msgstr "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale, per esempio nickname%s"
-#: ../../Zotlabs/Module/Import.php:549
-#: ../../Zotlabs/Module/Import_items.php:121
-msgid "File to Upload"
-msgstr "File da caricare"
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Channel role and privacy"
+msgstr "Tipo di canale e privacy"
-#: ../../Zotlabs/Module/Import.php:550
-msgid "Or provide the old server/hub details"
-msgstr "Oppure fornisci i dettagli del vecchio hub"
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Select a channel role with your privacy requirements."
+msgstr "Scegli il tipo di canale che vuoi e la privacy da applicare."
-#: ../../Zotlabs/Module/Import.php:551
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
+#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/Register.php:257
+msgid "Read more about roles"
+msgstr "Maggiori informazioni sui ruoli"
-#: ../../Zotlabs/Module/Import.php:552
-msgid "Your old login email address"
-msgstr "L'email che usavi per accedere sul vecchio hub"
+#: ../../Zotlabs/Module/New_channel.php:138
+msgid "Create Channel"
+msgstr "Crea un canale"
-#: ../../Zotlabs/Module/Import.php:553
-msgid "Your old login password"
-msgstr "La password per il vecchio hub"
+#: ../../Zotlabs/Module/New_channel.php:139
+msgid ""
+"A channel is your identity on this network. It can represent a person, a "
+"blog, or a forum to name a few. Channels can make connections with other "
+"channels to share information with highly detailed permissions."
+msgstr "Un canale è la tua identità su questa rete. Può rappresentare una persona, un blog o un forum, per esempio. Il tuo canale può essere in contatto con altri canali per condividere contenuti con permessi anche molto dettagliati."
-#: ../../Zotlabs/Module/Import.php:554
+#: ../../Zotlabs/Module/New_channel.php:140
msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc."
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr "oppure <a href=\"import\">importa un canale esistente</a> da un altro server/hub."
-#: ../../Zotlabs/Module/Import.php:555
-msgid "Make this hub my primary location"
-msgstr "Rendi questo hub il mio indirizzo primario"
+#: ../../Zotlabs/Module/New_channel.php:145
+msgid "Validate"
+msgstr ""
-#: ../../Zotlabs/Module/Import.php:556
+#: ../../Zotlabs/Module/Removeme.php:35
msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)"
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."
-#: ../../Zotlabs/Module/Import.php:557
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
+msgstr "Elimina questo canale"
+
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "WARNING: "
+msgstr "ATTENZIONE:"
+
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
+msgstr "Questo canale sarà completamente eliminato dalla rete."
+
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr "Questo comando è definitivo e non può essere annullato!"
+
+#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:59
+#: ../../Zotlabs/Module/Changeaddr.php:79
+msgid "Please enter your password for verification:"
+msgstr "Inserisci la tua password per verifica:"
+
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid "Remove this channel and all its clones from the network"
+msgstr "Elimina questo canale e tutti i suoi cloni dalla rete"
+
+#: ../../Zotlabs/Module/Removeme.php:63
msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
-#: ../../Zotlabs/Module/Import.php:560
-#: ../../Zotlabs/Module/Admin/Accounts.php:167
-#: ../../Zotlabs/Module/Admin/Channels.php:151
-#: ../../Zotlabs/Module/Admin/Features.php:66
-#: ../../Zotlabs/Module/Admin/Logs.php:84
-#: ../../Zotlabs/Module/Admin/Plugins.php:429
-#: ../../Zotlabs/Module/Admin/Profs.php:157
-#: ../../Zotlabs/Module/Admin/Security.php:104
-#: ../../Zotlabs/Module/Admin/Site.php:267
-#: ../../Zotlabs/Module/Admin/Themes.php:156 ../../Zotlabs/Module/Mail.php:370
-#: ../../Zotlabs/Module/Connedit.php:779 ../../Zotlabs/Module/Appman.php:126
-#: ../../Zotlabs/Module/Pdledit.php:74
-#: ../../Zotlabs/Module/Filestorage.php:165
-#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Import_items.php:122
-#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Profiles.php:687
-#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Setup.php:317
-#: ../../Zotlabs/Module/Setup.php:365 ../../Zotlabs/Module/Mood.php:139
-#: ../../Zotlabs/Module/Photos.php:668 ../../Zotlabs/Module/Photos.php:1058
-#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
-#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:484
-#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
-#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
-#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
-#: ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Module/Settings/Account.php:126
-#: ../../Zotlabs/Module/Settings/Channel.php:452
-#: ../../Zotlabs/Module/Settings/Display.php:194
-#: ../../Zotlabs/Module/Settings/Features.php:47
-#: ../../Zotlabs/Module/Settings/Oauth.php:87
-#: ../../Zotlabs/Module/Settings/Tokens.php:167
-#: ../../Zotlabs/Lib/ThreadItem.php:725 ../../include/js_strings.php:22
-#: ../../include/widgets.php:796 ../../view/theme/redbasic/php/config.php:106
-msgid "Submit"
-msgstr "Salva"
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:592
+msgid "Remove Channel"
+msgstr "Elimina questo canale"
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Segnalibro aggiunto"
+#: ../../Zotlabs/Module/Sharedwithme.php:104
+msgid "Files: shared with me"
+msgstr "File: condivisi con me"
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "I miei segnalibri"
+#: ../../Zotlabs/Module/Sharedwithme.php:106
+msgid "NEW"
+msgstr "NOVITÀ"
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "I segnalibri dei miei contatti"
+#: ../../Zotlabs/Module/Sharedwithme.php:107
+#: ../../Zotlabs/Storage/Browser.php:285 ../../include/text.php:1434
+msgid "Size"
+msgstr "Dimensione"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:108
+#: ../../Zotlabs/Storage/Browser.php:286
+msgid "Last Modified"
+msgstr "Ultima modifica"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:109
+msgid "Remove all files"
+msgstr "Elimina tutti i file"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:110
+msgid "Remove this file"
+msgstr "Elimina questo file"
+
+#: ../../Zotlabs/Module/Setup.php:170
+msgid "$Projectname Server - Setup"
+msgstr "Server $Projectname - Installazione"
+
+#: ../../Zotlabs/Module/Setup.php:174
+msgid "Could not connect to database."
+msgstr " Impossibile connettersi al database."
+
+#: ../../Zotlabs/Module/Setup.php:178
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
+
+#: ../../Zotlabs/Module/Setup.php:185
+msgid "Could not create table."
+msgstr "Impossibile creare le tabelle."
+
+#: ../../Zotlabs/Module/Setup.php:191
+msgid "Your site database has been installed."
+msgstr "Il database del sito è stato installato."
+
+#: ../../Zotlabs/Module/Setup.php:197
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
+
+#: ../../Zotlabs/Module/Setup.php:198 ../../Zotlabs/Module/Setup.php:262
+#: ../../Zotlabs/Module/Setup.php:745
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Leggi il file 'install/INSTALL.txt'."
+
+#: ../../Zotlabs/Module/Setup.php:259
+msgid "System check"
+msgstr "Verifica del sistema"
+
+#: ../../Zotlabs/Module/Setup.php:264
+msgid "Check again"
+msgstr "Verifica di nuovo"
+
+#: ../../Zotlabs/Module/Setup.php:286
+msgid "Database connection"
+msgstr "Connessione al database"
+
+#: ../../Zotlabs/Module/Setup.php:287
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
+
+#: ../../Zotlabs/Module/Setup.php:288
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
+
+#: ../../Zotlabs/Module/Setup.php:289
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
+
+#: ../../Zotlabs/Module/Setup.php:293
+msgid "Database Server Name"
+msgstr "Server del database"
+
+#: ../../Zotlabs/Module/Setup.php:293
+msgid "Default is 127.0.0.1"
+msgstr "Il valore predefinito è 127.0.0.1"
+
+#: ../../Zotlabs/Module/Setup.php:294
+msgid "Database Port"
+msgstr "Port del database"
+
+#: ../../Zotlabs/Module/Setup.php:294
+msgid "Communication port number - use 0 for default"
+msgstr "Scrivi 0 per usare il valore standard"
+
+#: ../../Zotlabs/Module/Setup.php:295
+msgid "Database Login Name"
+msgstr "Utente database"
+
+#: ../../Zotlabs/Module/Setup.php:296
+msgid "Database Login Password"
+msgstr "Password database"
+
+#: ../../Zotlabs/Module/Setup.php:297
+msgid "Database Name"
+msgstr "Nome database"
+
+#: ../../Zotlabs/Module/Setup.php:298
+msgid "Database Type"
+msgstr "Tipo database"
+
+#: ../../Zotlabs/Module/Setup.php:300 ../../Zotlabs/Module/Setup.php:341
+msgid "Site administrator email address"
+msgstr "Indirizzo email dell'amministratore del hub"
+
+#: ../../Zotlabs/Module/Setup.php:300 ../../Zotlabs/Module/Setup.php:341
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla."
+
+#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:343
+msgid "Website URL"
+msgstr "URL completo del sito"
+
+#: ../../Zotlabs/Module/Setup.php:301 ../../Zotlabs/Module/Setup.php:343
+msgid "Please use SSL (https) URL if available."
+msgstr "Se disponibile, usa l'indirizzo SSL (https)."
+
+#: ../../Zotlabs/Module/Setup.php:302 ../../Zotlabs/Module/Setup.php:345
+msgid "Please select a default timezone for your website"
+msgstr "Seleziona il fuso orario predefinito per il tuo hub"
+
+#: ../../Zotlabs/Module/Setup.php:330
+msgid "Site settings"
+msgstr "Impostazioni del hub"
+
+#: ../../Zotlabs/Module/Setup.php:384
+msgid "PHP version 5.5 or greater is required."
+msgstr "E' necessario PHP versione 5.5 o superiore."
+
+#: ../../Zotlabs/Module/Setup.php:385
+msgid "PHP version"
+msgstr "Versione PHP"
+
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
+
+#: ../../Zotlabs/Module/Setup.php:402
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
+
+#: ../../Zotlabs/Module/Setup.php:406
+msgid "PHP executable path"
+msgstr "Path del comando PHP"
+
+#: ../../Zotlabs/Module/Setup.php:406
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
+
+#: ../../Zotlabs/Module/Setup.php:411
+msgid "Command line PHP"
+msgstr "PHP da riga di comando"
+
+#: ../../Zotlabs/Module/Setup.php:421
+msgid ""
+"Unable to check command line PHP, as shell_exec() is disabled. This is "
+"required."
+msgstr "Non è possible accedere alla linea di comando PHP perché shell_exec() è disabilitato. Requisito necessario."
+
+#: ../../Zotlabs/Module/Setup.php:424
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
+
+#: ../../Zotlabs/Module/Setup.php:425
+msgid "This is required for message delivery to work."
+msgstr "E' necessario perché funzioni la consegna dei messaggi."
+
+#: ../../Zotlabs/Module/Setup.php:428
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../Zotlabs/Module/Setup.php:446
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to"
+" upload is set to %s. You are allowed to upload up to %d files at once."
+msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
+
+#: ../../Zotlabs/Module/Setup.php:451
+msgid "You can adjust these settings in the server php.ini file."
+msgstr "Puoi modificare queste impostazione nel file php.ini del server."
+
+#: ../../Zotlabs/Module/Setup.php:453
+msgid "PHP upload limits"
+msgstr "Limiti PHP in upload"
+
+#: ../../Zotlabs/Module/Setup.php:476
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura"
+
+#: ../../Zotlabs/Module/Setup.php:477
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
+
+#: ../../Zotlabs/Module/Setup.php:480
+msgid "Generate encryption keys"
+msgstr "Genera chiavi di cifratura"
+
+#: ../../Zotlabs/Module/Setup.php:497
+msgid "libCurl PHP module"
+msgstr "modulo PHP libCurl"
+
+#: ../../Zotlabs/Module/Setup.php:498
+msgid "GD graphics PHP module"
+msgstr "modulo PHP GD graphics"
+
+#: ../../Zotlabs/Module/Setup.php:499
+msgid "OpenSSL PHP module"
+msgstr "modulo PHP OpenSSL"
+
+#: ../../Zotlabs/Module/Setup.php:500
+msgid "PDO database PHP module"
+msgstr "PDO database PHP module"
+
+#: ../../Zotlabs/Module/Setup.php:501
+msgid "mb_string PHP module"
+msgstr "modulo PHP mb_string"
+
+#: ../../Zotlabs/Module/Setup.php:502
+msgid "xml PHP module"
+msgstr "modulo xml PHP"
+
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "zip PHP module"
+msgstr "modulo zip del PHP"
+
+#: ../../Zotlabs/Module/Setup.php:507 ../../Zotlabs/Module/Setup.php:509
+msgid "Apache mod_rewrite module"
+msgstr "modulo Apache mod_rewrite"
+
+#: ../../Zotlabs/Module/Setup.php:507
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+
+#: ../../Zotlabs/Module/Setup.php:513 ../../Zotlabs/Module/Setup.php:516
+msgid "exec"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:513
+msgid ""
+"Error: exec is required but is either not installed or has been disabled in "
+"php.ini"
+msgstr "Errore: exec è richiesto ma non è installato o è stato disabilitato nel php.ini"
+
+#: ../../Zotlabs/Module/Setup.php:519 ../../Zotlabs/Module/Setup.php:522
+msgid "shell_exec"
+msgstr ""
+
+#: ../../Zotlabs/Module/Setup.php:519
+msgid ""
+"Error: shell_exec is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Errore: shell_exec è richiesto ma non è installato o è stato disabilitato in php.ini"
+
+#: ../../Zotlabs/Module/Setup.php:527
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+
+#: ../../Zotlabs/Module/Setup.php:531
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
+
+#: ../../Zotlabs/Module/Setup.php:535
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+
+#: ../../Zotlabs/Module/Setup.php:539
+msgid "Error: PDO database PHP module required but not installed."
+msgstr "Errore: PDO database PHP module è richiesto ma non installato."
+
+#: ../../Zotlabs/Module/Setup.php:543
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
+
+#: ../../Zotlabs/Module/Setup.php:547
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
+
+#: ../../Zotlabs/Module/Setup.php:551
+msgid "Error: zip PHP module required but not installed."
+msgstr "Errore: il modulo zip del PHP necessario ma non installato."
+
+#: ../../Zotlabs/Module/Setup.php:569
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."
+
+#: ../../Zotlabs/Module/Setup.php:570
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
+
+#: ../../Zotlabs/Module/Setup.php:571
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."
+
+#: ../../Zotlabs/Module/Setup.php:572
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
+
+#: ../../Zotlabs/Module/Setup.php:575
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php è scrivibile"
+
+#: ../../Zotlabs/Module/Setup.php:589
+msgid ""
+"This software uses the Smarty3 template engine to render its web views. "
+"Smarty3 compiles templates to PHP to speed up rendering."
+msgstr "Questo software usa lo Smarty3 template engine per visualizzare le web views. Smarty3 compila i template in PHP per accelerarne la visualizzazione."
+
+#: ../../Zotlabs/Module/Setup.php:590
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
+msgstr "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s"
+
+#: ../../Zotlabs/Module/Setup.php:591 ../../Zotlabs/Module/Setup.php:612
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
+
+#: ../../Zotlabs/Module/Setup.php:592
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
+
+#: ../../Zotlabs/Module/Setup.php:595
+#, php-format
+msgid "%s is writable"
+msgstr "%s è scrivibile"
+
+#: ../../Zotlabs/Module/Setup.php:611
+msgid ""
+"This software uses the store directory to save uploaded files. The web "
+"server needs to have write access to the store directory under the top level"
+" web folder"
+msgstr "Questo software salva i file caricati nelle directory sul filesystem. Il server web necessita di permessi di scrittura sulle directory alla radice della cartella web"
+
+#: ../../Zotlabs/Module/Setup.php:615
+msgid "store is writable"
+msgstr "l'archivio è scrivibile"
+
+#: ../../Zotlabs/Module/Setup.php:647
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
+
+#: ../../Zotlabs/Module/Setup.php:648
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!"
+
+#: ../../Zotlabs/Module/Setup.php:649
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
+
+#: ../../Zotlabs/Module/Setup.php:650
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
+
+#: ../../Zotlabs/Module/Setup.php:651
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
+
+#: ../../Zotlabs/Module/Setup.php:652
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
+
+#: ../../Zotlabs/Module/Setup.php:654
+msgid ""
+"If you are confident that the certificate is valid and signed by a trusted "
+"authority, check to see if you have failed to install an intermediate cert. "
+"These are not normally required by browsers, but are required for server-to-"
+"server communications."
+msgstr "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server."
+
+#: ../../Zotlabs/Module/Setup.php:656
+msgid "SSL certificate validation"
+msgstr "Validazione del certificato SSL"
+
+#: ../../Zotlabs/Module/Setup.php:662
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
+
+#: ../../Zotlabs/Module/Setup.php:665
+msgid "Url rewrite is working"
+msgstr "Url rewrite funziona correttamente"
+
+#: ../../Zotlabs/Module/Setup.php:679
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
+
+#: ../../Zotlabs/Module/Setup.php:703
+#: ../../addon/rendezvous/rendezvous.php:401
+msgid "Errors encountered creating database tables."
+msgstr "La creazione delle tabelle del database ha generato errori."
+
+#: ../../Zotlabs/Module/Setup.php:743
+msgid "<h1>What next?</h1>"
+msgstr "<h1>E ora?</h1>"
+
+#: ../../Zotlabs/Module/Setup.php:744
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
+
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr "Continua"
+
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr "Canale premium - configurazione"
+
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr "Abilita le restrizioni del canale premium"
+
+#: ../../Zotlabs/Module/Connect.php:93
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
-#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
+
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
+
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
+
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
+
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr "Canale premium - con restrizioni"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:35
+msgid "Queue Statistics"
+msgstr "Statistiche della coda"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Total Entries"
+msgstr "Totale"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Priority"
+msgstr "Priorità"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Destination URL"
+msgstr "URL di destinazione"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Mark hub permanently offline"
+msgstr "Questo hub è definitivamente offline"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Empty queue for this hub"
+msgstr "Svuota la coda per questo hub"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Last known contact"
+msgstr "Ultimo scambio dati"
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "Off"
+msgstr "Off"
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "On"
+msgstr "On"
+
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr "Rendi non modificabile %s"
+
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr "Funzionalità opzionali"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+msgid "Update has been marked successful"
+msgstr "L'aggiornamento è stato marcato come eseguito."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:31
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:34
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "L'aggiornamento %s è terminato correttamente."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:38
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:41
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Impossibile trovare la funzione di aggiornamento %s"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Failed Updates"
+msgstr "Aggiornamenti falliti."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:61
+msgid "Mark success (if update was manually applied)"
+msgstr "Marca come eseguito (se applicato manualmente)."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:62
+msgid "Attempt to execute this update step automatically"
+msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:67
+msgid "No failed updates."
+msgstr "Nessun aggiornamento fallito."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:259
+#: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:46
+#: ../../Zotlabs/Module/Display.php:410
+#: ../../Zotlabs/Module/Filestorage.php:24 ../../Zotlabs/Module/Admin.php:62
+#: ../../include/items.php:3569
+msgid "Item not found."
+msgstr "Elemento non trovato."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:289
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plugin %s non attivo."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:294
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s attivo."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:310
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+msgid "Disable"
+msgstr "Disattiva"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:313
+#: ../../Zotlabs/Module/Admin/Themes.php:97
+msgid "Enable"
+msgstr "Attiva"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:341
+#: ../../Zotlabs/Module/Admin/Plugins.php:436
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Channels.php:145
+#: ../../Zotlabs/Module/Admin/Themes.php:122
+#: ../../Zotlabs/Module/Admin/Themes.php:156
+#: ../../Zotlabs/Module/Admin/Site.php:287
+#: ../../Zotlabs/Module/Admin/Security.php:86
+#: ../../Zotlabs/Module/Admin.php:136
+msgid "Administration"
+msgstr "Amministrazione"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:342
+#: ../../Zotlabs/Module/Admin/Plugins.php:437
+#: ../../Zotlabs/Widget/Admin.php:27
+msgid "Plugins"
+msgstr "Plugin"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:343
+#: ../../Zotlabs/Module/Admin/Themes.php:124
+msgid "Toggle"
+msgstr "Attiva/disattiva"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:344
+#: ../../Zotlabs/Module/Admin/Themes.php:125 ../../Zotlabs/Lib/Apps.php:242
+#: ../../Zotlabs/Widget/Newmember.php:55
+#: ../../Zotlabs/Widget/Settings_menu.php:133 ../../include/nav.php:105
+#: ../../include/nav.php:192
+msgid "Settings"
+msgstr "Impostazioni"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:351
+#: ../../Zotlabs/Module/Admin/Themes.php:134
+msgid "Author: "
+msgstr "Autore:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:352
+#: ../../Zotlabs/Module/Admin/Themes.php:135
+msgid "Maintainer: "
+msgstr "Gestore:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:353
+msgid "Minimum project version: "
+msgstr "Minima versione hubzilla"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:354
+msgid "Maximum project version: "
+msgstr "Massima versione hubzilla"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:355
+msgid "Minimum PHP version: "
+msgstr "Minima versione PHP:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:356
+msgid "Compatible Server Roles: "
+msgstr "Ruoli previsti per questo server"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:357
+msgid "Requires: "
+msgstr "Necessita di:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:358
+#: ../../Zotlabs/Module/Admin/Plugins.php:442
+msgid "Disabled - version incompatibility"
+msgstr "Disabilitato - incompatibilità di versione"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:411
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Inserisci lo URL del repository git dei plugin."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:412
+msgid "Plugin repo git URL"
+msgstr "URL git del repository del plugin"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:413
+msgid "Custom repo name"
+msgstr "Nome repository personalizzato"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:413
+msgid "(optional)"
+msgstr "(facoltativo)"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:414
+msgid "Download Plugin Repo"
+msgstr "Scarica il repository del plugin"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:421
+msgid "Install new repo"
+msgstr "Installa un nuovo repository"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:422 ../../Zotlabs/Lib/Apps.php:393
+msgid "Install"
+msgstr "Installa"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:445
+msgid "Manage Repos"
+msgstr "Gestisci i repository"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:446
+msgid "Installed Plugin Repositories"
+msgstr "Repository per i plugin installati"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:447
+msgid "Install a New Plugin Repository"
+msgstr "Installa un nuovo repository per i plugin"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:454
+msgid "Switch branch"
+msgstr "Cambia branch"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:455
+#: ../../Zotlabs/Module/Photos.php:1020 ../../Zotlabs/Module/Tagrm.php:137
+#: ../../addon/superblock/superblock.php:116
+msgid "Remove"
+msgstr "Rimuovi"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:37
#, php-format
msgid "%s account blocked/unblocked"
msgid_plural "%s account blocked/unblocked"
msgstr[0] "Modificato il blocco su %s account"
msgstr[1] "Modificato il blocco verso %s"
-#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#: ../../Zotlabs/Module/Admin/Accounts.php:44
#, php-format
msgid "%s account deleted"
msgid_plural "%s accounts deleted"
msgstr[0] "%s account eliminato"
msgstr[1] "%s account eliminati"
-#: ../../Zotlabs/Module/Admin/Accounts.php:79
+#: ../../Zotlabs/Module/Admin/Accounts.php:80
msgid "Account not found"
msgstr "Account non trovato"
-#: ../../Zotlabs/Module/Admin/Accounts.php:90
+#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2462
#, php-format
msgid "Account '%s' deleted"
msgstr "Account '%s' eliminato"
-#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#: ../../Zotlabs/Module/Admin/Accounts.php:99
#, php-format
msgid "Account '%s' blocked"
msgstr "Aggiunto un blocco verso '%s'"
-#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#: ../../Zotlabs/Module/Admin/Accounts.php:107
#, php-format
msgid "Account '%s' unblocked"
msgstr "Rimosso il blocco verso '%s'"
-#: ../../Zotlabs/Module/Admin/Accounts.php:165
-#: ../../Zotlabs/Module/Admin/Channels.php:149
-#: ../../Zotlabs/Module/Admin/Logs.php:82
-#: ../../Zotlabs/Module/Admin/Plugins.php:336
-#: ../../Zotlabs/Module/Admin/Plugins.php:427
-#: ../../Zotlabs/Module/Admin/Security.php:86
-#: ../../Zotlabs/Module/Admin/Site.php:265
-#: ../../Zotlabs/Module/Admin/Themes.php:120
-#: ../../Zotlabs/Module/Admin/Themes.php:154
-#: ../../Zotlabs/Module/Admin.php:141
-msgid "Administration"
-msgstr "Amministrazione"
-
#: ../../Zotlabs/Module/Admin/Accounts.php:166
-#: ../../Zotlabs/Module/Admin/Accounts.php:179 ../../include/widgets.php:1561
+#: ../../Zotlabs/Module/Admin/Accounts.php:179
+#: ../../Zotlabs/Module/Admin.php:96 ../../Zotlabs/Widget/Admin.php:23
msgid "Accounts"
msgstr "Account"
#: ../../Zotlabs/Module/Admin/Accounts.php:168
-#: ../../Zotlabs/Module/Admin/Channels.php:152
+#: ../../Zotlabs/Module/Admin/Channels.php:148
msgid "select all"
msgstr "seleziona tutti"
@@ -699,17 +2441,12 @@ msgstr "Registrazioni in attesa di conferma"
msgid "Request date"
msgstr "Data richiesta"
-#: ../../Zotlabs/Module/Admin/Accounts.php:170
-#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/network.php:2212
-msgid "Email"
-msgstr "Email"
-
#: ../../Zotlabs/Module/Admin/Accounts.php:171
msgid "No registrations."
msgstr "Nessuna registrazione."
#: ../../Zotlabs/Module/Admin/Accounts.php:172
-#: ../../Zotlabs/Module/Connections.php:275
+#: ../../Zotlabs/Module/Connections.php:287 ../../include/conversation.php:732
msgid "Approve"
msgstr "Approva"
@@ -718,12 +2455,12 @@ msgid "Deny"
msgstr "Nega"
#: ../../Zotlabs/Module/Admin/Accounts.php:175
-#: ../../Zotlabs/Module/Connedit.php:575
+#: ../../Zotlabs/Module/Connedit.php:622
msgid "Block"
msgstr "Blocca"
#: ../../Zotlabs/Module/Admin/Accounts.php:176
-#: ../../Zotlabs/Module/Connedit.php:575
+#: ../../Zotlabs/Module/Connedit.php:622
msgid "Unblock"
msgstr "Sblocca"
@@ -731,7 +2468,7 @@ msgstr "Sblocca"
msgid "ID"
msgstr "ID"
-#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:267
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:284
msgid "All Channels"
msgstr "Tutti i canali"
@@ -763,337 +2500,619 @@ msgid ""
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-#: ../../Zotlabs/Module/Admin/Channels.php:30
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr "Impostazioni di log aggiornate."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48
+#: ../../Zotlabs/Widget/Admin.php:58
+msgid "Logs"
+msgstr "Log"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr "Pulisci"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr "Debugging"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr "File di log"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Relativo alla directory base del server web. Deve essere scrivibile."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr "Livello di log"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:31
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "Censura modificata per %s canale"
msgstr[1] "Censura modificata per %s canali"
-#: ../../Zotlabs/Module/Admin/Channels.php:39
+#: ../../Zotlabs/Module/Admin/Channels.php:40
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] "%s canale permette/non permette codice nei contenuti"
msgstr[1] "%s canali permettono/non permettono codice nei contenuti"
-#: ../../Zotlabs/Module/Admin/Channels.php:45
+#: ../../Zotlabs/Module/Admin/Channels.php:46
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canale è stato rimosso"
msgstr[1] "%s canali sono stati rimossi"
-#: ../../Zotlabs/Module/Admin/Channels.php:66
+#: ../../Zotlabs/Module/Admin/Channels.php:65
msgid "Channel not found"
msgstr "Canale non trovato"
-#: ../../Zotlabs/Module/Admin/Channels.php:76
+#: ../../Zotlabs/Module/Admin/Channels.php:75
#, php-format
msgid "Channel '%s' deleted"
msgstr "Il canale '%s' è stato rimosso"
-#: ../../Zotlabs/Module/Admin/Channels.php:88
+#: ../../Zotlabs/Module/Admin/Channels.php:87
#, php-format
msgid "Channel '%s' censored"
msgstr "Applicata una censura al canale '%s'"
-#: ../../Zotlabs/Module/Admin/Channels.php:88
+#: ../../Zotlabs/Module/Admin/Channels.php:87
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Rimossa la censura dal canale '%s'"
-#: ../../Zotlabs/Module/Admin/Channels.php:99
+#: ../../Zotlabs/Module/Admin/Channels.php:98
#, php-format
msgid "Channel '%s' code allowed"
msgstr "Il canale '%s' permette codice nei contenuti"
-#: ../../Zotlabs/Module/Admin/Channels.php:99
+#: ../../Zotlabs/Module/Admin/Channels.php:98
#, php-format
msgid "Channel '%s' code disallowed"
msgstr "Il canale '%s' non permette codice nei contenuti"
-#: ../../Zotlabs/Module/Admin/Channels.php:150 ../../include/widgets.php:1562
+#: ../../Zotlabs/Module/Admin/Channels.php:146
+#: ../../Zotlabs/Module/Admin.php:110 ../../Zotlabs/Widget/Admin.php:24
msgid "Channels"
msgstr "Canali"
-#: ../../Zotlabs/Module/Admin/Channels.php:154
+#: ../../Zotlabs/Module/Admin/Channels.php:150
msgid "Censor"
msgstr "Applica censura"
-#: ../../Zotlabs/Module/Admin/Channels.php:155
+#: ../../Zotlabs/Module/Admin/Channels.php:151
msgid "Uncensor"
msgstr "Rimuovi censura"
-#: ../../Zotlabs/Module/Admin/Channels.php:156
+#: ../../Zotlabs/Module/Admin/Channels.php:152
msgid "Allow Code"
msgstr "Permetti codice"
-#: ../../Zotlabs/Module/Admin/Channels.php:157
+#: ../../Zotlabs/Module/Admin/Channels.php:153
msgid "Disallow Code"
msgstr "Non permettere codice"
-#: ../../Zotlabs/Module/Admin/Channels.php:158
-#: ../../include/conversation.php:1651
+#: ../../Zotlabs/Module/Admin/Channels.php:154
+#: ../../include/conversation.php:1808 ../../include/nav.php:378
msgid "Channel"
msgstr "Canale"
-#: ../../Zotlabs/Module/Admin/Channels.php:162
+#: ../../Zotlabs/Module/Admin/Channels.php:158
msgid "UID"
msgstr "UID"
-#: ../../Zotlabs/Module/Admin/Channels.php:164
-#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
-msgid "Address"
-msgstr "Indirizzo"
-
-#: ../../Zotlabs/Module/Admin/Channels.php:166
+#: ../../Zotlabs/Module/Admin/Channels.php:162
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../Zotlabs/Module/Admin/Channels.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:163
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:19
-msgid "Update has been marked successful"
-msgstr "L'aggiornamento è stato marcato come eseguito."
+#: ../../Zotlabs/Module/Admin/Themes.php:26
+msgid "Theme settings updated."
+msgstr "Le impostazioni del tema sono state aggiornate."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:29
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
+#: ../../Zotlabs/Module/Admin/Themes.php:61
+msgid "No themes found."
+msgstr "Nessun tema trovato."
-#: ../../Zotlabs/Module/Admin/Dbsync.php:32
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "L'aggiornamento %s è terminato correttamente."
+#: ../../Zotlabs/Module/Admin/Themes.php:116
+msgid "Screenshot"
+msgstr "Istantanea dello schermo"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:36
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
+#: ../../Zotlabs/Module/Admin/Themes.php:123
+#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28
+msgid "Themes"
+msgstr "Temi"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:162
+msgid "[Experimental]"
+msgstr "[Sperimentale]"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:163
+msgid "[Unsupported]"
+msgstr "[Non supportato]"
+
+#: ../../Zotlabs/Module/Admin/Site.php:158
+msgid "Site settings updated."
+msgstr "Impostazioni del sito salvate correttamente."
+
+#: ../../Zotlabs/Module/Admin/Site.php:184
+#: ../../view/theme/redbasic_c/php/config.php:15
+#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3082
+msgid "Default"
+msgstr "Predefinito"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#: ../../Zotlabs/Module/Admin/Site.php:195
+#: ../../Zotlabs/Module/Settings/Display.php:130
#, php-format
-msgid "Update function %s could not be found."
-msgstr "Impossibile trovare la funzione di aggiornamento %s"
+msgid "%s - (Incompatible)"
+msgstr "%s - (Incompatibile)"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:55
-msgid "No failed updates."
-msgstr "Nessun aggiornamento fallito."
+#: ../../Zotlabs/Module/Admin/Site.php:202
+msgid "mobile"
+msgstr "mobile"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:59
-msgid "Failed Updates"
-msgstr "Aggiornamenti falliti."
+#: ../../Zotlabs/Module/Admin/Site.php:204
+msgid "experimental"
+msgstr "sperimentale"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:61
-msgid "Mark success (if update was manually applied)"
-msgstr "Marca come eseguito (se applicato manualmente)."
+#: ../../Zotlabs/Module/Admin/Site.php:206
+msgid "unsupported"
+msgstr "non supportato"
-#: ../../Zotlabs/Module/Admin/Dbsync.php:62
-msgid "Attempt to execute this update step automatically"
-msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
+#: ../../Zotlabs/Module/Admin/Site.php:253
+msgid "Yes - with approval"
+msgstr "Sì - con approvazione"
-#: ../../Zotlabs/Module/Admin/Features.php:55
-#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
-msgid "Off"
-msgstr "Off"
+#: ../../Zotlabs/Module/Admin/Site.php:259
+msgid "My site is not a public server"
+msgstr "Non è un server pubblico"
-#: ../../Zotlabs/Module/Admin/Features.php:55
-#: ../../Zotlabs/Module/Admin/Features.php:56
-#: ../../Zotlabs/Module/Settings/Features.php:38
-msgid "On"
-msgstr "On"
+#: ../../Zotlabs/Module/Admin/Site.php:260
+msgid "My site has paid access only"
+msgstr "È un servizio a pagamento"
-#: ../../Zotlabs/Module/Admin/Features.php:56
-#, php-format
-msgid "Lock feature %s"
-msgstr "Rendi non modificabile %s"
+#: ../../Zotlabs/Module/Admin/Site.php:261
+msgid "My site has free access only"
+msgstr "È un servizio gratuito"
-#: ../../Zotlabs/Module/Admin/Features.php:64
-msgid "Manage Additional Features"
-msgstr "Funzionalità opzionali"
+#: ../../Zotlabs/Module/Admin/Site.php:262
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
-#: ../../Zotlabs/Module/Admin/Logs.php:28
-msgid "Log settings updated."
-msgstr "Impostazioni di log aggiornate."
+#: ../../Zotlabs/Module/Admin/Site.php:274
+msgid "Beginner/Basic"
+msgstr "Principiante"
-#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1587
-#: ../../include/widgets.php:1597
-msgid "Logs"
-msgstr "Log"
+#: ../../Zotlabs/Module/Admin/Site.php:275
+msgid "Novice - not skilled but willing to learn"
+msgstr "Novizio - disposto a imparare"
-#: ../../Zotlabs/Module/Admin/Logs.php:85
-msgid "Clear"
-msgstr "Pulisci"
+#: ../../Zotlabs/Module/Admin/Site.php:276
+msgid "Intermediate - somewhat comfortable"
+msgstr "Intermedio - con alcune conoscenze tecniche"
-#: ../../Zotlabs/Module/Admin/Logs.php:91
-msgid "Debugging"
-msgstr "Debugging"
+#: ../../Zotlabs/Module/Admin/Site.php:277
+msgid "Advanced - very comfortable"
+msgstr "Avanzato - a mio agio con gli aspetti tecnici"
-#: ../../Zotlabs/Module/Admin/Logs.php:92
-msgid "Log file"
-msgstr "File di log"
+#: ../../Zotlabs/Module/Admin/Site.php:278
+msgid "Expert - I can write computer code"
+msgstr "Esperto - posso scrivere codice"
-#: ../../Zotlabs/Module/Admin/Logs.php:92
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Wizard - I probably know more than you do"
+msgstr "Genio - probabilmente ne so più di te!"
+
+#: ../../Zotlabs/Module/Admin/Site.php:288 ../../Zotlabs/Widget/Admin.php:22
+msgid "Site"
+msgstr "Sito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:290
+#: ../../Zotlabs/Module/Register.php:269
+msgid "Registration"
+msgstr "Registrazione"
+
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "File upload"
+msgstr "Caricamento file"
+
+#: ../../Zotlabs/Module/Admin/Site.php:292
+msgid "Policies"
+msgstr "Politiche"
+
+#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avanzate"
+
+#: ../../Zotlabs/Module/Admin/Site.php:297
+#: ../../addon/statusnet/statusnet.php:891
+msgid "Site name"
+msgstr "Nome del sito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Site default technical skill level"
+msgstr "Livello tecnico predefinito per gli utenti del sito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Used to provide a member experience matched to technical comfort level"
+msgstr "Utile a fornire agli utenti un livello tecnico del sito che rispetti le loro conoscenze"
+
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Lock the technical skill level setting"
+msgstr "Il livello tecnico non potrà essere modificato"
+
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Members can set their own technical comfort level by default"
+msgstr "Gli utenti possono scegliere il livello tecnico preferito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Banner/Logo"
+msgstr "Banner o logo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Unfiltered HTML/CSS/JS is allowed"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Administrator Information"
+msgstr "Informazioni sull'amministratore"
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
-msgstr "Relativo alla directory base del server web. Deve essere scrivibile."
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-#: ../../Zotlabs/Module/Admin/Logs.php:93
-msgid "Log level"
-msgstr "Livello di log"
+#: ../../Zotlabs/Module/Admin/Site.php:305
+#: ../../Zotlabs/Module/Siteinfo.php:21
+msgid "Site Information"
+msgstr "Informazioni sul sito"
-#: ../../Zotlabs/Module/Admin/Plugins.php:254
-#: ../../Zotlabs/Module/Admin/Themes.php:69
-#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Display.php:40
-#: ../../Zotlabs/Module/Admin.php:62 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3427
-msgid "Item not found."
-msgstr "Elemento non trovato."
+#: ../../Zotlabs/Module/Admin/Site.php:305
+msgid ""
+"Publicly visible description of this site. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Descrizione del sito, visibile pubblicamente. Visualizzata sulla pagina siteinfo. Puoi usare il BBCode"
-#: ../../Zotlabs/Module/Admin/Plugins.php:284
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s non attivo."
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "System language"
+msgstr "Lingua di sistema"
-#: ../../Zotlabs/Module/Admin/Plugins.php:289
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s attivo."
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid "System theme"
+msgstr "Tema di sistema"
-#: ../../Zotlabs/Module/Admin/Plugins.php:305
-#: ../../Zotlabs/Module/Admin/Themes.php:93
-msgid "Disable"
-msgstr "Disattiva"
+#: ../../Zotlabs/Module/Admin/Site.php:307
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-#: ../../Zotlabs/Module/Admin/Plugins.php:308
-#: ../../Zotlabs/Module/Admin/Themes.php:95
-msgid "Enable"
-msgstr "Attiva"
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Mobile system theme"
+msgstr "Tema di sistema per dispositivi mobili"
-#: ../../Zotlabs/Module/Admin/Plugins.php:337
-#: ../../Zotlabs/Module/Admin/Plugins.php:428 ../../include/widgets.php:1565
-msgid "Plugins"
-msgstr "Plugin"
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Theme for mobile devices"
+msgstr "Tema per i dispositivi mobili"
-#: ../../Zotlabs/Module/Admin/Plugins.php:338
-#: ../../Zotlabs/Module/Admin/Themes.php:122
-msgid "Toggle"
-msgstr "Attiva/disattiva"
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Allow Feeds as Connections"
+msgstr "Permetti di aggiungere i feed come contatti"
-#: ../../Zotlabs/Module/Admin/Plugins.php:339
-#: ../../Zotlabs/Module/Admin/Themes.php:123 ../../Zotlabs/Lib/Apps.php:216
-#: ../../include/nav.php:213 ../../include/widgets.php:680
-msgid "Settings"
-msgstr "Impostazioni"
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "(Heavy system resource usage)"
+msgstr "(Uso intenso delle risorse di sistema!)"
-#: ../../Zotlabs/Module/Admin/Plugins.php:346
-#: ../../Zotlabs/Module/Admin/Themes.php:132
-msgid "Author: "
-msgstr "Autore:"
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Maximum image size"
+msgstr "Dimensione massima immagini"
-#: ../../Zotlabs/Module/Admin/Plugins.php:347
-#: ../../Zotlabs/Module/Admin/Themes.php:133
-msgid "Maintainer: "
-msgstr "Gestore:"
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-#: ../../Zotlabs/Module/Admin/Plugins.php:348
-msgid "Minimum project version: "
-msgstr "Minima versione hubzilla"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Does this site allow new member registration?"
+msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-#: ../../Zotlabs/Module/Admin/Plugins.php:349
-msgid "Maximum project version: "
-msgstr "Massima versione hubzilla"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Invitation only"
+msgstr "Solo con invito"
-#: ../../Zotlabs/Module/Admin/Plugins.php:350
-msgid "Minimum PHP version: "
-msgstr "Minima versione PHP:"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'."
-#: ../../Zotlabs/Module/Admin/Plugins.php:351
-msgid "Compatible Server Roles: "
-msgstr "Ruoli previsti per questo server"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Plugins.php:352
-msgid "Requires: "
-msgstr "Necessita di:"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Minimum age (in years) for who may register on this site."
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Plugins.php:353
-#: ../../Zotlabs/Module/Admin/Plugins.php:433
-msgid "Disabled - version incompatibility"
-msgstr "Disabilitato - incompatibilità di versione"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-#: ../../Zotlabs/Module/Admin/Plugins.php:402
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Inserisci lo URL del repository git dei plugin."
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Register text"
+msgstr "Testo di registrazione"
-#: ../../Zotlabs/Module/Admin/Plugins.php:403
-msgid "Plugin repo git URL"
-msgstr "URL git del repository del plugin"
+#: ../../Zotlabs/Module/Admin/Site.php:316
+msgid "Will be displayed prominently on the registration page."
+msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-#: ../../Zotlabs/Module/Admin/Plugins.php:404
-msgid "Custom repo name"
-msgstr "Nome repository personalizzato"
+#: ../../Zotlabs/Module/Admin/Site.php:317
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
-#: ../../Zotlabs/Module/Admin/Plugins.php:404
-msgid "(optional)"
-msgstr "(facoltativo)"
+#: ../../Zotlabs/Module/Admin/Site.php:317
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
-#: ../../Zotlabs/Module/Admin/Plugins.php:405
-msgid "Download Plugin Repo"
-msgstr "Scarica il repository del plugin"
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid "Preserve site homepage URL"
+msgstr "Conserva l'URL della homepage"
-#: ../../Zotlabs/Module/Admin/Plugins.php:412
-msgid "Install new repo"
-msgstr "Installa un nuovo repository"
+#: ../../Zotlabs/Module/Admin/Site.php:318
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
-#: ../../Zotlabs/Module/Admin/Plugins.php:413 ../../Zotlabs/Lib/Apps.php:334
-msgid "Install"
-msgstr "Installa"
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid "Accounts abandoned after x days"
+msgstr "Account abbandonati dopo X giorni"
-#: ../../Zotlabs/Module/Admin/Plugins.php:414
-#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
-#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
-#: ../../Zotlabs/Module/Settings/Oauth.php:88
-#: ../../Zotlabs/Module/Settings/Oauth.php:114
-#: ../../include/conversation.php:1248 ../../include/conversation.php:1297
-msgid "Cancel"
-msgstr "Annulla"
+#: ../../Zotlabs/Module/Admin/Site.php:319
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-#: ../../Zotlabs/Module/Admin/Plugins.php:435
-msgid "Manage Repos"
-msgstr "Gestisci i repository"
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid "Allowed friend domains"
+msgstr "Domini fidati e consentiti"
-#: ../../Zotlabs/Module/Admin/Plugins.php:436
-msgid "Installed Plugin Repositories"
-msgstr "Repository per i plugin installati"
+#: ../../Zotlabs/Module/Admin/Site.php:320
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Elenco separato da virgola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-#: ../../Zotlabs/Module/Admin/Plugins.php:437
-msgid "Install a New Plugin Repository"
-msgstr "Installa un nuovo repository per i plugin"
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid "Verify Email Addresses"
+msgstr "Verifica l'indirizzo email"
-#: ../../Zotlabs/Module/Admin/Plugins.php:443
-#: ../../Zotlabs/Module/Settings/Oauth.php:42
-#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:334
-msgid "Update"
-msgstr "Aggiorna"
+#: ../../Zotlabs/Module/Admin/Site.php:321
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
-#: ../../Zotlabs/Module/Admin/Plugins.php:444
-msgid "Switch branch"
-msgstr "Cambia branch"
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid "Force publish"
+msgstr "Forza la publicazione del profilo"
-#: ../../Zotlabs/Module/Admin/Plugins.php:445
-#: ../../Zotlabs/Module/Photos.php:989 ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Rimuovi"
+#: ../../Zotlabs/Module/Admin/Site.php:322
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito."
+
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid "Import Public Streams"
+msgstr "Suggerisci contenuti pubblici della rete Hubzilla"
+
+#: ../../Zotlabs/Module/Admin/Site.php:323
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione."
+
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid "Site only Public Streams"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:324
+msgid ""
+"Allow access to public content originating only from this site if Imported "
+"Public Streams are disabled."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid "Allow anybody on the internet to access the Public streams"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:325
+msgid ""
+"Disable to require authentication before viewing. Warning: this content is "
+"unmoderated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid "Login on Homepage"
+msgstr "Login sulla homepage"
+
+#: ../../Zotlabs/Module/Admin/Site.php:326
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
+
+#: ../../Zotlabs/Module/Admin/Site.php:327
+msgid "Enable context help"
+msgstr "Abilita la guida contestuale"
+
+#: ../../Zotlabs/Module/Admin/Site.php:327
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Quando è premuto, il bottone della guida mostra quella relativa alla pagina corrente"
+
+#: ../../Zotlabs/Module/Admin/Site.php:329
+msgid "Reply-to email address for system generated email."
+msgstr "Indirizzo Reply-to per mail generate dal sistema."
+
+#: ../../Zotlabs/Module/Admin/Site.php:330
+msgid "Sender (From) email address for system generated email."
+msgstr "Indirzzo email del mittente (From) per mail generate dal sistema."
+
+#: ../../Zotlabs/Module/Admin/Site.php:331
+msgid "Name of email sender for system generated email."
+msgstr "Nome del mittente per mail generate dal sistema"
+
+#: ../../Zotlabs/Module/Admin/Site.php:333
+msgid "Directory Server URL"
+msgstr "URL del directory server"
+
+#: ../../Zotlabs/Module/Admin/Site.php:333
+msgid "Default directory server"
+msgstr "Directory server predefinito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:335
+msgid "Proxy user"
+msgstr "Utente proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:336
+msgid "Proxy URL"
+msgstr "URL proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:337
+msgid "Network timeout"
+msgstr "Timeout rete"
+
+#: ../../Zotlabs/Module/Admin/Site.php:337
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
+
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid "Delivery interval"
+msgstr "Recapito ritardato"
+
+#: ../../Zotlabs/Module/Admin/Site.php:338
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
+
+#: ../../Zotlabs/Module/Admin/Site.php:339
+msgid "Deliveries per process"
+msgstr "Tentativi di recapito per processo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:339
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Numero di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5"
+
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid "Queue Threshold"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:340
+msgid ""
+"Always defer immediate delivery if queue contains more than this number of "
+"entries."
+msgstr "Rinvia la consegna immediata se la coda contiene più di questo numero di elementi."
+
+#: ../../Zotlabs/Module/Admin/Site.php:341
+msgid "Poll interval"
+msgstr "Intervallo di polling"
+
+#: ../../Zotlabs/Module/Admin/Site.php:341
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
+
+#: ../../Zotlabs/Module/Admin/Site.php:342
+msgid "Path to ImageMagick convert program"
+msgstr "Percorso del comando convert di ImageMagic"
+
+#: ../../Zotlabs/Module/Admin/Site.php:342
+msgid ""
+"If set, use this program to generate photo thumbnails for huge images ( > "
+"4000 pixels in either dimension), otherwise memory exhaustion may occur. "
+"Example: /usr/bin/convert"
+msgstr "Se impostato, utilizza questo programma per generare le anteprime di immagini molto grandi ( > 4000 pixel in larghezza o altezza), per evitare di esaurire la memoria. Esempio: /user/bin/convert"
+
+#: ../../Zotlabs/Module/Admin/Site.php:343
+msgid "Allow SVG thumbnails in file browser"
+msgstr "Permetti le anteprime SVG nell'elenco dei file"
+
+#: ../../Zotlabs/Module/Admin/Site.php:343
+msgid "WARNING: SVG images may contain malicious code."
+msgstr "ATTENZIONE: le immagini SVG potrebbero contenere codice malevolo."
+
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid "Maximum Load Average"
+msgstr "Carico massimo medio"
+
+#: ../../Zotlabs/Module/Admin/Site.php:344
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
+
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:345
+msgid "0 for no expiration of imported content"
+msgstr "0 per non avere scadenza"
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+msgid ""
+"Public servers: Optional landing (marketing) webpage for new registrants"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:347
+#, php-format
+msgid "Create this page first. Default is %s/register"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Page to display after creating a new channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:348
+msgid "Recommend: profiles, go, or settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Optional: site location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Admin/Site.php:350
+msgid "Region or country"
+msgstr ""
#: ../../Zotlabs/Module/Admin/Profs.php:69
msgid "New Profile Field"
@@ -1135,10 +3154,10 @@ msgid "Additional info (optional)"
msgstr "Informazioni aggiuntive (facoltative)"
#: ../../Zotlabs/Module/Admin/Profs.php:74
-#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Filer.php:53
-#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104
-#: ../../include/text.php:972 ../../include/text.php:984
-#: ../../include/widgets.php:201
+#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Rbmark.php:32
+#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Widget/Notes.php:18 ../../include/text.php:1052
+#: ../../include/text.php:1064
msgid "Save"
msgstr "Salva"
@@ -1150,7 +3169,7 @@ msgstr "Impossibile trovare la definizione del campo"
msgid "Edit Profile Field"
msgstr "Modifica campo del profilo"
-#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1568
+#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../Zotlabs/Widget/Admin.php:30
msgid "Profile Fields"
msgstr "Campi del profilo"
@@ -1178,33 +3197,42 @@ msgstr "Campi personalizzati"
msgid "Create Custom Field"
msgstr "Aggiungi campo personalizzato"
-#: ../../Zotlabs/Module/Admin/Queue.php:36
-msgid "Queue Statistics"
-msgstr "Statistiche della coda"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:29
+#, php-format
+msgid "Password changed for account %d."
+msgstr "La password per l'utente %d è cambiata."
-#: ../../Zotlabs/Module/Admin/Queue.php:37
-msgid "Total Entries"
-msgstr "Totale"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:46
+msgid "Account settings updated."
+msgstr "L'impostazioni sono state aggiornate."
-#: ../../Zotlabs/Module/Admin/Queue.php:38
-msgid "Priority"
-msgstr "Priorità"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:61
+msgid "Account not found."
+msgstr "Account non trovato."
-#: ../../Zotlabs/Module/Admin/Queue.php:39
-msgid "Destination URL"
-msgstr "URL di destinazione"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:68
+msgid "Account Edit"
+msgstr "Modifica le impostazioni"
-#: ../../Zotlabs/Module/Admin/Queue.php:40
-msgid "Mark hub permanently offline"
-msgstr "Questo hub è definitivamente offline"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:69
+msgid "New Password"
+msgstr "Nuova password"
-#: ../../Zotlabs/Module/Admin/Queue.php:41
-msgid "Empty queue for this hub"
-msgstr "Svuota la coda per questo hub"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:70
+msgid "New Password again"
+msgstr "Ripeti la nuova password"
-#: ../../Zotlabs/Module/Admin/Queue.php:42
-msgid "Last known contact"
-msgstr "Ultimo scambio dati"
+#: ../../Zotlabs/Module/Admin/Account_edit.php:71
+msgid "Technical skill level"
+msgstr "Livello tecnico"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:72
+msgid "Account language (for emails)"
+msgstr "Lingua (per le email di sistema)"
+
+#: ../../Zotlabs/Module/Admin/Account_edit.php:73
+msgid "Service class"
+msgstr "Classe dell'account"
#: ../../Zotlabs/Module/Admin/Security.php:77
msgid ""
@@ -1230,7 +3258,8 @@ msgid ""
"embedded content from that site is explicitly blocked."
msgstr "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non sia esplicitamente bloccato."
-#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1563
+#: ../../Zotlabs/Module/Admin/Security.php:87
+#: ../../Zotlabs/Widget/Admin.php:25
msgid "Security"
msgstr "Sicurezza"
@@ -1318,1131 +3347,2334 @@ msgstr "Un sito per riga. Normalmente i contenuti incorporati sono filtrati."
msgid "Block embedded HTML from these domains"
msgstr "Blocca i contenuti incorporati HTML da questi domini"
-#: ../../Zotlabs/Module/Admin/Site.php:135
-msgid "Site settings updated."
-msgstr "Impostazioni del sito salvate correttamente."
+#: ../../Zotlabs/Module/Lockview.php:75
+msgid "Remote privacy information not available."
+msgstr "Le informazioni remote sulla privacy non sono disponibili."
-#: ../../Zotlabs/Module/Admin/Site.php:162 ../../include/text.php:2942
-msgid "Default"
-msgstr "Predefinito"
+#: ../../Zotlabs/Module/Lockview.php:96
+msgid "Visible to:"
+msgstr "Visibile a:"
-#: ../../Zotlabs/Module/Admin/Site.php:172
-#: ../../Zotlabs/Module/Settings/Display.php:141
-msgid "mobile"
-msgstr "mobile"
+#: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153
+#: ../../Zotlabs/Module/Acl.php:121 ../../include/acl_selectors.php:88
+msgctxt "acl"
+msgid "Profile"
+msgstr "Profilo"
-#: ../../Zotlabs/Module/Admin/Site.php:174
-msgid "experimental"
-msgstr "sperimentale"
+#: ../../Zotlabs/Module/Moderate.php:55
+msgid "Comment approved"
+msgstr "Commento approvato"
-#: ../../Zotlabs/Module/Admin/Site.php:176
-msgid "unsupported"
-msgstr "non supportato"
+#: ../../Zotlabs/Module/Moderate.php:59
+msgid "Comment deleted"
+msgstr "Commento eliminato"
-#: ../../Zotlabs/Module/Admin/Site.php:221
-#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:686
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Api.php:85 ../../Zotlabs/Module/Filestorage.php:160
-#: ../../Zotlabs/Module/Filestorage.php:168
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
-#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
-#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
-#: ../../Zotlabs/Module/Settings/Channel.php:289
-#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:111
-#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
-msgid "No"
-msgstr "No"
+#: ../../Zotlabs/Module/Settings/Permcats.php:37
+msgid "Permission category saved."
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:222
-msgid "Yes - with approval"
-msgstr "Sì - con approvazione"
+#: ../../Zotlabs/Module/Settings/Permcats.php:61
+msgid ""
+"Use this form to create permission rules for various classes of people or "
+"connections."
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:223
-#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Api.php:84
-#: ../../Zotlabs/Module/Filestorage.php:160
-#: ../../Zotlabs/Module/Filestorage.php:168
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
-#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
-#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
-#: ../../Zotlabs/Module/Settings/Channel.php:289
-#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:111
-#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
-msgid "Yes"
-msgstr "Sì"
+#: ../../Zotlabs/Module/Settings/Permcats.php:94
+msgid "Permission Categories"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:228
-msgid "My site is not a public server"
-msgstr "Non è un server pubblico"
+#: ../../Zotlabs/Module/Settings/Permcats.php:102
+msgid "Permission Name"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:229
-msgid "My site has paid access only"
-msgstr "È un servizio a pagamento"
+#: ../../Zotlabs/Module/Settings/Permcats.php:103
+#: ../../Zotlabs/Module/Settings/Tokens.php:161
+#: ../../Zotlabs/Module/Connedit.php:891 ../../Zotlabs/Module/Defperms.php:250
+msgid "My Settings"
+msgstr "Permessi che concedo"
-#: ../../Zotlabs/Module/Admin/Site.php:230
-msgid "My site has free access only"
-msgstr "È un servizio gratuito"
+#: ../../Zotlabs/Module/Settings/Permcats.php:105
+#: ../../Zotlabs/Module/Settings/Tokens.php:163
+#: ../../Zotlabs/Module/Connedit.php:886 ../../Zotlabs/Module/Defperms.php:248
+msgid "inherited"
+msgstr "derivato"
-#: ../../Zotlabs/Module/Admin/Site.php:231
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
+#: ../../Zotlabs/Module/Settings/Permcats.php:108
+#: ../../Zotlabs/Module/Settings/Tokens.php:166
+#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Defperms.php:253
+msgid "Individual Permissions"
+msgstr "Permessi individuali"
-#: ../../Zotlabs/Module/Admin/Site.php:242 ../../Zotlabs/Module/Setup.php:336
-msgid "Basic/Minimal Social Networking"
-msgstr "Social network minimale"
+#: ../../Zotlabs/Module/Settings/Permcats.php:109
+#: ../../Zotlabs/Module/Settings/Tokens.php:167
+#: ../../Zotlabs/Module/Connedit.php:894
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
-#: ../../Zotlabs/Module/Admin/Site.php:243 ../../Zotlabs/Module/Setup.php:337
-msgid "Standard Configuration (default)"
-msgstr "Configurazione standard (predefinita)"
+#: ../../Zotlabs/Module/Settings/Channel.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:68
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:72
+#: ../../Zotlabs/Module/Settings/Channel.php:83
+#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:24
+#: ../../include/selectors.php:123 ../../include/channel.php:437
+#: ../../include/channel.php:438 ../../include/channel.php:445
+msgid "Friends"
+msgstr "Amici"
-#: ../../Zotlabs/Module/Admin/Site.php:244 ../../Zotlabs/Module/Setup.php:338
-msgid "Professional"
-msgstr "Professionale"
+#: ../../Zotlabs/Module/Settings/Channel.php:262
+#: ../../Zotlabs/Module/Defperms.php:103
+#: ../../addon/rendezvous/rendezvous.php:82
+#: ../../addon/openstreetmap/openstreetmap.php:184
+#: ../../addon/msgfooter/msgfooter.php:54 ../../addon/logrot/logrot.php:54
+#: ../../addon/twitter/twitter.php:772 ../../addon/piwik/piwik.php:116
+#: ../../addon/xmpp/xmpp.php:102
+msgid "Settings updated."
+msgstr "Impostazioni aggiornate."
-#: ../../Zotlabs/Module/Admin/Site.php:249
-#: ../../Zotlabs/Module/Settings/Account.php:105
-msgid "Beginner/Basic"
-msgstr "Principiante"
+#: ../../Zotlabs/Module/Settings/Channel.php:323
+msgid "Nobody except yourself"
+msgstr "Nessuno tranne te"
-#: ../../Zotlabs/Module/Admin/Site.php:250
-#: ../../Zotlabs/Module/Settings/Account.php:106
-msgid "Novice - not skilled but willing to learn"
-msgstr "Novizio - disposto a imparare"
+#: ../../Zotlabs/Module/Settings/Channel.php:324
+msgid "Only those you specifically allow"
+msgstr "Solo chi riceve il mio permesso"
-#: ../../Zotlabs/Module/Admin/Site.php:251
-#: ../../Zotlabs/Module/Settings/Account.php:107
-msgid "Intermediate - somewhat comfortable"
-msgstr "Intermedio - con alcune conoscenze tecniche"
+#: ../../Zotlabs/Module/Settings/Channel.php:325
+msgid "Approved connections"
+msgstr "Contatti approvati"
-#: ../../Zotlabs/Module/Admin/Site.php:252
-#: ../../Zotlabs/Module/Settings/Account.php:108
-msgid "Advanced - very comfortable"
-msgstr "Avanzato - a mio agio con gli aspetti tecnici"
+#: ../../Zotlabs/Module/Settings/Channel.php:326
+msgid "Any connections"
+msgstr "Tutti i contatti"
-#: ../../Zotlabs/Module/Admin/Site.php:253
-#: ../../Zotlabs/Module/Settings/Account.php:109
-msgid "Expert - I can write computer code"
-msgstr "Esperto - posso scrivere codice"
+#: ../../Zotlabs/Module/Settings/Channel.php:327
+msgid "Anybody on this website"
+msgstr "Chiunque su questo hub"
-#: ../../Zotlabs/Module/Admin/Site.php:254
-#: ../../Zotlabs/Module/Settings/Account.php:110
-msgid "Wizard - I probably know more than you do"
-msgstr "Genio - probabilmente ne so più di te!"
+#: ../../Zotlabs/Module/Settings/Channel.php:328
+msgid "Anybody in this network"
+msgstr "Chiunque su questa rete"
-#: ../../Zotlabs/Module/Admin/Site.php:266 ../../include/widgets.php:1560
-msgid "Site"
-msgstr "Sito"
+#: ../../Zotlabs/Module/Settings/Channel.php:329
+msgid "Anybody authenticated"
+msgstr "Chiunque abbia effettuato l'accesso"
-#: ../../Zotlabs/Module/Admin/Site.php:268
-#: ../../Zotlabs/Module/Register.php:253
-msgid "Registration"
-msgstr "Registrazione"
+#: ../../Zotlabs/Module/Settings/Channel.php:330
+msgid "Anybody on the internet"
+msgstr "Chiunque su internet"
-#: ../../Zotlabs/Module/Admin/Site.php:269
-msgid "File upload"
-msgstr "Caricamento file"
+#: ../../Zotlabs/Module/Settings/Channel.php:405
+msgid "Publish your default profile in the network directory"
+msgstr "Mostra il mio profilo predefinito negli elenchi pubblici dei canali"
-#: ../../Zotlabs/Module/Admin/Site.php:270
-msgid "Policies"
-msgstr "Politiche"
+#: ../../Zotlabs/Module/Settings/Channel.php:410
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Vuoi essere suggerito come amico ai nuovi membri?"
-#: ../../Zotlabs/Module/Admin/Site.php:271
-#: ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Avanzate"
+#: ../../Zotlabs/Module/Settings/Channel.php:414
+msgid "or"
+msgstr "o"
-#: ../../Zotlabs/Module/Admin/Site.php:275
-msgid "Site name"
-msgstr "Nome del sito"
+#: ../../Zotlabs/Module/Settings/Channel.php:419
+msgid "Your channel address is"
+msgstr "L'indirizzo del tuo canale è"
-#: ../../Zotlabs/Module/Admin/Site.php:277 ../../Zotlabs/Module/Setup.php:359
-msgid "Server Configuration/Role"
-msgstr "Configurazione del server"
+#: ../../Zotlabs/Module/Settings/Channel.php:422
+msgid "Your files/photos are accessible via WebDAV at"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:279
-msgid "Site default technical skill level"
-msgstr "Livello tecnico predefinito per gli utenti del sito"
+#: ../../Zotlabs/Module/Settings/Channel.php:486
+msgid "Channel Settings"
+msgstr "Impostazioni del canale"
-#: ../../Zotlabs/Module/Admin/Site.php:279
-msgid "Used to provide a member experience matched to technical comfort level"
-msgstr "Utile a fornire agli utenti un livello tecnico del sito che rispetti le loro conoscenze"
+#: ../../Zotlabs/Module/Settings/Channel.php:493
+msgid "Basic Settings"
+msgstr "Impostazioni di base"
-#: ../../Zotlabs/Module/Admin/Site.php:281
-msgid "Lock the technical skill level setting"
-msgstr "Il livello tecnico non potrà essere modificato"
+#: ../../Zotlabs/Module/Settings/Channel.php:494
+#: ../../include/channel.php:1522
+msgid "Full Name:"
+msgstr "Nome completo:"
-#: ../../Zotlabs/Module/Admin/Site.php:281
-msgid "Members can set their own technical comfort level by default"
-msgstr "Gli utenti possono scegliere il livello tecnico preferito"
+#: ../../Zotlabs/Module/Settings/Channel.php:495
+#: ../../Zotlabs/Module/Settings/Account.php:119
+msgid "Email Address:"
+msgstr "Indirizzo email:"
-#: ../../Zotlabs/Module/Admin/Site.php:284
-msgid "Banner/Logo"
-msgstr "Banner o logo"
+#: ../../Zotlabs/Module/Settings/Channel.php:496
+msgid "Your Timezone:"
+msgstr "Il tuo fuso orario:"
-#: ../../Zotlabs/Module/Admin/Site.php:285
-msgid "Administrator Information"
-msgstr "Informazioni sull'amministratore"
+#: ../../Zotlabs/Module/Settings/Channel.php:497
+msgid "Default Post Location:"
+msgstr "Località predefinita:"
-#: ../../Zotlabs/Module/Admin/Site.php:285
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
+#: ../../Zotlabs/Module/Settings/Channel.php:497
+msgid "Geographical location to display on your posts"
+msgstr "La posizione geografica da mostrare sui tuoi post"
-#: ../../Zotlabs/Module/Admin/Site.php:286
-msgid "System language"
-msgstr "Lingua di sistema"
+#: ../../Zotlabs/Module/Settings/Channel.php:498
+msgid "Use Browser Location:"
+msgstr "Usa la località rilevata dal browser:"
-#: ../../Zotlabs/Module/Admin/Site.php:287
-msgid "System theme"
-msgstr "Tema di sistema"
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Adult Content"
+msgstr "Contenuto per adulti"
-#: ../../Zotlabs/Module/Admin/Site.php:287
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)"
-#: ../../Zotlabs/Module/Admin/Site.php:288
-msgid "Mobile system theme"
-msgstr "Tema di sistema per dispositivi mobili"
+#: ../../Zotlabs/Module/Settings/Channel.php:502
+msgid "Security and Privacy Settings"
+msgstr "Impostazioni di sicurezza e privacy"
-#: ../../Zotlabs/Module/Admin/Site.php:288
-msgid "Theme for mobile devices"
-msgstr "Tema per i dispositivi mobili"
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli"
-#: ../../Zotlabs/Module/Admin/Site.php:290
-msgid "Allow Feeds as Connections"
-msgstr "Permetti di aggiungere i feed come contatti"
+#: ../../Zotlabs/Module/Settings/Channel.php:506
+msgid "Hide my online presence"
+msgstr "Nascondi la mia presenza online"
-#: ../../Zotlabs/Module/Admin/Site.php:290
-msgid "(Heavy system resource usage)"
-msgstr "(Uso intenso delle risorse di sistema!)"
+#: ../../Zotlabs/Module/Settings/Channel.php:506
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Non mostrare sul tuo profilo quando sei online"
-#: ../../Zotlabs/Module/Admin/Site.php:291
-msgid "Maximum image size"
-msgstr "Dimensione massima immagini"
+#: ../../Zotlabs/Module/Settings/Channel.php:508
+msgid "Simple Privacy Settings:"
+msgstr "Impostazioni di privacy semplificate"
-#: ../../Zotlabs/Module/Admin/Site.php:291
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>"
-#: ../../Zotlabs/Module/Admin/Site.php:292
-msgid "Does this site allow new member registration?"
-msgstr "Questo sito permette a nuovi utenti di registrarsi?"
+#: ../../Zotlabs/Module/Settings/Channel.php:510
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>"
-#: ../../Zotlabs/Module/Admin/Site.php:293
-msgid "Invitation only"
-msgstr "Solo con invito"
+#: ../../Zotlabs/Module/Settings/Channel.php:511
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>"
-#: ../../Zotlabs/Module/Admin/Site.php:293
+#: ../../Zotlabs/Module/Settings/Channel.php:512
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:514
+msgid "Allow others to tag your posts"
+msgstr "Permetti ad altri di taggare i tuoi post"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:514
msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'."
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti"
-#: ../../Zotlabs/Module/Admin/Site.php:294
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
+#: ../../Zotlabs/Module/Settings/Channel.php:516
+msgid "Channel Permission Limits"
+msgstr "Limiti sui permessi del canale"
-#: ../../Zotlabs/Module/Admin/Site.php:295
-msgid "Register text"
-msgstr "Testo di registrazione"
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "Expire other channel content after this many days"
+msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale"
-#: ../../Zotlabs/Module/Admin/Site.php:295
-msgid "Will be displayed prominently on the registration page."
-msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "0 or blank to use the website limit."
+msgstr "0 o vuoto per usare i valori predefiniti."
-#: ../../Zotlabs/Module/Admin/Site.php:296
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+#, php-format
+msgid "This website expires after %d days."
+msgstr "Per questo sito la scadenza è %d giorni. "
-#: ../../Zotlabs/Module/Admin/Site.php:296
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "This website does not expire imported content."
+msgstr "I contenuti di questo sito non hanno scadenza."
-#: ../../Zotlabs/Module/Admin/Site.php:297
-msgid "Preserve site homepage URL"
-msgstr "Conserva l'URL della homepage"
+#: ../../Zotlabs/Module/Settings/Channel.php:518
+msgid "The website limit takes precedence if lower than your limit."
+msgstr "Il limite del server ha la precedenza, se minore di quello impostato da te."
-#: ../../Zotlabs/Module/Admin/Site.php:297
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "Maximum Friend Requests/Day:"
+msgstr "Numero massimo giornaliero di richieste di amicizia:"
-#: ../../Zotlabs/Module/Admin/Site.php:298
-msgid "Accounts abandoned after x days"
-msgstr "Account abbandonati dopo X giorni"
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "May reduce spam activity"
+msgstr "Serve a ridurre lo spam"
-#: ../../Zotlabs/Module/Admin/Site.php:298
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
+#: ../../Zotlabs/Module/Settings/Channel.php:520
+msgid "Default Privacy Group"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:299
-msgid "Allowed friend domains"
-msgstr "Domini fidati e consentiti"
+#: ../../Zotlabs/Module/Settings/Channel.php:522
+msgid "Use my default audience setting for the type of object published"
+msgstr "Mostra ai contatti secondo le impostazioni standard per questo tipo di contenuto"
-#: ../../Zotlabs/Module/Admin/Site.php:299
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Elenco separato da virgola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+msgid "Profile to assign new connections"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:300
-msgid "Verify Email Addresses"
-msgstr "Verifica l'indirizzo email"
+#: ../../Zotlabs/Module/Settings/Channel.php:532
+msgid "Channel permissions category:"
+msgstr "Categorie di permessi dei canali:"
-#: ../../Zotlabs/Module/Admin/Site.php:300
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
+#: ../../Zotlabs/Module/Settings/Channel.php:533
+msgid "Default Permissions Group"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:301
-msgid "Force publish"
-msgstr "Forza la publicazione del profilo"
+#: ../../Zotlabs/Module/Settings/Channel.php:539
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
-#: ../../Zotlabs/Module/Admin/Site.php:301
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito."
+#: ../../Zotlabs/Module/Settings/Channel.php:539
+msgid "Useful to reduce spamming"
+msgstr "Serve e ridurre lo spam"
-#: ../../Zotlabs/Module/Admin/Site.php:302
-msgid "Import Public Streams"
-msgstr "Suggerisci contenuti pubblici della rete Hubzilla"
+#: ../../Zotlabs/Module/Settings/Channel.php:542
+#: ../../Zotlabs/Lib/Enotify.php:68
+msgid "Notification Settings"
+msgstr "Impostazioni di notifica"
-#: ../../Zotlabs/Module/Admin/Site.php:302
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione."
+#: ../../Zotlabs/Module/Settings/Channel.php:543
+msgid "By default post a status message when:"
+msgstr "Pubblica un messaggio di stato quando:"
-#: ../../Zotlabs/Module/Admin/Site.php:303
-msgid "Login on Homepage"
-msgstr "Login sulla homepage"
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "accepting a friend request"
+msgstr "accetto una nuova amicizia"
-#: ../../Zotlabs/Module/Admin/Site.php:303
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
+#: ../../Zotlabs/Module/Settings/Channel.php:545
+msgid "joining a forum/community"
+msgstr "entro a far parte di un forum"
-#: ../../Zotlabs/Module/Admin/Site.php:304
-msgid "Enable context help"
-msgstr "Abilita la guida contestuale"
+#: ../../Zotlabs/Module/Settings/Channel.php:546
+msgid "making an <em>interesting</em> profile change"
+msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
-#: ../../Zotlabs/Module/Admin/Site.php:304
-msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Quando è premuto, il bottone della guida mostra quella relativa alla pagina corrente"
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+msgid "Send a notification email when:"
+msgstr "Invia una email di notifica quando:"
-#: ../../Zotlabs/Module/Admin/Site.php:306
-msgid "Directory Server URL"
-msgstr "URL del directory server"
+#: ../../Zotlabs/Module/Settings/Channel.php:548
+msgid "You receive a connection request"
+msgstr "Ricevi una richiesta di entrare in contatto"
-#: ../../Zotlabs/Module/Admin/Site.php:306
-msgid "Default directory server"
-msgstr "Directory server predefinito"
+#: ../../Zotlabs/Module/Settings/Channel.php:549
+msgid "Your connections are confirmed"
+msgstr "I tuoi contatti sono confermati"
-#: ../../Zotlabs/Module/Admin/Site.php:308
-msgid "Proxy user"
-msgstr "Utente proxy"
+#: ../../Zotlabs/Module/Settings/Channel.php:550
+msgid "Someone writes on your profile wall"
+msgstr "Qualcuno scrive sulla tua bacheca"
-#: ../../Zotlabs/Module/Admin/Site.php:309
-msgid "Proxy URL"
-msgstr "URL proxy"
+#: ../../Zotlabs/Module/Settings/Channel.php:551
+msgid "Someone writes a followup comment"
+msgstr "Qualcuno scrive un commento dopo di te"
-#: ../../Zotlabs/Module/Admin/Site.php:310
-msgid "Network timeout"
-msgstr "Timeout rete"
+#: ../../Zotlabs/Module/Settings/Channel.php:552
+msgid "You receive a private message"
+msgstr "Ricevi un messaggio privato"
-#: ../../Zotlabs/Module/Admin/Site.php:310
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
+#: ../../Zotlabs/Module/Settings/Channel.php:553
+msgid "You receive a friend suggestion"
+msgstr "Ti viene suggerito un amico"
-#: ../../Zotlabs/Module/Admin/Site.php:311
-msgid "Delivery interval"
-msgstr "Recapito ritardato"
+#: ../../Zotlabs/Module/Settings/Channel.php:554
+msgid "You are tagged in a post"
+msgstr "Sei taggato in un post"
-#: ../../Zotlabs/Module/Admin/Site.php:311
+#: ../../Zotlabs/Module/Settings/Channel.php:555
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Ricevi un poke in un post"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:557
+msgid "Someone likes your post/comment"
+msgstr "Qualcuno mette mi piace al tuo post/commento"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:560
+msgid "Show visual notifications including:"
+msgstr "Mostra queste notifiche a schermo:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:562
+msgid "Unseen grid activity"
+msgstr "Nuove attività nella rete"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:563
+msgid "Unseen channel activity"
+msgstr "Novità nei canali"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:564
+msgid "Unseen private messages"
+msgstr "Nuovi messaggi privati"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:564
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+#: ../../Zotlabs/Module/Settings/Channel.php:570
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+#: ../../addon/jappixmini/jappixmini.php:343
+msgid "Recommended"
+msgstr "Consigliato"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:565
+msgid "Upcoming events"
+msgstr "Prossimi eventi"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:566
+msgid "Events today"
+msgstr "Eventi di oggi"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:567
+msgid "Upcoming birthdays"
+msgstr "Prossimi compleanni"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:567
+msgid "Not available in all themes"
+msgstr "Non disponibile in tutti i temi"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:568
+msgid "System (personal) notifications"
+msgstr "Notifiche personali dal sistema"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:569
+msgid "System info messages"
+msgstr "Notifiche di sistema"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:570
+msgid "System critical alerts"
+msgstr "Avvisi critici di sistema"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:571
+msgid "New connections"
+msgstr "Nuovi contatti"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:572
+msgid "System Registrations"
+msgstr "Registrazioni"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:573
+msgid "Unseen shared files"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:574
+msgid "Unseen public activity"
+msgstr "Attività pubblica non letta"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+msgid "Email notification hub (hostname)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:575
+#, php-format
msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
+"If your channel is mirrored to multiple hubs, set this to your preferred "
+"location. This will prevent duplicate email notifications. Example: %s"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:312
-msgid "Deliveries per process"
-msgstr "Tentativi di recapito per processo"
+#: ../../Zotlabs/Module/Settings/Channel.php:576
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti"
-#: ../../Zotlabs/Module/Admin/Site.php:312
+#: ../../Zotlabs/Module/Settings/Channel.php:578
+msgid "Notify me of events this many days in advance"
+msgstr "Giorni di anticipo per notificare gli eventi"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:578
+msgid "Must be greater than 0"
+msgstr "Maggiore di 0"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:584
+msgid "Advanced Account/Page Type Settings"
+msgstr "Impostazioni avanzate"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:585
+msgid "Change the behaviour of this account for special situations"
+msgstr "Cambia il funzionamento di questo account per necessità particolari"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:587
+msgid "Miscellaneous Settings"
+msgstr "Impostazioni varie"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:588
+msgid "Default photo upload folder"
+msgstr "Cartella predefinita per le foto caricate"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:588
+#: ../../Zotlabs/Module/Settings/Channel.php:589
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - anno corrente, %m - mese corrente"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:589
+msgid "Default file upload folder"
+msgstr "Cartella predefinita per i file caricati"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:591
+msgid "Personal menu to display in your channel pages"
+msgstr "Menu personale da mostrare sulle pagine del tuo canale"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:593
+msgid "Remove this channel."
+msgstr "Elimina questo canale."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:594
+msgid "Firefox Share $Projectname provider"
+msgstr "Attiva Firefox Share per $Projectname"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:595
+msgid "Start calendar week on Monday"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr "Funzionalità opzionali"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:31
+#, php-format
+msgid "This channel is limited to %d tokens"
+msgstr "Questo canale è limitato a %d token"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:37
+msgid "Name and Password are required."
+msgstr "Nome e password sono obbligatori."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:77
+msgid "Token saved."
+msgstr "Token salvato."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:113
msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust"
-" if necessary to tune system performance. Recommend: 1-5."
-msgstr "Numero di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5"
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
+msgstr "Usa questo modulo per creare credenziali temporanee per condividere qualcosa con i non iscritti. A queste credenziali potrai dare o togliere diritti come a tutti gli altri utenti e i visitatori potranno usarle per accedere a contenuti privati."
-#: ../../Zotlabs/Module/Admin/Site.php:313
-msgid "Poll interval"
-msgstr "Intervallo di polling"
+#: ../../Zotlabs/Module/Settings/Tokens.php:115
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
+msgstr "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:"
-#: ../../Zotlabs/Module/Admin/Site.php:313
+#: ../../Zotlabs/Module/Settings/Tokens.php:150
+#: ../../Zotlabs/Widget/Settings_menu.php:92
+msgid "Guest Access Tokens"
+msgstr "Token di accesso ospite"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:157
+msgid "Login Name"
+msgstr "Nome utente"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:158
+msgid "Login Password"
+msgstr "Password"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:159
+msgid "Expires (yyyy-mm-dd)"
+msgstr "Con scadenza (aaaa-mm-gg)"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:160
+#: ../../Zotlabs/Module/Connedit.php:890
+msgid "Their Settings"
+msgstr "Permessi concessi a te"
+
+#: ../../Zotlabs/Module/Settings/Account.php:20
+msgid "Not valid email."
+msgstr "Email non valida."
+
+#: ../../Zotlabs/Module/Settings/Account.php:23
+msgid "Protected email address. Cannot change to that email."
+msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
+
+#: ../../Zotlabs/Module/Settings/Account.php:32
+msgid "System failure storing new email. Please try again."
+msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
+
+#: ../../Zotlabs/Module/Settings/Account.php:40
+msgid "Technical skill level updated"
+msgstr "Livello tecnico aggiornato"
+
+#: ../../Zotlabs/Module/Settings/Account.php:56
+msgid "Password verification failed."
+msgstr "Verifica della password fallita."
+
+#: ../../Zotlabs/Module/Settings/Account.php:63
+msgid "Passwords do not match. Password unchanged."
+msgstr "Le password non corrispondono. Password non cambiata."
+
+#: ../../Zotlabs/Module/Settings/Account.php:67
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Le password non possono essere vuote. Password non cambiata."
+
+#: ../../Zotlabs/Module/Settings/Account.php:81
+msgid "Password changed."
+msgstr "Password cambiata."
+
+#: ../../Zotlabs/Module/Settings/Account.php:83
+msgid "Password update failed. Please try again."
+msgstr "Modifica password fallita. Prova ancora."
+
+#: ../../Zotlabs/Module/Settings/Account.php:112
+msgid "Account Settings"
+msgstr "Il tuo account"
+
+#: ../../Zotlabs/Module/Settings/Account.php:113
+msgid "Current Password"
+msgstr "Password attuale"
+
+#: ../../Zotlabs/Module/Settings/Account.php:114
+msgid "Enter New Password"
+msgstr "Nuova password"
+
+#: ../../Zotlabs/Module/Settings/Account.php:115
+msgid "Confirm New Password"
+msgstr "Conferma la nuova password"
+
+#: ../../Zotlabs/Module/Settings/Account.php:115
+msgid "Leave password fields blank unless changing"
+msgstr "Lascia vuoti questi campi per non cambiare la password"
+
+#: ../../Zotlabs/Module/Settings/Account.php:116
+msgid "Your technical skill level"
+msgstr "Il tuo livello tecnico"
+
+#: ../../Zotlabs/Module/Settings/Account.php:116
msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
+"Used to provide a member experience and additional features consistent with "
+"your comfort level"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Site.php:314
-msgid "Maximum Load Average"
-msgstr "Carico massimo medio"
+#: ../../Zotlabs/Module/Settings/Account.php:120
+#: ../../Zotlabs/Module/Removeaccount.php:61
+msgid "Remove Account"
+msgstr "Elimina l'account"
-#: ../../Zotlabs/Module/Admin/Site.php:314
+#: ../../Zotlabs/Module/Settings/Account.php:121
+msgid "Remove this account including all its channels"
+msgstr "Elimina questo account e tutti i suoi canali"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:23
+msgid "Affinity Slider settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:38
+msgid "No feature settings configured"
+msgstr "Non hai componenti aggiuntivi da personalizzare"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:45
+msgid "Default maximum affinity level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:45
+msgid "0-99 default 99"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:50
+msgid "Default minimum affinity level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:50
+msgid "0-99 - default 0"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:54
+msgid "Affinity Slider Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:64
+msgid "Addon Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Featured.php:65
+msgid "Please save/submit changes to any panel before opening another."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Display.php:139
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s - (Sperimentale)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:187
+msgid "Display Settings"
+msgstr "Aspetto"
+
+#: ../../Zotlabs/Module/Settings/Display.php:188
+msgid "Theme Settings"
+msgstr "Impostazioni del tema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:189
+msgid "Custom Theme Settings"
+msgstr "Personalizzazione del tema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:190
+msgid "Content Settings"
+msgstr "Impostazioni dei contenuti"
+
+#: ../../Zotlabs/Module/Settings/Display.php:196
+msgid "Display Theme:"
+msgstr "Tema per schermi medio grandi:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:197
+msgid "Select scheme"
+msgstr "Scegli uno schema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Preload images before rendering the page"
+msgstr "Carica le immagini prima del rendering della pagina"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo"
-#: ../../Zotlabs/Module/Admin/Site.php:315
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
+#: ../../Zotlabs/Module/Settings/Display.php:200
+msgid "Enable user zoom on mobile devices"
+msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
-#: ../../Zotlabs/Module/Admin/Site.php:315
-msgid "0 for no expiration of imported content"
-msgstr "0 per non avere scadenza"
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Update browser every xx seconds"
+msgstr "Aggiorna il browser ogni x secondi"
-#: ../../Zotlabs/Module/Admin/Themes.php:18
-msgid "Theme settings updated."
-msgstr "Le impostazioni del tema sono state aggiornate."
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimo 10 secondi, nessun limite massimo"
-#: ../../Zotlabs/Module/Admin/Themes.php:58
-msgid "No themes found."
-msgstr "Nessun tema trovato."
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
-#: ../../Zotlabs/Module/Admin/Themes.php:114
-msgid "Screenshot"
-msgstr "Istantanea dello schermo"
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Maximum of 100 items"
+msgstr "Massimo 100"
-#: ../../Zotlabs/Module/Admin/Themes.php:121
-#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1566
-msgid "Themes"
-msgstr "Temi"
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Show emoticons (smilies) as images"
+msgstr "Mostra le faccine (smilies) come immagini"
-#: ../../Zotlabs/Module/Admin/Themes.php:160
-msgid "[Experimental]"
-msgstr "[Sperimentale]"
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Provide channel menu in navigation bar"
+msgstr ""
-#: ../../Zotlabs/Module/Admin/Themes.php:161
-msgid "[Unsupported]"
-msgstr "[Non supportato]"
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Default: channel menu located in app menu"
+msgstr ""
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
-#: ../../include/nav.php:95 ../../include/conversation.php:1672
-msgid "Photos"
-msgstr "Foto"
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Manual conversation updates"
+msgstr ""
-#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
-msgid "Invalid item."
-msgstr "Elemento non valido."
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Default is on, turning this off may increase screen jumping"
+msgstr ""
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
-#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
-msgstr "Canale non trovato."
+#: ../../Zotlabs/Module/Settings/Display.php:206
+msgid "Link post titles to source"
+msgstr "Il link del titolo di un post porta al sito originale"
+
+#: ../../Zotlabs/Module/Settings/Display.php:207
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Modifica i layout di sistema (avanzato)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:210
+msgid "Use blog/list mode on channel page"
+msgstr "Mostra il canale nella modalità blog"
+
+#: ../../Zotlabs/Module/Settings/Display.php:210
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "(comments displayed separately)"
+msgstr "(i commenti sono mostrati separatamente)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "Use blog/list mode on grid page"
+msgstr "Mostra la tua rete in modalità blog"
+
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "Channel page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti del canale (in pixel)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:212
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "click to expand content exceeding this height"
+msgstr "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori"
+
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "Grid page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:34
+msgid "Name is required"
+msgstr "Il nome è obbligatorio"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:38
+msgid "Key and Secret are required"
+msgstr "Key e Secret sono richiesti"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:86
+#: ../../Zotlabs/Module/Settings/Oauth.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
+msgid "Add application"
+msgstr "Aggiungi una app"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+msgid "Name of application"
+msgstr "Nome dell'applicazione"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+#: ../../addon/statusnet/statusnet.php:894 ../../addon/twitter/twitter.php:781
+msgid "Consumer Key"
+msgstr "Consumer Key"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:117
+#: ../../addon/statusnet/statusnet.php:893 ../../addon/twitter/twitter.php:782
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
-#: ../../Zotlabs/Module/Page.php:131
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+msgid "Redirect"
+msgstr "Redirect"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
msgid ""
-"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
-"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
-" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
-"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
-"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
-"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
-msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione"
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "Save to Folder:"
-msgstr "Salva nella cartella:"
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Icon url"
+msgstr "Url icona"
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "- select -"
-msgstr "- scegli -"
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+msgid "Optional"
+msgstr "Facoltativo"
-#: ../../Zotlabs/Module/Mail.php:38
-msgid "Unable to lookup recipient."
-msgstr "Impossibile associare un destinatario."
+#: ../../Zotlabs/Module/Settings/Oauth.php:104
+msgid "Application not found."
+msgstr "Applicazione non trovata."
-#: ../../Zotlabs/Module/Mail.php:45
-msgid "Unable to communicate with requested channel."
-msgstr "Impossibile comunicare con il canale richiesto."
+#: ../../Zotlabs/Module/Settings/Oauth.php:147
+msgid "Connected Apps"
+msgstr "App connesse"
-#: ../../Zotlabs/Module/Mail.php:52
-msgid "Cannot verify requested channel."
-msgstr "Impossibile verificare il canale richiesto."
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+msgid "Client key starts with"
+msgstr "La client key inizia con"
-#: ../../Zotlabs/Module/Mail.php:70
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "No name"
+msgstr "Nessun nome"
-#: ../../Zotlabs/Module/Mail.php:135
-msgid "Messages"
-msgstr "Messaggi"
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "Remove authorization"
+msgstr "Revoca l'autorizzazione"
-#: ../../Zotlabs/Module/Mail.php:170
-msgid "Message recalled."
-msgstr "Messaggio revocato."
+#: ../../Zotlabs/Module/Embedphotos.php:140
+#: ../../Zotlabs/Module/Photos.php:811 ../../Zotlabs/Module/Photos.php:1350
+#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78
+msgid "View Photo"
+msgstr "Guarda la foto"
-#: ../../Zotlabs/Module/Mail.php:183
-msgid "Conversation removed."
-msgstr "Conversazione rimossa."
+#: ../../Zotlabs/Module/Embedphotos.php:156
+#: ../../Zotlabs/Module/Photos.php:842 ../../Zotlabs/Widget/Portfolio.php:108
+#: ../../Zotlabs/Widget/Album.php:95
+msgid "Edit Album"
+msgstr "Modifica album"
-#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
-#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1184
-msgid "Please enter a link URL:"
-msgstr "Inserisci l'indirizzo del link:"
+#: ../../Zotlabs/Module/Embedphotos.php:158
+#: ../../Zotlabs/Module/Photos.php:712 ../../Zotlabs/Module/Photos.php:844
+#: ../../Zotlabs/Module/Photos.php:1381
+#: ../../Zotlabs/Module/Profile_photo.php:458
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Storage/Browser.php:277 ../../Zotlabs/Storage/Browser.php:384
+#: ../../Zotlabs/Widget/Cdav.php:133 ../../Zotlabs/Widget/Cdav.php:169
+#: ../../Zotlabs/Widget/Portfolio.php:110 ../../Zotlabs/Widget/Album.php:97
+msgid "Upload"
+msgstr "Carica"
-#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Scade il YYYY-MM-DD HH:MM"
+#: ../../Zotlabs/Module/Achievements.php:38
+msgid "Some blurb about what to do when you're new here"
+msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
-#: ../../Zotlabs/Module/Mail.php:226
-msgid "Requested channel is not in this network"
-msgstr "Il canale cercato non è in questa rete"
+#: ../../Zotlabs/Module/Thing.php:115
+msgid "Thing updated"
+msgstr "L'oggetto è stato aggiornato"
-#: ../../Zotlabs/Module/Mail.php:234
-msgid "Send Private Message"
-msgstr "Invia un messaggio privato"
+#: ../../Zotlabs/Module/Thing.php:167
+msgid "Object store: failed"
+msgstr "Impossibile memorizzare l'oggetto."
-#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
-msgid "To:"
-msgstr "A:"
+#: ../../Zotlabs/Module/Thing.php:171
+msgid "Thing added"
+msgstr "L'Oggetto è stato aggiunto"
-#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
-msgid "Subject:"
-msgstr "Oggetto:"
+#: ../../Zotlabs/Module/Thing.php:197
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
-msgid "Your message:"
-msgstr "Il tuo messaggio:"
+#: ../../Zotlabs/Module/Thing.php:260
+msgid "Show Thing"
+msgstr "Mostra l'oggetto"
-#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
-#: ../../include/conversation.php:1244
-msgid "Attach file"
-msgstr "Allega file"
+#: ../../Zotlabs/Module/Thing.php:267
+msgid "item not found."
+msgstr "non trovato."
-#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
-#: ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
-#: ../../include/conversation.php:1149
-msgid "Insert web link"
-msgstr "Inserisci un indirizzo web"
+#: ../../Zotlabs/Module/Thing.php:300
+msgid "Edit Thing"
+msgstr "Modifica l'oggetto"
-#: ../../Zotlabs/Module/Mail.php:245
-msgid "Send"
-msgstr "Invia"
+#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:359
+msgid "Select a profile"
+msgstr "Scegli un profilo"
-#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
-#: ../../include/conversation.php:1289
-msgid "Set expiration date"
-msgstr "Data di scadenza"
+#: ../../Zotlabs/Module/Thing.php:306 ../../Zotlabs/Module/Thing.php:362
+msgid "Post an activity"
+msgstr "Pubblica un'attività"
-#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:737
-#: ../../include/conversation.php:1294
-msgid "Encrypt text"
-msgstr "Cifratura del messaggio"
+#: ../../Zotlabs/Module/Thing.php:306 ../../Zotlabs/Module/Thing.php:362
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Invia solo a chi può vedere il profilo scelto"
-#: ../../Zotlabs/Module/Mail.php:332
-msgid "Delete message"
-msgstr "Elimina il messaggio"
+#: ../../Zotlabs/Module/Thing.php:308 ../../Zotlabs/Module/Thing.php:364
+msgid "Name of thing e.g. something"
+msgstr "Nome dell'oggetto"
-#: ../../Zotlabs/Module/Mail.php:333
-msgid "Delivery report"
-msgstr "Rapporto di trasmissione"
+#: ../../Zotlabs/Module/Thing.php:310 ../../Zotlabs/Module/Thing.php:365
+msgid "URL of thing (optional)"
+msgstr "Indirizzo web dell'oggetto (facoltativo)"
-#: ../../Zotlabs/Module/Mail.php:334
-msgid "Recall message"
-msgstr "Revoca il messaggio"
+#: ../../Zotlabs/Module/Thing.php:312 ../../Zotlabs/Module/Thing.php:366
+msgid "URL for photo of thing (optional)"
+msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)"
-#: ../../Zotlabs/Module/Mail.php:336
-msgid "Message has been recalled."
-msgstr "Il messaggio è stato revocato."
+#: ../../Zotlabs/Module/Thing.php:314 ../../Zotlabs/Module/Thing.php:367
+#: ../../Zotlabs/Module/Photos.php:702 ../../Zotlabs/Module/Photos.php:1071
+#: ../../Zotlabs/Module/Connedit.php:676 ../../Zotlabs/Module/Chat.php:235
+#: ../../Zotlabs/Module/Filestorage.php:147
+#: ../../include/acl_selectors.php:123
+msgid "Permissions"
+msgstr "Permessi"
-#: ../../Zotlabs/Module/Mail.php:353
-msgid "Delete Conversation"
-msgstr "Elimina la conversazione"
+#: ../../Zotlabs/Module/Thing.php:357
+msgid "Add Thing to your Profile"
+msgstr "Aggiungi l'oggetto al tuo profilo"
+
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:57
+msgid "No more system notifications."
+msgstr "Non ci sono nuove notifiche di sistema."
+
+#: ../../Zotlabs/Module/Notify.php:65
+#: ../../Zotlabs/Module/Notifications.php:61
+msgid "System Notifications"
+msgstr "Notifiche di sistema"
+
+#: ../../Zotlabs/Module/Follow.php:31
+msgid "Channel added."
+msgstr "Canale aggiunto."
+
+#: ../../Zotlabs/Module/Import.php:143
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Il tuo account permette di creare al massimo %d canali."
+
+#: ../../Zotlabs/Module/Import.php:157
+msgid "No channel. Import failed."
+msgstr "Nessun canale. Import fallito."
-#: ../../Zotlabs/Module/Mail.php:355
+#: ../../Zotlabs/Module/Import.php:481
+#: ../../addon/diaspora/import_diaspora.php:139
+msgid "Import completed."
+msgstr "L'importazione è terminata con successo."
+
+#: ../../Zotlabs/Module/Import.php:509
+msgid "You must be logged in to use this feature."
+msgstr "Per questa funzionalità devi aver effettuato l'accesso."
+
+#: ../../Zotlabs/Module/Import.php:514
+msgid "Import Channel"
+msgstr "Importa un canale"
+
+#: ../../Zotlabs/Module/Import.php:515
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file."
+msgstr "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza."
-#: ../../Zotlabs/Module/Mail.php:359
-msgid "Send Reply"
-msgstr "Invia la risposta"
+#: ../../Zotlabs/Module/Import.php:517
+msgid "Or provide the old server/hub details"
+msgstr "Oppure fornisci i dettagli del vecchio hub"
-#: ../../Zotlabs/Module/Mail.php:364
+#: ../../Zotlabs/Module/Import.php:518
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
+
+#: ../../Zotlabs/Module/Import.php:519
+msgid "Your old login email address"
+msgstr "L'email che usavi per accedere sul vecchio hub"
+
+#: ../../Zotlabs/Module/Import.php:520
+msgid "Your old login password"
+msgstr "La password per il vecchio hub"
+
+#: ../../Zotlabs/Module/Import.php:521
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc."
+
+#: ../../Zotlabs/Module/Import.php:522
+msgid "Make this hub my primary location"
+msgstr "Rendi questo hub il mio indirizzo primario"
+
+#: ../../Zotlabs/Module/Import.php:523
+msgid "Move this channel (disable all previous locations)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:524
+msgid "Import a few months of posts if possible (limited by available memory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Import.php:525
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
+
+#: ../../Zotlabs/Module/Rmagic.php:35
+msgid "Authentication failed."
+msgstr "Autenticazione fallita."
+
+#: ../../Zotlabs/Module/Rmagic.php:75 ../../boot.php:1583
+#: ../../include/channel.php:2307
+msgid "Remote Authentication"
+msgstr "Accedi tramite il tuo hub"
+
+#: ../../Zotlabs/Module/Rmagic.php:76 ../../include/channel.php:2308
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
+
+#: ../../Zotlabs/Module/Rmagic.php:77 ../../include/channel.php:2309
+msgid "Authenticate"
+msgstr "Accedi"
+
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Permesso negato."
+
+#: ../../Zotlabs/Module/Cal.php:344 ../../include/text.php:2426
+msgid "Import"
+msgstr "Importa"
+
+#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95
+msgid "Authorize application connection"
+msgstr "Autorizza la app"
+
+#: ../../Zotlabs/Module/Api.php:75
+msgid "Return to your app and insert this Security Code:"
+msgstr "Ritorna alla tua app e inserisci questo Security Code:"
+
+#: ../../Zotlabs/Module/Api.php:85
+msgid "Please login to continue."
+msgstr "Accedi al sito per continuare."
+
+#: ../../Zotlabs/Module/Api.php:97
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
+
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Elemento non disponibile."
+
+#: ../../Zotlabs/Module/Editblock.php:138
+msgid "Edit Block"
+msgstr "Modifica il block"
+
+#: ../../Zotlabs/Module/Profile.php:93
+msgid "vcard"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apps.php:48 ../../Zotlabs/Lib/Apps.php:228
+msgid "Apps"
+msgstr "App"
+
+#: ../../Zotlabs/Module/Apps.php:51
+msgid "Manage apps"
+msgstr ""
+
+#: ../../Zotlabs/Module/Apps.php:52
+msgid "Create new app"
+msgstr ""
+
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:268
#, php-format
-msgid "Your message for %s (%s):"
-msgstr "Il tuo messaggio per %s (%s):"
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s è %2$s"
-#: ../../Zotlabs/Module/Connections.php:56
-#: ../../Zotlabs/Module/Connections.php:161
-#: ../../Zotlabs/Module/Connections.php:242
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:253
+msgid "Mood"
+msgstr "Umore"
+
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
+
+#: ../../Zotlabs/Module/Connections.php:54
+#: ../../Zotlabs/Module/Connections.php:156
+#: ../../Zotlabs/Module/Connections.php:245
msgid "Blocked"
msgstr "Bloccati"
-#: ../../Zotlabs/Module/Connections.php:61
-#: ../../Zotlabs/Module/Connections.php:168
-#: ../../Zotlabs/Module/Connections.php:241
+#: ../../Zotlabs/Module/Connections.php:59
+#: ../../Zotlabs/Module/Connections.php:163
+#: ../../Zotlabs/Module/Connections.php:244
msgid "Ignored"
msgstr "Ignorati"
-#: ../../Zotlabs/Module/Connections.php:66
-#: ../../Zotlabs/Module/Connections.php:182
-#: ../../Zotlabs/Module/Connections.php:240
+#: ../../Zotlabs/Module/Connections.php:64
+#: ../../Zotlabs/Module/Connections.php:177
+#: ../../Zotlabs/Module/Connections.php:243
msgid "Hidden"
msgstr "Nascosti"
-#: ../../Zotlabs/Module/Connections.php:71
-#: ../../Zotlabs/Module/Connections.php:175
-#: ../../Zotlabs/Module/Connections.php:239
-msgid "Archived"
-msgstr "Archiviati"
+#: ../../Zotlabs/Module/Connections.php:69
+#: ../../Zotlabs/Module/Connections.php:170
+msgid "Archived/Unreachable"
+msgstr ""
-#: ../../Zotlabs/Module/Connections.php:76
-#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1573
+#: ../../Zotlabs/Module/Connections.php:74
+#: ../../Zotlabs/Module/Connections.php:83 ../../Zotlabs/Module/Menu.php:116
+#: ../../Zotlabs/Module/Notifications.php:52
+#: ../../include/conversation.php:1714
msgid "New"
msgstr "Novità"
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107
-#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:533
+#: ../../Zotlabs/Module/Connections.php:88
+#: ../../Zotlabs/Module/Connections.php:102
+#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:26
msgid "All"
msgstr "Tutti"
-#: ../../Zotlabs/Module/Connections.php:138
+#: ../../Zotlabs/Module/Connections.php:133
+#: ../../Zotlabs/Widget/Notifications.php:84
msgid "New Connections"
msgstr "Nuovi contatti"
-#: ../../Zotlabs/Module/Connections.php:141
+#: ../../Zotlabs/Module/Connections.php:136
msgid "Show pending (new) connections"
msgstr "Richieste di contatto in attesa"
-#: ../../Zotlabs/Module/Connections.php:145
-#: ../../Zotlabs/Module/Profperm.php:144
-msgid "All Connections"
-msgstr "Tutti i contatti"
-
-#: ../../Zotlabs/Module/Connections.php:148
+#: ../../Zotlabs/Module/Connections.php:143
msgid "Show all connections"
msgstr "Mostra tutti i contatti"
-#: ../../Zotlabs/Module/Connections.php:164
+#: ../../Zotlabs/Module/Connections.php:159
msgid "Only show blocked connections"
msgstr "Mostra solo i contatti bloccati"
-#: ../../Zotlabs/Module/Connections.php:171
+#: ../../Zotlabs/Module/Connections.php:166
msgid "Only show ignored connections"
msgstr "Mostra solo i contatti ignorati"
-#: ../../Zotlabs/Module/Connections.php:178
-msgid "Only show archived connections"
-msgstr "Mostra solo i contatti archiviati"
+#: ../../Zotlabs/Module/Connections.php:173
+msgid "Only show archived/unreachable connections"
+msgstr ""
-#: ../../Zotlabs/Module/Connections.php:185
+#: ../../Zotlabs/Module/Connections.php:180
msgid "Only show hidden connections"
msgstr "Mostra solo i contatti nascosti"
-#: ../../Zotlabs/Module/Connections.php:238
+#: ../../Zotlabs/Module/Connections.php:241
msgid "Pending approval"
msgstr "In attesa di conferma"
-#: ../../Zotlabs/Module/Connections.php:254
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Archived"
+msgstr "Archiviati"
+
+#: ../../Zotlabs/Module/Connections.php:246
+msgid "Not connected at this location"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:263
#, php-format
msgid "%1$s [%2$s]"
msgstr "%1$s [%2$s]"
-#: ../../Zotlabs/Module/Connections.php:255
+#: ../../Zotlabs/Module/Connections.php:264
msgid "Edit connection"
msgstr "Modifica il contatto"
-#: ../../Zotlabs/Module/Connections.php:256
+#: ../../Zotlabs/Module/Connections.php:266
msgid "Delete connection"
msgstr "Elimina il contatto"
-#: ../../Zotlabs/Module/Connections.php:265
+#: ../../Zotlabs/Module/Connections.php:275
msgid "Channel address"
msgstr "Indirizzo del canale"
-#: ../../Zotlabs/Module/Connections.php:267
+#: ../../Zotlabs/Module/Connections.php:277
msgid "Network"
msgstr "Network"
-#: ../../Zotlabs/Module/Connections.php:270
+#: ../../Zotlabs/Module/Connections.php:280
+msgid "Call"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connections.php:282
msgid "Status"
msgstr "Stato"
-#: ../../Zotlabs/Module/Connections.php:272
+#: ../../Zotlabs/Module/Connections.php:284
msgid "Connected"
msgstr "In contatto"
-#: ../../Zotlabs/Module/Connections.php:274
+#: ../../Zotlabs/Module/Connections.php:286
msgid "Approve connection"
msgstr "Approva questo contatto"
-#: ../../Zotlabs/Module/Connections.php:276
+#: ../../Zotlabs/Module/Connections.php:288
msgid "Ignore connection"
msgstr "Ignora il contatto"
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Connedit.php:583
-#: ../../Zotlabs/Module/Notifications.php:55
+#: ../../Zotlabs/Module/Connections.php:289
+#: ../../Zotlabs/Module/Connedit.php:630
msgid "Ignore"
msgstr "Ignora"
-#: ../../Zotlabs/Module/Connections.php:278
+#: ../../Zotlabs/Module/Connections.php:290
msgid "Recent activity"
msgstr "Attività recenti"
-#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
-#: ../../include/text.php:901 ../../include/nav.php:191
+#: ../../Zotlabs/Module/Connections.php:315 ../../Zotlabs/Lib/Apps.php:235
+#: ../../include/text.php:973
msgid "Connections"
msgstr "Contatti"
-#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/text.php:971
-#: ../../include/text.php:983 ../../include/acl_selectors.php:174
-#: ../../include/nav.php:170 ../../include/widgets.php:315
-msgid "Search"
-msgstr "Cerca"
-
-#: ../../Zotlabs/Module/Connections.php:307
+#: ../../Zotlabs/Module/Connections.php:320
msgid "Search your connections"
msgstr "Cerca tra i contatti"
-#: ../../Zotlabs/Module/Connections.php:308
+#: ../../Zotlabs/Module/Connections.php:321
msgid "Connections search"
msgstr "Ricerca tra i contatti"
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
+#: ../../Zotlabs/Module/Connections.php:322
+#: ../../Zotlabs/Module/Directory.php:396
+#: ../../Zotlabs/Module/Directory.php:401 ../../include/contact_widgets.php:23
msgid "Find"
msgstr "Cerca"
-#: ../../Zotlabs/Module/Cover_photo.php:58
-#: ../../Zotlabs/Module/Profile_photo.php:61
+#: ../../Zotlabs/Module/Viewsrc.php:43
+msgid "item"
+msgstr ""
+
+#: ../../Zotlabs/Module/Viewsrc.php:55
+msgid "Source of Item"
+msgstr "Sorgente"
+
+#: ../../Zotlabs/Module/Bookmarks.php:56
+msgid "Bookmark added"
+msgstr "Segnalibro aggiunto"
+
+#: ../../Zotlabs/Module/Bookmarks.php:79
+msgid "My Bookmarks"
+msgstr "I miei segnalibri"
+
+#: ../../Zotlabs/Module/Bookmarks.php:90
+msgid "My Connections Bookmarks"
+msgstr "I segnalibri dei miei contatti"
+
+#: ../../Zotlabs/Module/Removeaccount.php:35
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password."
+
+#: ../../Zotlabs/Module/Removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Elimina questo account"
+
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid ""
+"This account and all its channels will be completely removed from the "
+"network. "
+msgstr "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete."
+
+#: ../../Zotlabs/Module/Removeaccount.php:60
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati."
+
+#: ../../Zotlabs/Module/Removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete."
+
+#: ../../Zotlabs/Module/Photos.php:78
+msgid "Page owner information could not be retrieved."
+msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
+
+#: ../../Zotlabs/Module/Photos.php:94 ../../Zotlabs/Module/Photos.php:120
+msgid "Album not found."
+msgstr "Album non trovato."
+
+#: ../../Zotlabs/Module/Photos.php:103
+msgid "Delete Album"
+msgstr "Elimina album"
+
+#: ../../Zotlabs/Module/Photos.php:174 ../../Zotlabs/Module/Photos.php:1083
+msgid "Delete Photo"
+msgstr "Elimina foto"
+
+#: ../../Zotlabs/Module/Photos.php:551
+msgid "No photos selected"
+msgstr "Nessuna foto selezionata"
+
+#: ../../Zotlabs/Module/Photos.php:600
+msgid "Access to this item is restricted."
+msgstr "Questo elemento non è visibile a tutti."
+
+#: ../../Zotlabs/Module/Photos.php:646
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile."
+
+#: ../../Zotlabs/Module/Photos.php:649
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "Hai usato %1$.2f Mb del tuo spazio disponibile."
+
+#: ../../Zotlabs/Module/Photos.php:691
+msgid "Upload Photos"
+msgstr "Carica foto"
+
+#: ../../Zotlabs/Module/Photos.php:695
+msgid "Enter an album name"
+msgstr "Scegli il nome dell'album"
+
+#: ../../Zotlabs/Module/Photos.php:696
+msgid "or select an existing album (doubleclick)"
+msgstr "o seleziona un album esistente (doppio click)"
+
+#: ../../Zotlabs/Module/Photos.php:697
+msgid "Create a status post for this upload"
+msgstr "Pubblica sulla bacheca"
+
+#: ../../Zotlabs/Module/Photos.php:698
+msgid "Caption (optional):"
+msgstr "Titolo (facoltativo):"
+
+#: ../../Zotlabs/Module/Photos.php:699
+msgid "Description (optional):"
+msgstr "Descrizione (facoltativa):"
+
+#: ../../Zotlabs/Module/Photos.php:785
+msgid "Show Newest First"
+msgstr "Prima i più recenti"
+
+#: ../../Zotlabs/Module/Photos.php:787
+msgid "Show Oldest First"
+msgstr "Prima i più vecchi"
+
+#: ../../Zotlabs/Module/Photos.php:892
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
+
+#: ../../Zotlabs/Module/Photos.php:894
+msgid "Photo not available"
+msgstr "Foto non disponibile"
+
+#: ../../Zotlabs/Module/Photos.php:952
+msgid "Use as profile photo"
+msgstr "Usa come foto del profilo"
+
+#: ../../Zotlabs/Module/Photos.php:953
+msgid "Use as cover photo"
+msgstr "Usa come copertina del canale"
+
+#: ../../Zotlabs/Module/Photos.php:960
+msgid "Private Photo"
+msgstr "Foto privata"
+
+#: ../../Zotlabs/Module/Photos.php:975
+msgid "View Full Size"
+msgstr "Vedi nelle dimensioni originali"
+
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Edit photo"
+msgstr "Modifica la foto"
+
+#: ../../Zotlabs/Module/Photos.php:1059
+msgid "Rotate CW (right)"
+msgstr "Ruota (senso orario)"
+
+#: ../../Zotlabs/Module/Photos.php:1060
+msgid "Rotate CCW (left)"
+msgstr "Ruota (senso antiorario)"
+
+#: ../../Zotlabs/Module/Photos.php:1063
+msgid "Move photo to album"
+msgstr "Sposta la foto in un album"
+
+#: ../../Zotlabs/Module/Photos.php:1064
+msgid "Enter a new album name"
+msgstr "Inserisci il nome del nuovo album"
+
+#: ../../Zotlabs/Module/Photos.php:1065
+msgid "or select an existing one (doubleclick)"
+msgstr "o seleziona uno esistente (doppio click)"
+
+#: ../../Zotlabs/Module/Photos.php:1068
+msgid "Caption"
+msgstr "Didascalia"
+
+#: ../../Zotlabs/Module/Photos.php:1070
+msgid "Add a Tag"
+msgstr "Aggiungi tag"
+
+#: ../../Zotlabs/Module/Photos.php:1078
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com"
+
+#: ../../Zotlabs/Module/Photos.php:1081
+msgid "Flag as adult in album view"
+msgstr "Marca come 'per adulti'"
+
+#: ../../Zotlabs/Module/Photos.php:1100 ../../Zotlabs/Lib/ThreadItem.php:281
+msgid "I like this (toggle)"
+msgstr "Attiva/disattiva Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1101 ../../Zotlabs/Lib/ThreadItem.php:282
+msgid "I don't like this (toggle)"
+msgstr "Attiva/disattiva Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1103 ../../Zotlabs/Lib/ThreadItem.php:427
+#: ../../include/conversation.php:785
+msgid "Please wait"
+msgstr "Attendere"
+
+#: ../../Zotlabs/Module/Photos.php:1119 ../../Zotlabs/Module/Photos.php:1237
+#: ../../Zotlabs/Lib/ThreadItem.php:747
+msgid "This is you"
+msgstr "Questo sei tu"
+
+#: ../../Zotlabs/Module/Photos.php:1121 ../../Zotlabs/Module/Photos.php:1239
+#: ../../Zotlabs/Lib/ThreadItem.php:749 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Commento"
+
+#: ../../Zotlabs/Module/Photos.php:1137 ../../include/conversation.php:618
+msgctxt "title"
+msgid "Likes"
+msgstr "Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1137 ../../include/conversation.php:618
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
+msgctxt "title"
+msgid "Agree"
+msgstr "D'accordo"
+
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
+msgctxt "title"
+msgid "Disagree"
+msgstr "Non d'accordo"
+
+#: ../../Zotlabs/Module/Photos.php:1138 ../../include/conversation.php:619
+msgctxt "title"
+msgid "Abstain"
+msgstr "Astenuti"
+
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
+msgctxt "title"
+msgid "Attending"
+msgstr "Partecipano"
+
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
+msgctxt "title"
+msgid "Not attending"
+msgstr "Non partecipano"
+
+#: ../../Zotlabs/Module/Photos.php:1139 ../../include/conversation.php:620
+msgctxt "title"
+msgid "Might attend"
+msgstr "Forse partecipano"
+
+#: ../../Zotlabs/Module/Photos.php:1156 ../../Zotlabs/Module/Photos.php:1168
+#: ../../Zotlabs/Lib/ThreadItem.php:201 ../../Zotlabs/Lib/ThreadItem.php:213
+msgid "View all"
+msgstr "Vedi tutto"
+
+#: ../../Zotlabs/Module/Photos.php:1160 ../../Zotlabs/Lib/ThreadItem.php:205
+#: ../../include/conversation.php:1978 ../../include/channel.php:1540
+#: ../../include/taxonomy.php:597
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Mi piace"
+msgstr[1] "Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1165 ../../Zotlabs/Lib/ThreadItem.php:210
+#: ../../include/conversation.php:1981
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Non mi piace"
+msgstr[1] "Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1265
+msgid "Photo Tools"
+msgstr "Gestione foto"
+
+#: ../../Zotlabs/Module/Photos.php:1274
+msgid "In This Photo:"
+msgstr "In questa foto:"
+
+#: ../../Zotlabs/Module/Photos.php:1279
+msgid "Map"
+msgstr "Mappa"
+
+#: ../../Zotlabs/Module/Photos.php:1287 ../../Zotlabs/Lib/ThreadItem.php:415
+msgctxt "noun"
+msgid "Likes"
+msgstr "Mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1288 ../../Zotlabs/Lib/ThreadItem.php:416
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Non mi piace"
+
+#: ../../Zotlabs/Module/Photos.php:1293 ../../Zotlabs/Lib/ThreadItem.php:421
+#: ../../include/acl_selectors.php:125
+msgid "Close"
+msgstr "Chiudi"
+
+#: ../../Zotlabs/Module/Photos.php:1365 ../../Zotlabs/Module/Photos.php:1378
+#: ../../Zotlabs/Module/Photos.php:1379 ../../include/photos.php:656
+msgid "Recent Photos"
+msgstr "Foto recenti"
+
+#: ../../Zotlabs/Module/Wiki.php:30
+msgid "Profile Unavailable."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:44 ../../Zotlabs/Module/Cloud.php:108
+#: ../../addon/gitwiki/Mod_Gitwiki.php:42
+msgid "Not found"
+msgstr "Non trovato"
+
+#: ../../Zotlabs/Module/Wiki.php:68 ../../addon/gitwiki/Mod_Gitwiki.php:62
+msgid "Invalid channel"
+msgstr "Canale non valido"
+
+#: ../../Zotlabs/Module/Wiki.php:124 ../../addon/gitwiki/Mod_Gitwiki.php:107
+msgid "Error retrieving wiki"
+msgstr "Errore caricamento wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:131 ../../addon/gitwiki/Mod_Gitwiki.php:114
+msgid "Error creating zip file export folder"
+msgstr "Errore nella creazione della cartella per l'esportazione in zip"
+
+#: ../../Zotlabs/Module/Wiki.php:182 ../../addon/gitwiki/Mod_Gitwiki.php:132
+msgid "Error downloading wiki: "
+msgstr "Errore scaricamento wiki:"
+
+#: ../../Zotlabs/Module/Wiki.php:197 ../../addon/gitwiki/Mod_Gitwiki.php:146
+#: ../../include/conversation.php:1925 ../../include/nav.php:494
+msgid "Wikis"
+msgstr "Pagine wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:203 ../../addon/gitwiki/Mod_Gitwiki.php:152
+msgid "Download"
+msgstr "Scarica"
+
+#: ../../Zotlabs/Module/Wiki.php:205 ../../Zotlabs/Module/Chat.php:256
+#: ../../Zotlabs/Module/Profiles.php:834 ../../Zotlabs/Module/Manage.php:145
+#: ../../addon/gitwiki/Mod_Gitwiki.php:154
+msgid "Create New"
+msgstr "Crea nuova"
+
+#: ../../Zotlabs/Module/Wiki.php:207 ../../addon/gitwiki/Mod_Gitwiki.php:156
+msgid "Wiki name"
+msgstr "Nome wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../addon/gitwiki/Mod_Gitwiki.php:157
+msgid "Content type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
+#: ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../addon/mdpost/mdpost.php:40
+#: ../../include/text.php:1868
+msgid "Markdown"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Module/Wiki.php:348
+#: ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1866
+msgid "BBcode"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:208 ../../Zotlabs/Widget/Wiki_pages.php:36
+#: ../../Zotlabs/Widget/Wiki_pages.php:93 ../../include/text.php:1869
+msgid "Text"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:210 ../../Zotlabs/Storage/Browser.php:284
+#: ../../addon/gitwiki/Mod_Gitwiki.php:159
+msgid "Type"
+msgstr "Tipo"
+
+#: ../../Zotlabs/Module/Wiki.php:211
+msgid "Any&nbsp;type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:218
+msgid "Lock content type"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:219 ../../addon/gitwiki/Mod_Gitwiki.php:166
+msgid "Create a status post for this wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:220
+msgid "Edit Wiki Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:262 ../../addon/gitwiki/Mod_Gitwiki.php:185
+msgid "Wiki not found"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:286 ../../addon/gitwiki/Mod_Gitwiki.php:210
+msgid "Rename page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:305 ../../addon/gitwiki/Mod_Gitwiki.php:214
+msgid "Error retrieving page content"
+msgstr "Errore nel caricamento del contenuto della pagina"
+
+#: ../../Zotlabs/Module/Wiki.php:313 ../../Zotlabs/Module/Wiki.php:315
+msgid "New page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:343 ../../addon/gitwiki/Mod_Gitwiki.php:242
+msgid "Revision Comparison"
+msgstr "Confronto tra revisioni"
+
+#: ../../Zotlabs/Module/Wiki.php:344 ../../addon/gitwiki/Mod_Gitwiki.php:243
+msgid "Revert"
+msgstr "Ripristina"
+
+#: ../../Zotlabs/Module/Wiki.php:351
+msgid "Short description of your changes (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:358 ../../addon/gitwiki/Mod_Gitwiki.php:252
+msgid "Source"
+msgstr "Sorgente"
+
+#: ../../Zotlabs/Module/Wiki.php:368 ../../addon/gitwiki/Mod_Gitwiki.php:260
+msgid "New page name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:373 ../../addon/gitwiki/Mod_Gitwiki.php:265
+#: ../../include/conversation.php:1282
+msgid "Embed image from photo albums"
+msgstr "Inserisci un'immagine dall'album foto"
+
+#: ../../Zotlabs/Module/Wiki.php:374 ../../addon/gitwiki/Mod_Gitwiki.php:266
+#: ../../include/conversation.php:1385
+msgid "Embed an image from your albums"
+msgstr "Inserisci un'immagine dai tuoi album"
+
+#: ../../Zotlabs/Module/Wiki.php:376
+#: ../../Zotlabs/Module/Profile_photo.php:465
+#: ../../Zotlabs/Module/Cover_photo.php:366
+#: ../../addon/gitwiki/Mod_Gitwiki.php:268 ../../include/conversation.php:1387
+#: ../../include/conversation.php:1434
+msgid "OK"
+msgstr "OK"
+
+#: ../../Zotlabs/Module/Wiki.php:377 ../../addon/gitwiki/Mod_Gitwiki.php:269
+#: ../../include/conversation.php:1318
+msgid "Choose images to embed"
+msgstr "Scegli le immagini da inserire"
+
+#: ../../Zotlabs/Module/Wiki.php:378 ../../addon/gitwiki/Mod_Gitwiki.php:270
+#: ../../include/conversation.php:1319
+msgid "Choose an album"
+msgstr "Scegli un album"
+
+#: ../../Zotlabs/Module/Wiki.php:379 ../../addon/gitwiki/Mod_Gitwiki.php:271
+msgid "Choose a different album"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:380 ../../addon/gitwiki/Mod_Gitwiki.php:272
+#: ../../include/conversation.php:1321
+msgid "Error getting album list"
+msgstr "Errore nell'ottenere l'elenco degli album"
+
+#: ../../Zotlabs/Module/Wiki.php:381 ../../addon/gitwiki/Mod_Gitwiki.php:273
+#: ../../include/conversation.php:1322
+msgid "Error getting photo link"
+msgstr "Errore nell'ottenere il link alla foto"
+
+#: ../../Zotlabs/Module/Wiki.php:382 ../../addon/gitwiki/Mod_Gitwiki.php:274
+#: ../../include/conversation.php:1323
+msgid "Error getting album"
+msgstr "Errore nell'ottenere l'album"
+
+#: ../../Zotlabs/Module/Wiki.php:458 ../../addon/gitwiki/Mod_Gitwiki.php:337
+msgid "Error creating wiki. Invalid name."
+msgstr "Errore nella creazione. Nome non valido."
+
+#: ../../Zotlabs/Module/Wiki.php:465
+msgid "A wiki with this name already exists."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:478 ../../addon/gitwiki/Mod_Gitwiki.php:348
+msgid "Wiki created, but error creating Home page."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:485 ../../addon/gitwiki/Mod_Gitwiki.php:353
+msgid "Error creating wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:508
+msgid "Error updating wiki. Invalid name."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:528
+msgid "Error updating wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:543
+msgid "Wiki delete permission denied."
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:553
+msgid "Error deleting wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:586 ../../addon/gitwiki/Mod_Gitwiki.php:400
+msgid "New page created"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:707
+msgid "Cannot delete Home"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:771
+msgid "Current Revision"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:771
+msgid "Selected Revision"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:821
+msgid "You must be authenticated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Chanview.php:139
+msgid "toggle full screen mode"
+msgstr "attiva/disattiva schermo intero"
+
+#: ../../Zotlabs/Module/Pdledit.php:21
+msgid "Layout updated."
+msgstr "Layout aggiornato."
+
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:219
+msgid "Feature disabled."
+msgstr "Funzionalità disattivata."
+
+#: ../../Zotlabs/Module/Pdledit.php:47 ../../Zotlabs/Module/Pdledit.php:90
+msgid "Edit System Page Description"
+msgstr "Modifica i layout di sistema"
+
+#: ../../Zotlabs/Module/Pdledit.php:68
+msgid "(modified)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:68 ../../Zotlabs/Module/Lostpass.php:133
+msgid "Reset"
+msgstr "Reimposta"
+
+#: ../../Zotlabs/Module/Pdledit.php:85
+msgid "Layout not found."
+msgstr "Layout non trovato."
+
+#: ../../Zotlabs/Module/Pdledit.php:91
+msgid "Module Name:"
+msgstr "Nome del modulo:"
+
+#: ../../Zotlabs/Module/Pdledit.php:92
+msgid "Layout Help"
+msgstr "Guida al layout"
+
+#: ../../Zotlabs/Module/Pdledit.php:93
+msgid "Edit another layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Pdledit.php:94
+msgid "System layout"
+msgstr ""
+
+#: ../../Zotlabs/Module/Poke.php:182 ../../Zotlabs/Lib/Apps.php:254
+#: ../../include/conversation.php:1092
+msgid "Poke"
+msgstr "Poke"
+
+#: ../../Zotlabs/Module/Poke.php:183
+msgid "Poke somebody"
+msgstr "Manda un poke"
+
+#: ../../Zotlabs/Module/Poke.php:186
+msgid "Poke/Prod"
+msgstr "Poke/Prod"
+
+#: ../../Zotlabs/Module/Poke.php:187
+msgid "Poke, prod or do other things to somebody"
+msgstr "Manda un poke o altro a qualcuno"
+
+#: ../../Zotlabs/Module/Poke.php:194
+msgid "Recipient"
+msgstr "Destinatario"
+
+#: ../../Zotlabs/Module/Poke.php:195
+msgid "Choose what you wish to do to recipient"
+msgstr "Scegli cosa vuoi inviare al destinatario"
+
+#: ../../Zotlabs/Module/Poke.php:198 ../../Zotlabs/Module/Poke.php:199
+msgid "Make this post private"
+msgstr "Rendi privato questo post"
+
+#: ../../Zotlabs/Module/Profile_photo.php:66
+#: ../../Zotlabs/Module/Cover_photo.php:56
msgid "Image uploaded but image cropping failed."
msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
-#: ../../Zotlabs/Module/Cover_photo.php:134
-#: ../../Zotlabs/Module/Cover_photo.php:181
-msgid "Cover Photos"
-msgstr "Copertine del canale"
+#: ../../Zotlabs/Module/Profile_photo.php:120
+#: ../../Zotlabs/Module/Profile_photo.php:248
+#: ../../include/photo/photo_driver.php:740
+msgid "Profile Photos"
+msgstr "Foto del profilo"
-#: ../../Zotlabs/Module/Cover_photo.php:154
-#: ../../Zotlabs/Module/Profile_photo.php:135
+#: ../../Zotlabs/Module/Profile_photo.php:142
+#: ../../Zotlabs/Module/Cover_photo.php:159
msgid "Image resize failed."
msgstr "Il ridimensionamento dell'immagine è fallito."
-#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:196 ../../include/photos.php:148
+#: ../../Zotlabs/Module/Profile_photo.php:218
+#: ../../addon/openclipatar/openclipatar.php:298
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente."
+
+#: ../../Zotlabs/Module/Profile_photo.php:225
+#: ../../Zotlabs/Module/Cover_photo.php:173 ../../include/photos.php:195
msgid "Unable to process image"
msgstr "Impossibile elaborare l'immagine"
-#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:223
+#: ../../Zotlabs/Module/Profile_photo.php:260
+#: ../../Zotlabs/Module/Cover_photo.php:197
msgid "Image upload failed."
msgstr "Il caricamento dell'immagine è fallito."
-#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:242
+#: ../../Zotlabs/Module/Profile_photo.php:279
+#: ../../Zotlabs/Module/Cover_photo.php:214
msgid "Unable to process image."
msgstr "Impossibile elaborare l'immagine."
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4341
-msgid "female"
-msgstr "femmina"
-
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4342
-#, php-format
-msgid "%1$s updated her %2$s"
-msgstr "Aggiornamento: %2$s di %1$s"
-
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4343
-msgid "male"
-msgstr "maschio"
-
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4344
-#, php-format
-msgid "%1$s updated his %2$s"
-msgstr "Aggiornamento: %2$s di %1$s"
-
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4346
-#, php-format
-msgid "%1$s updated their %2$s"
-msgstr "Aggiornamento: %2$s di %1$s"
-
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1731
-msgid "cover photo"
-msgstr "Copertina del canale"
-
-#: ../../Zotlabs/Module/Cover_photo.php:303
-#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:300
-#: ../../Zotlabs/Module/Profile_photo.php:341
+#: ../../Zotlabs/Module/Profile_photo.php:343
+#: ../../Zotlabs/Module/Profile_photo.php:390
+#: ../../Zotlabs/Module/Cover_photo.php:307
+#: ../../Zotlabs/Module/Cover_photo.php:322
msgid "Photo not available."
msgstr "Foto non disponibile."
-#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:387
+#: ../../Zotlabs/Module/Profile_photo.php:455
+#: ../../Zotlabs/Module/Cover_photo.php:358
msgid "Upload File:"
msgstr "Carica un file:"
-#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:388
+#: ../../Zotlabs/Module/Profile_photo.php:456
+#: ../../Zotlabs/Module/Cover_photo.php:359
msgid "Select a profile:"
msgstr "Seleziona un profilo:"
-#: ../../Zotlabs/Module/Cover_photo.php:356
-msgid "Upload Cover Photo"
-msgstr "Carica una copertina"
+#: ../../Zotlabs/Module/Profile_photo.php:457
+msgid "Use Photo for Profile"
+msgstr "Usa la foto per il profilo"
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:396
-#: ../../Zotlabs/Module/Settings/Channel.php:399
-msgid "or"
-msgstr "o"
+#: ../../Zotlabs/Module/Profile_photo.php:457
+msgid "Change Profile Photo"
+msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:396
-msgid "skip this step"
-msgstr "salta questo passaggio"
+#: ../../Zotlabs/Module/Profile_photo.php:458
+msgid "Use"
+msgstr "Usa"
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:396
-msgid "select a photo from your photo albums"
-msgstr "seleziona una foto dai tuoi album"
+#: ../../Zotlabs/Module/Profile_photo.php:462
+#: ../../Zotlabs/Module/Profile_photo.php:463
+#: ../../Zotlabs/Module/Cover_photo.php:363
+#: ../../Zotlabs/Module/Cover_photo.php:364
+msgid "Use a photo from your albums"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profile_photo.php:467
+#: ../../Zotlabs/Module/Cover_photo.php:369
+msgid "Select existing photo"
+msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:415
+#: ../../Zotlabs/Module/Profile_photo.php:486
+#: ../../Zotlabs/Module/Cover_photo.php:386
msgid "Crop Image"
msgstr "Ritaglia immagine"
-#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:416
+#: ../../Zotlabs/Module/Profile_photo.php:487
+#: ../../Zotlabs/Module/Cover_photo.php:387
msgid "Please adjust the image cropping for optimum viewing."
msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
-#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:418
+#: ../../Zotlabs/Module/Profile_photo.php:489
+#: ../../Zotlabs/Module/Cover_photo.php:389
msgid "Done Editing"
msgstr "Modifica terminata"
-#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:106
-msgid "Edit post"
-msgstr "Modifica post"
+#: ../../Zotlabs/Module/Chatsvc.php:131
+msgid "Away"
+msgstr "Assente"
+
+#: ../../Zotlabs/Module/Chatsvc.php:136
+msgid "Online"
+msgstr "Online"
+
+#: ../../Zotlabs/Module/Item.php:194
+msgid "Unable to locate original post."
+msgstr "Impossibile trovare il messaggio originale."
-#: ../../Zotlabs/Module/Connedit.php:80
+#: ../../Zotlabs/Module/Item.php:476
+msgid "Empty post discarded."
+msgstr "Il post vuoto è stato ignorato."
+
+#: ../../Zotlabs/Module/Item.php:867
+msgid "Duplicate post suppressed."
+msgstr "I post duplicati sono scartati."
+
+#: ../../Zotlabs/Module/Item.php:1012
+msgid "System error. Post not saved."
+msgstr "Errore di sistema. Post non salvato."
+
+#: ../../Zotlabs/Module/Item.php:1048
+msgid "Your comment is awaiting approval."
+msgstr ""
+
+#: ../../Zotlabs/Module/Item.php:1153
+msgid "Unable to obtain post information from database."
+msgstr "Impossibile caricare il post dal database."
+
+#: ../../Zotlabs/Module/Item.php:1182
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
+
+#: ../../Zotlabs/Module/Item.php:1189
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
+
+#: ../../Zotlabs/Module/Ping.php:320
+msgid "sent you a private message"
+msgstr "ti ha inviato un messaggio privato"
+
+#: ../../Zotlabs/Module/Ping.php:372
+msgid "added your channel"
+msgstr "ha aggiunto il tuo canale"
+
+#: ../../Zotlabs/Module/Ping.php:396
+msgid "requires approval"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ping.php:406
+msgid "g A l F d"
+msgstr "g A l d F"
+
+#: ../../Zotlabs/Module/Ping.php:424
+msgid "[today]"
+msgstr "[oggi]"
+
+#: ../../Zotlabs/Module/Ping.php:433
+msgid "posted an event"
+msgstr "ha creato un evento"
+
+#: ../../Zotlabs/Module/Ping.php:466
+msgid "shared a file with you"
+msgstr ""
+
+#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29
+msgid "Invalid item."
+msgstr "Elemento non valido."
+
+#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Block.php:77
+#: ../../Zotlabs/Module/Display.php:133
+#: ../../Zotlabs/Lib/NativeWikiPage.php:519 ../../Zotlabs/Web/Router.php:167
+#: ../../include/help.php:81
+msgid "Page not found."
+msgstr "Pagina non trovata."
+
+#: ../../Zotlabs/Module/Page.php:173
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,"
+" quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+msgstr "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+
+#: ../../Zotlabs/Module/Connedit.php:79 ../../Zotlabs/Module/Defperms.php:59
msgid "Could not access contact record."
msgstr "Non è possibile accedere alle informazioni sul contatto."
-#: ../../Zotlabs/Module/Connedit.php:104
+#: ../../Zotlabs/Module/Connedit.php:109
msgid "Could not locate selected profile."
msgstr "Non riesco a trovare il profilo selezionato."
-#: ../../Zotlabs/Module/Connedit.php:256
+#: ../../Zotlabs/Module/Connedit.php:246
msgid "Connection updated."
msgstr "Contatto aggiornato."
-#: ../../Zotlabs/Module/Connedit.php:258
+#: ../../Zotlabs/Module/Connedit.php:248
msgid "Failed to update connection record."
msgstr "Impossibile aggiornare le informazioni del contatto."
-#: ../../Zotlabs/Module/Connedit.php:308
+#: ../../Zotlabs/Module/Connedit.php:302
msgid "is now connected to"
msgstr "ha come nuovo contatto"
-#: ../../Zotlabs/Module/Connedit.php:440
+#: ../../Zotlabs/Module/Connedit.php:427
msgid "Could not access address book record."
msgstr "Impossibile accedere alle informazioni della rubrica."
-#: ../../Zotlabs/Module/Connedit.php:460
+#: ../../Zotlabs/Module/Connedit.php:475
msgid "Refresh failed - channel is currently unavailable."
msgstr "Il canale non è disponibile - impossibile aggiornare."
-#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
-#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
-#: ../../Zotlabs/Module/Connedit.php:515
+#: ../../Zotlabs/Module/Connedit.php:490 ../../Zotlabs/Module/Connedit.php:499
+#: ../../Zotlabs/Module/Connedit.php:508 ../../Zotlabs/Module/Connedit.php:517
+#: ../../Zotlabs/Module/Connedit.php:530
msgid "Unable to set address book parameters."
msgstr "Impossibile impostare i parametri della rubrica."
-#: ../../Zotlabs/Module/Connedit.php:538
+#: ../../Zotlabs/Module/Connedit.php:554
msgid "Connection has been removed."
msgstr "Il contatto è stato rimosso."
-#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/nav.php:89 ../../include/conversation.php:953
+#: ../../Zotlabs/Module/Connedit.php:594 ../../Zotlabs/Lib/Apps.php:247
+#: ../../addon/openclipatar/openclipatar.php:57
+#: ../../include/conversation.php:1032 ../../include/nav.php:114
msgid "View Profile"
msgstr "Profilo"
-#: ../../Zotlabs/Module/Connedit.php:557
+#: ../../Zotlabs/Module/Connedit.php:597
#, php-format
msgid "View %s's profile"
msgstr "Guarda il profilo di %s"
-#: ../../Zotlabs/Module/Connedit.php:561
+#: ../../Zotlabs/Module/Connedit.php:601
msgid "Refresh Permissions"
msgstr "Modifica i permessi"
-#: ../../Zotlabs/Module/Connedit.php:564
+#: ../../Zotlabs/Module/Connedit.php:604
msgid "Fetch updated permissions"
msgstr "Guarda e modifica i permessi assegnati"
-#: ../../Zotlabs/Module/Connedit.php:568
+#: ../../Zotlabs/Module/Connedit.php:608
+msgid "Refresh Photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:611
+msgid "Fetch updated photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:615
msgid "Recent Activity"
msgstr "Attività recenti"
-#: ../../Zotlabs/Module/Connedit.php:571
+#: ../../Zotlabs/Module/Connedit.php:618
msgid "View recent posts and comments"
msgstr "Leggi i post recenti e i commenti"
-#: ../../Zotlabs/Module/Connedit.php:578
+#: ../../Zotlabs/Module/Connedit.php:625
msgid "Block (or Unblock) all communications with this connection"
msgstr "Blocca ogni interazione con questo contatto (abilita/disabilita)"
-#: ../../Zotlabs/Module/Connedit.php:579
+#: ../../Zotlabs/Module/Connedit.php:626
msgid "This connection is blocked!"
msgstr "Questa connessione è tra quelle bloccate!"
-#: ../../Zotlabs/Module/Connedit.php:583
+#: ../../Zotlabs/Module/Connedit.php:630
msgid "Unignore"
msgstr "Non ignorare"
-#: ../../Zotlabs/Module/Connedit.php:586
+#: ../../Zotlabs/Module/Connedit.php:633
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)"
-#: ../../Zotlabs/Module/Connedit.php:587
+#: ../../Zotlabs/Module/Connedit.php:634
msgid "This connection is ignored!"
msgstr "Questa connessione è tra quelle ignorate!"
-#: ../../Zotlabs/Module/Connedit.php:591
+#: ../../Zotlabs/Module/Connedit.php:638
msgid "Unarchive"
msgstr "Non archiviare"
-#: ../../Zotlabs/Module/Connedit.php:591
+#: ../../Zotlabs/Module/Connedit.php:638
msgid "Archive"
msgstr "Archivia"
-#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Connedit.php:641
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti"
-#: ../../Zotlabs/Module/Connedit.php:595
+#: ../../Zotlabs/Module/Connedit.php:642
msgid "This connection is archived!"
msgstr "Questa connessione è tra quelle archiviate!"
-#: ../../Zotlabs/Module/Connedit.php:599
+#: ../../Zotlabs/Module/Connedit.php:646
msgid "Unhide"
msgstr "Non nascondere"
-#: ../../Zotlabs/Module/Connedit.php:599
+#: ../../Zotlabs/Module/Connedit.php:646
msgid "Hide"
msgstr "Nascondi"
-#: ../../Zotlabs/Module/Connedit.php:602
+#: ../../Zotlabs/Module/Connedit.php:649
msgid "Hide or Unhide this connection from your other connections"
msgstr "Nascondi questo contatto a tutti gli altri (abilita/disabilita)"
-#: ../../Zotlabs/Module/Connedit.php:603
+#: ../../Zotlabs/Module/Connedit.php:650
msgid "This connection is hidden!"
msgstr "Questa connessione è tra quelle nascoste!"
-#: ../../Zotlabs/Module/Connedit.php:610
+#: ../../Zotlabs/Module/Connedit.php:657
msgid "Delete this connection"
msgstr "Elimina questo contatto"
-#: ../../Zotlabs/Module/Connedit.php:625 ../../include/widgets.php:529
+#: ../../Zotlabs/Module/Connedit.php:665
+msgid "Fetch Vcard"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:668
+msgid "Fetch electronic calling card for this connection"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:679
+msgid "Open Individual Permissions section by default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:702
+msgid "Affinity"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:705
+msgid "Open Set Affinity section by default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:709 ../../Zotlabs/Widget/Affinity.php:22
msgid "Me"
msgstr "Me"
-#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:530
+#: ../../Zotlabs/Module/Connedit.php:710 ../../Zotlabs/Widget/Affinity.php:23
msgid "Family"
msgstr "Famiglia"
-#: ../../Zotlabs/Module/Connedit.php:627
-#: ../../Zotlabs/Module/Settings/Channel.php:61
-#: ../../Zotlabs/Module/Settings/Channel.php:65
-#: ../../Zotlabs/Module/Settings/Channel.php:66
-#: ../../Zotlabs/Module/Settings/Channel.php:69
-#: ../../Zotlabs/Module/Settings/Channel.php:80
-#: ../../include/selectors.php:123 ../../include/channel.php:402
-#: ../../include/channel.php:403 ../../include/channel.php:410
-#: ../../include/widgets.php:531
-msgid "Friends"
-msgstr "Amici"
-
-#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:532
+#: ../../Zotlabs/Module/Connedit.php:712 ../../Zotlabs/Widget/Affinity.php:25
msgid "Acquaintances"
msgstr "Conoscenti"
-#: ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Connedit.php:739
+msgid "Filter"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:742
+msgid "Open Custom Filter section by default"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:779
msgid "Approve this connection"
msgstr "Approva questo contatto"
-#: ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Connedit.php:779
msgid "Accept connection to allow communication"
msgstr "Entra in contatto per poter comunicare"
-#: ../../Zotlabs/Module/Connedit.php:691
+#: ../../Zotlabs/Module/Connedit.php:784
msgid "Set Affinity"
msgstr "Scegli l'affinità"
-#: ../../Zotlabs/Module/Connedit.php:694
+#: ../../Zotlabs/Module/Connedit.php:787
msgid "Set Profile"
msgstr "Scegli il profilo da mostrare"
-#: ../../Zotlabs/Module/Connedit.php:697
+#: ../../Zotlabs/Module/Connedit.php:790
msgid "Set Affinity & Profile"
msgstr "Affinità e profilo"
-#: ../../Zotlabs/Module/Connedit.php:746
-msgid "none"
-msgstr "--"
+#: ../../Zotlabs/Module/Connedit.php:838
+msgid "This connection is unreachable from this location."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:839
+msgid "This connection may be unreachable from other channel locations."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:841
+msgid "Location independence is not supported by their network."
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:847
+msgid ""
+"This connection is unreachable from this location. Location independence is "
+"not supported by their network."
+msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:750 ../../include/widgets.php:656
+#: ../../Zotlabs/Module/Connedit.php:850 ../../Zotlabs/Module/Defperms.php:238
+#: ../../Zotlabs/Widget/Settings_menu.php:109
msgid "Connection Default Permissions"
msgstr "Permessi predefiniti dei nuovi contatti"
-#: ../../Zotlabs/Module/Connedit.php:750 ../../include/items.php:3993
+#: ../../Zotlabs/Module/Connedit.php:850 ../../include/items.php:4164
#, php-format
msgid "Connection: %s"
msgstr "Contatto: %s"
-#: ../../Zotlabs/Module/Connedit.php:751
+#: ../../Zotlabs/Module/Connedit.php:851 ../../Zotlabs/Module/Defperms.php:239
msgid "Apply these permissions automatically"
msgstr "Applica automaticamente questi permessi"
-#: ../../Zotlabs/Module/Connedit.php:751
+#: ../../Zotlabs/Module/Connedit.php:851
msgid "Connection requests will be approved without your interaction"
msgstr "Le richieste di entrare in contatto saranno approvate in automatico"
-#: ../../Zotlabs/Module/Connedit.php:753
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
+msgid "Permission role"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:852 ../../Zotlabs/Module/Defperms.php:240
+#: ../../Zotlabs/Widget/Notifications.php:151 ../../include/nav.php:284
+msgid "Loading"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:853 ../../Zotlabs/Module/Defperms.php:241
+msgid "Add permission role"
+msgstr ""
+
+#: ../../Zotlabs/Module/Connedit.php:860
msgid "This connection's primary address is"
msgstr "Indirizzo primario di questo canale"
-#: ../../Zotlabs/Module/Connedit.php:754
+#: ../../Zotlabs/Module/Connedit.php:861
msgid "Available locations:"
msgstr "Indirizzi disponibili"
-#: ../../Zotlabs/Module/Connedit.php:758
+#: ../../Zotlabs/Module/Connedit.php:866 ../../Zotlabs/Module/Defperms.php:245
msgid ""
"The permissions indicated on this page will be applied to all new "
"connections."
msgstr "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi."
-#: ../../Zotlabs/Module/Connedit.php:759
+#: ../../Zotlabs/Module/Connedit.php:867
msgid "Connection Tools"
msgstr "Gestione dei contatti"
-#: ../../Zotlabs/Module/Connedit.php:761
+#: ../../Zotlabs/Module/Connedit.php:869
msgid "Slide to adjust your degree of friendship"
msgstr "Trascina per restringere il grado di amicizia da mostrare"
-#: ../../Zotlabs/Module/Connedit.php:762 ../../Zotlabs/Module/Rate.php:155
+#: ../../Zotlabs/Module/Connedit.php:870 ../../Zotlabs/Module/Rate.php:155
#: ../../include/js_strings.php:20
msgid "Rating"
msgstr "Valutazioni"
-#: ../../Zotlabs/Module/Connedit.php:763
+#: ../../Zotlabs/Module/Connedit.php:871
msgid "Slide to adjust your rating"
msgstr "Trascina per cambiare la tua valutazione"
-#: ../../Zotlabs/Module/Connedit.php:764 ../../Zotlabs/Module/Connedit.php:769
+#: ../../Zotlabs/Module/Connedit.php:872 ../../Zotlabs/Module/Connedit.php:877
msgid "Optionally explain your rating"
msgstr "Commento facoltativo"
-#: ../../Zotlabs/Module/Connedit.php:766
+#: ../../Zotlabs/Module/Connedit.php:874
msgid "Custom Filter"
msgstr "Filtro personalizzato"
-#: ../../Zotlabs/Module/Connedit.php:767
+#: ../../Zotlabs/Module/Connedit.php:875
msgid "Only import posts with this text"
msgstr "Importa solo i post che contengono queste parole chiave"
-#: ../../Zotlabs/Module/Connedit.php:767 ../../Zotlabs/Module/Connedit.php:768
+#: ../../Zotlabs/Module/Connedit.php:875 ../../Zotlabs/Module/Connedit.php:876
msgid ""
"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
"all posts"
msgstr "per ogni riga: parole, #tag, /pattern/ o lang=xx , lascia vuoto per importare tutto"
-#: ../../Zotlabs/Module/Connedit.php:768
+#: ../../Zotlabs/Module/Connedit.php:876
msgid "Do not import posts with this text"
msgstr "Non importare i post con queste parole chiave"
-#: ../../Zotlabs/Module/Connedit.php:770
+#: ../../Zotlabs/Module/Connedit.php:878
msgid "This information is public!"
msgstr "Questa informazione è pubblica!"
-#: ../../Zotlabs/Module/Connedit.php:775
+#: ../../Zotlabs/Module/Connedit.php:883
msgid "Connection Pending Approval"
msgstr "Contatti in attesa di approvazione"
-#: ../../Zotlabs/Module/Connedit.php:778
-#: ../../Zotlabs/Module/Settings/Tokens.php:163
-msgid "inherited"
-msgstr "derivato"
-
-#: ../../Zotlabs/Module/Connedit.php:780
+#: ../../Zotlabs/Module/Connedit.php:888
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Seleziona il profilo che vuoi mostrare a %s dopo che ha effettuato l'accesso."
-#: ../../Zotlabs/Module/Connedit.php:782
-#: ../../Zotlabs/Module/Settings/Tokens.php:160
-msgid "Their Settings"
-msgstr "Permessi concessi a te"
-
-#: ../../Zotlabs/Module/Connedit.php:783
-#: ../../Zotlabs/Module/Settings/Tokens.php:161
-msgid "My Settings"
-msgstr "Permessi che concedo"
-
-#: ../../Zotlabs/Module/Connedit.php:785
-#: ../../Zotlabs/Module/Settings/Tokens.php:165
-msgid "Individual Permissions"
-msgstr "Permessi individuali"
-
-#: ../../Zotlabs/Module/Connedit.php:786
-#: ../../Zotlabs/Module/Settings/Tokens.php:166
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
-
-#: ../../Zotlabs/Module/Connedit.php:787
+#: ../../Zotlabs/Module/Connedit.php:895
msgid ""
"Some permissions may be inherited from your channel's <a "
"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
@@ -2450,51 +5682,88 @@ msgid ""
"they wont have any impact unless the inherited setting changes."
msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali."
-#: ../../Zotlabs/Module/Connedit.php:788
+#: ../../Zotlabs/Module/Connedit.php:896
msgid "Last update:"
msgstr "Ultimo aggiornamento:"
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editlayout.php:79
-#: ../../Zotlabs/Module/Editwebpage.php:80
-#: ../../Zotlabs/Module/Editpost.php:24
-msgid "Item not found"
-msgstr "Elemento non trovato"
+#: ../../Zotlabs/Module/Connedit.php:904
+msgid "Details"
+msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97
-#: ../../Zotlabs/Module/Blocks.php:155
-msgid "Block Name"
-msgstr "Nome del block"
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "Chat non trovata"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1260
-msgid "Title (optional)"
-msgstr "Titolo (facoltativo)"
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "Lascia la chat"
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
-msgstr "Modifica il block"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "Elimina questa chat"
-#: ../../Zotlabs/Module/Editlayout.php:127
-#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188
-msgid "Layout Name"
-msgstr "Nome layout"
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "Non sono presente"
-#: ../../Zotlabs/Module/Editlayout.php:128
-#: ../../Zotlabs/Module/Layouts.php:131
-msgid "Layout Description (Optional)"
-msgstr "Descrizione del layout (facoltativa)"
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "Sono online"
-#: ../../Zotlabs/Module/Editlayout.php:136
-msgid "Edit Layout"
-msgstr "Modifica il layout"
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "Aggiungi questa chat ai segnalibri"
-#: ../../Zotlabs/Module/Editwebpage.php:142
-msgid "Page link"
-msgstr "Link alla pagina"
+#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:241
+#: ../../Zotlabs/Module/Mail.php:362 ../../include/conversation.php:1313
+msgid "Please enter a link URL:"
+msgstr "Inserisci l'indirizzo del link:"
-#: ../../Zotlabs/Module/Editwebpage.php:169
-msgid "Edit Webpage"
-msgstr "Modifica la pagina web"
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:294
+#: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Lib/ThreadItem.php:764
+#: ../../include/conversation.php:1432
+msgid "Encrypt text"
+msgstr "Cifratura del messaggio"
+
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "New Chatroom"
+msgstr "Nuova chat"
+
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Chatroom name"
+msgstr "Nome chat"
+
+#: ../../Zotlabs/Module/Chat.php:234
+msgid "Expiration of chats (minutes)"
+msgstr "Scadenza dei messaggi della chat (minuti)"
+
+#: ../../Zotlabs/Module/Chat.php:250
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "Le chat di %1$s"
+
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "No chatrooms available"
+msgstr "Nessuna chat disponibile"
+
+#: ../../Zotlabs/Module/Chat.php:259
+msgid "Expiration"
+msgstr "Scadenza"
+
+#: ../../Zotlabs/Module/Chat.php:260
+msgid "min"
+msgstr "min"
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:248
+#: ../../include/conversation.php:1831 ../../include/nav.php:401
+msgid "Photos"
+msgstr "Foto"
+
+#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:243
+#: ../../Zotlabs/Storage/Browser.php:272 ../../include/conversation.php:1839
+#: ../../include/nav.php:409
+msgid "Files"
+msgstr "Archivio file"
#: ../../Zotlabs/Module/Menu.php:49
msgid "Unable to update menu."
@@ -2532,26 +5801,10 @@ msgstr "Puoi salvare i segnalibri nei menù"
msgid "Submit and proceed"
msgstr "Salva e procedi"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2309
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2403
msgid "Menus"
msgstr "Menù"
-#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120
-msgid "Drop"
-msgstr "Elimina"
-
-#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157
-#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:251
-#: ../../include/page_widgets.php:47
-msgid "Created"
-msgstr "Creato"
-
-#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158
-#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:252
-#: ../../include/page_widgets.php:48
-msgid "Edited"
-msgstr "Modificato"
-
#: ../../Zotlabs/Module/Menu.php:117
msgid "Bookmarks allowed"
msgstr "Permetti segnalibri"
@@ -2572,10 +5825,6 @@ msgstr "Modifica questo menù"
msgid "Menu could not be deleted."
msgstr "Il menù non può essere eliminato."
-#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
-msgid "Menu not found."
-msgstr "Menù non trovato."
-
#: ../../Zotlabs/Module/Menu.php:149
msgid "Edit Menu"
msgstr "Modifica menù"
@@ -2604,1549 +5853,1668 @@ msgstr "Titolo del menù come comparirà a tutti"
msgid "Allow bookmarks"
msgstr "Permetti l'invio di segnalibri"
-#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
-#: ../../Zotlabs/Module/Xchan.php:41
-msgid "Not found."
-msgstr "Non trovato."
+#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2404
+msgid "Layouts"
+msgstr "Layout"
-#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
-msgid "App installed."
-msgstr "App installata"
+#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:251
+#: ../../include/nav.php:176 ../../include/nav.php:280
+#: ../../include/help.php:68 ../../include/help.php:74
+msgid "Help"
+msgstr "Guida"
-#: ../../Zotlabs/Module/Appman.php:46
-msgid "Malformed app."
-msgstr "L'app contiene errori"
+#: ../../Zotlabs/Module/Layouts.php:186
+msgid "Comanche page description language help"
+msgstr "Guida di Comanche Page Description Language"
-#: ../../Zotlabs/Module/Appman.php:104
-msgid "Embed code"
-msgstr "Inserisci il codice"
+#: ../../Zotlabs/Module/Layouts.php:190
+msgid "Layout Description"
+msgstr "Descrizione del layout"
-#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
-msgid "Edit App"
-msgstr "Modifica app"
+#: ../../Zotlabs/Module/Layouts.php:195
+msgid "Download PDL file"
+msgstr "Scarica il file PDL"
-#: ../../Zotlabs/Module/Appman.php:110
-msgid "Create App"
-msgstr "Crea una app"
+#: ../../Zotlabs/Module/Cloud.php:114
+msgid "Please refresh page"
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:115
-msgid "Name of app"
-msgstr "Nome app"
+#: ../../Zotlabs/Module/Cloud.php:117
+msgid "Unknown error"
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../Zotlabs/Module/Events.php:452 ../../Zotlabs/Module/Events.php:457
-#: ../../include/datetime.php:257
-msgid "Required"
-msgstr "Obbligatorio"
+#: ../../Zotlabs/Module/Email_validation.php:24
+#: ../../Zotlabs/Module/Email_resend.php:12
+msgid "Token verification failed."
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:116
-msgid "Location (URL) of app"
-msgstr "Indirizzo (URL) della app"
+#: ../../Zotlabs/Module/Email_validation.php:36
+msgid "Email Verification Required"
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Rbmark.php:101
-#: ../../Zotlabs/Module/Events.php:465
-msgid "Description"
-msgstr "Descrizione"
+#: ../../Zotlabs/Module/Email_validation.php:37
+#, php-format
+msgid ""
+"A verification token was sent to your email address [%s]. Enter that token "
+"here to complete the account verification step. Please allow a few minutes "
+"for delivery, and check your spam folder if you do not see the message."
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "Photo icon URL"
-msgstr "URL icona"
+#: ../../Zotlabs/Module/Email_validation.php:38
+msgid "Resend Email"
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 pixel - facoltativa"
+#: ../../Zotlabs/Module/Email_validation.php:41
+msgid "Validation token"
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:119
-msgid "Categories (optional, comma separated list)"
-msgstr "Categorie (facoltative, lista separata da virgole)"
+#: ../../Zotlabs/Module/Tagger.php:48
+msgid "Post not found."
+msgstr ""
-#: ../../Zotlabs/Module/Appman.php:120
-msgid "Version ID"
-msgstr "ID versione"
+#: ../../Zotlabs/Module/Tagger.php:77 ../../include/markdown.php:160
+#: ../../include/bbcode.php:339
+msgid "post"
+msgstr "il post"
-#: ../../Zotlabs/Module/Appman.php:121
-msgid "Price of app"
-msgstr "Prezzo app"
+#: ../../Zotlabs/Module/Tagger.php:79 ../../include/conversation.php:146
+#: ../../include/text.php:2012
+msgid "comment"
+msgstr "il commento"
-#: ../../Zotlabs/Module/Appman.php:122
-msgid "Location (URL) to purchase app"
-msgstr "Indirizzo (URL) per acquistare la app"
+#: ../../Zotlabs/Module/Tagger.php:117
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
-#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1392
-msgid "Public Hubs"
-msgstr "Hub pubblici"
+#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
+msgid "This setting requires special processing and editing has been blocked."
+msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali"
-#: ../../Zotlabs/Module/Pubsites.php:27
+#: ../../Zotlabs/Module/Pconfig.php:48
+msgid "Configuration Editor"
+msgstr "Editor di configurazione"
+
+#: ../../Zotlabs/Module/Pconfig.php:49
msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero fornire alcune funzionalità o l'intero servizio a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
+"Warning: Changing some settings could render your channel inoperable. Please"
+" leave this page unless you are comfortable with and knowledgeable about how"
+" to correctly use this feature."
+msgstr "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Hub URL"
-msgstr "URL del hub"
+#: ../../Zotlabs/Module/Defperms.php:239
+msgid ""
+"If enabled, connection requests will be approved without your interaction"
+msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Access Type"
-msgstr "Tipo di accesso"
+#: ../../Zotlabs/Module/Defperms.php:246
+msgid "Automatic approval settings"
+msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Registration Policy"
-msgstr "Politica di registrazione"
+#: ../../Zotlabs/Module/Defperms.php:254
+msgid ""
+"Some individual permissions may have been preset or locked based on your "
+"channel type and privacy settings."
+msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Stats"
-msgstr "Statistiche"
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
+msgstr "Gruppo di canali creato."
-#: ../../Zotlabs/Module/Pubsites.php:33
-msgid "Software"
-msgstr "Software"
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
+msgstr "Impossibile creare il gruppo di canali."
-#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97
-#: ../../include/conversation.php:958
-msgid "Ratings"
-msgstr "Valutazioni"
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:143
+#: ../../include/items.php:4131
+msgid "Privacy group not found."
+msgstr "Gruppo di canali non trovato."
-#: ../../Zotlabs/Module/Pubsites.php:48
-msgid "Rate"
-msgstr "Valuta"
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
+msgstr "Gruppo di canali aggiornato."
-#: ../../Zotlabs/Module/Pubsites.php:51 ../../Zotlabs/Module/Locs.php:117
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
-#: ../../Zotlabs/Module/Events.php:467 ../../include/js_strings.php:25
-msgid "Location"
-msgstr "Posizione geografica"
+#: ../../Zotlabs/Module/Group.php:92
+msgid "Create a group of channels."
+msgstr "Crea un gruppo di canali."
-#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166
-#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Webpages.php:246
-#: ../../Zotlabs/Module/Events.php:680 ../../include/page_widgets.php:42
-msgid "View"
-msgstr "Guarda"
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:186
+msgid "Privacy group name: "
+msgstr "Nome del gruppo di canali:"
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
-msgstr "Elemento non disponibile."
+#: ../../Zotlabs/Module/Group.php:95 ../../Zotlabs/Module/Group.php:189
+msgid "Members are visible to other channels"
+msgstr "I membri potranno vedere gli altri canali del gruppo"
-#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
-msgid "Authorize application connection"
-msgstr "Autorizza la app"
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Privacy group removed."
+msgstr "Gruppo di canali rimosso."
-#: ../../Zotlabs/Module/Api.php:61
-msgid "Return to your app and insert this Security Code:"
-msgstr "Ritorna alla tua app e inserisci questo Security Code:"
+#: ../../Zotlabs/Module/Group.php:115
+msgid "Unable to remove privacy group."
+msgstr "Impossibile rimuovere il gruppo di canali."
-#: ../../Zotlabs/Module/Api.php:71
-msgid "Please login to continue."
-msgstr "Accedi al sito per continuare."
+#: ../../Zotlabs/Module/Group.php:185
+msgid "Privacy group editor"
+msgstr "Editor dei gruppi di canali"
-#: ../../Zotlabs/Module/Api.php:83
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
+#: ../../Zotlabs/Module/Group.php:199 ../../Zotlabs/Module/Help.php:81
+msgid "Members"
+msgstr "Membri"
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Condividi i contenuti su $Projectname da Firefox"
+#: ../../Zotlabs/Module/Group.php:201
+msgid "All Connected Channels"
+msgstr "Tutti i canali connessi"
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Attiva Firefox Share per $Projectname"
+#: ../../Zotlabs/Module/Group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
-#: ../../Zotlabs/Module/Pdledit.php:21
-msgid "Layout updated."
-msgstr "Layout aggiornato."
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:184
+#: ../../Zotlabs/Module/Profiles.php:241 ../../Zotlabs/Module/Profiles.php:659
+msgid "Profile not found."
+msgstr "Profilo non trovato."
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
-msgstr "Funzionalità disattivata."
+#: ../../Zotlabs/Module/Profiles.php:44
+msgid "Profile deleted."
+msgstr "Profilo eliminato."
-#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69
-msgid "Edit System Page Description"
-msgstr "Modifica i layout di sistema"
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:105
+msgid "Profile-"
+msgstr "Profilo-"
-#: ../../Zotlabs/Module/Pdledit.php:64
-msgid "Layout not found."
-msgstr "Layout non trovato."
+#: ../../Zotlabs/Module/Profiles.php:90 ../../Zotlabs/Module/Profiles.php:127
+msgid "New profile created."
+msgstr "Il nuovo profilo è stato creato."
-#: ../../Zotlabs/Module/Pdledit.php:70
-msgid "Module Name:"
-msgstr "Nome del modulo:"
+#: ../../Zotlabs/Module/Profiles.php:111
+msgid "Profile unavailable to clone."
+msgstr "Impossibile duplicare il profilo."
-#: ../../Zotlabs/Module/Pdledit.php:71
-msgid "Layout Help"
-msgstr "Guida al layout"
+#: ../../Zotlabs/Module/Profiles.php:146
+msgid "Profile unavailable to export."
+msgstr "Il profilo non è disponibile per l'export."
-#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
-#: ../../Zotlabs/Module/Siteinfo.php:48
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../Zotlabs/Module/Profiles.php:252
+msgid "Profile Name is required."
+msgstr "Il nome del profilo è obbligatorio."
-#: ../../Zotlabs/Module/Home.php:92
-#, php-format
-msgid "Welcome to %s"
-msgstr "%s ti dà il benvenuto"
+#: ../../Zotlabs/Module/Profiles.php:459
+msgid "Marital Status"
+msgstr "Stato sentimentale"
-#: ../../Zotlabs/Module/Lockview.php:75
-msgid "Remote privacy information not available."
-msgstr "Le informazioni remote sulla privacy non sono disponibili."
+#: ../../Zotlabs/Module/Profiles.php:463
+msgid "Romantic Partner"
+msgstr "Partner affettivo"
-#: ../../Zotlabs/Module/Lockview.php:96
-msgid "Visible to:"
-msgstr "Visibile a:"
+#: ../../Zotlabs/Module/Profiles.php:467 ../../Zotlabs/Module/Profiles.php:775
+msgid "Likes"
+msgstr "Mi piace"
-#: ../../Zotlabs/Module/Filestorage.php:87
-msgid "Permission Denied."
-msgstr "Permesso negato."
+#: ../../Zotlabs/Module/Profiles.php:471 ../../Zotlabs/Module/Profiles.php:776
+msgid "Dislikes"
+msgstr "Non mi piace"
-#: ../../Zotlabs/Module/Filestorage.php:103
-msgid "File not found."
-msgstr "File non trovato."
+#: ../../Zotlabs/Module/Profiles.php:475 ../../Zotlabs/Module/Profiles.php:783
+msgid "Work/Employment"
+msgstr "Lavoro/impiego"
-#: ../../Zotlabs/Module/Filestorage.php:146
-msgid "Edit file permissions"
-msgstr "Modifica i permessi del file"
+#: ../../Zotlabs/Module/Profiles.php:478
+msgid "Religion"
+msgstr "Religione"
-#: ../../Zotlabs/Module/Filestorage.php:152
-#: ../../Zotlabs/Module/Photos.php:658 ../../Zotlabs/Module/Photos.php:1047
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
-#: ../../Zotlabs/Module/Chat.php:234 ../../include/acl_selectors.php:179
-msgid "Permissions"
-msgstr "Permessi"
+#: ../../Zotlabs/Module/Profiles.php:482
+msgid "Political Views"
+msgstr "Orientamento politico"
-#: ../../Zotlabs/Module/Filestorage.php:159
-msgid "Set/edit permissions"
-msgstr "Modifica i permessi"
+#: ../../Zotlabs/Module/Profiles.php:486
+#: ../../addon/openid/MysqlProvider.php:74
+msgid "Gender"
+msgstr "Sesso"
-#: ../../Zotlabs/Module/Filestorage.php:160
-msgid "Include all files and sub folders"
-msgstr "Includi tutti i file e le sottocartelle"
+#: ../../Zotlabs/Module/Profiles.php:490
+msgid "Sexual Preference"
+msgstr "Preferenze sessuali"
-#: ../../Zotlabs/Module/Filestorage.php:161
-msgid "Return to file list"
-msgstr "Torna all'elenco dei file"
+#: ../../Zotlabs/Module/Profiles.php:494
+msgid "Homepage"
+msgstr "Home page"
-#: ../../Zotlabs/Module/Filestorage.php:163
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/incolla questo codice per far comparire il file in un post"
+#: ../../Zotlabs/Module/Profiles.php:498
+msgid "Interests"
+msgstr "Interessi"
-#: ../../Zotlabs/Module/Filestorage.php:164
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
+#: ../../Zotlabs/Module/Profiles.php:594
+msgid "Profile updated."
+msgstr "Profilo aggiornato."
-#: ../../Zotlabs/Module/Filestorage.php:166
-msgid "Share this file"
-msgstr "Condividi questo file"
+#: ../../Zotlabs/Module/Profiles.php:678
+msgid "Hide your connections list from viewers of this profile"
+msgstr "Nascondi la tua lista di contatti ai visitatori di questo profilo"
-#: ../../Zotlabs/Module/Filestorage.php:167
-msgid "Show URL to this file"
-msgstr "Mostra l'URL del file"
+#: ../../Zotlabs/Module/Profiles.php:725
+msgid "Edit Profile Details"
+msgstr "Modifica i dettagli del profilo"
-#: ../../Zotlabs/Module/Filestorage.php:168
-msgid "Notify your contacts about this file"
-msgstr "Notifica ai contatti che hai caricato questo file"
+#: ../../Zotlabs/Module/Profiles.php:727
+msgid "View this profile"
+msgstr "Guarda questo profilo"
-#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
-msgid "Continue"
-msgstr "Continua"
+#: ../../Zotlabs/Module/Profiles.php:728 ../../Zotlabs/Module/Profiles.php:827
+#: ../../include/channel.php:1320
+msgid "Edit visibility"
+msgstr "Cambia la visibilità"
-#: ../../Zotlabs/Module/Connect.php:90
-msgid "Premium Channel Setup"
-msgstr "Canale premium - configurazione"
+#: ../../Zotlabs/Module/Profiles.php:729
+msgid "Profile Tools"
+msgstr "Gestione del profilo"
-#: ../../Zotlabs/Module/Connect.php:92
-msgid "Enable premium channel connection restrictions"
-msgstr "Abilita le restrizioni del canale premium"
+#: ../../Zotlabs/Module/Profiles.php:730
+msgid "Change cover photo"
+msgstr "Cambia la copertina del canale"
-#: ../../Zotlabs/Module/Connect.php:93
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
+#: ../../Zotlabs/Module/Profiles.php:731 ../../include/channel.php:1290
+msgid "Change profile photo"
+msgstr "Cambia la foto del profilo"
-#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Create a new profile using these settings"
+msgstr "Crea un nuovo profilo usando queste impostazioni"
+
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Clone this profile"
+msgstr "Clona questo profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Delete this profile"
+msgstr "Elimina questo profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Add profile things"
+msgstr "Aggiungi oggetti al profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:736 ../../include/conversation.php:1705
+msgid "Personal"
+msgstr "Personali"
+
+#: ../../Zotlabs/Module/Profiles.php:738
+msgid "Relation"
+msgstr "Relazione"
+
+#: ../../Zotlabs/Module/Profiles.php:739 ../../Zotlabs/Widget/Newmember.php:53
+#: ../../include/datetime.php:58
+msgid "Miscellaneous"
+msgstr "Altro"
+
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Import profile from file"
+msgstr "Importa il profilo da un file"
+
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Export profile to file"
+msgstr "Esporta il profilo in un file"
+
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Your gender"
+msgstr "Sesso"
+
+#: ../../Zotlabs/Module/Profiles.php:744
+msgid "Marital status"
+msgstr "Stato civile"
+
+#: ../../Zotlabs/Module/Profiles.php:745
+msgid "Sexual preference"
+msgstr "Preferenze sessuali"
+
+#: ../../Zotlabs/Module/Profiles.php:748
+msgid "Profile name"
+msgstr "Nome del profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:750
+msgid "This is your default profile."
+msgstr "Questo è il tuo profilo predefinito."
+
+#: ../../Zotlabs/Module/Profiles.php:752
+msgid "Your full name"
+msgstr "Il tuo nome completo"
+
+#: ../../Zotlabs/Module/Profiles.php:753
+msgid "Title/Description"
+msgstr "Titolo/descrizione"
+
+#: ../../Zotlabs/Module/Profiles.php:756
+msgid "Street address"
+msgstr "Indirizzo (via/piazza)"
+
+#: ../../Zotlabs/Module/Profiles.php:757
+msgid "Locality/City"
+msgstr "Località"
+
+#: ../../Zotlabs/Module/Profiles.php:758
+msgid "Region/State"
+msgstr "Regione/stato"
+
+#: ../../Zotlabs/Module/Profiles.php:759
+msgid "Postal/Zip code"
+msgstr "CAP"
+
+#: ../../Zotlabs/Module/Profiles.php:765
+msgid "Who (if applicable)"
+msgstr "Con chi (se possibile)"
+
+#: ../../Zotlabs/Module/Profiles.php:765
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com"
+
+#: ../../Zotlabs/Module/Profiles.php:766
+msgid "Since (date)"
+msgstr "dal (data)"
+
+#: ../../Zotlabs/Module/Profiles.php:769
+msgid "Tell us about yourself"
+msgstr "Raccontaci di te..."
+
+#: ../../Zotlabs/Module/Profiles.php:770
+#: ../../addon/openid/MysqlProvider.php:68
+msgid "Homepage URL"
+msgstr "Indirizzo home page"
+
+#: ../../Zotlabs/Module/Profiles.php:771
+msgid "Hometown"
+msgstr "Città dove vivo"
+
+#: ../../Zotlabs/Module/Profiles.php:772
+msgid "Political views"
+msgstr "Orientamento politico"
+
+#: ../../Zotlabs/Module/Profiles.php:773
+msgid "Religious views"
+msgstr "Orientamento religioso"
+
+#: ../../Zotlabs/Module/Profiles.php:774
+msgid "Keywords used in directory listings"
+msgstr "Parole chiavi mostrate nell'elenco dei canali"
+
+#: ../../Zotlabs/Module/Profiles.php:774
+msgid "Example: fishing photography software"
+msgstr "Per esempio: pesca fotografia programmazione"
+
+#: ../../Zotlabs/Module/Profiles.php:777
+msgid "Musical interests"
+msgstr "Interessi musicali"
+
+#: ../../Zotlabs/Module/Profiles.php:778
+msgid "Books, literature"
+msgstr "Libri, letteratura"
+
+#: ../../Zotlabs/Module/Profiles.php:779
+msgid "Television"
+msgstr "Televisione"
+
+#: ../../Zotlabs/Module/Profiles.php:780
+msgid "Film/Dance/Culture/Entertainment"
+msgstr "Film, danza, cultura, intrattenimento"
+
+#: ../../Zotlabs/Module/Profiles.php:781
+msgid "Hobbies/Interests"
+msgstr "Hobby/interessi"
+
+#: ../../Zotlabs/Module/Profiles.php:782
+msgid "Love/Romance"
+msgstr "Amore"
+
+#: ../../Zotlabs/Module/Profiles.php:784
+msgid "School/Education"
+msgstr "Scuola/educazione"
+
+#: ../../Zotlabs/Module/Profiles.php:785
+msgid "Contact information and social networks"
+msgstr "Contatti e social network"
+
+#: ../../Zotlabs/Module/Profiles.php:786
+msgid "My other channels"
+msgstr "I miei altri canali"
+
+#: ../../Zotlabs/Module/Profiles.php:788
+msgid "Communications"
+msgstr ""
+
+#: ../../Zotlabs/Module/Profiles.php:823 ../../include/channel.php:1316
+msgid "Profile Image"
+msgstr "Immagine del profilo"
+
+#: ../../Zotlabs/Module/Profiles.php:833 ../../include/channel.php:1297
+#: ../../include/nav.php:117
+msgid "Edit Profiles"
+msgstr "Modifica i tuoi profili"
+
+#: ../../Zotlabs/Module/Go.php:21
+msgid "This page is available only to site members"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:27
+msgid "Welcome"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:29
+msgid "What would you like to do?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:31
msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
+"Please bookmark this page if you would like to return to it in the future"
+msgstr ""
-#: ../../Zotlabs/Module/Connect.php:96
+#: ../../Zotlabs/Module/Go.php:35
+msgid "Upload a profile photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:36
+msgid "Upload a cover photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:37
+msgid "Edit your default profile"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:43
+msgid "View friend suggestions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:39 ../../Zotlabs/Widget/Newmember.php:42
+msgid "View the channel directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:40
+msgid "View/edit your channel settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:41
+msgid "View the site or project documentation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:42
+msgid "Visit your channel homepage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Go.php:43
msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
+"View your connections and/or add somebody whose address you already know"
+msgstr ""
-#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+#: ../../Zotlabs/Module/Go.php:44
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
+"View your personal stream (this may be empty until you add some connections)"
+msgstr ""
-#: ../../Zotlabs/Module/Connect.php:106
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
+#: ../../Zotlabs/Module/Go.php:52
+msgid "View the public stream. Warning: this content is not moderated"
+msgstr ""
-#: ../../Zotlabs/Module/Connect.php:114
-msgid "Restricted or Premium Channel"
-msgstr "Canale premium - con restrizioni"
+#: ../../Zotlabs/Module/Editwebpage.php:139
+msgid "Page link"
+msgstr "Link alla pagina"
-#: ../../Zotlabs/Module/Manage.php:136
-#: ../../Zotlabs/Module/New_channel.php:121
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
+#: ../../Zotlabs/Module/Editwebpage.php:166
+msgid "Edit Webpage"
+msgstr "Modifica la pagina web"
-#: ../../Zotlabs/Module/Manage.php:143
+#: ../../Zotlabs/Module/Manage.php:145
msgid "Create a new channel"
msgstr "Crea un nuovo canale"
-#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:778
-#: ../../Zotlabs/Module/Chat.php:255
-msgid "Create New"
-msgstr "Crea nuova"
-
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
-#: ../../include/nav.php:211
+#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:240
+#: ../../include/nav.php:102 ../../include/nav.php:190
msgid "Channel Manager"
msgstr "Gestione canali"
-#: ../../Zotlabs/Module/Manage.php:165
+#: ../../Zotlabs/Module/Manage.php:171
msgid "Current Channel"
msgstr "Canale attuale"
-#: ../../Zotlabs/Module/Manage.php:167
+#: ../../Zotlabs/Module/Manage.php:173
msgid "Switch to one of your channels by selecting it."
msgstr "Seleziona l'altro canale a cui vuoi passare."
-#: ../../Zotlabs/Module/Manage.php:168
+#: ../../Zotlabs/Module/Manage.php:174
msgid "Default Channel"
msgstr "Canale predefinito"
-#: ../../Zotlabs/Module/Manage.php:169
+#: ../../Zotlabs/Module/Manage.php:175
msgid "Make Default"
msgstr "Rendi predefinito"
-#: ../../Zotlabs/Module/Manage.php:172
+#: ../../Zotlabs/Module/Manage.php:178
#, php-format
msgid "%d new messages"
msgstr "%d nuovi messaggi"
-#: ../../Zotlabs/Module/Manage.php:173
+#: ../../Zotlabs/Module/Manage.php:179
#, php-format
msgid "%d new introductions"
msgstr "%d nuove richieste di entrare in contatto"
-#: ../../Zotlabs/Module/Manage.php:175
+#: ../../Zotlabs/Module/Manage.php:181
msgid "Delegated Channel"
msgstr "Canale delegato"
-#: ../../Zotlabs/Module/Group.php:24
-msgid "Privacy group created."
-msgstr "Gruppo di canali creato."
+#: ../../Zotlabs/Module/Cards.php:42 ../../Zotlabs/Module/Cards.php:181
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/conversation.php:1890
+#: ../../include/features.php:114 ../../include/nav.php:458
+msgid "Cards"
+msgstr "Card"
-#: ../../Zotlabs/Module/Group.php:30
-msgid "Could not create privacy group."
-msgstr "Impossibile creare il gruppo di canali."
+#: ../../Zotlabs/Module/Cards.php:99
+msgid "Add Card"
+msgstr ""
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3960
-msgid "Privacy group not found."
-msgstr "Gruppo di canali non trovato."
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Questo directory server necessita di un token di autenticazione"
-#: ../../Zotlabs/Module/Group.php:58
-msgid "Privacy group updated."
-msgstr "Gruppo di canali aggiornato."
+#: ../../Zotlabs/Module/Siteinfo.php:18
+msgid "About this site"
+msgstr ""
-#: ../../Zotlabs/Module/Group.php:90
-msgid "Create a group of channels."
-msgstr "Crea un gruppo di canali."
+#: ../../Zotlabs/Module/Siteinfo.php:19
+msgid "Site Name"
+msgstr ""
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
-msgid "Privacy group name: "
-msgstr "Nome del gruppo di canali:"
+#: ../../Zotlabs/Module/Siteinfo.php:23
+msgid "Administrator"
+msgstr "Amministratore"
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
-msgid "Members are visible to other channels"
-msgstr "I membri potranno vedere gli altri canali del gruppo"
+#: ../../Zotlabs/Module/Siteinfo.php:25 ../../Zotlabs/Module/Register.php:232
+msgid "Terms of Service"
+msgstr "Condizioni d'Uso"
-#: ../../Zotlabs/Module/Group.php:111
-msgid "Privacy group removed."
-msgstr "Gruppo di canali rimosso."
+#: ../../Zotlabs/Module/Siteinfo.php:26
+msgid "Software and Project information"
+msgstr ""
-#: ../../Zotlabs/Module/Group.php:113
-msgid "Unable to remove privacy group."
-msgstr "Impossibile rimuovere il gruppo di canali."
+#: ../../Zotlabs/Module/Siteinfo.php:27
+msgid "This site is powered by $Projectname"
+msgstr ""
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group editor"
-msgstr "Editor dei gruppi di canali"
+#: ../../Zotlabs/Module/Siteinfo.php:28
+msgid ""
+"Federated and decentralised networking and identity services provided by Zot"
+msgstr ""
-#: ../../Zotlabs/Module/Group.php:197
-msgid "Members"
-msgstr "Membri"
+#: ../../Zotlabs/Module/Siteinfo.php:30
+#, php-format
+msgid "Version %s"
+msgstr "Versione %s"
-#: ../../Zotlabs/Module/Group.php:199
-msgid "All Connected Channels"
-msgstr "Tutti i canali connessi"
+#: ../../Zotlabs/Module/Siteinfo.php:31
+msgid "Project homepage"
+msgstr ""
-#: ../../Zotlabs/Module/Group.php:231
-msgid "Click on a channel to add or remove."
-msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
+#: ../../Zotlabs/Module/Siteinfo.php:32
+msgid "Developer homepage"
+msgstr ""
+
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
+msgstr "Nessuna valutazione"
+
+#: ../../Zotlabs/Module/Ratings.php:97 ../../Zotlabs/Module/Pubsites.php:35
+#: ../../include/conversation.php:1082
+msgid "Ratings"
+msgstr "Valutazioni"
+
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
+msgstr "Valutazione:"
+
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
+msgstr "Sito web:"
+
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
+msgstr "Descrizione:"
+
+#: ../../Zotlabs/Module/Webpages.php:54
+msgid "Import Webpage Elements"
+msgstr "Importa gli elementi della pagina web"
+
+#: ../../Zotlabs/Module/Webpages.php:55
+msgid "Import selected"
+msgstr "Importa i selezionati"
+
+#: ../../Zotlabs/Module/Webpages.php:78
+msgid "Export Webpage Elements"
+msgstr "Esporta gli elementi della pagina web"
+
+#: ../../Zotlabs/Module/Webpages.php:79
+msgid "Export selected"
+msgstr "Esporta i selezionati"
+
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:244
+#: ../../include/conversation.php:1912 ../../include/nav.php:481
+msgid "Webpages"
+msgstr "Pagine web"
+
+#: ../../Zotlabs/Module/Webpages.php:248
+msgid "Actions"
+msgstr "Azioni"
+
+#: ../../Zotlabs/Module/Webpages.php:249
+msgid "Page Link"
+msgstr "Link alla pagina"
+
+#: ../../Zotlabs/Module/Webpages.php:250
+msgid "Page Title"
+msgstr "Titolo della pagina"
+
+#: ../../Zotlabs/Module/Webpages.php:280
+msgid "Invalid file type."
+msgstr "Tipo di file non valido."
+
+#: ../../Zotlabs/Module/Webpages.php:292
+msgid "Error opening zip file"
+msgstr "Errore nell'apertura del file zip"
+
+#: ../../Zotlabs/Module/Webpages.php:303
+msgid "Invalid folder path."
+msgstr "La cartella indicata non è valida."
+
+#: ../../Zotlabs/Module/Webpages.php:330
+msgid "No webpage elements detected."
+msgstr "Nella pagina web non sono presenti elementi."
-#: ../../Zotlabs/Module/Dreport.php:44
+#: ../../Zotlabs/Module/Webpages.php:405
+msgid "Import complete."
+msgstr "Importazione completata."
+
+#: ../../Zotlabs/Module/Changeaddr.php:35
+msgid ""
+"Channel name changes are not allowed within 48 hours of changing the account"
+" password."
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:214
+#: ../../include/channel.php:599
+msgid "Reserved nickname. Please choose another."
+msgstr "Nome utente riservato. Per favore scegline un altro."
+
+#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:219
+#: ../../include/channel.php:604
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
+
+#: ../../Zotlabs/Module/Changeaddr.php:77
+msgid "Change channel nickname/address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:78
+msgid "Any/all connections on other networks will be lost!"
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:80
+msgid "New channel address"
+msgstr ""
+
+#: ../../Zotlabs/Module/Changeaddr.php:81
+msgid "Rename Channel"
+msgstr ""
+
+#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43
+msgid "Item is not editable"
+msgstr "L'elemento non è modificabile"
+
+#: ../../Zotlabs/Module/Editpost.php:108 ../../Zotlabs/Module/Rpost.php:178
+msgid "Edit post"
+msgstr "Modifica post"
+
+#: ../../Zotlabs/Module/Dreport.php:45
msgid "Invalid message"
msgstr "Messaggio non valido"
-#: ../../Zotlabs/Module/Dreport.php:76
+#: ../../Zotlabs/Module/Dreport.php:78
msgid "no results"
msgstr "nessun risultato"
-#: ../../Zotlabs/Module/Dreport.php:91
+#: ../../Zotlabs/Module/Dreport.php:93
msgid "channel sync processed"
msgstr "sincronizzazione del canale effettuata"
-#: ../../Zotlabs/Module/Dreport.php:95
+#: ../../Zotlabs/Module/Dreport.php:97
msgid "queued"
msgstr "in coda"
-#: ../../Zotlabs/Module/Dreport.php:99
+#: ../../Zotlabs/Module/Dreport.php:101
msgid "posted"
msgstr "inviato"
-#: ../../Zotlabs/Module/Dreport.php:103
+#: ../../Zotlabs/Module/Dreport.php:105
msgid "accepted for delivery"
msgstr "accettato per la spedizione"
-#: ../../Zotlabs/Module/Dreport.php:107
+#: ../../Zotlabs/Module/Dreport.php:109
msgid "updated"
msgstr "aggiornato"
-#: ../../Zotlabs/Module/Dreport.php:110
+#: ../../Zotlabs/Module/Dreport.php:112
msgid "update ignored"
msgstr "aggiornamento ignorato"
-#: ../../Zotlabs/Module/Dreport.php:113
+#: ../../Zotlabs/Module/Dreport.php:115
msgid "permission denied"
msgstr "permessi non sufficienti"
-#: ../../Zotlabs/Module/Dreport.php:117
+#: ../../Zotlabs/Module/Dreport.php:119
msgid "recipient not found"
msgstr "Destinatario non trovato"
-#: ../../Zotlabs/Module/Dreport.php:120
+#: ../../Zotlabs/Module/Dreport.php:122
msgid "mail recalled"
msgstr "messaggio richiamato dal mittente"
-#: ../../Zotlabs/Module/Dreport.php:123
+#: ../../Zotlabs/Module/Dreport.php:125
msgid "duplicate mail received"
msgstr "ricevuto messaggio duplicato"
-#: ../../Zotlabs/Module/Dreport.php:126
+#: ../../Zotlabs/Module/Dreport.php:128
msgid "mail delivered"
msgstr "messaggio recapitato"
-#: ../../Zotlabs/Module/Dreport.php:146
+#: ../../Zotlabs/Module/Dreport.php:148
#, php-format
msgid "Delivery report for %1$s"
msgstr "Rapporto di consegna - %1$s"
-#: ../../Zotlabs/Module/Dreport.php:149
+#: ../../Zotlabs/Module/Dreport.php:151 ../../Zotlabs/Widget/Wiki_pages.php:39
+#: ../../Zotlabs/Widget/Wiki_pages.php:96
msgid "Options"
msgstr "Opzioni"
-#: ../../Zotlabs/Module/Dreport.php:150
+#: ../../Zotlabs/Module/Dreport.php:152
msgid "Redeliver"
msgstr "Reinvia"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "pagina web"
-
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "block"
-
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "layout"
-
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "menu"
-
-#: ../../Zotlabs/Module/Impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "%s elemento installato"
-
-#: ../../Zotlabs/Module/Impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Elementi con installazione fallita: %s"
-
-#: ../../Zotlabs/Module/Import_items.php:104
-msgid "Import completed"
-msgstr "Importazione completata"
-
-#: ../../Zotlabs/Module/Import_items.php:119
-msgid "Import Items"
-msgstr "Importa i contenuti"
-
-#: ../../Zotlabs/Module/Import_items.php:120
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."
-
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "Hai superato il numero massimo di inviti."
-
-#: ../../Zotlabs/Module/Invite.php:53
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: non è un indirizzo email valido."
-
-#: ../../Zotlabs/Module/Invite.php:63
-msgid "Please join us on $Projectname"
-msgstr "Unisciti a noi su $Projectname"
-
-#: ../../Zotlabs/Module/Invite.php:74
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
-
-#: ../../Zotlabs/Module/Invite.php:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: la consegna del messaggio è fallita."
-
-#: ../../Zotlabs/Module/Invite.php:83
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d messaggio inviato."
-msgstr[1] "%d messaggi inviati."
-
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "Non hai altri inviti disponibili"
-
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Spedisci inviti"
-
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Inserisci gli indirizzi email, uno per riga:"
-
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Entra nella mia comunità su $Projectname."
-
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Dovrai fornire questo codice invito:"
+#: ../../Zotlabs/Module/Sources.php:37
+msgid "Failed to create source. No channel selected."
+msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
-#: ../../Zotlabs/Module/Invite.php:139
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
+#: ../../Zotlabs/Module/Sources.php:51
+msgid "Source created."
+msgstr "Sorgente creata."
-#: ../../Zotlabs/Module/Invite.php:141
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
+#: ../../Zotlabs/Module/Sources.php:64
+msgid "Source updated."
+msgstr "Sorgente aggiornata."
-#: ../../Zotlabs/Module/Invite.php:142
-msgid "or visit"
-msgstr "oppure visita"
+#: ../../Zotlabs/Module/Sources.php:90
+msgid "*"
+msgstr "*"
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Clicca su [Aggiungi]"
+#: ../../Zotlabs/Module/Sources.php:96
+#: ../../Zotlabs/Widget/Settings_menu.php:125 ../../include/features.php:274
+msgid "Channel Sources"
+msgstr "Sorgenti del canale"
-#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
-msgid "Location not found."
-msgstr "Indirizzo non trovato."
+#: ../../Zotlabs/Module/Sources.php:97
+msgid "Manage remote sources of content for your channel."
+msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
-#: ../../Zotlabs/Module/Locs.php:62
-msgid "Location lookup failed."
-msgstr "La ricerca dell'indirizzo è fallita."
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
+msgid "New Source"
+msgstr "Nuova sorgente"
-#: ../../Zotlabs/Module/Locs.php:66
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
msgid ""
-"Please select another location to become primary before removing the primary"
-" location."
-msgstr "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria."
-
-#: ../../Zotlabs/Module/Locs.php:95
-msgid "Syncing locations"
-msgstr "Sincronizzazione tra hub"
-
-#: ../../Zotlabs/Module/Locs.php:105
-msgid "No locations found."
-msgstr "Nessun indirizzo trovato."
-
-#: ../../Zotlabs/Module/Locs.php:116
-msgid "Manage Channel Locations"
-msgstr "Modifica gli indirizzi del canale"
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
-#: ../../Zotlabs/Module/Locs.php:119
-msgid "Primary"
-msgstr "Primario"
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Only import content with these words (one per line)"
+msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
-#: ../../Zotlabs/Module/Locs.php:122
-msgid "Sync Now"
-msgstr "Sincronizza ora"
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Leave blank to import all public content"
+msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
-#: ../../Zotlabs/Module/Locs.php:123
-msgid "Please wait several minutes between consecutive operations."
-msgstr "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione."
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
+msgid "Channel Name"
+msgstr "Nome del canale"
-#: ../../Zotlabs/Module/Locs.php:124
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
msgid ""
-"When possible, drop a location by logging into that website/hub and removing"
-" your channel."
-msgstr "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli."
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr "Aggiungi le seguenti categorie ai post importati da questa sorgente (separate da virgola)"
-#: ../../Zotlabs/Module/Locs.php:125
-msgid "Use this form to drop the location if the hub is no longer operating."
-msgstr "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante."
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
+msgid "Source not found."
+msgstr "Sorgente non trovata."
-#: ../../Zotlabs/Module/Rate.php:156
-msgid "Website:"
-msgstr "Sito web:"
+#: ../../Zotlabs/Module/Sources.php:140
+msgid "Edit Source"
+msgstr "Modifica la sorgente"
-#: ../../Zotlabs/Module/Rate.php:159
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
+#: ../../Zotlabs/Module/Sources.php:141
+msgid "Delete Source"
+msgstr "Elimina la sorgente"
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Rating (this information is public)"
-msgstr "Valutazione (visibile a tutti)"
+#: ../../Zotlabs/Module/Sources.php:169
+msgid "Source removed"
+msgstr "Sorgente eliminata"
-#: ../../Zotlabs/Module/Rate.php:161
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
+#: ../../Zotlabs/Module/Sources.php:171
+msgid "Unable to remove source."
+msgstr "Impossibile rimuovere la sorgente."
-#: ../../Zotlabs/Module/Like.php:19
+#: ../../Zotlabs/Module/Like.php:54
msgid "Like/Dislike"
msgstr "Mi piace/Non mi piace"
-#: ../../Zotlabs/Module/Like.php:24
+#: ../../Zotlabs/Module/Like.php:59
msgid "This action is restricted to members."
msgstr "Questa funzionalità è riservata agli iscritti."
-#: ../../Zotlabs/Module/Like.php:25
+#: ../../Zotlabs/Module/Like.php:60
msgid ""
"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo $Projectname</a> o <a href=\"register\">registrarti come nuovo utente $Projectname</a>."
-#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
+#: ../../Zotlabs/Module/Like.php:109 ../../Zotlabs/Module/Like.php:135
+#: ../../Zotlabs/Module/Like.php:173
msgid "Invalid request."
msgstr "Richiesta non valida."
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+#: ../../Zotlabs/Module/Like.php:121 ../../include/conversation.php:122
msgid "channel"
msgstr "il canale"
-#: ../../Zotlabs/Module/Like.php:146
+#: ../../Zotlabs/Module/Like.php:150
msgid "thing"
msgstr "Oggetto"
-#: ../../Zotlabs/Module/Like.php:192
+#: ../../Zotlabs/Module/Like.php:196
msgid "Channel unavailable."
msgstr "Canale non trovato."
-#: ../../Zotlabs/Module/Like.php:240
+#: ../../Zotlabs/Module/Like.php:244
msgid "Previous action reversed."
msgstr "Il comando precedente è stato annullato."
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1991
-#: ../../include/conversation.php:120
-msgid "photo"
-msgstr "la foto"
-
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/text.php:1997 ../../include/conversation.php:148
-msgid "status"
-msgstr "il messaggio di stato"
-
-#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/text.php:1994
-#: ../../include/conversation.php:123 ../../include/event.php:961
-msgid "event"
-msgstr "l'evento"
-
-#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
+#: ../../Zotlabs/Module/Like.php:436 ../../addon/diaspora/Receiver.php:1547
+#: ../../addon/pubcrawl/as.php:1394 ../../include/conversation.php:160
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "A %1$s piace %3$s di %2$s"
-#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
+#: ../../Zotlabs/Module/Like.php:438 ../../addon/pubcrawl/as.php:1396
+#: ../../include/conversation.php:163
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "A %1$s non piace %3$s di %2$s"
-#: ../../Zotlabs/Module/Like.php:423
+#: ../../Zotlabs/Module/Like.php:440
#, php-format
msgid "%1$s agrees with %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s è d'accordo"
-#: ../../Zotlabs/Module/Like.php:425
+#: ../../Zotlabs/Module/Like.php:442
#, php-format
msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s non è d'accordo"
-#: ../../Zotlabs/Module/Like.php:427
+#: ../../Zotlabs/Module/Like.php:444
#, php-format
msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s non si esprime"
-#: ../../Zotlabs/Module/Like.php:429
+#: ../../Zotlabs/Module/Like.php:446 ../../addon/diaspora/Receiver.php:2031
#, php-format
msgid "%1$s is attending %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s partecipa"
-#: ../../Zotlabs/Module/Like.php:431
+#: ../../Zotlabs/Module/Like.php:448 ../../addon/diaspora/Receiver.php:2033
#, php-format
msgid "%1$s is not attending %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s non partecipa"
-#: ../../Zotlabs/Module/Like.php:433
+#: ../../Zotlabs/Module/Like.php:450 ../../addon/diaspora/Receiver.php:2035
#, php-format
msgid "%1$s may attend %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s forse partecipa"
-#: ../../Zotlabs/Module/Like.php:538
+#: ../../Zotlabs/Module/Like.php:562
msgid "Action completed."
msgstr "Comando completato."
-#: ../../Zotlabs/Module/Like.php:539
+#: ../../Zotlabs/Module/Like.php:563
msgid "Thank you."
msgstr "Grazie."
-#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
-#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
-msgid "Profile not found."
-msgstr "Profilo non trovato."
-
-#: ../../Zotlabs/Module/Profiles.php:44
-msgid "Profile deleted."
-msgstr "Profilo eliminato."
-
-#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
-msgid "Profile-"
-msgstr "Profilo-"
-
-#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
-msgid "New profile created."
-msgstr "Il nuovo profilo è stato creato."
-
-#: ../../Zotlabs/Module/Profiles.php:110
-msgid "Profile unavailable to clone."
-msgstr "Impossibile duplicare il profilo."
-
-#: ../../Zotlabs/Module/Profiles.php:151
-msgid "Profile unavailable to export."
-msgstr "Il profilo non è disponibile per l'export."
-
-#: ../../Zotlabs/Module/Profiles.php:256
-msgid "Profile Name is required."
-msgstr "Il nome del profilo è obbligatorio."
-
-#: ../../Zotlabs/Module/Profiles.php:427
-msgid "Marital Status"
-msgstr "Stato sentimentale"
-
-#: ../../Zotlabs/Module/Profiles.php:431
-msgid "Romantic Partner"
-msgstr "Partner affettivo"
-
-#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
-msgid "Likes"
-msgstr "Mi piace"
-
-#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
-msgid "Dislikes"
-msgstr "Non mi piace"
-
-#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
-msgid "Work/Employment"
-msgstr "Lavoro/impiego"
+#: ../../Zotlabs/Module/Directory.php:250
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valutazione"
+msgstr[1] "%d valutazioni"
-#: ../../Zotlabs/Module/Profiles.php:446
-msgid "Religion"
-msgstr "Religione"
+#: ../../Zotlabs/Module/Directory.php:261
+msgid "Gender: "
+msgstr "Sesso:"
-#: ../../Zotlabs/Module/Profiles.php:450
-msgid "Political Views"
-msgstr "Orientamento politico"
+#: ../../Zotlabs/Module/Directory.php:263
+msgid "Status: "
+msgstr "Stato:"
-#: ../../Zotlabs/Module/Profiles.php:454
-msgid "Gender"
-msgstr "Sesso"
+#: ../../Zotlabs/Module/Directory.php:265
+msgid "Homepage: "
+msgstr "Homepage:"
-#: ../../Zotlabs/Module/Profiles.php:458
-msgid "Sexual Preference"
-msgstr "Preferenze sessuali"
+#: ../../Zotlabs/Module/Directory.php:314 ../../include/channel.php:1565
+msgid "Age:"
+msgstr "Età:"
-#: ../../Zotlabs/Module/Profiles.php:462
-msgid "Homepage"
-msgstr "Home page"
+#: ../../Zotlabs/Module/Directory.php:319 ../../include/channel.php:1392
+#: ../../include/event.php:54 ../../include/event.php:86
+msgid "Location:"
+msgstr "Luogo:"
-#: ../../Zotlabs/Module/Profiles.php:466
-msgid "Interests"
-msgstr "Interessi"
+#: ../../Zotlabs/Module/Directory.php:325
+msgid "Description:"
+msgstr "Descrizione:"
-#: ../../Zotlabs/Module/Profiles.php:560
-msgid "Profile updated."
-msgstr "Profilo aggiornato."
+#: ../../Zotlabs/Module/Directory.php:330 ../../include/channel.php:1581
+msgid "Hometown:"
+msgstr "Città dove vivo:"
-#: ../../Zotlabs/Module/Profiles.php:644
-msgid "Hide your connections list from viewers of this profile"
-msgstr "Nascondi la tua lista di contatti ai visitatori di questo profilo"
+#: ../../Zotlabs/Module/Directory.php:332 ../../include/channel.php:1589
+msgid "About:"
+msgstr "Informazioni:"
-#: ../../Zotlabs/Module/Profiles.php:686
-msgid "Edit Profile Details"
-msgstr "Modifica i dettagli del profilo"
+#: ../../Zotlabs/Module/Directory.php:333 ../../Zotlabs/Module/Suggest.php:56
+#: ../../Zotlabs/Widget/Follow.php:32 ../../Zotlabs/Widget/Suggestions.php:44
+#: ../../include/conversation.php:1052 ../../include/channel.php:1377
+#: ../../include/connections.php:111
+msgid "Connect"
+msgstr "Aggiungi"
-#: ../../Zotlabs/Module/Profiles.php:688
-msgid "View this profile"
-msgstr "Guarda questo profilo"
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Public Forum:"
+msgstr "Forum pubblico:"
-#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
-#: ../../include/channel.php:981
-msgid "Edit visibility"
-msgstr "Cambia la visibilità"
+#: ../../Zotlabs/Module/Directory.php:337
+msgid "Keywords: "
+msgstr "Parole chiave:"
-#: ../../Zotlabs/Module/Profiles.php:690
-msgid "Profile Tools"
-msgstr "Gestione del profilo"
+#: ../../Zotlabs/Module/Directory.php:340
+msgid "Don't suggest"
+msgstr "Non fornire suggerimenti"
-#: ../../Zotlabs/Module/Profiles.php:691
-msgid "Change cover photo"
-msgstr "Cambia la copertina del canale"
+#: ../../Zotlabs/Module/Directory.php:342
+msgid "Common connections (estimated):"
+msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:952
-msgid "Change profile photo"
-msgstr "Cambia la foto del profilo"
+#: ../../Zotlabs/Module/Directory.php:391
+msgid "Global Directory"
+msgstr "Elenchi pubblici globali"
-#: ../../Zotlabs/Module/Profiles.php:693
-msgid "Create a new profile using these settings"
-msgstr "Crea un nuovo profilo usando queste impostazioni"
+#: ../../Zotlabs/Module/Directory.php:391
+msgid "Local Directory"
+msgstr "Elenco canali su questo hub"
-#: ../../Zotlabs/Module/Profiles.php:694
-msgid "Clone this profile"
-msgstr "Clona questo profilo"
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Finding:"
+msgstr "Ricerca:"
-#: ../../Zotlabs/Module/Profiles.php:695
-msgid "Delete this profile"
-msgstr "Elimina questo profilo"
+#: ../../Zotlabs/Module/Directory.php:400 ../../Zotlabs/Module/Suggest.php:64
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Canali suggeriti"
-#: ../../Zotlabs/Module/Profiles.php:696
-msgid "Add profile things"
-msgstr "Aggiungi oggetti al profilo"
+#: ../../Zotlabs/Module/Directory.php:402
+msgid "next page"
+msgstr "pagina successiva"
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1564
-#: ../../include/widgets.php:105
-msgid "Personal"
-msgstr "Personali"
+#: ../../Zotlabs/Module/Directory.php:402
+msgid "previous page"
+msgstr "pagina precedente"
-#: ../../Zotlabs/Module/Profiles.php:699
-msgid "Relation"
-msgstr "Relazione"
+#: ../../Zotlabs/Module/Directory.php:403
+msgid "Sort options"
+msgstr "Opzioni di ordinamento"
-#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:55
-msgid "Miscellaneous"
-msgstr "Altro"
+#: ../../Zotlabs/Module/Directory.php:404
+msgid "Alphabetic"
+msgstr "Alfabetico"
-#: ../../Zotlabs/Module/Profiles.php:702
-msgid "Import profile from file"
-msgstr "Importa il profilo da un file"
+#: ../../Zotlabs/Module/Directory.php:405
+msgid "Reverse Alphabetic"
+msgstr "Alfabetico inverso"
-#: ../../Zotlabs/Module/Profiles.php:703
-msgid "Export profile to file"
-msgstr "Esporta il profilo in un file"
+#: ../../Zotlabs/Module/Directory.php:406
+msgid "Newest to Oldest"
+msgstr "Prima i più recenti"
-#: ../../Zotlabs/Module/Profiles.php:704
-msgid "Your gender"
-msgstr "Sesso"
+#: ../../Zotlabs/Module/Directory.php:407
+msgid "Oldest to Newest"
+msgstr "Prima i più vecchi"
-#: ../../Zotlabs/Module/Profiles.php:705
-msgid "Marital status"
-msgstr "Stato civile"
+#: ../../Zotlabs/Module/Directory.php:424
+msgid "No entries (some entries may be hidden)."
+msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
-#: ../../Zotlabs/Module/Profiles.php:706
-msgid "Sexual preference"
-msgstr "Preferenze sessuali"
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "Ricerca canale"
-#: ../../Zotlabs/Module/Profiles.php:709
-msgid "Profile name"
-msgstr "Nome del profilo"
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Cerca un canale (o un webbie) che inizia per:"
-#: ../../Zotlabs/Module/Profiles.php:711
-msgid "This is your default profile."
-msgstr "Questo è il tuo profilo predefinito."
+#: ../../Zotlabs/Module/Suggest.php:39
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
-#: ../../Zotlabs/Module/Profiles.php:713
-msgid "Your full name"
-msgstr "Il tuo nome completo"
+#: ../../Zotlabs/Module/Suggest.php:58 ../../Zotlabs/Widget/Suggestions.php:46
+msgid "Ignore/Hide"
+msgstr "Ignora/nascondi"
-#: ../../Zotlabs/Module/Profiles.php:714
-msgid "Title/Description"
-msgstr "Titolo/descrizione"
+#: ../../Zotlabs/Module/Oexchange.php:27
+msgid "Unable to find your hub."
+msgstr "Impossibile raggiungere il tuo hub."
-#: ../../Zotlabs/Module/Profiles.php:717
-msgid "Street address"
-msgstr "Indirizzo (via/piazza)"
+#: ../../Zotlabs/Module/Oexchange.php:41
+msgid "Post successful."
+msgstr "Inviato!"
-#: ../../Zotlabs/Module/Profiles.php:718
-msgid "Locality/City"
-msgstr "Località"
+#: ../../Zotlabs/Module/Mail.php:73
+msgid "Unable to lookup recipient."
+msgstr "Impossibile associare un destinatario."
-#: ../../Zotlabs/Module/Profiles.php:719
-msgid "Region/State"
-msgstr "Regione/stato"
+#: ../../Zotlabs/Module/Mail.php:80
+msgid "Unable to communicate with requested channel."
+msgstr "Impossibile comunicare con il canale richiesto."
-#: ../../Zotlabs/Module/Profiles.php:720
-msgid "Postal/Zip code"
-msgstr "CAP"
+#: ../../Zotlabs/Module/Mail.php:87
+msgid "Cannot verify requested channel."
+msgstr "Impossibile verificare il canale richiesto."
-#: ../../Zotlabs/Module/Profiles.php:721
-msgid "Country"
-msgstr "Nazione"
+#: ../../Zotlabs/Module/Mail.php:105
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
-#: ../../Zotlabs/Module/Profiles.php:726
-msgid "Who (if applicable)"
-msgstr "Con chi (se possibile)"
+#: ../../Zotlabs/Module/Mail.php:160
+msgid "Messages"
+msgstr "Messaggi"
-#: ../../Zotlabs/Module/Profiles.php:726
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com"
+#: ../../Zotlabs/Module/Mail.php:173
+msgid "message"
+msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:727
-msgid "Since (date)"
-msgstr "dal (data)"
+#: ../../Zotlabs/Module/Mail.php:214
+msgid "Message recalled."
+msgstr "Messaggio revocato."
-#: ../../Zotlabs/Module/Profiles.php:730
-msgid "Tell us about yourself"
-msgstr "Raccontaci di te..."
+#: ../../Zotlabs/Module/Mail.php:227
+msgid "Conversation removed."
+msgstr "Conversazione rimossa."
-#: ../../Zotlabs/Module/Profiles.php:731
-msgid "Homepage URL"
-msgstr "Indirizzo home page"
+#: ../../Zotlabs/Module/Mail.php:242 ../../Zotlabs/Module/Mail.php:363
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Scade il YYYY-MM-DD HH:MM"
-#: ../../Zotlabs/Module/Profiles.php:732
-msgid "Hometown"
-msgstr "Città dove vivo"
+#: ../../Zotlabs/Module/Mail.php:270
+msgid "Requested channel is not in this network"
+msgstr "Il canale cercato non è in questa rete"
-#: ../../Zotlabs/Module/Profiles.php:733
-msgid "Political views"
-msgstr "Orientamento politico"
+#: ../../Zotlabs/Module/Mail.php:278
+msgid "Send Private Message"
+msgstr "Invia un messaggio privato"
-#: ../../Zotlabs/Module/Profiles.php:734
-msgid "Religious views"
-msgstr "Orientamento religioso"
+#: ../../Zotlabs/Module/Mail.php:279 ../../Zotlabs/Module/Mail.php:421
+msgid "To:"
+msgstr "A:"
-#: ../../Zotlabs/Module/Profiles.php:735
-msgid "Keywords used in directory listings"
-msgstr "Parole chiavi mostrate nell'elenco dei canali"
+#: ../../Zotlabs/Module/Mail.php:282 ../../Zotlabs/Module/Mail.php:423
+msgid "Subject:"
+msgstr "Oggetto:"
-#: ../../Zotlabs/Module/Profiles.php:735
-msgid "Example: fishing photography software"
-msgstr "Per esempio: pesca fotografia programmazione"
+#: ../../Zotlabs/Module/Mail.php:287 ../../Zotlabs/Module/Mail.php:429
+#: ../../include/conversation.php:1382
+msgid "Attach file"
+msgstr "Allega file"
-#: ../../Zotlabs/Module/Profiles.php:738
-msgid "Musical interests"
-msgstr "Interessi musicali"
+#: ../../Zotlabs/Module/Mail.php:289
+msgid "Send"
+msgstr "Invia"
-#: ../../Zotlabs/Module/Profiles.php:739
-msgid "Books, literature"
-msgstr "Libri, letteratura"
+#: ../../Zotlabs/Module/Mail.php:292 ../../Zotlabs/Module/Mail.php:434
+#: ../../include/conversation.php:1427
+msgid "Set expiration date"
+msgstr "Data di scadenza"
-#: ../../Zotlabs/Module/Profiles.php:740
-msgid "Television"
-msgstr "Televisione"
+#: ../../Zotlabs/Module/Mail.php:393
+msgid "Delete message"
+msgstr "Elimina il messaggio"
-#: ../../Zotlabs/Module/Profiles.php:741
-msgid "Film/Dance/Culture/Entertainment"
-msgstr "Film, danza, cultura, intrattenimento"
+#: ../../Zotlabs/Module/Mail.php:394
+msgid "Delivery report"
+msgstr "Rapporto di trasmissione"
-#: ../../Zotlabs/Module/Profiles.php:742
-msgid "Hobbies/Interests"
-msgstr "Hobby/interessi"
+#: ../../Zotlabs/Module/Mail.php:395
+msgid "Recall message"
+msgstr "Revoca il messaggio"
-#: ../../Zotlabs/Module/Profiles.php:743
-msgid "Love/Romance"
-msgstr "Amore"
+#: ../../Zotlabs/Module/Mail.php:397
+msgid "Message has been recalled."
+msgstr "Il messaggio è stato revocato."
-#: ../../Zotlabs/Module/Profiles.php:745
-msgid "School/Education"
-msgstr "Scuola/educazione"
+#: ../../Zotlabs/Module/Mail.php:414
+msgid "Delete Conversation"
+msgstr "Elimina la conversazione"
-#: ../../Zotlabs/Module/Profiles.php:746
-msgid "Contact information and social networks"
-msgstr "Contatti e social network"
+#: ../../Zotlabs/Module/Mail.php:416
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
-#: ../../Zotlabs/Module/Profiles.php:747
-msgid "My other channels"
-msgstr "I miei altri canali"
+#: ../../Zotlabs/Module/Mail.php:420
+msgid "Send Reply"
+msgstr "Invia la risposta"
-#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:977
-msgid "Profile Image"
-msgstr "Immagine del profilo"
+#: ../../Zotlabs/Module/Mail.php:425
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Il tuo messaggio per %s (%s):"
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:959
-#: ../../include/nav.php:91
-msgid "Edit Profiles"
-msgstr "Modifica i tuoi profili"
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../Zotlabs/Widget/Pubsites.php:12
+msgid "Public Hubs"
+msgstr "Hub pubblici"
-#: ../../Zotlabs/Module/Mitem.php:52
-msgid "Unable to create element."
-msgstr "Impossibile creare l'elemento."
+#: ../../Zotlabs/Module/Pubsites.php:27
+msgid ""
+"The listed hubs allow public registration for the $Projectname network. All "
+"hubs in the network are interlinked so membership on any of them conveys "
+"membership in the network as a whole. Some hubs may require subscription or "
+"provide tiered service plans. The hub itself <strong>may</strong> provide "
+"additional details."
+msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero fornire alcune funzionalità o l'intero servizio a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
-#: ../../Zotlabs/Module/Mitem.php:76
-msgid "Unable to update menu element."
-msgstr "Non è possibile aggiornare l'elemento del menù."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Hub URL"
+msgstr "URL del hub"
-#: ../../Zotlabs/Module/Mitem.php:92
-msgid "Unable to add menu element."
-msgstr "Impossibile aggiungere l'elemento al menù."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Access Type"
+msgstr "Tipo di accesso"
-#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
-msgid "Menu Item Permissions"
-msgstr "Permessi del menu"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Registration Policy"
+msgstr "Politica di registrazione"
-#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
-#: ../../Zotlabs/Module/Settings/Channel.php:486
-msgid "(click to open/close)"
-msgstr "(clicca per aprire/chiudere)"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Stats"
+msgstr "Statistiche"
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176
-msgid "Link Name"
-msgstr "Nome link"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Software"
+msgstr "Software"
-#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239
-msgid "Link or Submenu Target"
-msgstr "Azione del link o del sottomenu"
+#: ../../Zotlabs/Module/Pubsites.php:49
+msgid "Rate"
+msgstr "Valuta"
-#: ../../Zotlabs/Module/Mitem.php:161
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
+#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:267
+msgid "webpage"
+msgstr "pagina web"
-#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240
-msgid "Use magic-auth if available"
-msgstr "Usa l'autenticazione tramite il tuo hub, se disponibile"
+#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:273
+msgid "block"
+msgstr "block"
-#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241
-msgid "Open link in new window"
-msgstr "Apri il link in una nuova finestra"
+#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:270
+msgid "layout"
+msgstr "layout"
-#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
-msgid "Order in list"
-msgstr "Ordine dell'elenco"
+#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:276
+msgid "menu"
+msgstr "menu"
-#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "I numeri più alti andranno in fondo all'elenco"
+#: ../../Zotlabs/Module/Impel.php:183
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento installato"
-#: ../../Zotlabs/Module/Mitem.php:165
-msgid "Submit and finish"
-msgstr "Salva e termina"
+#: ../../Zotlabs/Module/Impel.php:186
+#, php-format
+msgid "%s element installation failed"
+msgstr "Elementi con installazione fallita: %s"
-#: ../../Zotlabs/Module/Mitem.php:166
-msgid "Submit and continue"
-msgstr "Salva e continua"
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr "Scegli una cartella di segnalibri"
-#: ../../Zotlabs/Module/Mitem.php:174
-msgid "Menu:"
-msgstr "Menu:"
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr "Salva segnalibro"
-#: ../../Zotlabs/Module/Mitem.php:177
-msgid "Link Target"
-msgstr "Destinazione link"
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr "URL del segnalibro"
-#: ../../Zotlabs/Module/Mitem.php:180
-msgid "Edit menu"
-msgstr "Modifica il menù"
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr "O inserisci il nome di una nuova cartella di segnalibri"
-#: ../../Zotlabs/Module/Mitem.php:183
-msgid "Edit element"
-msgstr "Modifica l'elemento"
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Enter a folder name"
+msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:184
-msgid "Drop element"
-msgstr "Elimina l'elemento"
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "or select an existing folder (doubleclick)"
+msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:185
-msgid "New element"
-msgstr "Nuovo elemento"
+#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:151
+msgid "Save to Folder"
+msgstr "Salva nella cartella"
-#: ../../Zotlabs/Module/Mitem.php:186
-msgid "Edit this menu container"
-msgstr "Modifica il contenitore del menù"
+#: ../../Zotlabs/Module/Probe.php:30 ../../Zotlabs/Module/Probe.php:34
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "La chiamata all'URL restituisce questo errore: %1$s"
-#: ../../Zotlabs/Module/Mitem.php:187
-msgid "Add menu element"
-msgstr "Aggiungi un elemento al menù"
+#: ../../Zotlabs/Module/Register.php:49
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"
-#: ../../Zotlabs/Module/Mitem.php:188
-msgid "Delete this menu item"
-msgstr "Elimina questo elemento del menù"
+#: ../../Zotlabs/Module/Register.php:55
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."
-#: ../../Zotlabs/Module/Mitem.php:189
-msgid "Edit this menu item"
-msgstr "Modifica questo elemento del menù"
+#: ../../Zotlabs/Module/Register.php:89
+msgid "Passwords do not match."
+msgstr "Le password non corrispondono."
-#: ../../Zotlabs/Module/Mitem.php:206
-msgid "Menu item not found."
-msgstr "L'elemento del menù non è stato trovato."
+#: ../../Zotlabs/Module/Register.php:132
+msgid "Registration successful. Continue to create your first channel..."
+msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:219
-msgid "Menu item deleted."
-msgstr "L'elemento del menù è stato eliminato."
+#: ../../Zotlabs/Module/Register.php:135
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."
-#: ../../Zotlabs/Module/Mitem.php:221
-msgid "Menu item could not be deleted."
-msgstr "L'elemento del menù non può essere eliminato."
+#: ../../Zotlabs/Module/Register.php:142
+msgid "Your registration is pending approval by the site owner."
+msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub."
-#: ../../Zotlabs/Module/Mitem.php:228
-msgid "Edit Menu Element"
-msgstr "Modifica l'elemento del menù"
+#: ../../Zotlabs/Module/Register.php:145
+msgid "Your registration can not be processed."
+msgstr "La tua registrazione non puo' essere processata."
-#: ../../Zotlabs/Module/Mitem.php:238
-msgid "Link text"
-msgstr "Testo del link"
+#: ../../Zotlabs/Module/Register.php:192
+msgid "Registration on this hub is disabled."
+msgstr "Su questo hub la registrazione non è permessa."
-#: ../../Zotlabs/Module/Setup.php:184
-msgid "$Projectname Server - Setup"
-msgstr "Server $Projectname - Installazione"
+#: ../../Zotlabs/Module/Register.php:201
+msgid "Registration on this hub is by approval only."
+msgstr "La registrazione su questo hub è soggetta ad approvazione."
-#: ../../Zotlabs/Module/Setup.php:188
-msgid "Could not connect to database."
-msgstr " Impossibile connettersi al database."
+#: ../../Zotlabs/Module/Register.php:202
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr "<a href=\"pubsites\">Registrati su un altro server hubzilla.</a>"
-#: ../../Zotlabs/Module/Setup.php:192
+#: ../../Zotlabs/Module/Register.php:212
msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
-#: ../../Zotlabs/Module/Setup.php:199
-msgid "Could not create table."
-msgstr "Impossibile creare le tabelle."
+#: ../../Zotlabs/Module/Register.php:238
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Accetto le %s di questo sito"
-#: ../../Zotlabs/Module/Setup.php:204
-msgid "Your site database has been installed."
-msgstr "Il database del sito è stato installato."
+#: ../../Zotlabs/Module/Register.php:245
+#, php-format
+msgid "I am over %s years of age and accept the %s for this website"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:208
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
+#: ../../Zotlabs/Module/Register.php:250
+msgid "Your email address"
+msgstr "Il tuo indirizzo email"
-#: ../../Zotlabs/Module/Setup.php:209 ../../Zotlabs/Module/Setup.php:271
-#: ../../Zotlabs/Module/Setup.php:734
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Leggi il file 'install/INSTALL.txt'."
+#: ../../Zotlabs/Module/Register.php:251
+msgid "Choose a password"
+msgstr "Scegli una password"
-#: ../../Zotlabs/Module/Setup.php:268
-msgid "System check"
-msgstr "Verifica del sistema"
+#: ../../Zotlabs/Module/Register.php:252
+msgid "Please re-enter your password"
+msgstr "Ripeti la password per verifica"
-#: ../../Zotlabs/Module/Setup.php:272 ../../Zotlabs/Module/Photos.php:949
-#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
-#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
-msgid "Next"
-msgstr "Successivo"
+#: ../../Zotlabs/Module/Register.php:253
+msgid "Please enter your invitation code"
+msgstr "Inserisci il codice dell'invito"
-#: ../../Zotlabs/Module/Setup.php:273
-msgid "Check again"
-msgstr "Verifica di nuovo"
+#: ../../Zotlabs/Module/Register.php:258
+msgid "no"
+msgstr "no"
-#: ../../Zotlabs/Module/Setup.php:295
-msgid "Database connection"
-msgstr "Connessione al database"
+#: ../../Zotlabs/Module/Register.php:258
+msgid "yes"
+msgstr "sì"
-#: ../../Zotlabs/Module/Setup.php:296
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
+#: ../../Zotlabs/Module/Register.php:274
+msgid "Membership on this site is by invitation only."
+msgstr "Per registrarsi su questo hub è necessario un invito."
-#: ../../Zotlabs/Module/Setup.php:297
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
+#: ../../Zotlabs/Module/Register.php:286 ../../boot.php:1563
+#: ../../include/nav.php:164
+msgid "Register"
+msgstr "Registrati"
-#: ../../Zotlabs/Module/Setup.php:298
+#: ../../Zotlabs/Module/Register.php:287
msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-
-#: ../../Zotlabs/Module/Setup.php:302
-msgid "Database Server Name"
-msgstr "Server del database"
-
-#: ../../Zotlabs/Module/Setup.php:302
-msgid "Default is 127.0.0.1"
-msgstr "Il valore predefinito è 127.0.0.1"
+"This site requires email verification. After completing this form, please "
+"check your email for further instructions."
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:303
-msgid "Database Port"
-msgstr "Port del database"
+#: ../../Zotlabs/Module/Cover_photo.php:136
+#: ../../Zotlabs/Module/Cover_photo.php:186
+msgid "Cover Photos"
+msgstr "Copertine del canale"
-#: ../../Zotlabs/Module/Setup.php:303
-msgid "Communication port number - use 0 for default"
-msgstr "Scrivi 0 per usare il valore standard"
+#: ../../Zotlabs/Module/Cover_photo.php:237 ../../include/items.php:4508
+msgid "female"
+msgstr "femmina"
-#: ../../Zotlabs/Module/Setup.php:304
-msgid "Database Login Name"
-msgstr "Utente database"
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4509
+#, php-format
+msgid "%1$s updated her %2$s"
+msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../Zotlabs/Module/Setup.php:305
-msgid "Database Login Password"
-msgstr "Password database"
+#: ../../Zotlabs/Module/Cover_photo.php:239 ../../include/items.php:4510
+msgid "male"
+msgstr "maschio"
-#: ../../Zotlabs/Module/Setup.php:306
-msgid "Database Name"
-msgstr "Nome database"
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/items.php:4511
+#, php-format
+msgid "%1$s updated his %2$s"
+msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../Zotlabs/Module/Setup.php:307
-msgid "Database Type"
-msgstr "Tipo database"
+#: ../../Zotlabs/Module/Cover_photo.php:242 ../../include/items.php:4513
+#, php-format
+msgid "%1$s updated their %2$s"
+msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
-msgid "Site administrator email address"
-msgstr "Indirizzo email dell'amministratore del hub"
+#: ../../Zotlabs/Module/Cover_photo.php:244 ../../include/channel.php:2059
+msgid "cover photo"
+msgstr "Copertina del canale"
-#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla."
+#: ../../Zotlabs/Module/Cover_photo.php:360
+msgid "Change Cover Photo"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
-msgid "Website URL"
-msgstr "URL completo del sito"
+#: ../../Zotlabs/Module/Help.php:23
+msgid "Documentation Search"
+msgstr "Ricerca nella guida"
-#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
-msgid "Please use SSL (https) URL if available."
-msgstr "Se disponibile, usa l'indirizzo SSL (https)."
+#: ../../Zotlabs/Module/Help.php:80 ../../include/conversation.php:1821
+#: ../../include/nav.php:391
+msgid "About"
+msgstr "Informazioni"
-#: ../../Zotlabs/Module/Setup.php:311 ../../Zotlabs/Module/Setup.php:361
-msgid "Please select a default timezone for your website"
-msgstr "Seleziona il fuso orario predefinito per il tuo hub"
+#: ../../Zotlabs/Module/Help.php:82
+msgid "Administrators"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:344
-msgid "Site settings"
-msgstr "Impostazioni del hub"
+#: ../../Zotlabs/Module/Help.php:83
+msgid "Developers"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:400
-msgid "PHP version 5.5 or greater is required."
-msgstr "E' necessario PHP versione 5.5 o superiore."
+#: ../../Zotlabs/Module/Help.php:84
+msgid "Tutorials"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:401
-msgid "PHP version"
-msgstr "Versione PHP"
+#: ../../Zotlabs/Module/Help.php:95
+msgid "$Projectname Documentation"
+msgstr "Guida di $Projectname"
-#: ../../Zotlabs/Module/Setup.php:416
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
+#: ../../Zotlabs/Module/Help.php:96
+msgid "Contents"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:417
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
+#: ../../Zotlabs/Module/Display.php:351
+msgid "Article"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:421
-msgid "PHP executable path"
-msgstr "Path del comando PHP"
+#: ../../Zotlabs/Module/Display.php:403
+msgid "Item has been removed."
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:421
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
+msgstr "Tag rimosso"
-#: ../../Zotlabs/Module/Setup.php:426
-msgid "Command line PHP"
-msgstr "PHP da riga di comando"
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
+msgstr "Rimuovi il tag"
-#: ../../Zotlabs/Module/Setup.php:435
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
+msgstr "Seleziona un tag da rimuovere: "
-#: ../../Zotlabs/Module/Setup.php:436
-msgid "This is required for message delivery to work."
-msgstr "E' necessario perché funzioni la consegna dei messaggi."
+#: ../../Zotlabs/Module/Network.php:100
+msgid "No such group"
+msgstr "Impossibile trovare il gruppo di canali"
-#: ../../Zotlabs/Module/Setup.php:439
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../Zotlabs/Module/Network.php:142
+msgid "No such channel"
+msgstr "Canale sconosciuto"
-#: ../../Zotlabs/Module/Setup.php:457
-#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
+#: ../../Zotlabs/Module/Network.php:147
+msgid "forum"
+msgstr "forum"
-#: ../../Zotlabs/Module/Setup.php:462
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Puoi regolare queste impostazioni sul server in php.ini"
+#: ../../Zotlabs/Module/Network.php:159
+msgid "Search Results For:"
+msgstr "Cerca risultati con:"
-#: ../../Zotlabs/Module/Setup.php:464
-msgid "PHP upload limits"
-msgstr "Limiti PHP in upload"
+#: ../../Zotlabs/Module/Network.php:230
+msgid "Privacy group is empty"
+msgstr "Il gruppo di canali è vuoto"
-#: ../../Zotlabs/Module/Setup.php:487
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura"
+#: ../../Zotlabs/Module/Network.php:240
+msgid "Privacy group: "
+msgstr "Gruppo di canali:"
-#: ../../Zotlabs/Module/Setup.php:488
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
+#: ../../Zotlabs/Module/Network.php:268
+msgid "Invalid connection."
+msgstr "Contatto non valido."
-#: ../../Zotlabs/Module/Setup.php:491
-msgid "Generate encryption keys"
-msgstr "Genera chiavi di cifratura"
+#: ../../Zotlabs/Module/Network.php:289 ../../addon/redred/redred.php:65
+msgid "Invalid channel."
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:503
-msgid "libCurl PHP module"
-msgstr "modulo PHP libCurl"
+#: ../../Zotlabs/Module/Acl.php:361
+msgid "network"
+msgstr "rete"
-#: ../../Zotlabs/Module/Setup.php:504
-msgid "GD graphics PHP module"
-msgstr "modulo PHP GD graphics"
+#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
+#: ../../Zotlabs/Lib/Enotify.php:66 ../../addon/opensearch/opensearch.php:42
+msgid "$Projectname"
+msgstr "$Projectname"
-#: ../../Zotlabs/Module/Setup.php:505
-msgid "OpenSSL PHP module"
-msgstr "modulo PHP OpenSSL"
+#: ../../Zotlabs/Module/Home.php:92
+#, php-format
+msgid "Welcome to %s"
+msgstr "%s ti dà il benvenuto"
-#: ../../Zotlabs/Module/Setup.php:506
-msgid "mysqli or postgres PHP module"
-msgstr "modulo PHP per mysqli oppure prostgres"
+#: ../../Zotlabs/Module/Filestorage.php:79
+msgid "Permission Denied."
+msgstr "Permesso negato."
-#: ../../Zotlabs/Module/Setup.php:507
-msgid "mb_string PHP module"
-msgstr "modulo PHP mb_string"
+#: ../../Zotlabs/Module/Filestorage.php:95
+msgid "File not found."
+msgstr "File non trovato."
-#: ../../Zotlabs/Module/Setup.php:508
-msgid "xml PHP module"
-msgstr "modulo xml PHP"
+#: ../../Zotlabs/Module/Filestorage.php:142
+msgid "Edit file permissions"
+msgstr "Modifica i permessi del file"
-#: ../../Zotlabs/Module/Setup.php:512 ../../Zotlabs/Module/Setup.php:514
-msgid "Apache mod_rewrite module"
-msgstr "modulo Apache mod_rewrite"
+#: ../../Zotlabs/Module/Filestorage.php:154
+msgid "Set/edit permissions"
+msgstr "Modifica i permessi"
-#: ../../Zotlabs/Module/Setup.php:512
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+#: ../../Zotlabs/Module/Filestorage.php:155
+msgid "Include all files and sub folders"
+msgstr "Includi tutti i file e le sottocartelle"
-#: ../../Zotlabs/Module/Setup.php:518 ../../Zotlabs/Module/Setup.php:521
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../Zotlabs/Module/Filestorage.php:156
+msgid "Return to file list"
+msgstr "Torna all'elenco dei file"
-#: ../../Zotlabs/Module/Setup.php:518
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
+#: ../../Zotlabs/Module/Filestorage.php:158
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copia/incolla questo codice per far comparire il file in un post"
-#: ../../Zotlabs/Module/Setup.php:526
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+#: ../../Zotlabs/Module/Filestorage.php:159
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
-#: ../../Zotlabs/Module/Setup.php:530
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Share this file"
+msgstr "Condividi questo file"
-#: ../../Zotlabs/Module/Setup.php:534
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+#: ../../Zotlabs/Module/Filestorage.php:162
+msgid "Show URL to this file"
+msgstr "Mostra l'URL del file"
-#: ../../Zotlabs/Module/Setup.php:538
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
+#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Storage/Browser.php:397
+msgid "Show in your contacts shared folder"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:542
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Nessun canale."
-#: ../../Zotlabs/Module/Setup.php:546
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
+#: ../../Zotlabs/Module/Common.php:45
+msgid "No connections in common."
+msgstr "Nessun contatto in comune."
-#: ../../Zotlabs/Module/Setup.php:564
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."
+#: ../../Zotlabs/Module/Common.php:65
+msgid "View Common Connections"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:565
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
+#: ../../Zotlabs/Module/Email_resend.php:30
+msgid "Email verification resent"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:566
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."
+#: ../../Zotlabs/Module/Email_resend.php:33
+msgid "Unable to resend email verification message."
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:567
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
+msgstr "Nessun contatto."
-#: ../../Zotlabs/Module/Setup.php:570
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php è scrivibile"
+#: ../../Zotlabs/Module/Viewconnections.php:83
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Visita il profilo di %s [%s]"
-#: ../../Zotlabs/Module/Setup.php:584
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
+#: ../../Zotlabs/Module/Viewconnections.php:113
+msgid "View Connections"
+msgstr "Elenco contatti"
-#: ../../Zotlabs/Module/Setup.php:585
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the top level web folder."
-msgstr "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s"
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "Blocked accounts"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:586 ../../Zotlabs/Module/Setup.php:607
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "Expired accounts"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:587
-#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "Expiring accounts"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:590
-#, php-format
-msgid "%s is writable"
-msgstr "%s è scrivibile"
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "Clones"
+msgstr ""
-#: ../../Zotlabs/Module/Setup.php:606
-msgid ""
-"This software uses the store directory to save uploaded files. The web "
-"server needs to have write access to the store directory under the Red top "
-"level folder"
-msgstr "Questo software usa la cartella store per salvare i file caricati. Il server web deve avere i diritti di scrittura sulla cartella perché l'operazione avvenga con successo"
+#: ../../Zotlabs/Module/Admin.php:118
+msgid "Message queues"
+msgstr "Coda messaggi in uscita"
-#: ../../Zotlabs/Module/Setup.php:610
-msgid "store is writable"
-msgstr "l'archivio è scrivibile"
+#: ../../Zotlabs/Module/Admin.php:132
+msgid "Your software should be updated"
+msgstr "Il tuo software necessita di un aggiornamento"
-#: ../../Zotlabs/Module/Setup.php:643
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
+#: ../../Zotlabs/Module/Admin.php:137
+msgid "Summary"
+msgstr "Riepilogo"
-#: ../../Zotlabs/Module/Setup.php:644
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!"
+#: ../../Zotlabs/Module/Admin.php:140
+msgid "Registered accounts"
+msgstr "Account creati"
-#: ../../Zotlabs/Module/Setup.php:645
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
+#: ../../Zotlabs/Module/Admin.php:141
+msgid "Pending registrations"
+msgstr "Registrazioni da approvare"
-#: ../../Zotlabs/Module/Setup.php:646
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Registered channels"
+msgstr "Canali creati"
-#: ../../Zotlabs/Module/Setup.php:647
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
+#: ../../Zotlabs/Module/Admin.php:143
+msgid "Active plugins"
+msgstr "Plugin attivi"
-#: ../../Zotlabs/Module/Setup.php:648
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
+#: ../../Zotlabs/Module/Admin.php:144
+msgid "Version"
+msgstr "Versione"
-#: ../../Zotlabs/Module/Setup.php:650
-msgid ""
-"If you are confident that the certificate is valid and signed by a trusted "
-"authority, check to see if you have failed to install an intermediate cert. "
-"These are not normally required by browsers, but are required for server-to-"
-"server communications."
-msgstr "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server."
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Repository version (master)"
+msgstr "Versione del repository (master)"
-#: ../../Zotlabs/Module/Setup.php:653
-msgid "SSL certificate validation"
-msgstr "Validazione del certificato SSL"
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Repository version (dev)"
+msgstr "Versione del repository (dev)"
-#: ../../Zotlabs/Module/Setup.php:659
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "Non esistono restrizioni su questa classe di account."
-#: ../../Zotlabs/Module/Setup.php:662
-msgid "Url rewrite is working"
-msgstr "Url rewrite funziona correttamente"
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr "Sito web:"
-#: ../../Zotlabs/Module/Setup.php:671
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
-#: ../../Zotlabs/Module/Setup.php:695
-msgid "Errors encountered creating database tables."
-msgstr "La creazione delle tabelle del database ha generato errori."
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr "Valutazione (visibile a tutti)"
-#: ../../Zotlabs/Module/Setup.php:732
-msgid "<h1>What next</h1>"
-msgstr "<h1>I prossimi passi</h1>"
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
-#: ../../Zotlabs/Module/Setup.php:733
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
+#: ../../Zotlabs/Module/Card_edit.php:128
+msgid "Edit Card"
+msgstr ""
#: ../../Zotlabs/Module/Lostpass.php:19
msgid "No valid account found."
@@ -4156,3887 +7524,4052 @@ msgstr "Nessun account valido trovato."
msgid "Password reset request issued. Check your email."
msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108
#, php-format
msgid "Site Member (%s)"
msgstr "Utente del sito (%s)"
-#: ../../Zotlabs/Module/Lostpass.php:44
+#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49
#, php-format
msgid "Password reset requested at %s"
msgstr "È stato richiesto di reimpostare password su %s"
-#: ../../Zotlabs/Module/Lostpass.php:67
+#: ../../Zotlabs/Module/Lostpass.php:68
msgid ""
"Request could not be verified. (You may have previously submitted it.) "
"Password reset failed."
msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1747
+#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1591
msgid "Password Reset"
msgstr "Reimposta la password"
-#: ../../Zotlabs/Module/Lostpass.php:91
+#: ../../Zotlabs/Module/Lostpass.php:92
msgid "Your password has been reset as requested."
msgstr "La password è stata reimpostata come richiesto."
-#: ../../Zotlabs/Module/Lostpass.php:92
+#: ../../Zotlabs/Module/Lostpass.php:93
msgid "Your new password is"
msgstr "La tua nuova password è"
-#: ../../Zotlabs/Module/Lostpass.php:93
+#: ../../Zotlabs/Module/Lostpass.php:94
msgid "Save or copy your new password - and then"
msgstr "Salva o copia la tua nuova password, quindi"
-#: ../../Zotlabs/Module/Lostpass.php:94
+#: ../../Zotlabs/Module/Lostpass.php:95
msgid "click here to login"
msgstr "clicca qui per accedere"
-#: ../../Zotlabs/Module/Lostpass.php:95
+#: ../../Zotlabs/Module/Lostpass.php:96
msgid ""
"Your password may be changed from the <em>Settings</em> page after "
"successful login."
msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
-#: ../../Zotlabs/Module/Lostpass.php:112
+#: ../../Zotlabs/Module/Lostpass.php:117
#, php-format
msgid "Your password has changed at %s"
msgstr "La tua password su %s è cambiata"
-#: ../../Zotlabs/Module/Lostpass.php:127
+#: ../../Zotlabs/Module/Lostpass.php:130
msgid "Forgot your Password?"
msgstr "Hai dimenticato la password?"
-#: ../../Zotlabs/Module/Lostpass.php:128
+#: ../../Zotlabs/Module/Lostpass.php:131
msgid ""
"Enter your email address and submit to have your password reset. Then check "
"your email for further instructions."
msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
-#: ../../Zotlabs/Module/Lostpass.php:129
+#: ../../Zotlabs/Module/Lostpass.php:132
msgid "Email Address"
msgstr "Indirizzo email"
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr "Reimposta"
+#: ../../Zotlabs/Module/Notifications.php:62
+#: ../../Zotlabs/Lib/ThreadItem.php:408
+msgid "Mark all seen"
+msgstr "Marca tutto come letto"
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s è %2$s"
+#: ../../Zotlabs/Lib/Techlevels.php:10
+msgid "0. Beginner/Basic"
+msgstr ""
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
-msgid "Mood"
-msgstr "Umore"
+#: ../../Zotlabs/Lib/Techlevels.php:11
+msgid "1. Novice - not skilled but willing to learn"
+msgstr ""
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
-msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
+#: ../../Zotlabs/Lib/Techlevels.php:12
+msgid "2. Intermediate - somewhat comfortable"
+msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:35
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."
+#: ../../Zotlabs/Lib/Techlevels.php:13
+msgid "3. Advanced - very comfortable"
+msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:60
-msgid "Remove This Channel"
-msgstr "Elimina questo canale"
+#: ../../Zotlabs/Lib/Techlevels.php:14
+msgid "4. Expert - I can write computer code"
+msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Removeaccount.php:58
-msgid "WARNING: "
-msgstr "ATTENZIONE:"
+#: ../../Zotlabs/Lib/Techlevels.php:15
+msgid "5. Wizard - I probably know more than you do"
+msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This channel will be completely removed from the network. "
-msgstr "Questo canale sarà completamente eliminato dalla rete."
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Site Admin"
+msgstr "Amministrazione sito"
-#: ../../Zotlabs/Module/Removeme.php:61
-#: ../../Zotlabs/Module/Removeaccount.php:58
-msgid "This action is permanent and can not be undone!"
-msgstr "Questo comando è definitivo e non può essere annullato!"
+#: ../../Zotlabs/Lib/Apps.php:232 ../../addon/buglink/buglink.php:16
+msgid "Report Bug"
+msgstr "Segnala il bug"
-#: ../../Zotlabs/Module/Removeme.php:62
-#: ../../Zotlabs/Module/Removeaccount.php:59
-msgid "Please enter your password for verification:"
-msgstr "Inserisci la tua password per verifica:"
+#: ../../Zotlabs/Lib/Apps.php:233
+msgid "View Bookmarks"
+msgstr "Vedi i segnalibri"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid "Remove this channel and all its clones from the network"
-msgstr "Elimina questo canale e tutti i suoi cloni dalla rete"
+#: ../../Zotlabs/Lib/Apps.php:234
+msgid "My Chatrooms"
+msgstr "Le mie aree chat"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
+#: ../../Zotlabs/Lib/Apps.php:236
+msgid "Firefox Share"
+msgstr "Firefox Share"
-#: ../../Zotlabs/Module/Removeme.php:64
-#: ../../Zotlabs/Module/Settings/Channel.php:544
-msgid "Remove Channel"
-msgstr "Elimina questo canale"
+#: ../../Zotlabs/Lib/Apps.php:237
+msgid "Remote Diagnostics"
+msgstr "Diagnostica remota"
-#: ../../Zotlabs/Module/Notify.php:57
-#: ../../Zotlabs/Module/Notifications.php:98
-msgid "No more system notifications."
-msgstr "Non ci sono nuove notifiche di sistema."
+#: ../../Zotlabs/Lib/Apps.php:238 ../../include/features.php:390
+msgid "Suggest Channels"
+msgstr "Suggerisci canali"
-#: ../../Zotlabs/Module/Notify.php:61
-#: ../../Zotlabs/Module/Notifications.php:102
-msgid "System Notifications"
-msgstr "Notifiche di sistema"
+#: ../../Zotlabs/Lib/Apps.php:239 ../../boot.php:1582
+#: ../../include/nav.php:126 ../../include/nav.php:130
+msgid "Login"
+msgstr "Accedi"
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr "Profili corrispondenti"
+#: ../../Zotlabs/Lib/Apps.php:241
+msgid "Activity"
+msgstr "Attività"
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."
+#: ../../Zotlabs/Lib/Apps.php:245 ../../include/conversation.php:1928
+#: ../../include/features.php:87 ../../include/nav.php:497
+msgid "Wiki"
+msgstr "Wiki"
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr "interessi personali:"
+#: ../../Zotlabs/Lib/Apps.php:246
+msgid "Channel Home"
+msgstr "Bacheca del canale"
-#: ../../Zotlabs/Module/Match.php:68 ../../Zotlabs/Module/Suggest.php:56
-#: ../../Zotlabs/Module/Directory.php:325 ../../include/channel.php:1034
-#: ../../include/connections.php:78 ../../include/conversation.php:955
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
-msgid "Connect"
-msgstr "Aggiungi"
+#: ../../Zotlabs/Lib/Apps.php:249 ../../include/conversation.php:1850
+#: ../../include/conversation.php:1853
+msgid "Events"
+msgstr "Eventi"
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr "Nessun risultato"
+#: ../../Zotlabs/Lib/Apps.php:250
+msgid "Directory"
+msgstr "Elenchi pubblici dei canali"
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Questo non è un directory server"
+#: ../../Zotlabs/Lib/Apps.php:252
+msgid "Mail"
+msgstr "Messaggi"
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "Questo directory server necessita di un token di autenticazione"
+#: ../../Zotlabs/Lib/Apps.php:255
+msgid "Chat"
+msgstr "Chat"
-#: ../../Zotlabs/Module/Magic.php:71
-msgid "Hub not found."
-msgstr "Hub non trovato."
+#: ../../Zotlabs/Lib/Apps.php:257
+msgid "Probe"
+msgstr "Diagnostica"
-#: ../../Zotlabs/Module/Photos.php:82
-msgid "Page owner information could not be retrieved."
-msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
+#: ../../Zotlabs/Lib/Apps.php:258
+msgid "Suggest"
+msgstr "Suggerisci"
-#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:734
-#: ../../Zotlabs/Module/Profile_photo.php:115
-#: ../../Zotlabs/Module/Profile_photo.php:212
-#: ../../Zotlabs/Module/Profile_photo.php:311
-#: ../../include/photo/photo_driver.php:728
-msgid "Profile Photos"
-msgstr "Foto del profilo"
+#: ../../Zotlabs/Lib/Apps.php:259
+msgid "Random Channel"
+msgstr "Canale casuale"
-#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129
-msgid "Album not found."
-msgstr "Album non trovato."
+#: ../../Zotlabs/Lib/Apps.php:260
+msgid "Invite"
+msgstr "Invita"
-#: ../../Zotlabs/Module/Photos.php:112
-msgid "Delete Album"
-msgstr "Elimina album"
+#: ../../Zotlabs/Lib/Apps.php:261 ../../Zotlabs/Widget/Admin.php:26
+msgid "Features"
+msgstr "Funzionalità"
-#: ../../Zotlabs/Module/Photos.php:133
-msgid ""
-"Multiple storage folders exist with this album name, but within different "
-"directories. Please remove the desired folder or folders using the Files "
-"manager"
-msgstr "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore effettua la rimozione andando nell'Archivio file "
+#: ../../Zotlabs/Lib/Apps.php:262 ../../addon/openid/MysqlProvider.php:69
+msgid "Language"
+msgstr "Lingua"
-#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1059
-msgid "Delete Photo"
-msgstr "Elimina foto"
+#: ../../Zotlabs/Lib/Apps.php:263
+msgid "Post"
+msgstr "Post"
-#: ../../Zotlabs/Module/Photos.php:509 ../../Zotlabs/Module/Display.php:17
-#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:23
-#: ../../Zotlabs/Module/Directory.php:63
-msgid "Public access denied."
-msgstr "Accesso pubblico negato."
+#: ../../Zotlabs/Lib/Apps.php:264 ../../addon/openid/MysqlProvider.php:58
+#: ../../addon/openid/MysqlProvider.php:59
+#: ../../addon/openid/MysqlProvider.php:60
+msgid "Profile Photo"
+msgstr "Foto del profilo"
-#: ../../Zotlabs/Module/Photos.php:520
-msgid "No photos selected"
-msgstr "Nessuna foto selezionata"
+#: ../../Zotlabs/Lib/Apps.php:407
+msgid "Purchase"
+msgstr "Acquista"
-#: ../../Zotlabs/Module/Photos.php:569
-msgid "Access to this item is restricted."
-msgstr "Questo elemento non è visibile a tutti."
+#: ../../Zotlabs/Lib/Apps.php:411
+msgid "Undelete"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:608
-#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile."
+#: ../../Zotlabs/Lib/Apps.php:419
+msgid "Add to app-tray"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:611
-#, php-format
-msgid "%1$.2f MB photo storage used."
-msgstr "Hai usato %1$.2f Mb del tuo spazio disponibile."
+#: ../../Zotlabs/Lib/Apps.php:420
+msgid "Remove from app-tray"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:647
-msgid "Upload Photos"
-msgstr "Carica foto"
+#: ../../Zotlabs/Lib/Apps.php:421
+msgid "Pin to navbar"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:651
-msgid "Enter an album name"
-msgstr "Scegli il nome dell'album"
+#: ../../Zotlabs/Lib/Apps.php:422
+msgid "Unpin from navbar"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:652
-msgid "or select an existing album (doubleclick)"
-msgstr "o seleziona un album esistente (doppio click)"
+#: ../../Zotlabs/Lib/Permcat.php:82
+msgctxt "permcat"
+msgid "default"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:653
-msgid "Create a status post for this upload"
-msgstr "Pubblica sulla bacheca"
+#: ../../Zotlabs/Lib/Permcat.php:133
+msgctxt "permcat"
+msgid "follower"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:654
-msgid "Caption (optional):"
-msgstr "Titolo (facoltativo):"
+#: ../../Zotlabs/Lib/Permcat.php:137
+msgctxt "permcat"
+msgid "contributor"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:655
-msgid "Description (optional):"
-msgstr "Descrizione (facoltativa):"
+#: ../../Zotlabs/Lib/Permcat.php:141
+msgctxt "permcat"
+msgid "publisher"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:686
-msgid "Album name could not be decoded"
-msgstr "Non è stato possibile leggere il nome dell'album"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:42
+#: ../../Zotlabs/Lib/NativeWikiPage.php:93
+msgid "(No Title)"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:734
-msgid "Contact Photos"
-msgstr "Foto dei contatti"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:107
+msgid "Wiki page create failed."
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:757
-msgid "Show Newest First"
-msgstr "Prima i più recenti"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:120
+msgid "Wiki not found."
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:759
-msgid "Show Oldest First"
-msgstr "Prima i più vecchi"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:131
+msgid "Destination name already exists"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:783 ../../Zotlabs/Module/Photos.php:1337
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1677
-msgid "View Photo"
-msgstr "Guarda la foto"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:163
+#: ../../Zotlabs/Lib/NativeWikiPage.php:359
+msgid "Page not found"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:814
-#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1694
-msgid "Edit Album"
-msgstr "Modifica album"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:194
+msgid "Error reading page content"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:861
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
+#: ../../Zotlabs/Lib/NativeWikiPage.php:350
+#: ../../Zotlabs/Lib/NativeWikiPage.php:400
+#: ../../Zotlabs/Lib/NativeWikiPage.php:467
+#: ../../Zotlabs/Lib/NativeWikiPage.php:508
+msgid "Error reading wiki"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:863
-msgid "Photo not available"
-msgstr "Foto non disponibile"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:388
+msgid "Page update failed."
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:921
-msgid "Use as profile photo"
-msgstr "Usa come foto del profilo"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:422
+msgid "Nothing deleted"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:922
-msgid "Use as cover photo"
-msgstr "Usa come copertina del canale"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:488
+msgid "Compare: object not found."
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:929
-msgid "Private Photo"
-msgstr "Foto privata"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:494
+msgid "Page updated"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:940 ../../Zotlabs/Module/Cal.php:332
-#: ../../Zotlabs/Module/Cal.php:339 ../../Zotlabs/Module/Events.php:675
-#: ../../Zotlabs/Module/Events.php:684
-msgid "Previous"
-msgstr "Precendente"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:497
+msgid "Untitled"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:944
-msgid "View Full Size"
-msgstr "Vedi nelle dimensioni originali"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:503
+msgid "Wiki resource_id required for git commit"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1033
-msgid "Edit photo"
-msgstr "Modifica la foto"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:559
+#: ../../Zotlabs/Widget/Wiki_page_history.php:23
+msgctxt "wiki_history"
+msgid "Message"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1035
-msgid "Rotate CW (right)"
-msgstr "Ruota (senso orario)"
+#: ../../Zotlabs/Lib/NativeWikiPage.php:597
+#: ../../addon/gitwiki/gitwiki_backend.php:579 ../../include/bbcode.php:706
+#: ../../include/bbcode.php:865
+msgid "Different viewers will see this text differently"
+msgstr "Ad altri questo testo potrebbe apparire in modo differente"
-#: ../../Zotlabs/Module/Photos.php:1036
-msgid "Rotate CCW (left)"
-msgstr "Ruota (senso antiorario)"
+#: ../../Zotlabs/Lib/PermissionDescription.php:34
+#: ../../include/acl_selectors.php:33
+msgid "Visible to your default audience"
+msgstr "Visibile secondo le impostazioni predefinite"
-#: ../../Zotlabs/Module/Photos.php:1039
-msgid "Move photo to album"
-msgstr "Sposta la foto in un album"
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+#: ../../include/acl_selectors.php:106
+msgid "Only me"
+msgstr "Solo io"
-#: ../../Zotlabs/Module/Photos.php:1040
-msgid "Enter a new album name"
-msgstr "Inserisci il nome del nuovo album"
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Public"
+msgstr "Pubblico"
-#: ../../Zotlabs/Module/Photos.php:1041
-msgid "or select an existing one (doubleclick)"
-msgstr "o seleziona uno esistente (doppio click)"
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
+msgid "Anybody in the $Projectname network"
+msgstr "Tutti sulla rete $Projectname"
-#: ../../Zotlabs/Module/Photos.php:1044
-msgid "Caption"
-msgstr "Didascalia"
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+#, php-format
+msgid "Any account on %s"
+msgstr "Tutti gli account su %s"
-#: ../../Zotlabs/Module/Photos.php:1046
-msgid "Add a Tag"
-msgstr "Aggiungi tag"
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Any of my connections"
+msgstr "Chiunque tra i miei contatti"
-#: ../../Zotlabs/Module/Photos.php:1054
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
-msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com"
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Only connections I specifically allow"
+msgstr "Solo chi riceve il mio permesso"
-#: ../../Zotlabs/Module/Photos.php:1057
-msgid "Flag as adult in album view"
-msgstr "Marca come 'per adulti'"
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Chiunque sia autenticato (inclusi visitatori di altre reti)"
-#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:268
-msgid "I like this (toggle)"
-msgstr "Attiva/disattiva Mi piace"
+#: ../../Zotlabs/Lib/PermissionDescription.php:114
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Tutti i contatti inclusi quelli non ancora approvati"
-#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:269
-msgid "I don't like this (toggle)"
-msgstr "Attiva/disattiva Non mi piace"
+#: ../../Zotlabs/Lib/PermissionDescription.php:150
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Impostazione predefinita di chi può vedere ciò che pubblichi in bacheca"
-#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Blocks.php:161
-#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:241
-#: ../../include/conversation.php:1232
-msgid "Share"
-msgstr "Condividi"
+#: ../../Zotlabs/Lib/PermissionDescription.php:151
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Impostazione predefinita di chi può vedere il profilo standard del tuo canale"
-#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:405
-#: ../../include/conversation.php:741
-msgid "Please wait"
-msgstr "Attendere"
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid "This is your default setting for who can view your connections"
+msgstr "Impostazione predefinita di chi può vedere i tuoi contatti/amici"
-#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
-#: ../../Zotlabs/Lib/ThreadItem.php:722
-msgid "This is you"
-msgstr "Questo sei tu"
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Impostazione predefinita di chi può vedere le foto e il tuo archivio file"
-#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
-#: ../../Zotlabs/Lib/ThreadItem.php:724 ../../include/js_strings.php:6
-msgid "Comment"
-msgstr "Commento"
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Impostazione predefinita di chi può vedere le tue pagine web"
-#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Module/Webpages.php:247
-#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Lib/ThreadItem.php:734
-#: ../../include/page_widgets.php:43 ../../include/conversation.php:1201
-msgid "Preview"
-msgstr "Anteprima"
+#: ../../Zotlabs/Lib/Chatroom.php:23
+msgid "Missing room name"
+msgstr "Chat senza nome"
-#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Likes"
-msgstr "Mi piace"
+#: ../../Zotlabs/Lib/Chatroom.php:32
+msgid "Duplicate room name"
+msgstr "Il nome della chat è duplicato"
-#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Dislikes"
-msgstr "Non mi piace"
+#: ../../Zotlabs/Lib/Chatroom.php:82 ../../Zotlabs/Lib/Chatroom.php:90
+msgid "Invalid room specifier."
+msgstr "Il nome della chat non è valido."
-#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Agree"
-msgstr "D'accordo"
+#: ../../Zotlabs/Lib/Chatroom.php:122
+msgid "Room not found."
+msgstr "Chat non trovata."
-#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Disagree"
-msgstr "Non d'accordo"
+#: ../../Zotlabs/Lib/Chatroom.php:143
+msgid "Room is full"
+msgstr "La chat è al completo"
-#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Abstain"
-msgstr "Astenuti"
+#: ../../Zotlabs/Lib/Enotify.php:60
+msgid "$Projectname Notification"
+msgstr "Notifica $Projectname"
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Attending"
-msgstr "Partecipano"
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../addon/diaspora/util.php:308
+#: ../../addon/diaspora/util.php:321 ../../addon/diaspora/p.php:48
+msgid "$projectname"
+msgstr "$projectname"
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Not attending"
-msgstr "Non partecipano"
+#: ../../Zotlabs/Lib/Enotify.php:63
+msgid "Thank You,"
+msgstr "Grazie,"
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Might attend"
-msgstr "Forse partecipano"
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../addon/hubwall/hubwall.php:33
+#, php-format
+msgid "%s Administrator"
+msgstr "L'amministratore di %s"
-#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
-#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198
-#: ../../include/conversation.php:1763
-msgid "View all"
-msgstr "Vedi tutto"
+#: ../../Zotlabs/Lib/Enotify.php:66
+#, php-format
+msgid "This email was sent by %1$s at %2$s."
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:190
-#: ../../include/channel.php:1182 ../../include/conversation.php:1787
-#: ../../include/taxonomy.php:403
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Mi piace"
-msgstr[1] "Mi piace"
+#: ../../Zotlabs/Lib/Enotify.php:67
+#, php-format
+msgid ""
+"To stop receiving these messages, please adjust your Notification Settings "
+"at %s"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:195
-#: ../../include/conversation.php:1790
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Non mi piace"
-msgstr[1] "Non mi piace"
+#: ../../Zotlabs/Lib/Enotify.php:68
+#, php-format
+msgid "To stop receiving these messages, please adjust your %s."
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1241
-msgid "Photo Tools"
-msgstr "Gestione foto"
+#: ../../Zotlabs/Lib/Enotify.php:120
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../Zotlabs/Module/Photos.php:1250
-msgid "In This Photo:"
-msgstr "In questa foto:"
+#: ../../Zotlabs/Lib/Enotify.php:124
+#, php-format
+msgid "[$Projectname:Notify] New mail received at %s"
+msgstr "[$Projectname:Notifica] Nuovo messaggio su %s"
-#: ../../Zotlabs/Module/Photos.php:1255
-msgid "Map"
-msgstr "Mappa"
+#: ../../Zotlabs/Lib/Enotify.php:126
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s ti ha mandato un messaggio privato su %3$s."
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:394
-msgctxt "noun"
-msgid "Likes"
-msgstr "Mi piace"
+#: ../../Zotlabs/Lib/Enotify.php:127
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s ti ha mandato %2$s."
-#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:395
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Non mi piace"
+#: ../../Zotlabs/Lib/Enotify.php:127
+msgid "a private message"
+msgstr "un messaggio privato"
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:400
-#: ../../include/acl_selectors.php:181
-msgid "Close"
-msgstr "Chiudi"
+#: ../../Zotlabs/Lib/Enotify.php:128
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
-#: ../../Zotlabs/Module/Photos.php:1343
-msgid "View Album"
-msgstr "Guarda l'album"
+#: ../../Zotlabs/Lib/Enotify.php:141
+msgid "commented on"
+msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
-#: ../../Zotlabs/Module/Photos.php:1368
-msgid "Recent Photos"
-msgstr "Foto recenti"
+#: ../../Zotlabs/Lib/Enotify.php:152
+msgid "liked"
+msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:134
-#: ../../Zotlabs/Module/Register.php:237
-msgid "Name or caption"
-msgstr "Nome o titolo"
+#: ../../Zotlabs/Lib/Enotify.php:155
+msgid "disliked"
+msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:134
-#: ../../Zotlabs/Module/Register.php:237
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
-msgstr "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\""
+#: ../../Zotlabs/Lib/Enotify.php:198
+#, php-format
+msgid "%1$s, %2$s %3$s [zrl=%4$s]a %5$s[/zrl]"
+msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:136
-#: ../../Zotlabs/Module/Register.php:239
-msgid "Choose a short nickname"
-msgstr "Scegli un nome breve"
+#: ../../Zotlabs/Lib/Enotify.php:207
+#, php-format
+msgid "%1$s, %2$s %3$s [zrl=%4$s]%5$s's %6$s[/zrl]"
+msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:136
-#: ../../Zotlabs/Module/Register.php:239
+#: ../../Zotlabs/Lib/Enotify.php:217
#, php-format
-msgid ""
-"Your nickname will be used to create an easy to remember channel address "
-"e.g. nickname%s"
-msgstr "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale, per esempio nickname%s"
+msgid "%1$s, %2$s %3$s [zrl=%4$s]your %5$s[/zrl]"
+msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:240
-msgid "Channel role and privacy"
-msgstr "Tipo di canale e privacy"
+#: ../../Zotlabs/Lib/Enotify.php:230
+#, php-format
+msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s"
+msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:240
-msgid "Select a channel role with your privacy requirements."
-msgstr "Scegli il tipo di canale che vuoi e la privacy da applicare."
+#: ../../Zotlabs/Lib/Enotify.php:232
+#, php-format
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notifica] Nuovo commento di %2$s alla conversazione #%1$d"
-#: ../../Zotlabs/Module/New_channel.php:137
-#: ../../Zotlabs/Module/Register.php:240
-msgid "Read more about roles"
-msgstr "Maggiori informazioni sui ruoli"
+#: ../../Zotlabs/Lib/Enotify.php:233
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s ha commentato un elemento che stavi seguendo."
-#: ../../Zotlabs/Module/New_channel.php:140
-msgid "Create Channel"
-msgstr "Crea un canale"
+#: ../../Zotlabs/Lib/Enotify.php:236 ../../Zotlabs/Lib/Enotify.php:318
+#: ../../Zotlabs/Lib/Enotify.php:335 ../../Zotlabs/Lib/Enotify.php:361
+#: ../../Zotlabs/Lib/Enotify.php:379 ../../Zotlabs/Lib/Enotify.php:393
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Visita %s per leggere o commentare la conversazione."
-#: ../../Zotlabs/Module/New_channel.php:141
-msgid ""
-"A channel is your identity on this network. It can represent a person, a "
-"blog, or a forum to name a few. Channels can make connections with other "
-"channels to share information with highly detailed permissions."
-msgstr "Un canale è la tua identità su questa rete. Può rappresentare una persona, un blog o un forum, per esempio. Il tuo canale può essere in contatto con altri canali per condividere contenuti con permessi anche molto dettagliati."
+#: ../../Zotlabs/Lib/Enotify.php:240 ../../Zotlabs/Lib/Enotify.php:241
+#, php-format
+msgid "Please visit %s to approve or reject this comment."
+msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:142
-msgid ""
-"or <a href=\"import\">import an existing channel</a> from another location."
-msgstr "oppure <a href=\"import\">importa un canale esistente</a> da un altro server/hub."
+#: ../../Zotlabs/Lib/Enotify.php:299
+#, php-format
+msgid "%1$s, %2$s liked [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s ma messo un mi piace al [zrl=%3$s]tuo %4$s[/zrl]"
-#: ../../Zotlabs/Module/Ping.php:265
-msgid "sent you a private message"
-msgstr "ti ha inviato un messaggio privato"
+#: ../../Zotlabs/Lib/Enotify.php:314
+#, php-format
+msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notify] Ricevuto un mi piace alla conversazione #%1$d di %2$s"
-#: ../../Zotlabs/Module/Ping.php:313
-msgid "added your channel"
-msgstr "ha aggiunto il tuo canale"
+#: ../../Zotlabs/Lib/Enotify.php:315
+#, php-format
+msgid "%1$s, %2$s liked an item/conversation you created."
+msgstr "%1$s, %2$s ha messo un mi piace all'elemento/conversazione che hai creato"
-#: ../../Zotlabs/Module/Ping.php:323
-msgid "g A l F d"
-msgstr "g A l d F"
+#: ../../Zotlabs/Lib/Enotify.php:326
+#, php-format
+msgid "[$Projectname:Notify] %s posted to your profile wall"
+msgstr "[$Projectname:Notifica] %s ha scritto sulla tua bacheca"
-#: ../../Zotlabs/Module/Ping.php:346
-msgid "[today]"
-msgstr "[oggi]"
+#: ../../Zotlabs/Lib/Enotify.php:328
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s ha scritto sulla bacheca del tuo profilo su %3$s"
-#: ../../Zotlabs/Module/Ping.php:355
-msgid "posted an event"
-msgstr "ha creato un evento"
+#: ../../Zotlabs/Lib/Enotify.php:330
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
-#: ../../Zotlabs/Module/Notifications.php:30
-msgid "Invalid request identifier."
-msgstr "L'identificativo della richiesta non è valido."
+#: ../../Zotlabs/Lib/Enotify.php:354
+#, php-format
+msgid "[$Projectname:Notify] %s tagged you"
+msgstr "[$Projectname:Notifica] %s ti ha taggato"
-#: ../../Zotlabs/Module/Notifications.php:39
-msgid "Discard"
-msgstr "Rifiuta"
+#: ../../Zotlabs/Lib/Enotify.php:355
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s ti ha taggato su %3$s"
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:196
-msgid "Mark all system notifications seen"
-msgstr "Segna come lette le notifiche di sistema"
+#: ../../Zotlabs/Lib/Enotify.php:356
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
-#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
-#: ../../include/conversation.php:959
-msgid "Poke"
-msgstr "Poke"
+#: ../../Zotlabs/Lib/Enotify.php:368
+#, php-format
+msgid "[$Projectname:Notify] %1$s poked you"
+msgstr "[$Projectname:Notifica] %1$s ti ha mandato un poke"
-#: ../../Zotlabs/Module/Poke.php:169
-msgid "Poke somebody"
-msgstr "Manda un poke"
+#: ../../Zotlabs/Lib/Enotify.php:369
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s ti ha mandato un poke su %3$s"
-#: ../../Zotlabs/Module/Poke.php:172
-msgid "Poke/Prod"
-msgstr "Poke/Prod"
+#: ../../Zotlabs/Lib/Enotify.php:370
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
-#: ../../Zotlabs/Module/Poke.php:173
-msgid "Poke, prod or do other things to somebody"
-msgstr "Manda un poke o altro a qualcuno"
+#: ../../Zotlabs/Lib/Enotify.php:386
+#, php-format
+msgid "[$Projectname:Notify] %s tagged your post"
+msgstr "[$Projectname:Notifica] %s ha taggato il tuo post"
-#: ../../Zotlabs/Module/Poke.php:180
-msgid "Recipient"
-msgstr "Destinatario"
+#: ../../Zotlabs/Lib/Enotify.php:387
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
-#: ../../Zotlabs/Module/Poke.php:181
-msgid "Choose what you wish to do to recipient"
-msgstr "Scegli cosa vuoi inviare al destinatario"
+#: ../../Zotlabs/Lib/Enotify.php:388
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
-#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
-msgid "Make this post private"
-msgstr "Rendi privato questo post"
+#: ../../Zotlabs/Lib/Enotify.php:400
+msgid "[$Projectname:Notify] Introduction received"
+msgstr "[$Projectname:Notifica] Hai una richiesta di amicizia"
-#: ../../Zotlabs/Module/Apps.php:46 ../../include/nav.php:168
-#: ../../include/widgets.php:102
-msgid "Apps"
-msgstr "App"
+#: ../../Zotlabs/Lib/Enotify.php:401
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, hai ricevuto una richiesta di entrare in contatto da '%2$s' su %3$s"
-#: ../../Zotlabs/Module/Oexchange.php:27
-msgid "Unable to find your hub."
-msgstr "Impossibile raggiungere il tuo hub."
+#: ../../Zotlabs/Lib/Enotify.php:402
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, hai ricevuto una [zrl=%2$s]richiesta di entrare in contatto[/zrl] da %3$s."
-#: ../../Zotlabs/Module/Oexchange.php:41
-msgid "Post successful."
-msgstr "Inviato!"
+#: ../../Zotlabs/Lib/Enotify.php:406 ../../Zotlabs/Lib/Enotify.php:425
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Puoi visitare il suo profilo su %s"
-#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
-msgid "Invalid profile identifier."
-msgstr "Indentificativo del profilo non valido."
+#: ../../Zotlabs/Lib/Enotify.php:408
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto."
-#: ../../Zotlabs/Module/Profperm.php:115
-msgid "Profile Visibility Editor"
-msgstr "Modifica la visibilità del profilo"
+#: ../../Zotlabs/Lib/Enotify.php:415
+msgid "[$Projectname:Notify] Friend suggestion received"
+msgstr "[$Projectname:Notifica] Ti è stato suggerito un amico"
-#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1274
-msgid "Profile"
-msgstr "Profilo"
+#: ../../Zotlabs/Lib/Enotify.php:416
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, ti è stato suggerito un amico da '%2$s' su %3$s"
-#: ../../Zotlabs/Module/Profperm.php:119
-msgid "Click on a contact to add or remove."
-msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
+#: ../../Zotlabs/Lib/Enotify.php:417
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, %4$s ti [zrl=%2$s]ha suggerito %3$s[/zrl] come amico."
-#: ../../Zotlabs/Module/Profperm.php:128
-msgid "Visible To"
-msgstr "Visibile a"
+#: ../../Zotlabs/Lib/Enotify.php:423
+msgid "Name:"
+msgstr "Nome:"
-#: ../../Zotlabs/Module/Pconfig.php:26 ../../Zotlabs/Module/Pconfig.php:59
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali"
+#: ../../Zotlabs/Lib/Enotify.php:424
+msgid "Photo:"
+msgstr "Foto:"
-#: ../../Zotlabs/Module/Pconfig.php:48
-msgid "Configuration Editor"
-msgstr "Editor di configurazione"
+#: ../../Zotlabs/Lib/Enotify.php:427
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Visita %s per approvare o rifiutare il suggerimento."
-#: ../../Zotlabs/Module/Pconfig.php:49
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
+#: ../../Zotlabs/Lib/Enotify.php:647
+msgid "[$Projectname:Notify]"
+msgstr "[$Projectname:Notifica]"
-#: ../../Zotlabs/Module/Siteinfo.php:19
+#: ../../Zotlabs/Lib/Enotify.php:815
+msgid "created a new post"
+msgstr "Ha creato un nuovo post"
+
+#: ../../Zotlabs/Lib/Enotify.php:816
#, php-format
-msgid "Version %s"
-msgstr "Versione %s"
+msgid "commented on %s's post"
+msgstr "ha commentato il post di %s"
-#: ../../Zotlabs/Module/Siteinfo.php:34
-msgid "Installed plugins/addons/apps:"
-msgstr "App e componenti installati:"
+#: ../../Zotlabs/Lib/Enotify.php:823
+#, php-format
+msgid "edited a post dated %s"
+msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:36
-msgid "No installed plugins/addons/apps"
-msgstr "Nessuna app o componente installato"
+#: ../../Zotlabs/Lib/Enotify.php:827
+#, php-format
+msgid "edited a comment dated %s"
+msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:49
-msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Questo è un hub di $Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
+#: ../../Zotlabs/Lib/NativeWiki.php:151
+msgid "Wiki updated successfully"
+msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:51
-msgid "Tag: "
-msgstr "Tag: "
+#: ../../Zotlabs/Lib/NativeWiki.php:198
+msgid "Wiki files deleted successfully"
+msgstr ""
-#: ../../Zotlabs/Module/Siteinfo.php:53
-msgid "Last background fetch: "
-msgstr "Ultima acquisizione:"
+#: ../../Zotlabs/Lib/DB_Upgrade.php:83
+#, php-format
+msgid "Update Error at %s"
+msgstr "Errore di aggiornamento su %s"
-#: ../../Zotlabs/Module/Siteinfo.php:55
-msgid "Current load average: "
-msgstr "Carico medio attuale:"
+#: ../../Zotlabs/Lib/DB_Upgrade.php:89
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr "%s: aggiornamento fallito. Controlla i log di errore."
-#: ../../Zotlabs/Module/Siteinfo.php:58
-msgid "Running at web location"
-msgstr "In esecuzione sull'indirizzo web"
+#: ../../Zotlabs/Lib/ThreadItem.php:97 ../../include/conversation.php:697
+msgid "Private Message"
+msgstr "Messaggio privato"
-#: ../../Zotlabs/Module/Siteinfo.php:59
-msgid ""
-"Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more "
-"about $Projectname."
-msgstr "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per maggiori informazioni su $Projectname."
+#: ../../Zotlabs/Lib/ThreadItem.php:147 ../../include/conversation.php:689
+msgid "Select"
+msgstr "Scegli"
-#: ../../Zotlabs/Module/Siteinfo.php:60
-msgid "Bug reports and issues: please visit"
-msgstr "Per segnalare bug e problemi: visita"
+#: ../../Zotlabs/Lib/ThreadItem.php:172
+msgid "I will attend"
+msgstr "Parteciperò"
-#: ../../Zotlabs/Module/Siteinfo.php:62
-msgid "$projectname issues"
-msgstr "Problematiche note su $projectname"
+#: ../../Zotlabs/Lib/ThreadItem.php:172
+msgid "I will not attend"
+msgstr "Non parteciperò"
-#: ../../Zotlabs/Module/Siteinfo.php:63
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"
+#: ../../Zotlabs/Lib/ThreadItem.php:172
+msgid "I might attend"
+msgstr "Forse parteciperò"
-#: ../../Zotlabs/Module/Siteinfo.php:65
-msgid "Site Administrators"
-msgstr "Amministratori del sito"
+#: ../../Zotlabs/Lib/ThreadItem.php:182
+msgid "I agree"
+msgstr "Sono d'accordo"
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2308
-msgid "Blocks"
-msgstr "Block"
+#: ../../Zotlabs/Lib/ThreadItem.php:182
+msgid "I disagree"
+msgstr "Non sono d'accordo"
-#: ../../Zotlabs/Module/Blocks.php:156
-msgid "Block Title"
-msgstr "Titolo del block"
+#: ../../Zotlabs/Lib/ThreadItem.php:182
+msgid "I abstain"
+msgstr "Mi astengo"
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2310
-msgid "Layouts"
-msgstr "Layout"
+#: ../../Zotlabs/Lib/ThreadItem.php:238
+msgid "Add Star"
+msgstr "Aggiungi ai preferiti"
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
-#: ../../include/help.php:47 ../../include/help.php:52
-#: ../../include/nav.php:164
-msgid "Help"
-msgstr "Guida"
+#: ../../Zotlabs/Lib/ThreadItem.php:239
+msgid "Remove Star"
+msgstr "Rimuovi dai preferiti"
-#: ../../Zotlabs/Module/Layouts.php:185
-msgid "Comanche page description language help"
-msgstr "Guida di Comanche Page Description Language"
+#: ../../Zotlabs/Lib/ThreadItem.php:240
+msgid "Toggle Star Status"
+msgstr "Attiva/disattiva preferito"
-#: ../../Zotlabs/Module/Layouts.php:189
-msgid "Layout Description"
-msgstr "Descrizione del layout"
+#: ../../Zotlabs/Lib/ThreadItem.php:244
+msgid "starred"
+msgstr "preferito"
-#: ../../Zotlabs/Module/Layouts.php:194
-msgid "Download PDL file"
-msgstr "Scarica il file PDL"
+#: ../../Zotlabs/Lib/ThreadItem.php:254 ../../include/conversation.php:704
+msgid "Message signature validated"
+msgstr "Messaggio con firma verificata"
-#: ../../Zotlabs/Module/Admin.php:97
-msgid "# Accounts"
-msgstr "# account"
+#: ../../Zotlabs/Lib/ThreadItem.php:255 ../../include/conversation.php:705
+msgid "Message signature incorrect"
+msgstr "Massaggio con firma non corretta"
-#: ../../Zotlabs/Module/Admin.php:98
-msgid "# blocked accounts"
-msgstr "# account bloccati"
+#: ../../Zotlabs/Lib/ThreadItem.php:263
+msgid "Add Tag"
+msgstr "Aggiungi un tag"
-#: ../../Zotlabs/Module/Admin.php:99
-msgid "# expired accounts"
-msgstr "# account scaduti"
+#: ../../Zotlabs/Lib/ThreadItem.php:281 ../../include/taxonomy.php:510
+msgid "like"
+msgstr "mi piace"
-#: ../../Zotlabs/Module/Admin.php:100
-msgid "# expiring accounts"
-msgstr "# account in scadenza"
+#: ../../Zotlabs/Lib/ThreadItem.php:282 ../../include/taxonomy.php:511
+msgid "dislike"
+msgstr "non mi piace"
-#: ../../Zotlabs/Module/Admin.php:111
-msgid "# Channels"
-msgstr "# canali"
+#: ../../Zotlabs/Lib/ThreadItem.php:286
+msgid "Share This"
+msgstr "Condividi"
-#: ../../Zotlabs/Module/Admin.php:112
-msgid "# primary"
-msgstr "# primari"
+#: ../../Zotlabs/Lib/ThreadItem.php:286
+msgid "share"
+msgstr "condividi"
-#: ../../Zotlabs/Module/Admin.php:113
-msgid "# clones"
-msgstr "# cloni"
+#: ../../Zotlabs/Lib/ThreadItem.php:295
+msgid "Delivery Report"
+msgstr "Rapporto di trasmissione"
-#: ../../Zotlabs/Module/Admin.php:119
-msgid "Message queues"
-msgstr "Coda messaggi in uscita"
+#: ../../Zotlabs/Lib/ThreadItem.php:313
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commento"
+msgstr[1] "%d commenti"
-#: ../../Zotlabs/Module/Admin.php:136
-msgid "Your software should be updated"
-msgstr "Il tuo software necessita di un aggiornamento"
+#: ../../Zotlabs/Lib/ThreadItem.php:343 ../../Zotlabs/Lib/ThreadItem.php:344
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Guarda il profilo di %s - %s"
-#: ../../Zotlabs/Module/Admin.php:142
-msgid "Summary"
-msgstr "Riepilogo"
+#: ../../Zotlabs/Lib/ThreadItem.php:347
+msgid "to"
+msgstr "a"
-#: ../../Zotlabs/Module/Admin.php:145
-msgid "Registered accounts"
-msgstr "Account creati"
+#: ../../Zotlabs/Lib/ThreadItem.php:348
+msgid "via"
+msgstr "via"
-#: ../../Zotlabs/Module/Admin.php:146
-msgid "Pending registrations"
-msgstr "Registrazioni da approvare"
+#: ../../Zotlabs/Lib/ThreadItem.php:349
+msgid "Wall-to-Wall"
+msgstr "Da bacheca a bacheca"
-#: ../../Zotlabs/Module/Admin.php:147
-msgid "Registered channels"
-msgstr "Canali creati"
+#: ../../Zotlabs/Lib/ThreadItem.php:350
+msgid "via Wall-To-Wall:"
+msgstr "da bacheca a bacheca:"
-#: ../../Zotlabs/Module/Admin.php:148
-msgid "Active plugins"
-msgstr "Plugin attivi"
+#: ../../Zotlabs/Lib/ThreadItem.php:363 ../../include/conversation.php:763
+#, php-format
+msgid "from %s"
+msgstr "da %s"
-#: ../../Zotlabs/Module/Admin.php:149
-msgid "Version"
-msgstr "Versione"
+#: ../../Zotlabs/Lib/ThreadItem.php:366 ../../include/conversation.php:766
+#, php-format
+msgid "last edited: %s"
+msgstr "ultima modifica: %s"
-#: ../../Zotlabs/Module/Admin.php:150
-msgid "Repository version (master)"
-msgstr "Versione del repository (master)"
+#: ../../Zotlabs/Lib/ThreadItem.php:367 ../../include/conversation.php:767
+#, php-format
+msgid "Expires: %s"
+msgstr "Scadenza: %s"
-#: ../../Zotlabs/Module/Admin.php:151
-msgid "Repository version (dev)"
-msgstr "Versione del repository (dev)"
+#: ../../Zotlabs/Lib/ThreadItem.php:374
+msgid "Attend"
+msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:186
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente."
+#: ../../Zotlabs/Lib/ThreadItem.php:375
+msgid "Attendance Options"
+msgstr ""
-#: ../../Zotlabs/Module/Profile_photo.php:389
-msgid "Upload Profile Photo"
-msgstr "Carica la foto del profilo"
+#: ../../Zotlabs/Lib/ThreadItem.php:376
+msgid "Vote"
+msgstr ""
-#: ../../Zotlabs/Module/Cal.php:69
-msgid "Permissions denied."
-msgstr "Permesso negato."
+#: ../../Zotlabs/Lib/ThreadItem.php:377
+msgid "Voting Options"
+msgstr ""
-#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:597
-msgid "l, F j"
-msgstr "l j F"
+#: ../../Zotlabs/Lib/ThreadItem.php:398
+#: ../../addon/bookmarker/bookmarker.php:38
+msgid "Save Bookmarks"
+msgstr "Salva segnalibro"
-#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:646
-#: ../../include/text.php:1762
-msgid "Link to Source"
-msgstr "Link al sito d'origine"
+#: ../../Zotlabs/Lib/ThreadItem.php:399
+msgid "Add to Calendar"
+msgstr "Aggiungi al calendario"
-#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
-msgid "Edit Event"
-msgstr "Modifica l'evento"
+#: ../../Zotlabs/Lib/ThreadItem.php:426 ../../include/conversation.php:483
+msgid "This is an unsaved preview"
+msgstr ""
-#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
-msgid "Create Event"
-msgstr "Crea un evento"
+#: ../../Zotlabs/Lib/ThreadItem.php:458 ../../include/js_strings.php:7
+#, php-format
+msgid "%s show all"
+msgstr "%s mostra tutto"
-#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:677
-msgid "Export"
-msgstr "Esporta"
+#: ../../Zotlabs/Lib/ThreadItem.php:751 ../../include/conversation.php:1377
+msgid "Bold"
+msgstr "Grassetto"
-#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2332
-msgid "Import"
-msgstr "Importa"
+#: ../../Zotlabs/Lib/ThreadItem.php:752 ../../include/conversation.php:1378
+msgid "Italic"
+msgstr "Corsivo"
-#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:686
-msgid "Today"
-msgstr "Oggi"
+#: ../../Zotlabs/Lib/ThreadItem.php:753 ../../include/conversation.php:1379
+msgid "Underline"
+msgstr "Sottolineato"
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
-msgstr "Nessun canale."
+#: ../../Zotlabs/Lib/ThreadItem.php:754 ../../include/conversation.php:1380
+msgid "Quote"
+msgstr "Citazione"
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr "Contatti in comune"
+#: ../../Zotlabs/Lib/ThreadItem.php:755 ../../include/conversation.php:1381
+msgid "Code"
+msgstr "Codice"
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
-msgstr "Nessun contatto in comune."
+#: ../../Zotlabs/Lib/ThreadItem.php:756
+msgid "Image"
+msgstr "Immagine"
-#: ../../Zotlabs/Module/Ratings.php:70
-msgid "No ratings"
-msgstr "Nessuna valutazione"
+#: ../../Zotlabs/Lib/ThreadItem.php:757
+msgid "Attach File"
+msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:98
-msgid "Rating: "
-msgstr "Valutazione:"
+#: ../../Zotlabs/Lib/ThreadItem.php:758
+msgid "Insert Link"
+msgstr "Collegamento"
-#: ../../Zotlabs/Module/Ratings.php:99
-msgid "Website: "
-msgstr "Sito web:"
+#: ../../Zotlabs/Lib/ThreadItem.php:759
+msgid "Video"
+msgstr "Video"
-#: ../../Zotlabs/Module/Ratings.php:101
-msgid "Description: "
-msgstr "Descrizione:"
+#: ../../Zotlabs/Lib/ThreadItem.php:769
+msgid "Your full name (required)"
+msgstr ""
-#: ../../Zotlabs/Module/Register.php:49
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"
+#: ../../Zotlabs/Lib/ThreadItem.php:770
+msgid "Your email address (required)"
+msgstr ""
-#: ../../Zotlabs/Module/Register.php:55
+#: ../../Zotlabs/Lib/ThreadItem.php:771
+msgid "Your website URL (optional)"
+msgstr ""
+
+#: ../../Zotlabs/Zot/Auth.php:152
msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
-#: ../../Zotlabs/Module/Register.php:89
-msgid "Passwords do not match."
-msgstr "Le password non corrispondono."
+#: ../../Zotlabs/Zot/Auth.php:264 ../../addon/openid/Mod_Openid.php:76
+#: ../../addon/openid/Mod_Openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
-#: ../../Zotlabs/Module/Register.php:131
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:287
+msgid "parent"
+msgstr "cartella superiore"
-#: ../../Zotlabs/Module/Register.php:137
-msgid "Your registration is pending approval by the site owner."
-msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub."
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2821
+msgid "Collection"
+msgstr "Cartella"
-#: ../../Zotlabs/Module/Register.php:140
-msgid "Your registration can not be processed."
-msgstr "La tua registrazione non puo' essere processata."
+#: ../../Zotlabs/Storage/Browser.php:134
+msgid "Principal"
+msgstr "Principale"
-#: ../../Zotlabs/Module/Register.php:184
-msgid "Registration on this hub is disabled."
-msgstr "Su questo hub la registrazione non è permessa."
+#: ../../Zotlabs/Storage/Browser.php:137
+msgid "Addressbook"
+msgstr "Rubrica"
-#: ../../Zotlabs/Module/Register.php:193
-msgid "Registration on this hub is by approval only."
-msgstr "La registrazione su questo hub è soggetta ad approvazione."
+#: ../../Zotlabs/Storage/Browser.php:140 ../../include/nav.php:420
+#: ../../include/nav.php:423
+msgid "Calendar"
+msgstr "Calendario"
-#: ../../Zotlabs/Module/Register.php:194
-msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
-msgstr "<a href=\"pubsites\">Registrati su un altro server hubzilla.</a>"
+#: ../../Zotlabs/Storage/Browser.php:143
+msgid "Schedule Inbox"
+msgstr "Appuntamenti ricevuti"
-#: ../../Zotlabs/Module/Register.php:204
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
+#: ../../Zotlabs/Storage/Browser.php:146
+msgid "Schedule Outbox"
+msgstr "Appuntamenti inviati"
-#: ../../Zotlabs/Module/Register.php:221
-msgid "Terms of Service"
-msgstr "Condizioni d'Uso"
+#: ../../Zotlabs/Storage/Browser.php:273
+msgid "Total"
+msgstr "Totale"
-#: ../../Zotlabs/Module/Register.php:227
+#: ../../Zotlabs/Storage/Browser.php:275
+msgid "Shared"
+msgstr "Condiviso"
+
+#: ../../Zotlabs/Storage/Browser.php:353
#, php-format
-msgid "I accept the %s for this website"
-msgstr "Accetto le %s di questo sito"
+msgid "You are using %1$s of your available file storage."
+msgstr "Stai usando %1$s dello spazio disponibile per i tuoi file."
-#: ../../Zotlabs/Module/Register.php:229
+#: ../../Zotlabs/Storage/Browser.php:358
#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Ho più di 13 anni e accetto le %s di questo sito"
+msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
+msgstr "Stai usando %1$s di %2$s che hai a disposizione per i file. (%3$s&#37;)"
-#: ../../Zotlabs/Module/Register.php:233
-msgid "Your email address"
-msgstr "Il tuo indirizzo email"
+#: ../../Zotlabs/Storage/Browser.php:369
+msgid "WARNING:"
+msgstr "ATTENZIONE:"
-#: ../../Zotlabs/Module/Register.php:234
-msgid "Choose a password"
-msgstr "Scegli una password"
+#: ../../Zotlabs/Storage/Browser.php:381
+msgid "Create new folder"
+msgstr "Nuova cartella"
-#: ../../Zotlabs/Module/Register.php:235
-msgid "Please re-enter your password"
-msgstr "Ripeti la password per verifica"
+#: ../../Zotlabs/Storage/Browser.php:383
+msgid "Upload file"
+msgstr "Carica un file"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "Please enter your invitation code"
-msgstr "Inserisci il codice dell'invito"
+#: ../../Zotlabs/Storage/Browser.php:396
+msgid "Drop files here to immediately upload"
+msgstr "Trascina i file qui per caricarli al volo"
-#: ../../Zotlabs/Module/Register.php:241
-msgid "no"
-msgstr "no"
+#: ../../Zotlabs/Widget/Forums.php:100
+msgid "Forums"
+msgstr "Forum"
-#: ../../Zotlabs/Module/Register.php:241
-msgid "yes"
-msgstr "sì"
+#: ../../Zotlabs/Widget/Cdav.php:37
+msgid "Select Channel"
+msgstr ""
-#: ../../Zotlabs/Module/Register.php:258
-msgid "Membership on this site is by invitation only."
-msgstr "Per registrarsi su questo hub è necessario un invito."
+#: ../../Zotlabs/Widget/Cdav.php:42
+msgid "Read-write"
+msgstr ""
-#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:152
-#: ../../boot.php:1721
-msgid "Register"
-msgstr "Registrati"
+#: ../../Zotlabs/Widget/Cdav.php:43
+msgid "Read-only"
+msgstr ""
-#: ../../Zotlabs/Module/Register.php:271
-msgid ""
-"This site may require email verification after submitting this form. If you "
-"are returned to a login page, please check your email for instructions."
-msgstr "Dopo aver inviato questo modulo, potrebbe esserti richiesta una verifica via email. Se comparirà la pagina di login, segui le istruzioni sull'email per continuare."
+#: ../../Zotlabs/Widget/Cdav.php:117
+msgid "My Calendars"
+msgstr ""
-#: ../../Zotlabs/Module/Help.php:27
-msgid "Documentation Search"
-msgstr "Ricerca nella guida"
+#: ../../Zotlabs/Widget/Cdav.php:119
+msgid "Shared Calendars"
+msgstr ""
-#: ../../Zotlabs/Module/Help.php:57
-msgid "$Projectname Documentation"
-msgstr "Guida di $Projectname"
+#: ../../Zotlabs/Widget/Cdav.php:123
+msgid "Share this calendar"
+msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:94
-msgid "Select a bookmark folder"
-msgstr "Scegli una cartella di segnalibri"
+#: ../../Zotlabs/Widget/Cdav.php:125
+msgid "Calendar name and color"
+msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:99
-msgid "Save Bookmark"
-msgstr "Salva segnalibro"
+#: ../../Zotlabs/Widget/Cdav.php:127
+msgid "Create new calendar"
+msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:100
-msgid "URL of bookmark"
-msgstr "URL del segnalibro"
+#: ../../Zotlabs/Widget/Cdav.php:129
+msgid "Calendar Name"
+msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:105
-msgid "Or enter new bookmark folder name"
-msgstr "O inserisci il nome di una nuova cartella di segnalibri"
+#: ../../Zotlabs/Widget/Cdav.php:130
+msgid "Calendar Tools"
+msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:35
-msgid "Authentication failed."
-msgstr "Autenticazione fallita."
+#: ../../Zotlabs/Widget/Cdav.php:131
+msgid "Import calendar"
+msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:75
-msgid "Remote Authentication"
-msgstr "Accedi tramite il tuo hub"
+#: ../../Zotlabs/Widget/Cdav.php:132
+msgid "Select a calendar to import to"
+msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:76
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
+#: ../../Zotlabs/Widget/Cdav.php:159
+msgid "Addressbooks"
+msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:77
-msgid "Authenticate"
-msgstr "Accedi"
+#: ../../Zotlabs/Widget/Cdav.php:161
+msgid "Addressbook name"
+msgstr ""
-#: ../../Zotlabs/Module/Regmod.php:15
-msgid "Please login."
-msgstr "Effettua l'accesso."
+#: ../../Zotlabs/Widget/Cdav.php:163
+msgid "Create new addressbook"
+msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:35
-msgid ""
-"Account removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password."
+#: ../../Zotlabs/Widget/Cdav.php:164
+msgid "Addressbook Name"
+msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:57
-msgid "Remove This Account"
-msgstr "Elimina questo account"
+#: ../../Zotlabs/Widget/Cdav.php:166
+msgid "Addressbook Tools"
+msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:58
-msgid ""
-"This account and all its channels will be completely removed from the "
-"network. "
-msgstr "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete."
+#: ../../Zotlabs/Widget/Cdav.php:167
+msgid "Import addressbook"
+msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:60
-msgid ""
-"Remove this account, all its channels and all its channel clones from the "
-"network"
-msgstr "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati."
+#: ../../Zotlabs/Widget/Cdav.php:168
+msgid "Select an addressbook to import to"
+msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:60
-msgid ""
-"By default only the instances of the channels located on this hub will be "
-"removed from the network"
-msgstr "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete."
+#: ../../Zotlabs/Widget/Appcategories.php:40
+#: ../../Zotlabs/Widget/Tagcloud.php:25 ../../include/contact_widgets.php:97
+#: ../../include/contact_widgets.php:141 ../../include/contact_widgets.php:186
+#: ../../include/taxonomy.php:344 ../../include/taxonomy.php:426
+#: ../../include/taxonomy.php:446 ../../include/taxonomy.php:467
+msgid "Categories"
+msgstr "Categorie"
-#: ../../Zotlabs/Module/Removeaccount.php:61
-#: ../../Zotlabs/Module/Settings/Account.php:128
-msgid "Remove Account"
-msgstr "Elimina l'account"
+#: ../../Zotlabs/Widget/Appcategories.php:43 ../../Zotlabs/Widget/Filer.php:31
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:100
+#: ../../include/contact_widgets.php:144 ../../include/contact_widgets.php:189
+msgid "Everything"
+msgstr "Tutto"
-#: ../../Zotlabs/Module/Webpages.php:52
-msgid "Import Webpage Elements"
-msgstr "Importa gli elementi della pagina web"
+#: ../../Zotlabs/Widget/Eventstools.php:13
+msgid "Events Tools"
+msgstr "Gestione eventi"
-#: ../../Zotlabs/Module/Webpages.php:53
-msgid "Import selected"
-msgstr "Importa i selezionati"
+#: ../../Zotlabs/Widget/Eventstools.php:14
+msgid "Export Calendar"
+msgstr "Esporta calendario"
-#: ../../Zotlabs/Module/Webpages.php:76
-msgid "Export Webpage Elements"
-msgstr "Esporta gli elementi della pagina web"
+#: ../../Zotlabs/Widget/Eventstools.php:15
+msgid "Import Calendar"
+msgstr "Importa calendario"
-#: ../../Zotlabs/Module/Webpages.php:77
-msgid "Export selected"
-msgstr "Esporta i selezionati"
+#: ../../Zotlabs/Widget/Suggestedchats.php:32
+msgid "Suggested Chatrooms"
+msgstr "Chat suggerite"
-#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:218
-#: ../../include/nav.php:109 ../../include/conversation.php:1725
-msgid "Webpages"
-msgstr "Pagine web"
+#: ../../Zotlabs/Widget/Hq_controls.php:14
+msgid "HQ Control Panel"
+msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:248 ../../include/page_widgets.php:44
-msgid "Actions"
-msgstr "Azioni"
+#: ../../Zotlabs/Widget/Hq_controls.php:17
+msgid "Create a new post"
+msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:249 ../../include/page_widgets.php:45
-msgid "Page Link"
-msgstr "Link alla pagina"
+#: ../../Zotlabs/Widget/Mailmenu.php:13
+msgid "Private Mail Menu"
+msgstr "Menu messaggi privati"
-#: ../../Zotlabs/Module/Webpages.php:250
-msgid "Page Title"
-msgstr "Titolo della pagina"
+#: ../../Zotlabs/Widget/Mailmenu.php:15
+msgid "Combined View"
+msgstr "Vista combinata"
-#: ../../Zotlabs/Module/Webpages.php:280
-msgid "Invalid file type."
-msgstr "Tipo di file non valido."
+#: ../../Zotlabs/Widget/Mailmenu.php:20
+msgid "Inbox"
+msgstr "In arrivo"
-#: ../../Zotlabs/Module/Webpages.php:292
-msgid "Error opening zip file"
-msgstr "Errore nell'apertura del file zip"
+#: ../../Zotlabs/Widget/Mailmenu.php:25
+msgid "Outbox"
+msgstr "Inviati"
-#: ../../Zotlabs/Module/Webpages.php:303
-msgid "Invalid folder path."
-msgstr "La cartella indicata non è valida."
+#: ../../Zotlabs/Widget/Mailmenu.php:30
+msgid "New Message"
+msgstr "Nuovo messaggio"
-#: ../../Zotlabs/Module/Webpages.php:330
-msgid "No webpage elements detected."
-msgstr "Nella pagina web non sono presenti elementi."
+#: ../../Zotlabs/Widget/Chatroom_list.php:16
+#: ../../include/conversation.php:1864 ../../include/conversation.php:1867
+#: ../../include/nav.php:434 ../../include/nav.php:437
+msgid "Chatrooms"
+msgstr "Chat"
-#: ../../Zotlabs/Module/Webpages.php:405
-msgid "Import complete."
-msgstr "Importazione completata."
+#: ../../Zotlabs/Widget/Chatroom_list.php:20
+msgid "Overview"
+msgstr "Riepilogo"
-#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
-msgid "Export Channel"
-msgstr "Esporta il canale"
+#: ../../Zotlabs/Widget/Rating.php:51
+msgid "Rating Tools"
+msgstr "Valutazione"
-#: ../../Zotlabs/Module/Uexport.php:57
-msgid ""
-"Export your basic channel information to a file. This acts as a backup of "
-"your connections, permissions, profile and basic data, which can be used to "
-"import your data to a new server hub, but does not contain your content."
-msgstr "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato."
+#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57
+msgid "Rate Me"
+msgstr "Valutami"
-#: ../../Zotlabs/Module/Uexport.php:58
-msgid "Export Content"
-msgstr "Esporta i contenuti"
+#: ../../Zotlabs/Widget/Rating.php:60
+msgid "View Ratings"
+msgstr "Vedi le valutazioni ricevute"
-#: ../../Zotlabs/Module/Uexport.php:59
-msgid ""
-"Export your channel information and recent content to a JSON backup that can"
-" be restored or imported to another server hub. This backs up all of your "
-"connections, permissions, profile data and several months of posts. This "
-"file may be VERY large. Please be patient - it may take several minutes for"
-" this download to begin."
-msgstr "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento."
+#: ../../Zotlabs/Widget/Activity.php:50
+msgctxt "widget"
+msgid "Activity"
+msgstr "Attività"
-#: ../../Zotlabs/Module/Uexport.php:60
-msgid "Export your posts from a given year."
-msgstr "Esporta i tuoi post a partire dall'anno scelto."
+#: ../../Zotlabs/Widget/Follow.php:22
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse."
-#: ../../Zotlabs/Module/Uexport.php:62
-msgid ""
-"You may also export your posts and conversations for a particular year or "
-"month. Adjust the date in your browser location bar to select other dates. "
-"If the export fails (possibly due to memory exhaustion on your server hub), "
-"please try again selecting a more limited date range."
-msgstr "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date."
+#: ../../Zotlabs/Widget/Follow.php:29
+msgid "Add New Connection"
+msgstr "Aggiungi un contatto"
-#: ../../Zotlabs/Module/Uexport.php:63
-#, php-format
-msgid ""
-"To select all posts for a given year, such as this year, visit <a "
-"href=\"%1$s\">%2$s</a>"
-msgstr "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1$s\">%2$s</a> "
+#: ../../Zotlabs/Widget/Follow.php:30
+msgid "Enter channel address"
+msgstr "Indirizzo del canale"
-#: ../../Zotlabs/Module/Uexport.php:64
-#, php-format
-msgid ""
-"To select all posts for a given month, such as January of this year, visit "
-"<a href=\"%1$s\">%2$s</a>"
-msgstr "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1$s\">%2$s</a>"
+#: ../../Zotlabs/Widget/Follow.php:31
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Per esempio: bob@example.com, https://example.com/barbara"
-#: ../../Zotlabs/Module/Uexport.php:65
-#, php-format
-msgid ""
-"These content files may be imported or restored by visiting <a "
-"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results"
-" please import or restore these in date order (oldest first)."
-msgstr "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1$s\">%2$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)"
+#: ../../Zotlabs/Widget/Wiki_list.php:15 ../../addon/gitwiki/gitwiki.php:95
+msgid "Wiki List"
+msgstr "Elenco wiki"
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
-msgstr "L'elemento non è modificabile"
+#: ../../Zotlabs/Widget/Archive.php:43
+msgid "Archives"
+msgstr "Archivi"
-#: ../../Zotlabs/Module/Search.php:216
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Elementi taggati con: %s"
+#: ../../Zotlabs/Widget/Conversations.php:17
+msgid "Received Messages"
+msgstr "Ricevuti"
-#: ../../Zotlabs/Module/Search.php:218
-#, php-format
-msgid "Search results for: %s"
-msgstr "Risultati ricerca: %s"
+#: ../../Zotlabs/Widget/Conversations.php:21
+msgid "Sent Messages"
+msgstr "Inviati"
-#: ../../Zotlabs/Module/Events.php:25
-msgid "Calendar entries imported."
-msgstr "Le voci del calendario sono state importate."
+#: ../../Zotlabs/Widget/Conversations.php:25
+msgid "Conversations"
+msgstr "Conversazioni"
-#: ../../Zotlabs/Module/Events.php:27
-msgid "No calendar entries found."
-msgstr "Non sono state trovate voci del calendario."
+#: ../../Zotlabs/Widget/Conversations.php:37
+msgid "No messages."
+msgstr "Nessun messaggio."
-#: ../../Zotlabs/Module/Events.php:104
-msgid "Event can not end before it has started."
-msgstr "Un evento non può terminare prima del suo inizio."
+#: ../../Zotlabs/Widget/Conversations.php:57
+msgid "Delete conversation"
+msgstr "Elimina la conversazione"
-#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
-#: ../../Zotlabs/Module/Events.php:135
-msgid "Unable to generate preview."
-msgstr "Impossibile creare un'anteprima."
+#: ../../Zotlabs/Widget/Chatroom_members.php:11
+msgid "Chat Members"
+msgstr "Partecipanti"
-#: ../../Zotlabs/Module/Events.php:113
-msgid "Event title and start time are required."
-msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
+#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58
+msgid "photo/image"
+msgstr "foto/immagine"
-#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
-msgid "Event not found."
-msgstr "Evento non trovato."
+#: ../../Zotlabs/Widget/Savedsearch.php:75
+msgid "Remove term"
+msgstr "Rimuovi termine"
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Edit event title"
-msgstr "Modifica il titolo dell'evento"
+#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:354
+msgid "Saved Searches"
+msgstr "Ricerche salvate"
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Event title"
-msgstr "Titolo dell'evento"
+#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:333
+msgid "add"
+msgstr "aggiungi"
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Categories (comma-separated list)"
-msgstr "Categorie (separate da virgola)"
+#: ../../Zotlabs/Widget/Notes.php:16
+msgid "Notes"
+msgstr "Note"
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Edit Category"
-msgstr "Modifica la categoria"
+#: ../../Zotlabs/Widget/Wiki_pages.php:32
+#: ../../Zotlabs/Widget/Wiki_pages.php:89 ../../addon/gitwiki/gitwiki.php:81
+msgid "Add new page"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Category"
-msgstr "Categoria"
+#: ../../Zotlabs/Widget/Wiki_pages.php:83 ../../addon/gitwiki/gitwiki.php:76
+msgid "Wiki Pages"
+msgstr "Pagine wiki"
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Edit start date and time"
-msgstr "Modifica data/ora di inizio"
+#: ../../Zotlabs/Widget/Wiki_pages.php:94 ../../addon/gitwiki/gitwiki.php:82
+msgid "Page name"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Start date and time"
-msgstr "Data e ora di inizio"
+#: ../../Zotlabs/Widget/Affinity.php:45
+msgid "Refresh"
+msgstr "Aggiorna"
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
-msgid "Finish date and time are not known or not relevant"
-msgstr "La data e l'ora di fine non sono necessarie"
+#: ../../Zotlabs/Widget/Tasklist.php:23
+msgid "Tasks"
+msgstr "Attività"
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Edit finish date and time"
-msgstr "Modifica data/ora di fine"
+#: ../../Zotlabs/Widget/Suggestions.php:51
+msgid "Suggestions"
+msgstr "Suggerimenti"
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Finish date and time"
-msgstr "Data e ora di fine"
+#: ../../Zotlabs/Widget/Suggestions.php:52
+msgid "See more..."
+msgstr "Altro..."
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
-msgid "Adjust for viewer timezone"
-msgstr "Adatta al fuso orario di chi legge"
+#: ../../Zotlabs/Widget/Filer.php:28 ../../include/contact_widgets.php:53
+#: ../../include/features.php:443
+msgid "Saved Folders"
+msgstr "Cartelle salvate"
-#: ../../Zotlabs/Module/Events.php:463
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "Importante per eventi che avvengono online ma con un certo fuso orario."
+#: ../../Zotlabs/Widget/Cover_photo.php:54
+msgid "Click to show more"
+msgstr "Clicca per mostrare tutto"
-#: ../../Zotlabs/Module/Events.php:465
-msgid "Edit Description"
-msgstr "Modifica la descrizione"
+#: ../../Zotlabs/Widget/Newmember.php:33
+msgid "Profile Creation"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:467
-msgid "Edit Location"
-msgstr "Modifica il luogo"
+#: ../../Zotlabs/Widget/Newmember.php:35
+msgid "Upload profile photo"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
-msgid "Share this event"
-msgstr "Condividi questo evento"
+#: ../../Zotlabs/Widget/Newmember.php:36
+msgid "Upload cover photo"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1264
-msgid "Permission settings"
-msgstr "Permessi dei tuoi contatti"
+#: ../../Zotlabs/Widget/Newmember.php:37 ../../include/nav.php:119
+msgid "Edit your profile"
+msgstr "Modifica il tuo profilo"
-#: ../../Zotlabs/Module/Events.php:485
-msgid "Advanced Options"
-msgstr "Opzioni avanzate"
+#: ../../Zotlabs/Widget/Newmember.php:40
+msgid "Find and Connect with others"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:619
-msgid "Edit event"
-msgstr "Modifica l'evento"
+#: ../../Zotlabs/Widget/Newmember.php:44
+msgid "Manage your connections"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:621
-msgid "Delete event"
-msgstr "Elimina l'evento"
+#: ../../Zotlabs/Widget/Newmember.php:47
+msgid "Communicate"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:655
-msgid "calendar"
-msgstr "calendario"
+#: ../../Zotlabs/Widget/Newmember.php:49
+msgid "View your channel homepage"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:681
-msgid "Month"
-msgstr "Mese"
+#: ../../Zotlabs/Widget/Newmember.php:50
+msgid "View your network stream"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:682
-msgid "Week"
-msgstr "Settimana"
+#: ../../Zotlabs/Widget/Newmember.php:56
+msgid "Documentation"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:683
-msgid "Day"
-msgstr "Giorno"
+#: ../../Zotlabs/Widget/Newmember.php:67
+msgid "View public stream. Warning: not moderated"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:717
-msgid "Event removed"
-msgstr "Evento eliminato"
+#: ../../Zotlabs/Widget/Newmember.php:71
+msgid "New Member Links"
+msgstr ""
-#: ../../Zotlabs/Module/Events.php:720
-msgid "Failed to remove event"
-msgstr "Impossibile eliminare l'evento"
+#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60
+msgid "Member registrations waiting for confirmation"
+msgstr "Richieste in attesa di conferma"
-#: ../../Zotlabs/Module/Service_limits.php:23
-msgid "No service class restrictions found."
-msgstr "Non esistono restrizioni su questa classe di account."
+#: ../../Zotlabs/Widget/Admin.php:29
+msgid "Inspect queue"
+msgstr "Coda di attesa"
-#: ../../Zotlabs/Module/Thing.php:114
-msgid "Thing updated"
-msgstr "L'oggetto è stato aggiornato"
+#: ../../Zotlabs/Widget/Admin.php:31
+msgid "DB updates"
+msgstr "Aggiornamenti al DB"
-#: ../../Zotlabs/Module/Thing.php:166
-msgid "Object store: failed"
-msgstr "Impossibile memorizzare l'oggetto."
+#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:199
+msgid "Admin"
+msgstr "Amministrazione"
-#: ../../Zotlabs/Module/Thing.php:170
-msgid "Thing added"
-msgstr "L'Oggetto è stato aggiunto"
+#: ../../Zotlabs/Widget/Admin.php:56
+msgid "Plugin Features"
+msgstr "Plugin"
-#: ../../Zotlabs/Module/Thing.php:196
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
+#: ../../Zotlabs/Widget/Settings_menu.php:35
+msgid "Account settings"
+msgstr "Il tuo account"
-#: ../../Zotlabs/Module/Thing.php:259
-msgid "Show Thing"
-msgstr "Mostra l'oggetto"
+#: ../../Zotlabs/Widget/Settings_menu.php:41
+msgid "Channel settings"
+msgstr "Impostazioni del canale"
-#: ../../Zotlabs/Module/Thing.php:266
-msgid "item not found."
-msgstr "non trovato."
+#: ../../Zotlabs/Widget/Settings_menu.php:50
+msgid "Additional features"
+msgstr "Funzionalità opzionali"
-#: ../../Zotlabs/Module/Thing.php:299
-msgid "Edit Thing"
-msgstr "Modifica l'oggetto"
+#: ../../Zotlabs/Widget/Settings_menu.php:57
+msgid "Addon settings"
+msgstr ""
-#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
-msgid "Select a profile"
-msgstr "Scegli un profilo"
+#: ../../Zotlabs/Widget/Settings_menu.php:63
+msgid "Display settings"
+msgstr "Aspetto"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
-msgid "Post an activity"
-msgstr "Pubblica un'attività"
+#: ../../Zotlabs/Widget/Settings_menu.php:70
+msgid "Manage locations"
+msgstr "Gestione cloni del tuo canale"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Invia solo a chi può vedere il profilo scelto"
+#: ../../Zotlabs/Widget/Settings_menu.php:77
+msgid "Export channel"
+msgstr "Esporta il canale"
-#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
-msgid "Name of thing e.g. something"
-msgstr "Nome dell'oggetto"
+#: ../../Zotlabs/Widget/Settings_menu.php:84
+msgid "Connected apps"
+msgstr "App connesse"
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
-msgid "URL of thing (optional)"
-msgstr "Indirizzo web dell'oggetto (facoltativo)"
+#: ../../Zotlabs/Widget/Settings_menu.php:100 ../../include/features.php:231
+msgid "Permission Groups"
+msgstr ""
-#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
-msgid "URL for photo of thing (optional)"
-msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)"
+#: ../../Zotlabs/Widget/Settings_menu.php:117
+msgid "Premium Channel Settings"
+msgstr "Canale premium - impostazioni"
-#: ../../Zotlabs/Module/Thing.php:353
-msgid "Add Thing to your Profile"
-msgstr "Aggiungi l'oggetto al tuo profilo"
+#: ../../Zotlabs/Widget/Bookmarkedchats.php:24
+msgid "Bookmarked Chatrooms"
+msgstr "Chat nei segnalibri"
-#: ../../Zotlabs/Module/Item.php:180
-msgid "Unable to locate original post."
-msgstr "Impossibile trovare il messaggio originale."
+#: ../../Zotlabs/Widget/Notifications.php:16
+msgid "New Network Activity"
+msgstr "Nuova attività nella tua rete"
-#: ../../Zotlabs/Module/Item.php:433
-msgid "Empty post discarded."
-msgstr "Il post vuoto è stato ignorato."
+#: ../../Zotlabs/Widget/Notifications.php:17
+msgid "New Network Activity Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Item.php:473
-msgid "Executable content type not permitted to this channel."
-msgstr "I contenuti eseguibili non sono permessi su questo canale."
+#: ../../Zotlabs/Widget/Notifications.php:20
+msgid "View your network activity"
+msgstr ""
-#: ../../Zotlabs/Module/Item.php:851
-msgid "Duplicate post suppressed."
-msgstr "I post duplicati sono scartati."
+#: ../../Zotlabs/Widget/Notifications.php:23
+msgid "Mark all notifications read"
+msgstr ""
-#: ../../Zotlabs/Module/Item.php:986
-msgid "System error. Post not saved."
-msgstr "Errore di sistema. Post non salvato."
+#: ../../Zotlabs/Widget/Notifications.php:26
+#: ../../Zotlabs/Widget/Notifications.php:45
+#: ../../Zotlabs/Widget/Notifications.php:141
+msgid "Show new posts only"
+msgstr ""
-#: ../../Zotlabs/Module/Item.php:1107
-msgid "Unable to obtain post information from database."
-msgstr "Impossibile caricare il post dal database."
+#: ../../Zotlabs/Widget/Notifications.php:27
+#: ../../Zotlabs/Widget/Notifications.php:46
+#: ../../Zotlabs/Widget/Notifications.php:142
+msgid "Filter by name"
+msgstr ""
-#: ../../Zotlabs/Module/Item.php:1114
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
+#: ../../Zotlabs/Widget/Notifications.php:35
+msgid "New Home Activity"
+msgstr ""
-#: ../../Zotlabs/Module/Item.php:1121
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
+#: ../../Zotlabs/Widget/Notifications.php:36
+msgid "New Home Activity Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:98
-msgid "Files: shared with me"
-msgstr "File: condivisi con me"
+#: ../../Zotlabs/Widget/Notifications.php:39
+msgid "View your home activity"
+msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:100
-msgid "NEW"
-msgstr "NOVITÀ"
+#: ../../Zotlabs/Widget/Notifications.php:42
+#: ../../Zotlabs/Widget/Notifications.php:138
+msgid "Mark all notifications seen"
+msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:103
-msgid "Remove all files"
-msgstr "Elimina tutti i file"
+#: ../../Zotlabs/Widget/Notifications.php:54
+msgid "New Mails"
+msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:104
-msgid "Remove this file"
-msgstr "Elimina questo file"
+#: ../../Zotlabs/Widget/Notifications.php:55
+msgid "New Mails Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:34
-msgid "Not found"
-msgstr "Non trovato"
+#: ../../Zotlabs/Widget/Notifications.php:58
+msgid "View your private mails"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/features.php:99 ../../include/nav.php:111
-#: ../../include/conversation.php:1735 ../../include/conversation.php:1738
-msgid "Wiki"
-msgstr "Wiki"
+#: ../../Zotlabs/Widget/Notifications.php:61
+msgid "Mark all messages seen"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:98
-msgid "Sandbox"
-msgstr "Sandbox"
+#: ../../Zotlabs/Widget/Notifications.php:69
+msgid "New Events"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:100
-msgid ""
-"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
-" saved*.\""
-msgstr "\"# Wiki Sandbox\\n\\nI contenuti che **modifichi** e che vedi in **anteprima** qui *non saranno salvati*.\""
+#: ../../Zotlabs/Widget/Notifications.php:70
+msgid "New Events Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:169
-msgid "Revision Comparison"
-msgstr "Confronto tra revisioni"
+#: ../../Zotlabs/Widget/Notifications.php:73
+msgid "View events"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:170
-msgid "Revert"
-msgstr "Ripristina"
+#: ../../Zotlabs/Widget/Notifications.php:76
+msgid "Mark all events seen"
+msgstr "Marca come letti tutti gli eventi"
-#: ../../Zotlabs/Module/Wiki.php:201
-msgid "Enter the name of your new wiki:"
-msgstr "Nome della tua nuova pagina wiki:"
+#: ../../Zotlabs/Widget/Notifications.php:85
+msgid "New Connections Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:202
-msgid "Enter the name of the new page:"
-msgstr "Nome della tua nuova pagina:"
+#: ../../Zotlabs/Widget/Notifications.php:88
+msgid "View all connections"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:203
-msgid "Enter the new name:"
-msgstr "Nuovo nome:"
+#: ../../Zotlabs/Widget/Notifications.php:96
+msgid "New Files"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1153
-msgid "Embed image from photo albums"
-msgstr "Inserisci un'immagine dall'album foto"
+#: ../../Zotlabs/Widget/Notifications.php:97
+msgid "New Files Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1247
-msgid "Embed an image from your albums"
-msgstr "Inserisci un'immagine dai tuoi album"
+#: ../../Zotlabs/Widget/Notifications.php:104
+#: ../../Zotlabs/Widget/Notifications.php:105
+msgid "Notices"
+msgstr "Avvisi"
-#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1249
-#: ../../include/conversation.php:1296
-msgid "OK"
-msgstr "OK"
+#: ../../Zotlabs/Widget/Notifications.php:108
+msgid "View all notices"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1189
-msgid "Choose images to embed"
-msgstr "Scegli le immagini da inserire"
+#: ../../Zotlabs/Widget/Notifications.php:111
+msgid "Mark all notices seen"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1190
-msgid "Choose an album"
-msgstr "Scegli un album"
+#: ../../Zotlabs/Widget/Notifications.php:121
+msgid "New Registrations"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1191
-msgid "Choose a different album..."
-msgstr "Scegli un altro album..."
+#: ../../Zotlabs/Widget/Notifications.php:122
+msgid "New Registrations Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1192
-msgid "Error getting album list"
-msgstr "Errore nell'ottenere l'elenco degli album"
+#: ../../Zotlabs/Widget/Notifications.php:132
+msgid "Public Stream Notifications"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1193
-msgid "Error getting photo link"
-msgstr "Errore nell'ottenere il link alla foto"
+#: ../../Zotlabs/Widget/Notifications.php:135
+msgid "View the public stream"
+msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1194
-msgid "Error getting album"
-msgstr "Errore nell'ottenere l'album"
+#: ../../Zotlabs/Widget/Notifications.php:150
+msgid "Sorry, you have got no notifications at the moment"
+msgstr ""
-#: ../../Zotlabs/Module/Sources.php:37
-msgid "Failed to create source. No channel selected."
-msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
+#: ../../util/nconfig.php:34
+msgid "Source channel not found."
+msgstr ""
-#: ../../Zotlabs/Module/Sources.php:51
-msgid "Source created."
-msgstr "Sorgente creata."
+#: ../../boot.php:1562
+msgid "Create an account to access services and applications"
+msgstr ""
-#: ../../Zotlabs/Module/Sources.php:64
-msgid "Source updated."
-msgstr "Sorgente aggiornata."
+#: ../../boot.php:1581 ../../include/nav.php:111 ../../include/nav.php:140
+#: ../../include/nav.php:159
+msgid "Logout"
+msgstr "Esci"
-#: ../../Zotlabs/Module/Sources.php:90
-msgid "*"
-msgstr "*"
+#: ../../boot.php:1585
+msgid "Login/Email"
+msgstr "Login/Email"
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:195
-#: ../../include/widgets.php:672
-msgid "Channel Sources"
-msgstr "Sorgenti del canale"
+#: ../../boot.php:1586
+msgid "Password"
+msgstr "Password"
-#: ../../Zotlabs/Module/Sources.php:97
-msgid "Manage remote sources of content for your channel."
-msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
+#: ../../boot.php:1587
+msgid "Remember me"
+msgstr "Resta connesso"
-#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
-msgid "New Source"
-msgstr "Nuova sorgente"
+#: ../../boot.php:1590
+msgid "Forgot your password?"
+msgstr "Hai dimenticato la password?"
-#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
+#: ../../boot.php:2347
+#, php-format
+msgid "[$Projectname] Website SSL error for %s"
+msgstr ""
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Only import content with these words (one per line)"
-msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
+#: ../../boot.php:2352
+msgid "Website SSL certificate is not valid. Please correct."
+msgstr "Il certificato SSL del sito non è valido. Si prega di intervenire."
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Leave blank to import all public content"
-msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
+#: ../../boot.php:2468
+#, php-format
+msgid "[$Projectname] Cron tasks not running on %s"
+msgstr ""
-#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
-msgid "Channel Name"
-msgstr "Nome del canale"
+#: ../../boot.php:2473
+msgid "Cron/Scheduled tasks not running."
+msgstr "Processi cron non avviati."
-#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
-msgid ""
-"Add the following categories to posts imported from this source (comma "
-"separated)"
-msgstr "Aggiungi le seguenti categorie ai post importati da questa sorgente (separate da virgola)"
+#: ../../boot.php:2474 ../../include/datetime.php:232
+msgid "never"
+msgstr "mai"
-#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
-#: ../../Zotlabs/Module/Settings/Oauth.php:93
-msgid "Optional"
-msgstr "Facoltativo"
+#: ../../view/theme/redbasic_c/php/config.php:16
+#: ../../view/theme/redbasic_c/php/config.php:19
+#: ../../view/theme/redbasic/php/config.php:16
+#: ../../view/theme/redbasic/php/config.php:19
+msgid "Focus (Hubzilla default)"
+msgstr "Focus (predefinito)"
-#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
-msgid "Source not found."
-msgstr "Sorgente non trovata."
+#: ../../view/theme/redbasic_c/php/config.php:99
+#: ../../view/theme/redbasic/php/config.php:97
+msgid "Theme settings"
+msgstr "Impostazioni del tema"
-#: ../../Zotlabs/Module/Sources.php:140
-msgid "Edit Source"
-msgstr "Modifica la sorgente"
+#: ../../view/theme/redbasic_c/php/config.php:100
+#: ../../view/theme/redbasic/php/config.php:98
+msgid "Narrow navbar"
+msgstr "Barra di navigazione ristretta"
-#: ../../Zotlabs/Module/Sources.php:141
-msgid "Delete Source"
-msgstr "Elimina la sorgente"
+#: ../../view/theme/redbasic_c/php/config.php:101
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Navigation bar background color"
+msgstr "Barra di navigazione: Colore di sfondo"
-#: ../../Zotlabs/Module/Sources.php:169
-msgid "Source removed"
-msgstr "Sorgente eliminata"
+#: ../../view/theme/redbasic_c/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:100
+msgid "Navigation bar icon color "
+msgstr "Barra di navigazione: Colore delle icone"
-#: ../../Zotlabs/Module/Sources.php:171
-msgid "Unable to remove source."
-msgstr "Impossibile rimuovere la sorgente."
+#: ../../view/theme/redbasic_c/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:101
+msgid "Navigation bar active icon color "
+msgstr "Barra di navigazione: Colore dell'icona attiva"
-#: ../../Zotlabs/Module/Subthread.php:118
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s sta seguendo %3$s di %2$s"
+#: ../../view/theme/redbasic_c/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Link color"
+msgstr ""
-#: ../../Zotlabs/Module/Subthread.php:120
-#, php-format
-msgid "%1$s stopped following %2$s's %3$s"
-msgstr "%1$s non segue più %3$s di %2$s"
+#: ../../view/theme/redbasic_c/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Set font-color for banner"
+msgstr "Colore del font del banner"
-#: ../../Zotlabs/Module/Suggest.php:39
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
+#: ../../view/theme/redbasic_c/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Set the background color"
+msgstr "Colore di sfondo"
-#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
-msgid "Ignore/Hide"
-msgstr "Ignora/nascondi"
+#: ../../view/theme/redbasic_c/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Set the background image"
+msgstr "Immagine di sfondo"
-#: ../../Zotlabs/Module/Suggest.php:64 ../../Zotlabs/Module/Directory.php:392
-#: ../../include/contact_widgets.php:24
-msgid "Channel Suggestions"
-msgstr "Canali suggeriti"
+#: ../../view/theme/redbasic_c/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Set the background color of items"
+msgstr "Colore di sfondo degli oggetti"
-#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
-msgid "post"
-msgstr "il post"
+#: ../../view/theme/redbasic_c/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Set the background color of comments"
+msgstr "Colore di sfondo dei commenti"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1999
-#: ../../include/conversation.php:150
-msgid "comment"
-msgstr "il commento"
+#: ../../view/theme/redbasic_c/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Set font-size for the entire application"
+msgstr "Dimensione font per tutto il sito"
-#: ../../Zotlabs/Module/Tagger.php:100
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
+#: ../../view/theme/redbasic_c/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Examples: 1rem, 100%, 16px"
+msgstr ""
-#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
-msgid "Tag removed"
-msgstr "Tag rimosso"
+#: ../../view/theme/redbasic_c/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Set font-color for posts and comments"
+msgstr "Colore del carattere per post e commenti"
-#: ../../Zotlabs/Module/Tagrm.php:123
-msgid "Remove Item Tag"
-msgstr "Rimuovi il tag"
+#: ../../view/theme/redbasic_c/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Set radius of corners"
+msgstr "Raggio degli angoli stondati"
-#: ../../Zotlabs/Module/Tagrm.php:125
-msgid "Select a tag to remove: "
-msgstr "Seleziona un tag da rimuovere: "
+#: ../../view/theme/redbasic_c/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Example: 4px"
+msgstr ""
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
-msgstr "Canale aggiunto."
+#: ../../view/theme/redbasic_c/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Set shadow depth of photos"
+msgstr "Profondità dell'ombra delle foto"
-#: ../../Zotlabs/Module/Viewconnections.php:65
-msgid "No connections."
-msgstr "Nessun contatto."
+#: ../../view/theme/redbasic_c/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Set maximum width of content region in pixel"
+msgstr "Larghezza massima dell'area dei contenuti in pixel"
-#: ../../Zotlabs/Module/Viewconnections.php:78
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visita il profilo di %s [%s]"
+#: ../../view/theme/redbasic_c/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Leave empty for default width"
+msgstr "Lascia vuoto per usare il valore predefinito"
-#: ../../Zotlabs/Module/Viewconnections.php:107
-msgid "View Connections"
-msgstr "Elenco contatti"
+#: ../../view/theme/redbasic_c/php/config.php:115
+msgid "Left align page content"
+msgstr "Allinea a sinistra il contenuto della pagina"
-#: ../../Zotlabs/Module/Viewsrc.php:44
-msgid "Source of Item"
-msgstr "Sorgente"
+#: ../../view/theme/redbasic_c/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "Set size of conversation author photo"
+msgstr "Dimensione foto dell'autore della conversazione"
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
-msgstr "Chat non trovata"
+#: ../../view/theme/redbasic_c/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set size of followup author photos"
+msgstr "Dimensione foto dei partecipanti alla conversazione"
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
-msgstr "Lascia la chat"
+#: ../../addon/rendezvous/rendezvous.php:57
+msgid "Errors encountered deleting database table "
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
-msgstr "Elimina questa chat"
+#: ../../addon/rendezvous/rendezvous.php:95
+#: ../../addon/twitter/twitter.php:779
+msgid "Submit Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
-msgstr "Non sono presente"
+#: ../../addon/rendezvous/rendezvous.php:96
+msgid "Drop tables when uninstalling?"
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
-msgstr "Sono online"
+#: ../../addon/rendezvous/rendezvous.php:96
+msgid ""
+"If checked, the Rendezvous database tables will be deleted when the plugin "
+"is uninstalled."
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
-msgstr "Aggiungi questa chat ai segnalibri"
+#: ../../addon/rendezvous/rendezvous.php:97
+msgid "Mapbox Access Token"
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:231
-msgid "New Chatroom"
-msgstr "Nuova chat"
+#: ../../addon/rendezvous/rendezvous.php:97
+msgid ""
+"If you enter a Mapbox access token, it will be used to retrieve map tiles "
+"from Mapbox instead of the default OpenStreetMap tile server."
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "Chatroom name"
-msgstr "Nome chat"
+#: ../../addon/rendezvous/rendezvous.php:162
+msgid "Rendezvous"
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Expiration of chats (minutes)"
-msgstr "Scadenza dei messaggi della chat (minuti)"
+#: ../../addon/rendezvous/rendezvous.php:167
+msgid ""
+"This identity has been deleted by another member due to inactivity. Please "
+"press the \"New identity\" button or refresh the page to register a new "
+"identity. You may use the same name."
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:249
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "Le chat di %1$s"
+#: ../../addon/rendezvous/rendezvous.php:168
+msgid "Welcome to Rendezvous!"
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:254
-msgid "No chatrooms available"
-msgstr "Nessuna chat disponibile"
+#: ../../addon/rendezvous/rendezvous.php:169
+msgid ""
+"Enter your name to join this rendezvous. To begin sharing your location with"
+" the other members, tap the GPS control. When your location is discovered, a"
+" red dot will appear and others will be able to see you on the map."
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:258
-msgid "Expiration"
-msgstr "Scadenza"
+#: ../../addon/rendezvous/rendezvous.php:171
+msgid "Let's meet here"
+msgstr ""
-#: ../../Zotlabs/Module/Chat.php:259
-msgid "min"
-msgstr "min"
+#: ../../addon/rendezvous/rendezvous.php:174
+msgid "New marker"
+msgstr ""
-#: ../../Zotlabs/Module/Xchan.php:10
-msgid "Xchan Lookup"
-msgstr "Ricerca canale"
+#: ../../addon/rendezvous/rendezvous.php:175
+msgid "Edit marker"
+msgstr ""
-#: ../../Zotlabs/Module/Xchan.php:13
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Cerca un canale (o un webbie) che inizia per:"
+#: ../../addon/rendezvous/rendezvous.php:176
+msgid "New identity"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:243
-#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valutazione"
-msgstr[1] "%d valutazioni"
+#: ../../addon/rendezvous/rendezvous.php:177
+msgid "Delete marker"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:254
-msgid "Gender: "
-msgstr "Sesso:"
+#: ../../addon/rendezvous/rendezvous.php:178
+msgid "Delete member"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:256
-msgid "Status: "
-msgstr "Stato:"
+#: ../../addon/rendezvous/rendezvous.php:179
+msgid "Edit proximity alert"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:258
-msgid "Homepage: "
-msgstr "Homepage:"
+#: ../../addon/rendezvous/rendezvous.php:180
+msgid ""
+"A proximity alert will be issued when this member is within a certain radius"
+" of you.<br><br>Enter a radius in meters (0 to disable):"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1207
-msgid "Age:"
-msgstr "Età:"
+#: ../../addon/rendezvous/rendezvous.php:180
+#: ../../addon/rendezvous/rendezvous.php:185
+msgid "distance"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/channel.php:1049
-#: ../../include/bb2diaspora.php:507 ../../include/event.php:52
-#: ../../include/event.php:84
-msgid "Location:"
-msgstr "Luogo:"
+#: ../../addon/rendezvous/rendezvous.php:181
+msgid "Proximity alert distance (meters)"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:317
-msgid "Description:"
-msgstr "Descrizione:"
+#: ../../addon/rendezvous/rendezvous.php:182
+#: ../../addon/rendezvous/rendezvous.php:184
+msgid ""
+"A proximity alert will be issued when you are within a certain radius of the"
+" marker location.<br><br>Enter a radius in meters (0 to disable):"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1223
-msgid "Hometown:"
-msgstr "Città dove vivo:"
+#: ../../addon/rendezvous/rendezvous.php:183
+msgid "Marker proximity alert"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1231
-msgid "About:"
-msgstr "Informazioni:"
+#: ../../addon/rendezvous/rendezvous.php:186
+msgid "Reminder note"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:326
-msgid "Public Forum:"
-msgstr "Forum pubblico:"
+#: ../../addon/rendezvous/rendezvous.php:187
+msgid ""
+"Enter a note to be displayed when you are within the specified proximity..."
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:329
-msgid "Keywords: "
-msgstr "Parole chiave:"
+#: ../../addon/rendezvous/rendezvous.php:199
+msgid "Add new rendezvous"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:332
-msgid "Don't suggest"
-msgstr "Non fornire suggerimenti"
+#: ../../addon/rendezvous/rendezvous.php:200
+msgid ""
+"Create a new rendezvous and share the access link with those you wish to "
+"invite to the group. Those who open the link become members of the "
+"rendezvous. They can view other member locations, add markers to the map, or"
+" share their own locations with the group."
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:334
-msgid "Common connections:"
-msgstr "Contatti in comune:"
+#: ../../addon/skeleton/skeleton.php:59
+msgid "Some setting"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Global Directory"
-msgstr "Elenchi pubblici globali"
+#: ../../addon/skeleton/skeleton.php:61
+msgid "A setting"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Local Directory"
-msgstr "Elenco canali su questo hub"
+#: ../../addon/skeleton/skeleton.php:64
+msgid "Skeleton Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:389
-msgid "Finding:"
-msgstr "Ricerca:"
+#: ../../addon/gnusoc/gnusoc.php:247
+msgid "GNU-Social Protocol Settings updated."
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "next page"
-msgstr "pagina successiva"
+#: ../../addon/gnusoc/gnusoc.php:266
+msgid ""
+"The GNU-Social protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "previous page"
-msgstr "pagina precedente"
+#: ../../addon/gnusoc/gnusoc.php:269
+msgid "Enable the GNU-Social protocol for this channel"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:395
-msgid "Sort options"
-msgstr "Opzioni di ordinamento"
+#: ../../addon/gnusoc/gnusoc.php:273
+msgid "GNU-Social Protocol Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:396
-msgid "Alphabetic"
-msgstr "Alfabetico"
+#: ../../addon/gnusoc/gnusoc.php:464
+msgid "Follow"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:397
-msgid "Reverse Alphabetic"
-msgstr "Alfabetico inverso"
+#: ../../addon/gnusoc/gnusoc.php:467
+#, php-format
+msgid "%1$s is now following %2$s"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:398
-msgid "Newest to Oldest"
-msgstr "Prima i più recenti"
+#: ../../addon/planets/planets.php:121
+msgid "Planets Settings updated."
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:399
-msgid "Oldest to Newest"
-msgstr "Prima i più vecchi"
+#: ../../addon/planets/planets.php:149
+msgid "Enable Planets Plugin"
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:416
-msgid "No entries (some entries may be hidden)."
-msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
+#: ../../addon/planets/planets.php:153
+msgid "Planets Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:20
-msgid "Not valid email."
-msgstr "Email non valida."
+#: ../../addon/openclipatar/openclipatar.php:50
+#: ../../addon/openclipatar/openclipatar.php:128
+msgid "System defaults:"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:23
-msgid "Protected email address. Cannot change to that email."
-msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
+#: ../../addon/openclipatar/openclipatar.php:54
+msgid "Preferred Clipart IDs"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:32
-msgid "System failure storing new email. Please try again."
-msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
+#: ../../addon/openclipatar/openclipatar.php:54
+msgid "List of preferred clipart ids. These will be shown first."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:40
-msgid "Technical skill level updated"
-msgstr "Livello tecnico aggiornato"
+#: ../../addon/openclipatar/openclipatar.php:55
+msgid "Default Search Term"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:56
-msgid "Password verification failed."
-msgstr "Verifica della password fallita."
+#: ../../addon/openclipatar/openclipatar.php:55
+msgid "The default search term. These will be shown second."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:63
-msgid "Passwords do not match. Password unchanged."
-msgstr "Le password non corrispondono. Password non cambiata."
+#: ../../addon/openclipatar/openclipatar.php:56
+msgid "Return After"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:67
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Le password non possono essere vuote. Password non cambiata."
+#: ../../addon/openclipatar/openclipatar.php:56
+msgid "Page to load after image selection."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:81
-msgid "Password changed."
-msgstr "Password cambiata."
+#: ../../addon/openclipatar/openclipatar.php:58 ../../include/channel.php:1301
+#: ../../include/nav.php:119
+msgid "Edit Profile"
+msgstr "Modifica il profilo"
-#: ../../Zotlabs/Module/Settings/Account.php:83
-msgid "Password update failed. Please try again."
-msgstr "Modifica password fallita. Prova ancora."
+#: ../../addon/openclipatar/openclipatar.php:59
+msgid "Profile List"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:120
-msgid "Account Settings"
-msgstr "Il tuo account"
+#: ../../addon/openclipatar/openclipatar.php:61
+msgid "Order of Preferred"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:121
-msgid "Current Password"
-msgstr "Password attuale"
+#: ../../addon/openclipatar/openclipatar.php:61
+msgid "Sort order of preferred clipart ids."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:122
-msgid "Enter New Password"
-msgstr "Nuova password"
+#: ../../addon/openclipatar/openclipatar.php:62
+#: ../../addon/openclipatar/openclipatar.php:68
+msgid "Newest first"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:123
-msgid "Confirm New Password"
-msgstr "Conferma la nuova password"
+#: ../../addon/openclipatar/openclipatar.php:65
+msgid "As entered"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:123
-msgid "Leave password fields blank unless changing"
-msgstr "Lascia vuoti questi campi per non cambiare la password"
+#: ../../addon/openclipatar/openclipatar.php:67
+msgid "Order of other"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:124
-msgid "Your technical skill level"
-msgstr "Il tuo livello tecnico"
+#: ../../addon/openclipatar/openclipatar.php:67
+msgid "Sort order of other clipart ids."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:124
-msgid "Used to provide a member experience matched to your comfort level"
-msgstr "Serve a vedere solo gli aspetti tecnici adeguati alle tue conoscenze"
+#: ../../addon/openclipatar/openclipatar.php:69
+msgid "Most downloaded first"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:127
-#: ../../Zotlabs/Module/Settings/Channel.php:459
-msgid "Email Address:"
-msgstr "Indirizzo email:"
+#: ../../addon/openclipatar/openclipatar.php:70
+msgid "Most liked first"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Account.php:129
-msgid "Remove this account including all its channels"
-msgstr "Elimina questo account e tutti i suoi canali"
+#: ../../addon/openclipatar/openclipatar.php:72
+msgid "Preferred IDs Message"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:246
-msgid "Settings updated."
-msgstr "Impostazioni aggiornate."
+#: ../../addon/openclipatar/openclipatar.php:72
+msgid "Message to display above preferred results."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:307
-msgid "Nobody except yourself"
-msgstr "Nessuno tranne te"
+#: ../../addon/openclipatar/openclipatar.php:78
+msgid "Uploaded by: "
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:308
-msgid "Only those you specifically allow"
-msgstr "Solo chi riceve il mio permesso"
+#: ../../addon/openclipatar/openclipatar.php:78
+msgid "Drawn by: "
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:309
-msgid "Approved connections"
-msgstr "Contatti approvati"
+#: ../../addon/openclipatar/openclipatar.php:182
+#: ../../addon/openclipatar/openclipatar.php:194
+msgid "Use this image"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:310
-msgid "Any connections"
-msgstr "Tutti i contatti"
+#: ../../addon/openclipatar/openclipatar.php:192
+msgid "Or select from a free OpenClipart.org image:"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:311
-msgid "Anybody on this website"
-msgstr "Chiunque su questo hub"
+#: ../../addon/openclipatar/openclipatar.php:195
+msgid "Search Term"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:312
-msgid "Anybody in this network"
-msgstr "Chiunque su questa rete"
+#: ../../addon/openclipatar/openclipatar.php:232
+msgid "Unknown error. Please try again later."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:313
-msgid "Anybody authenticated"
-msgstr "Chiunque abbia effettuato l'accesso"
+#: ../../addon/openclipatar/openclipatar.php:308
+msgid "Profile photo updated successfully."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:314
-msgid "Anybody on the internet"
-msgstr "Chiunque su internet"
+#: ../../addon/adultphotoflag/adultphotoflag.php:24
+msgid "Flag Adult Photos"
+msgstr "Marca le foto per adulti"
-#: ../../Zotlabs/Module/Settings/Channel.php:390
-msgid "Publish your default profile in the network directory"
-msgstr "Mostra il mio profilo predefinito negli elenchi pubblici dei canali"
+#: ../../addon/adultphotoflag/adultphotoflag.php:25
+msgid ""
+"Provide photo edit option to hide inappropriate photos from default album "
+"view"
+msgstr "Permetti di nascondere le foto inappropriate nella visualizzazione degli album"
-#: ../../Zotlabs/Module/Settings/Channel.php:395
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Vuoi essere suggerito come amico ai nuovi membri?"
+#: ../../addon/wppost/wppost.php:45
+msgid "Post to WordPress"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:404
-msgid "Your channel address is"
-msgstr "L'indirizzo del tuo canale è"
+#: ../../addon/wppost/wppost.php:82
+msgid "Enable WordPress Post Plugin"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:450
-msgid "Channel Settings"
-msgstr "Impostazioni del canale"
+#: ../../addon/wppost/wppost.php:86
+msgid "WordPress username"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:457
-msgid "Basic Settings"
-msgstr "Impostazioni di base"
+#: ../../addon/wppost/wppost.php:90
+msgid "WordPress password"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:458
-#: ../../include/channel.php:1164
-msgid "Full Name:"
-msgstr "Nome completo:"
+#: ../../addon/wppost/wppost.php:94
+msgid "WordPress API URL"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:460
-msgid "Your Timezone:"
-msgstr "Il tuo fuso orario:"
+#: ../../addon/wppost/wppost.php:95
+msgid "Typically https://your-blog.tld/xmlrpc.php"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:461
-msgid "Default Post Location:"
-msgstr "Località predefinita:"
+#: ../../addon/wppost/wppost.php:98
+msgid "WordPress blogid"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:461
-msgid "Geographical location to display on your posts"
-msgstr "La posizione geografica da mostrare sui tuoi post"
+#: ../../addon/wppost/wppost.php:99
+msgid "For multi-user sites such as wordpress.com, otherwise leave blank"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:462
-msgid "Use Browser Location:"
-msgstr "Usa la località rilevata dal browser:"
+#: ../../addon/wppost/wppost.php:105
+msgid "Post to WordPress by default"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:464
-msgid "Adult Content"
-msgstr "Contenuto per adulti"
+#: ../../addon/wppost/wppost.php:109
+msgid "Forward comments (requires hubzilla_wp plugin)"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:464
+#: ../../addon/wppost/wppost.php:113
+msgid "WordPress Post Settings"
+msgstr ""
+
+#: ../../addon/wppost/wppost.php:129
+msgid "Wordpress Settings saved."
+msgstr ""
+
+#: ../../addon/nsfw/nsfw.php:80
msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)"
+"This plugin looks in posts for the words/text you specify below, and "
+"collapses any content containing those keywords so it is not displayed at "
+"inappropriate times, such as sexual innuendo that may be improper in a work "
+"setting. It is polite and recommended to tag any content containing nudity "
+"with #NSFW. This filter can also match any other word/text you specify, and"
+" can thereby be used as a general purpose content filter."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:466
-msgid "Security and Privacy Settings"
-msgstr "Impostazioni di sicurezza e privacy"
+#: ../../addon/nsfw/nsfw.php:84
+msgid "Enable Content filter"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:469
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli"
+#: ../../addon/nsfw/nsfw.php:88
+msgid "Comma separated list of keywords to hide"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:471
-msgid "Hide my online presence"
-msgstr "Nascondi la mia presenza online"
+#: ../../addon/nsfw/nsfw.php:88
+msgid "Word, /regular-expression/, lang=xx, lang!=xx"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:471
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Non mostrare sul tuo profilo quando sei online"
+#: ../../addon/nsfw/nsfw.php:92
+msgid "Not Safe For Work Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:473
-msgid "Simple Privacy Settings:"
-msgstr "Impostazioni di privacy semplificate"
+#: ../../addon/nsfw/nsfw.php:92
+msgid "General Purpose Content Filter"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:474
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>"
+#: ../../addon/nsfw/nsfw.php:110
+msgid "NSFW Settings saved."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:475
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>"
+#: ../../addon/nsfw/nsfw.php:207
+msgid "Possible adult content"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:476
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>"
+#: ../../addon/nsfw/nsfw.php:222
+#, php-format
+msgid "%s - view"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:477
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>"
+#: ../../addon/ijpost/ijpost.php:42
+msgid "Post to Insanejournal"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:479
-msgid "Allow others to tag your posts"
-msgstr "Permetti ad altri di taggare i tuoi post"
+#: ../../addon/ijpost/ijpost.php:73
+msgid "Enable InsaneJournal Post Plugin"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:479
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti"
+#: ../../addon/ijpost/ijpost.php:77
+msgid "InsaneJournal username"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:481
-msgid "Channel Permission Limits"
-msgstr "Limiti sui permessi del canale"
+#: ../../addon/ijpost/ijpost.php:81
+msgid "InsaneJournal password"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:483
-msgid "Expire other channel content after this many days"
-msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale"
+#: ../../addon/ijpost/ijpost.php:85
+msgid "Post to InsaneJournal by default"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:483
-msgid "0 or blank to use the website limit."
-msgstr "0 o vuoto per usare i valori predefiniti."
+#: ../../addon/ijpost/ijpost.php:89
+msgid "InsaneJournal Post Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:483
-#, php-format
-msgid "This website expires after %d days."
-msgstr "Per questo sito la scadenza è %d giorni. "
+#: ../../addon/ijpost/ijpost.php:104
+msgid "Insane Journal Settings saved."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:483
-msgid "This website does not expire imported content."
-msgstr "I contenuti di questo sito non hanno scadenza."
+#: ../../addon/dwpost/dwpost.php:42
+msgid "Post to Dreamwidth"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:483
-msgid "The website limit takes precedence if lower than your limit."
-msgstr "Il limite del server ha la precedenza, se minore di quello impostato da te."
+#: ../../addon/dwpost/dwpost.php:73
+msgid "Enable Dreamwidth Post Plugin"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:484
-msgid "Maximum Friend Requests/Day:"
-msgstr "Numero massimo giornaliero di richieste di amicizia:"
+#: ../../addon/dwpost/dwpost.php:77
+msgid "Dreamwidth username"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:484
-msgid "May reduce spam activity"
-msgstr "Serve a ridurre lo spam"
+#: ../../addon/dwpost/dwpost.php:81
+msgid "Dreamwidth password"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:485
-msgid "Default Access Control List (ACL)"
-msgstr "Lista di accesso ai contenuti (ACL)"
+#: ../../addon/dwpost/dwpost.php:85
+msgid "Post to Dreamwidth by default"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:487
-msgid "Use my default audience setting for the type of object published"
-msgstr "Mostra ai contatti secondo le impostazioni standard per questo tipo di contenuto"
+#: ../../addon/dwpost/dwpost.php:89
+msgid "Dreamwidth Post Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:494
-msgid "Channel permissions category:"
-msgstr "Categorie di permessi dei canali:"
+#: ../../addon/notifyadmin/notifyadmin.php:34
+msgid "New registration"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:500
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
+#: ../../addon/notifyadmin/notifyadmin.php:42
+#, php-format
+msgid "Message sent to %s. New account registration: %s"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:500
-msgid "Useful to reduce spamming"
-msgstr "Serve e ridurre lo spam"
+#: ../../addon/dirstats/dirstats.php:94
+msgid "Hubzilla Directory Stats"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:503
-msgid "Notification Settings"
-msgstr "Impostazioni di notifica"
+#: ../../addon/dirstats/dirstats.php:95
+msgid "Total Hubs"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:504
-msgid "By default post a status message when:"
-msgstr "Pubblica un messaggio di stato quando:"
+#: ../../addon/dirstats/dirstats.php:97
+msgid "Hubzilla Hubs"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:505
-msgid "accepting a friend request"
-msgstr "accetto una nuova amicizia"
+#: ../../addon/dirstats/dirstats.php:99
+msgid "Friendica Hubs"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:506
-msgid "joining a forum/community"
-msgstr "entro a far parte di un forum"
+#: ../../addon/dirstats/dirstats.php:101
+msgid "Diaspora Pods"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:507
-msgid "making an <em>interesting</em> profile change"
-msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
+#: ../../addon/dirstats/dirstats.php:103
+msgid "Hubzilla Channels"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:508
-msgid "Send a notification email when:"
-msgstr "Invia una email di notifica quando:"
+#: ../../addon/dirstats/dirstats.php:105
+msgid "Friendica Channels"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:509
-msgid "You receive a connection request"
-msgstr "Ricevi una richiesta di entrare in contatto"
+#: ../../addon/dirstats/dirstats.php:107
+msgid "Diaspora Channels"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:510
-msgid "Your connections are confirmed"
-msgstr "I tuoi contatti sono confermati"
+#: ../../addon/dirstats/dirstats.php:109
+msgid "Aged 35 and above"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:511
-msgid "Someone writes on your profile wall"
-msgstr "Qualcuno scrive sulla tua bacheca"
+#: ../../addon/dirstats/dirstats.php:111
+msgid "Aged 34 and under"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:512
-msgid "Someone writes a followup comment"
-msgstr "Qualcuno scrive un commento dopo di te"
+#: ../../addon/dirstats/dirstats.php:113
+msgid "Average Age"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:513
-msgid "You receive a private message"
-msgstr "Ricevi un messaggio privato"
+#: ../../addon/dirstats/dirstats.php:115
+msgid "Known Chatrooms"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:514
-msgid "You receive a friend suggestion"
-msgstr "Ti viene suggerito un amico"
+#: ../../addon/dirstats/dirstats.php:117
+msgid "Known Tags"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:515
-msgid "You are tagged in a post"
-msgstr "Sei taggato in un post"
+#: ../../addon/dirstats/dirstats.php:119
+msgid ""
+"Please note Diaspora and Friendica statistics are merely those **this "
+"directory** is aware of, and not all those known in the network. This also "
+"applies to chatrooms,"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:516
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Ricevi un poke in un post"
+#: ../../addon/likebanner/likebanner.php:51
+msgid "Your Webbie:"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:519
-msgid "Show visual notifications including:"
-msgstr "Mostra queste notifiche a schermo:"
+#: ../../addon/likebanner/likebanner.php:54
+msgid "Fontsize (px):"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:521
-msgid "Unseen grid activity"
-msgstr "Nuove attività nella rete"
+#: ../../addon/likebanner/likebanner.php:68
+msgid "Link:"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:522
-msgid "Unseen channel activity"
-msgstr "Novità nei canali"
+#: ../../addon/likebanner/likebanner.php:70
+msgid "Like us on Hubzilla"
+msgstr "Metti un like su Hubzilla"
-#: ../../Zotlabs/Module/Settings/Channel.php:523
-msgid "Unseen private messages"
-msgstr "Nuovi messaggi privati"
+#: ../../addon/likebanner/likebanner.php:72
+msgid "Embed:"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:523
-#: ../../Zotlabs/Module/Settings/Channel.php:528
-#: ../../Zotlabs/Module/Settings/Channel.php:529
-#: ../../Zotlabs/Module/Settings/Channel.php:530
-msgid "Recommended"
-msgstr "Consigliato"
+#: ../../addon/redphotos/redphotos.php:106
+msgid "Photos imported"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:524
-msgid "Upcoming events"
-msgstr "Prossimi eventi"
+#: ../../addon/redphotos/redphotos.php:129
+msgid "Redmatrix Photo Album Import"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:525
-msgid "Events today"
-msgstr "Eventi di oggi"
+#: ../../addon/redphotos/redphotos.php:130
+msgid "This will import all your Redmatrix photo albums to this channel."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:526
-msgid "Upcoming birthdays"
-msgstr "Prossimi compleanni"
+#: ../../addon/redphotos/redphotos.php:131
+#: ../../addon/redfiles/redfiles.php:121
+msgid "Redmatrix Server base URL"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:526
-msgid "Not available in all themes"
-msgstr "Non disponibile in tutti i temi"
+#: ../../addon/redphotos/redphotos.php:132
+#: ../../addon/redfiles/redfiles.php:122
+msgid "Redmatrix Login Username"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:527
-msgid "System (personal) notifications"
-msgstr "Notifiche personali dal sistema"
+#: ../../addon/redphotos/redphotos.php:133
+#: ../../addon/redfiles/redfiles.php:123
+msgid "Redmatrix Login Password"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:528
-msgid "System info messages"
-msgstr "Notifiche di sistema"
+#: ../../addon/redphotos/redphotos.php:134
+msgid "Import just this album"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:529
-msgid "System critical alerts"
-msgstr "Avvisi critici di sistema"
+#: ../../addon/redphotos/redphotos.php:134
+msgid "Leave blank to import all albums"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:530
-msgid "New connections"
-msgstr "Nuovi contatti"
+#: ../../addon/redphotos/redphotos.php:135
+msgid "Maximum count to import"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:531
-msgid "System Registrations"
-msgstr "Registrazioni"
+#: ../../addon/redphotos/redphotos.php:135
+msgid "0 or blank to import all available"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:532
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti"
+#: ../../addon/irc/irc.php:45
+msgid "Channels to auto connect"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:534
-msgid "Notify me of events this many days in advance"
-msgstr "Giorni di anticipo per notificare gli eventi"
+#: ../../addon/irc/irc.php:45 ../../addon/irc/irc.php:49
+msgid "Comma separated list"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:534
-msgid "Must be greater than 0"
-msgstr "Maggiore di 0"
+#: ../../addon/irc/irc.php:49 ../../addon/irc/irc.php:96
+msgid "Popular Channels"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:536
-msgid "Advanced Account/Page Type Settings"
-msgstr "Impostazioni avanzate"
+#: ../../addon/irc/irc.php:53
+msgid "IRC Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:537
-msgid "Change the behaviour of this account for special situations"
-msgstr "Cambia il funzionamento di questo account per necessità particolari"
+#: ../../addon/irc/irc.php:69
+msgid "IRC settings saved."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:539
-msgid "Miscellaneous Settings"
-msgstr "Impostazioni varie"
+#: ../../addon/irc/irc.php:74
+msgid "IRC Chatroom"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:540
-msgid "Default photo upload folder"
-msgstr "Cartella predefinita per le foto caricate"
+#: ../../addon/ljpost/ljpost.php:42
+msgid "Post to LiveJournal"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:540
-#: ../../Zotlabs/Module/Settings/Channel.php:541
-msgid "%Y - current year, %m - current month"
-msgstr "%Y - anno corrente, %m - mese corrente"
+#: ../../addon/ljpost/ljpost.php:70
+msgid "Enable LiveJournal Post Plugin"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:541
-msgid "Default file upload folder"
-msgstr "Cartella predefinita per i file caricati"
+#: ../../addon/ljpost/ljpost.php:74
+msgid "LiveJournal username"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:543
-msgid "Personal menu to display in your channel pages"
-msgstr "Menu personale da mostrare sulle pagine del tuo canale"
+#: ../../addon/ljpost/ljpost.php:78
+msgid "LiveJournal password"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:545
-msgid "Remove this channel."
-msgstr "Elimina questo canale."
+#: ../../addon/ljpost/ljpost.php:82
+msgid "Post to LiveJournal by default"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:546
-msgid "Firefox Share $Projectname provider"
-msgstr "Attiva Firefox Share per $Projectname"
+#: ../../addon/ljpost/ljpost.php:86
+msgid "LiveJournal Post Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Channel.php:547
-msgid "Start calendar week on monday"
-msgstr "La settimana inizia il lunedì"
+#: ../../addon/ljpost/ljpost.php:101
+msgid "LiveJournal Settings saved."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:135
-msgid "No special theme for mobile devices"
-msgstr "Nessun tema per dispositivi mobili"
+#: ../../addon/openid/openid.php:49
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:138
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Sperimentale)"
+#: ../../addon/openid/openid.php:49
+msgid "The error message was:"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:189
-msgid "Display Settings"
-msgstr "Aspetto"
+#: ../../addon/openid/MysqlProvider.php:52
+msgid "First Name"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:190
-msgid "Theme Settings"
-msgstr "Impostazioni del tema"
+#: ../../addon/openid/MysqlProvider.php:53
+msgid "Last Name"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:191
-msgid "Custom Theme Settings"
-msgstr "Personalizzazione del tema"
+#: ../../addon/openid/MysqlProvider.php:54 ../../addon/redred/redred.php:111
+msgid "Nickname"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:192
-msgid "Content Settings"
-msgstr "Impostazioni dei contenuti"
+#: ../../addon/openid/MysqlProvider.php:55
+msgid "Full Name"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:198
-msgid "Display Theme:"
-msgstr "Tema per schermi medio grandi:"
+#: ../../addon/openid/MysqlProvider.php:61
+msgid "Profile Photo 16px"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:199
-msgid "Select scheme"
-msgstr "Scegli uno schema"
+#: ../../addon/openid/MysqlProvider.php:62
+msgid "Profile Photo 32px"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:201
-msgid "Mobile Theme:"
-msgstr "Tema per dispositivi mobili:"
+#: ../../addon/openid/MysqlProvider.php:63
+msgid "Profile Photo 48px"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:202
-msgid "Preload images before rendering the page"
-msgstr "Carica le immagini prima del rendering della pagina"
+#: ../../addon/openid/MysqlProvider.php:64
+msgid "Profile Photo 64px"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:202
-msgid ""
-"The subjective page load time will be longer but the page will be ready when"
-" displayed"
-msgstr "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo"
+#: ../../addon/openid/MysqlProvider.php:65
+msgid "Profile Photo 80px"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:203
-msgid "Enable user zoom on mobile devices"
-msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
+#: ../../addon/openid/MysqlProvider.php:66
+msgid "Profile Photo 128px"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:204
-msgid "Update browser every xx seconds"
-msgstr "Aggiorna il browser ogni x secondi"
+#: ../../addon/openid/MysqlProvider.php:67
+msgid "Timezone"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:204
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimo 10 secondi, nessun limite massimo"
+#: ../../addon/openid/MysqlProvider.php:70
+msgid "Birth Year"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:205
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
+#: ../../addon/openid/MysqlProvider.php:71
+msgid "Birth Month"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:205
-msgid "Maximum of 100 items"
-msgstr "Massimo 100"
+#: ../../addon/openid/MysqlProvider.php:72
+msgid "Birth Day"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:206
-msgid "Show emoticons (smilies) as images"
-msgstr "Mostra le faccine (smilies) come immagini"
+#: ../../addon/openid/MysqlProvider.php:73
+msgid "Birthdate"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:207
-msgid "Link post titles to source"
-msgstr "Il link del titolo di un post porta al sito originale"
+#: ../../addon/openid/Mod_Openid.php:30
+msgid "OpenID protocol error. No ID returned."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:208
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Modifica i layout di sistema (avanzato)"
+#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:290
+msgid "Login failed."
+msgstr "Accesso fallito."
-#: ../../Zotlabs/Module/Settings/Display.php:211
-msgid "Use blog/list mode on channel page"
-msgstr "Mostra il canale nella modalità blog"
+#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:49
+#: ../../include/selectors.php:66 ../../include/channel.php:1481
+msgid "Male"
+msgstr "Maschio"
-#: ../../Zotlabs/Module/Settings/Display.php:211
-#: ../../Zotlabs/Module/Settings/Display.php:212
-msgid "(comments displayed separately)"
-msgstr "(i commenti sono mostrati separatamente)"
+#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:49
+#: ../../include/selectors.php:66 ../../include/channel.php:1479
+msgid "Female"
+msgstr "Femmina"
-#: ../../Zotlabs/Module/Settings/Display.php:212
-msgid "Use blog/list mode on grid page"
-msgstr "Mostra la tua rete in modalità blog"
+#: ../../addon/randpost/randpost.php:97
+msgid "You're welcome."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:213
-msgid "Channel page max height of content (in pixels)"
-msgstr "Altezza massima dei contenuti del canale (in pixel)"
+#: ../../addon/randpost/randpost.php:98
+msgid "Ah shucks..."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:213
-#: ../../Zotlabs/Module/Settings/Display.php:214
-msgid "click to expand content exceeding this height"
-msgstr "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori"
+#: ../../addon/randpost/randpost.php:99
+msgid "Don't mention it."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Display.php:214
-msgid "Grid page max height of content (in pixels)"
-msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
+#: ../../addon/randpost/randpost.php:100
+msgid "&lt;blush&gt;"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Featured.php:24
-msgid "No feature settings configured"
-msgstr "Non hai componenti aggiuntivi da personalizzare"
+#: ../../addon/startpage/startpage.php:109
+msgid "Page to load after login"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Featured.php:31
-msgid "Feature/Addon Settings"
-msgstr "Impostazioni dei componenti aggiuntivi"
+#: ../../addon/startpage/startpage.php:109
+msgid ""
+"Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy "
+"collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave "
+"blank for default network page (grid)."
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Features.php:45
-msgid "Additional Features"
-msgstr "Funzionalità opzionali"
+#: ../../addon/startpage/startpage.php:113
+msgid "Startpage Settings"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:34
-msgid "Name is required"
-msgstr "Il nome è obbligatorio"
+#: ../../addon/morepokes/morepokes.php:19
+msgid "bitchslap"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:38
-msgid "Key and Secret are required"
-msgstr "Key e Secret sono richiesti"
+#: ../../addon/morepokes/morepokes.php:19
+msgid "bitchslapped"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:86
-#: ../../Zotlabs/Module/Settings/Oauth.php:112
-#: ../../Zotlabs/Module/Settings/Oauth.php:148
-msgid "Add application"
-msgstr "Aggiungi una app"
+#: ../../addon/morepokes/morepokes.php:20
+msgid "shag"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:89
-msgid "Name of application"
-msgstr "Nome dell'applicazione"
+#: ../../addon/morepokes/morepokes.php:20
+msgid "shagged"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:90
-#: ../../Zotlabs/Module/Settings/Oauth.php:116
-msgid "Consumer Key"
-msgstr "Consumer Key"
+#: ../../addon/morepokes/morepokes.php:21
+msgid "patent"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:90
-#: ../../Zotlabs/Module/Settings/Oauth.php:91
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
+#: ../../addon/morepokes/morepokes.php:21
+msgid "patented"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:91
-#: ../../Zotlabs/Module/Settings/Oauth.php:117
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
+#: ../../addon/morepokes/morepokes.php:22
+msgid "hug"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:92
-#: ../../Zotlabs/Module/Settings/Oauth.php:118
-msgid "Redirect"
-msgstr "Redirect"
+#: ../../addon/morepokes/morepokes.php:22
+msgid "hugged"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:92
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione"
+#: ../../addon/morepokes/morepokes.php:23
+msgid "murder"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:93
-#: ../../Zotlabs/Module/Settings/Oauth.php:119
-msgid "Icon url"
-msgstr "Url icona"
+#: ../../addon/morepokes/morepokes.php:23
+msgid "murdered"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:104
-msgid "Application not found."
-msgstr "Applicazione non trovata."
+#: ../../addon/morepokes/morepokes.php:24
+msgid "worship"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:147
-msgid "Connected Apps"
-msgstr "App connesse"
+#: ../../addon/morepokes/morepokes.php:24
+msgid "worshipped"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:151
-msgid "Client key starts with"
-msgstr "La client key inizia con"
+#: ../../addon/morepokes/morepokes.php:25
+msgid "kiss"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:152
-msgid "No name"
-msgstr "Nessun nome"
+#: ../../addon/morepokes/morepokes.php:25
+msgid "kissed"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Oauth.php:153
-msgid "Remove authorization"
-msgstr "Revoca l'autorizzazione"
+#: ../../addon/morepokes/morepokes.php:26
+msgid "tempt"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:31
-#, php-format
-msgid "This channel is limited to %d tokens"
-msgstr "Questo canale è limitato a %d token"
+#: ../../addon/morepokes/morepokes.php:26
+msgid "tempted"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:37
-msgid "Name and Password are required."
-msgstr "Nome e password sono obbligatori."
+#: ../../addon/morepokes/morepokes.php:27
+msgid "raise eyebrows at"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:77
-msgid "Token saved."
-msgstr "Token salvato."
+#: ../../addon/morepokes/morepokes.php:27
+msgid "raised their eyebrows at"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:113
-msgid ""
-"Use this form to create temporary access identifiers to share things with "
-"non-members. These identities may be used in Access Control Lists and "
-"visitors may login using these credentials to access private content."
-msgstr "Usa questo modulo per creare credenziali temporanee per condividere qualcosa con i non iscritti. A queste credenziali potrai dare o togliere diritti come a tutti gli altri utenti e i visitatori potranno usarle per accedere a contenuti privati."
+#: ../../addon/morepokes/morepokes.php:28
+msgid "insult"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:115
-msgid ""
-"You may also provide <em>dropbox</em> style access links to friends and "
-"associates by adding the Login Password to any specific site URL as shown. "
-"Examples:"
-msgstr "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:"
+#: ../../addon/morepokes/morepokes.php:28
+msgid "insulted"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:150 ../../include/widgets.php:647
-msgid "Guest Access Tokens"
-msgstr "Token di accesso ospite"
+#: ../../addon/morepokes/morepokes.php:29
+msgid "praise"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:157
-msgid "Login Name"
-msgstr "Nome utente"
+#: ../../addon/morepokes/morepokes.php:29
+msgid "praised"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:158
-msgid "Login Password"
-msgstr "Password"
+#: ../../addon/morepokes/morepokes.php:30
+msgid "be dubious of"
+msgstr ""
-#: ../../Zotlabs/Module/Settings/Tokens.php:159
-msgid "Expires (yyyy-mm-dd)"
-msgstr "Con scadenza (aaaa-mm-gg)"
+#: ../../addon/morepokes/morepokes.php:30
+msgid "was dubious of"
+msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:27
-msgid "Missing room name"
-msgstr "Chat senza nome"
+#: ../../addon/morepokes/morepokes.php:31
+msgid "eat"
+msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:36
-msgid "Duplicate room name"
-msgstr "Il nome della chat è duplicato"
+#: ../../addon/morepokes/morepokes.php:31
+msgid "ate"
+msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:86 ../../Zotlabs/Lib/Chatroom.php:94
-msgid "Invalid room specifier."
-msgstr "Il nome della chat non è valido."
+#: ../../addon/morepokes/morepokes.php:32
+msgid "giggle and fawn at"
+msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:126
-msgid "Room not found."
-msgstr "Chat non trovata."
+#: ../../addon/morepokes/morepokes.php:32
+msgid "giggled and fawned at"
+msgstr ""
-#: ../../Zotlabs/Lib/Chatroom.php:147
-msgid "Room is full"
-msgstr "La chat è al completo"
+#: ../../addon/morepokes/morepokes.php:33
+msgid "doubt"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1889
-msgid "$Projectname Notification"
-msgstr "Notifica $Projectname"
+#: ../../addon/morepokes/morepokes.php:33
+msgid "doubted"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1890
-msgid "$projectname"
-msgstr "$projectname"
+#: ../../addon/morepokes/morepokes.php:34
+msgid "glare"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1892
-msgid "Thank You,"
-msgstr "Grazie,"
+#: ../../addon/morepokes/morepokes.php:34
+msgid "glared at"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1894
-#, php-format
-msgid "%s Administrator"
-msgstr "L'amministratore di %s"
+#: ../../addon/morepokes/morepokes.php:35
+msgid "fuck"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:103
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: ../../addon/morepokes/morepokes.php:35
+msgid "fucked"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:107
-#, php-format
-msgid "[$Projectname:Notify] New mail received at %s"
-msgstr "[$Projectname:Notifica] Nuovo messaggio su %s"
+#: ../../addon/morepokes/morepokes.php:36
+msgid "bonk"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:109
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s ti ha mandato un messaggio privato su %3$s."
+#: ../../addon/morepokes/morepokes.php:36
+msgid "bonked"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:110
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s ti ha mandato %2$s."
+#: ../../addon/morepokes/morepokes.php:37
+msgid "declare undying love for"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:110
-msgid "a private message"
-msgstr "un messaggio privato"
+#: ../../addon/morepokes/morepokes.php:37
+msgid "declared undying love for"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:111
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
+#: ../../addon/diaspora/diaspora.php:778
+msgid "Diaspora Protocol Settings updated."
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:170
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s[/zrl]"
+#: ../../addon/diaspora/diaspora.php:797
+msgid ""
+"The Diaspora protocol does not support location independence. Connections "
+"you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:178
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%5$s di %4$s[/zrl]"
+#: ../../addon/diaspora/diaspora.php:800
+msgid "Enable the Diaspora protocol for this channel"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:187
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s che hai creato[/zrl]"
+#: ../../addon/diaspora/diaspora.php:804
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:198
-#, php-format
-msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[$Projectname:Notifica] Nuovo commento di %2$s alla conversazione #%1$d"
+#: ../../addon/diaspora/diaspora.php:808
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:199
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s ha commentato un elemento che stavi seguendo."
+#: ../../addon/diaspora/diaspora.php:812
+msgid ""
+"Sign and forward posts and comments with no existing Diaspora signature"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:202 ../../Zotlabs/Lib/Enotify.php:217
-#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:261
-#: ../../Zotlabs/Lib/Enotify.php:275
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Visita %s per leggere o commentare la conversazione."
+#: ../../addon/diaspora/diaspora.php:817
+msgid "Followed hashtags (comma separated, do not include the #)"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:208
-#, php-format
-msgid "[$Projectname:Notify] %s posted to your profile wall"
-msgstr "[$Projectname:Notifica] %s ha scritto sulla tua bacheca"
+#: ../../addon/diaspora/diaspora.php:822
+msgid "Diaspora Protocol Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:210
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s ha scritto sulla bacheca del tuo profilo su %3$s"
+#: ../../addon/diaspora/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:212
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
+#: ../../addon/diaspora/import_diaspora.php:41 ../../include/import.php:62
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
-#: ../../Zotlabs/Lib/Enotify.php:236
+#: ../../addon/testdrive/testdrive.php:104
#, php-format
-msgid "[$Projectname:Notify] %s tagged you"
-msgstr "[$Projectname:Notifica] %s ti ha taggato"
+msgid "Your account on %s will expire in a few days."
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:237
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s ti ha taggato su %3$s"
+#: ../../addon/testdrive/testdrive.php:105
+msgid "Your $Productname test account is about to expire."
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:238
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
+#: ../../addon/rainbowtag/rainbowtag.php:81
+msgid "Enable Rainbowtag"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:250
-#, php-format
-msgid "[$Projectname:Notify] %1$s poked you"
-msgstr "[$Projectname:Notifica] %1$s ti ha mandato un poke"
+#: ../../addon/rainbowtag/rainbowtag.php:85
+msgid "Rainbowtag Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:251
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s ti ha mandato un poke su %3$s"
+#: ../../addon/rainbowtag/rainbowtag.php:101
+msgid "Rainbowtag Settings saved."
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:252
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
+#: ../../addon/upload_limits/upload_limits.php:25
+msgid "Show Upload Limits"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:268
-#, php-format
-msgid "[$Projectname:Notify] %s tagged your post"
-msgstr "[$Projectname:Notifica] %s ha taggato il tuo post"
+#: ../../addon/upload_limits/upload_limits.php:27
+msgid "Hubzilla configured maximum size: "
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:269
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
+#: ../../addon/upload_limits/upload_limits.php:28
+msgid "PHP upload_max_filesize: "
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:270
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
+#: ../../addon/upload_limits/upload_limits.php:29
+msgid "PHP post_max_size (must be larger than upload_max_filesize): "
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:282
-msgid "[$Projectname:Notify] Introduction received"
-msgstr "[$Projectname:Notifica] Hai una richiesta di amicizia"
+#: ../../addon/gravatar/gravatar.php:123
+msgid "generic profile image"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:283
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, hai ricevuto una richiesta di entrare in contatto da '%2$s' su %3$s"
+#: ../../addon/gravatar/gravatar.php:124
+msgid "random geometric pattern"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:284
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, hai ricevuto una [zrl=%2$s]richiesta di entrare in contatto[/zrl] da %3$s."
+#: ../../addon/gravatar/gravatar.php:125
+msgid "monster face"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:288 ../../Zotlabs/Lib/Enotify.php:307
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Puoi visitare il suo profilo su %s"
+#: ../../addon/gravatar/gravatar.php:126
+msgid "computer generated face"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:290
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto."
+#: ../../addon/gravatar/gravatar.php:127
+msgid "retro arcade style face"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:297
-msgid "[$Projectname:Notify] Friend suggestion received"
-msgstr "[$Projectname:Notifica] Ti è stato suggerito un amico"
+#: ../../addon/gravatar/gravatar.php:128
+msgid "Hub default profile photo"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:298
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, ti è stato suggerito un amico da '%2$s' su %3$s"
+#: ../../addon/gravatar/gravatar.php:143
+msgid "Information"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:299
-#, php-format
+#: ../../addon/gravatar/gravatar.php:143
msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, %4$s ti [zrl=%2$s]ha suggerito %3$s[/zrl] come amico."
+"Libravatar addon is installed, too. Please disable Libravatar addon or this "
+"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if "
+"nothing was found at Libravatar."
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:305
-msgid "Name:"
-msgstr "Nome:"
+#: ../../addon/gravatar/gravatar.php:150
+#: ../../addon/msgfooter/msgfooter.php:46 ../../addon/xmpp/xmpp.php:91
+msgid "Save Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:306
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../addon/gravatar/gravatar.php:151
+msgid "Default avatar image"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:309
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Visita %s per approvare o rifiutare il suggerimento."
+#: ../../addon/gravatar/gravatar.php:151
+msgid "Select default avatar image if none was found at Gravatar. See README"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:527
-msgid "[$Projectname:Notify]"
-msgstr "[$Projectname:Notifica]"
+#: ../../addon/gravatar/gravatar.php:152
+msgid "Rating of images"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:687
-msgid "created a new post"
-msgstr "Ha creato un nuovo post"
+#: ../../addon/gravatar/gravatar.php:152
+msgid "Select the appropriate avatar rating for your site. See README"
+msgstr ""
+
+#: ../../addon/gravatar/gravatar.php:165
+msgid "Gravatar settings updated."
+msgstr ""
+
+#: ../../addon/hzfiles/hzfiles.php:79
+msgid "Hubzilla File Storage Import"
+msgstr ""
+
+#: ../../addon/hzfiles/hzfiles.php:80
+msgid "This will import all your cloud files from another server."
+msgstr ""
+
+#: ../../addon/hzfiles/hzfiles.php:81
+msgid "Hubzilla Server base URL"
+msgstr ""
+
+#: ../../addon/hzfiles/hzfiles.php:82
+msgid "Since modified date yyyy-mm-dd"
+msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:688
+#: ../../addon/hzfiles/hzfiles.php:83
+msgid "Until modified date yyyy-mm-dd"
+msgstr ""
+
+#: ../../addon/visage/visage.php:93
+msgid "Recent Channel/Profile Viewers"
+msgstr ""
+
+#: ../../addon/visage/visage.php:98
+msgid "This plugin/addon has not been configured."
+msgstr ""
+
+#: ../../addon/visage/visage.php:99
#, php-format
-msgid "commented on %s's post"
-msgstr "ha commentato il post di %s"
+msgid "Please visit the Visage settings on %s"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
-msgid "Private Message"
-msgstr "Messaggio privato"
+#: ../../addon/visage/visage.php:99
+msgid "your feature settings page"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:132 ../../include/conversation.php:659
-msgid "Select"
-msgstr "Scegli"
+#: ../../addon/visage/visage.php:112
+msgid "No entries."
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:136
-msgid "Save to Folder"
-msgstr "Salva nella cartella"
+#: ../../addon/visage/visage.php:166
+msgid "Enable Visage Visitor Logging"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I will attend"
-msgstr "Parteciperò"
+#: ../../addon/visage/visage.php:170
+msgid "Visage Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I will not attend"
-msgstr "Non parteciperò"
+#: ../../addon/nsabait/nsabait.php:125
+msgid "Nsabait Settings updated."
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:157
-msgid "I might attend"
-msgstr "Forse parteciperò"
+#: ../../addon/nsabait/nsabait.php:157
+msgid "Enable NSAbait Plugin"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:167
-msgid "I agree"
-msgstr "Sono d'accordo"
+#: ../../addon/nsabait/nsabait.php:161
+msgid "NSAbait Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:167
-msgid "I disagree"
-msgstr "Non sono d'accordo"
+#: ../../addon/mailtest/mailtest.php:19
+msgid "Send test email"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:167
-msgid "I abstain"
-msgstr "Mi astengo"
+#: ../../addon/mailtest/mailtest.php:50 ../../addon/hubwall/hubwall.php:50
+msgid "No recipients found."
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:223
-msgid "Add Star"
-msgstr "Aggiungi ai preferiti"
+#: ../../addon/mailtest/mailtest.php:66
+msgid "Mail sent."
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:224
-msgid "Remove Star"
-msgstr "Rimuovi dai preferiti"
+#: ../../addon/mailtest/mailtest.php:68
+msgid "Sending of mail failed."
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:225
-msgid "Toggle Star Status"
-msgstr "Attiva/disattiva preferito"
+#: ../../addon/mailtest/mailtest.php:77
+msgid "Mail Test"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:229
-msgid "starred"
-msgstr "preferito"
+#: ../../addon/mailtest/mailtest.php:96 ../../addon/hubwall/hubwall.php:92
+msgid "Message subject"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:674
-msgid "Message signature validated"
-msgstr "Messaggio con firma verificata"
+#: ../../addon/mdpost/mdpost.php:41
+msgid "Use markdown for editing posts"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:675
-msgid "Message signature incorrect"
-msgstr "Massaggio con firma non corretta"
+#: ../../addon/openstreetmap/openstreetmap.php:146
+msgid "View Larger"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:248
-msgid "Add Tag"
-msgstr "Aggiungi un tag"
+#: ../../addon/openstreetmap/openstreetmap.php:169
+msgid "Tile Server URL"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:268 ../../include/taxonomy.php:316
-msgid "like"
-msgstr "mi piace"
+#: ../../addon/openstreetmap/openstreetmap.php:169
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" "
+"target=\"_blank\">public tile servers</a>"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:269 ../../include/taxonomy.php:317
-msgid "dislike"
-msgstr "non mi piace"
+#: ../../addon/openstreetmap/openstreetmap.php:170
+msgid "Nominatim (reverse geocoding) Server URL"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:273
-msgid "Share This"
-msgstr "Condividi"
+#: ../../addon/openstreetmap/openstreetmap.php:170
+msgid ""
+"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" "
+"target=\"_blank\">Nominatim servers</a>"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:273
-msgid "share"
-msgstr "condividi"
+#: ../../addon/openstreetmap/openstreetmap.php:171
+msgid "Default zoom"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:282
-msgid "Delivery Report"
-msgstr "Rapporto di trasmissione"
+#: ../../addon/openstreetmap/openstreetmap.php:171
+msgid ""
+"The default zoom level. (1:world, 18:highest, also depends on tile server)"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:300
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commento"
-msgstr[1] "%d commenti"
+#: ../../addon/openstreetmap/openstreetmap.php:172
+msgid "Include marker on map"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Lib/ThreadItem.php:330
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Guarda il profilo di %s - %s"
+#: ../../addon/openstreetmap/openstreetmap.php:172
+msgid "Include a marker on the map."
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:333
-msgid "to"
-msgstr "a"
+#: ../../addon/msgfooter/msgfooter.php:47
+msgid "text to include in all outgoing posts from this site"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:334
-msgid "via"
-msgstr "via"
+#: ../../addon/rtof/rtof.php:45
+msgid "Post to Friendica"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:335
-msgid "Wall-to-Wall"
-msgstr "Da bacheca a bacheca"
+#: ../../addon/rtof/rtof.php:62
+msgid "rtof Settings saved."
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:336
-msgid "via Wall-To-Wall:"
-msgstr "da bacheca a bacheca:"
+#: ../../addon/rtof/rtof.php:81
+msgid "Allow posting to Friendica"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:348 ../../include/conversation.php:720
-#, php-format
-msgid "from %s"
-msgstr "da %s"
+#: ../../addon/rtof/rtof.php:85
+msgid "Send public postings to Friendica by default"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:351 ../../include/conversation.php:723
-#, php-format
-msgid "last edited: %s"
-msgstr "ultima modifica: %s"
+#: ../../addon/rtof/rtof.php:89
+msgid "Friendica API Path"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:352 ../../include/conversation.php:724
-#, php-format
-msgid "Expires: %s"
-msgstr "Scadenza: %s"
+#: ../../addon/rtof/rtof.php:89 ../../addon/redred/redred.php:103
+msgid "https://{sitename}/api"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:377
-msgid "Save Bookmarks"
-msgstr "Salva segnalibro"
+#: ../../addon/rtof/rtof.php:93
+msgid "Friendica login name"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:378
-msgid "Add to Calendar"
-msgstr "Aggiungi al calendario"
+#: ../../addon/rtof/rtof.php:97
+msgid "Friendica password"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:387
-msgid "Mark all seen"
-msgstr "Marca tutto come letto"
+#: ../../addon/rtof/rtof.php:101
+msgid "Hubzilla to Friendica Post Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:436 ../../include/js_strings.php:7
-#, php-format
-msgid "%s show all"
-msgstr "%s mostra tutto"
+#: ../../addon/jappixmini/jappixmini.php:305 ../../include/channel.php:1397
+#: ../../include/channel.php:1568
+msgid "Status:"
+msgstr "Stato:"
-#: ../../Zotlabs/Lib/ThreadItem.php:726 ../../include/conversation.php:1239
-msgid "Bold"
-msgstr "Grassetto"
+#: ../../addon/jappixmini/jappixmini.php:309
+msgid "Activate addon"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:727 ../../include/conversation.php:1240
-msgid "Italic"
-msgstr "Corsivo"
+#: ../../addon/jappixmini/jappixmini.php:313
+msgid "Hide Jappixmini Chat-Widget from the webinterface"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:728 ../../include/conversation.php:1241
-msgid "Underline"
-msgstr "Sottolineato"
+#: ../../addon/jappixmini/jappixmini.php:318
+msgid "Jabber username"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:729 ../../include/conversation.php:1242
-msgid "Quote"
-msgstr "Citazione"
+#: ../../addon/jappixmini/jappixmini.php:324
+msgid "Jabber server"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/conversation.php:1243
-msgid "Code"
-msgstr "Codice"
+#: ../../addon/jappixmini/jappixmini.php:330
+msgid "Jabber BOSH host URL"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:731
-msgid "Image"
-msgstr "Immagine"
+#: ../../addon/jappixmini/jappixmini.php:337
+msgid "Jabber password"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:732
-msgid "Insert Link"
-msgstr "Collegamento"
+#: ../../addon/jappixmini/jappixmini.php:343
+msgid "Encrypt Jabber password with Hubzilla password"
+msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:733
-msgid "Video"
-msgstr "Video"
+#: ../../addon/jappixmini/jappixmini.php:347 ../../addon/redred/redred.php:115
+msgid "Hubzilla password"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:124
-msgid "Visible to your default audience"
-msgstr "Visibile secondo le impostazioni predefinite"
+#: ../../addon/jappixmini/jappixmini.php:351
+#: ../../addon/jappixmini/jappixmini.php:355
+msgid "Approve subscription requests from Hubzilla contacts automatically"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:106
-#: ../../include/acl_selectors.php:165
-msgid "Only me"
-msgstr "Solo io"
+#: ../../addon/jappixmini/jappixmini.php:359
+msgid "Purge internal list of jabber addresses of contacts"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:107
-msgid "Public"
-msgstr "Pubblico"
+#: ../../addon/jappixmini/jappixmini.php:364
+msgid "Configuration Help"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:108
-msgid "Anybody in the $Projectname network"
-msgstr "Tutti sulla rete $Projectname"
+#: ../../addon/jappixmini/jappixmini.php:371
+msgid "Jappix Mini Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:109
-#, php-format
-msgid "Any account on %s"
-msgstr "Tutti gli account su %s"
+#: ../../addon/superblock/superblock.php:112
+msgid "Currently blocked"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:110
-msgid "Any of my connections"
-msgstr "Chiunque tra i miei contatti"
+#: ../../addon/superblock/superblock.php:114
+msgid "No channels currently blocked"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:111
-msgid "Only connections I specifically allow"
-msgstr "Solo chi riceve il mio permesso"
+#: ../../addon/superblock/superblock.php:120
+msgid "\"Superblock\" Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:112
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Chiunque sia autenticato (inclusi visitatori di altre reti)"
+#: ../../addon/superblock/superblock.php:345
+msgid "Block Completely"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:113
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Tutti i contatti inclusi quelli non ancora approvati"
+#: ../../addon/superblock/superblock.php:394
+msgid "superblock settings updated"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:152
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Impostazione predefinita di chi può vedere ciò che pubblichi in bacheca"
+#: ../../addon/nofed/nofed.php:42
+msgid "Federate"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:153
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Impostazione predefinita di chi può vedere il profilo standard del tuo canale"
+#: ../../addon/nofed/nofed.php:56
+msgid "nofed Settings saved."
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:154
-msgid "This is your default setting for who can view your connections"
-msgstr "Impostazione predefinita di chi può vedere i tuoi contatti/amici"
+#: ../../addon/nofed/nofed.php:72
+msgid "Allow Federation Toggle"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:155
-msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Impostazione predefinita di chi può vedere le foto e il tuo archivio file"
+#: ../../addon/nofed/nofed.php:76
+msgid "Federate posts by default"
+msgstr ""
-#: ../../Zotlabs/Lib/PermissionDescription.php:156
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Impostazione predefinita di chi può vedere le tue pagine web"
+#: ../../addon/nofed/nofed.php:80
+msgid "NoFed Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:205
-msgid "Site Admin"
-msgstr "Amministrazione sito"
+#: ../../addon/redred/redred.php:45
+msgid "Post to Red"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:206
-msgid "Bug Report"
-msgstr "Bug Report"
+#: ../../addon/redred/redred.php:60
+msgid "Channel is required."
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:207
-msgid "View Bookmarks"
-msgstr "Vedi i segnalibri"
+#: ../../addon/redred/redred.php:76
+msgid "redred Settings saved."
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:208
-msgid "My Chatrooms"
-msgstr "Le mie aree chat"
+#: ../../addon/redred/redred.php:95
+msgid "Allow posting to another Hubzilla Channel"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:210
-msgid "Firefox Share"
-msgstr "Firefox Share"
+#: ../../addon/redred/redred.php:99
+msgid "Send public postings to Hubzilla channel by default"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:211
-msgid "Remote Diagnostics"
-msgstr "Diagnostica remota"
+#: ../../addon/redred/redred.php:103
+msgid "Hubzilla API Path"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:319
-msgid "Suggest Channels"
-msgstr "Suggerisci canali"
+#: ../../addon/redred/redred.php:107
+msgid "Hubzilla login name"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:115
-#: ../../boot.php:1739
-msgid "Login"
-msgstr "Accedi"
+#: ../../addon/redred/redred.php:111
+msgid "Hubzilla channel name"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:184
-msgid "Grid"
-msgstr "Rete"
+#: ../../addon/redred/redred.php:119
+msgid "Hubzilla Crosspost Settings"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:187
-msgid "Channel Home"
-msgstr "Bacheca del canale"
+#: ../../addon/logrot/logrot.php:36
+msgid "Logfile archive directory"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:206
-#: ../../include/conversation.php:1689 ../../include/conversation.php:1692
-msgid "Events"
-msgstr "Eventi"
+#: ../../addon/logrot/logrot.php:36
+msgid "Directory to store rotated logs"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:172
-msgid "Directory"
-msgstr "Elenchi pubblici dei canali"
+#: ../../addon/logrot/logrot.php:37
+msgid "Logfile size in bytes before rotating"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:198
-msgid "Mail"
-msgstr "Messaggi"
+#: ../../addon/logrot/logrot.php:38
+msgid "Number of logfiles to retain"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:99
-msgid "Chat"
-msgstr "Chat"
+#: ../../addon/frphotos/frphotos.php:91
+msgid "Friendica Photo Album Import"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:231
-msgid "Probe"
-msgstr "Diagnostica"
+#: ../../addon/frphotos/frphotos.php:92
+msgid "This will import all your Friendica photo albums to this Red channel."
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:232
-msgid "Suggest"
-msgstr "Suggerisci"
+#: ../../addon/frphotos/frphotos.php:93
+msgid "Friendica Server base URL"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:233
-msgid "Random Channel"
-msgstr "Canale casuale"
+#: ../../addon/frphotos/frphotos.php:94
+msgid "Friendica Login Username"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:234
-msgid "Invite"
-msgstr "Invita"
+#: ../../addon/frphotos/frphotos.php:95
+msgid "Friendica Login Password"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1564
-msgid "Features"
-msgstr "Funzionalità"
+#: ../../addon/pubcrawl/as.php:1101 ../../addon/pubcrawl/as.php:1228
+#: ../../addon/pubcrawl/as.php:1403 ../../include/network.php:1774
+msgid "ActivityPub"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:236
-msgid "Language"
-msgstr "Lingua"
+#: ../../addon/pubcrawl/pubcrawl.php:1034
+msgid "ActivityPub Protocol Settings updated."
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:237
-msgid "Post"
-msgstr "Post"
+#: ../../addon/pubcrawl/pubcrawl.php:1043
+msgid ""
+"The ActivityPub protocol does not support location independence. Connections"
+" you make within that network may be unreachable from alternate channel "
+"locations."
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:238
-msgid "Profile Photo"
-msgstr "Foto del profilo"
+#: ../../addon/pubcrawl/pubcrawl.php:1046
+msgid "Enable the ActivityPub protocol for this channel"
+msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:339
-msgid "Purchase"
-msgstr "Acquista"
+#: ../../addon/pubcrawl/pubcrawl.php:1049
+msgid "Send multi-media HTML articles"
+msgstr ""
-#: ../../include/Import/import_diaspora.php:16
-msgid "No username found in import file."
-msgstr "Impossibile trovare il nome utente nel file da importare."
+#: ../../addon/pubcrawl/pubcrawl.php:1049
+msgid "Not supported by some microblog services such as Mastodon"
+msgstr ""
-#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:51
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
+#: ../../addon/pubcrawl/pubcrawl.php:1053
+msgid "ActivityPub Protocol Settings"
+msgstr ""
-#: ../../include/dba/dba_driver.php:173
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Non trovo le informazioni DNS per il database server '%s'"
+#: ../../addon/donate/donate.php:21
+msgid "Project Servers and Resources"
+msgstr ""
-#: ../../include/permissions.php:35
-msgid "Can view my normal stream and posts"
-msgstr "Può vedere i miei contenuti e i post normali"
+#: ../../addon/donate/donate.php:22
+msgid "Project Creator and Tech Lead"
+msgstr ""
-#: ../../include/permissions.php:39
-msgid "Can view my webpages"
-msgstr "Può vedere le mie pagine web"
+#: ../../addon/donate/donate.php:23
+msgid "Admin, developer, directorymin, support bloke"
+msgstr ""
+
+#: ../../addon/donate/donate.php:50
+msgid ""
+"And the hundreds of other people and organisations who helped make the "
+"Hubzilla possible."
+msgstr ""
+
+#: ../../addon/donate/donate.php:53
+msgid ""
+"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving "
+"their time and expertise - and often paying out of pocket for services they "
+"share with others."
+msgstr ""
-#: ../../include/permissions.php:43
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Può scrivere sulla bacheca del mio canale"
+#: ../../addon/donate/donate.php:54
+msgid ""
+"There is no corporate funding and no ads, and we do not collect and sell "
+"your personal information. (We don't control your personal information - "
+"<strong>you do</strong>.)"
+msgstr ""
-#: ../../include/permissions.php:46
-msgid "Can like/dislike stuff"
-msgstr "Può aggiungere \"mi piace\" a tutto il resto"
+#: ../../addon/donate/donate.php:55
+msgid ""
+"Help support our ground-breaking work in decentralisation, web identity, and"
+" privacy."
+msgstr ""
-#: ../../include/permissions.php:46
-msgid "Profiles and things other than posts/comments"
-msgstr "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo"
+#: ../../addon/donate/donate.php:57
+msgid ""
+"Your donations keep servers and services running and also helps us to "
+"provide innovative new features and continued development."
+msgstr ""
-#: ../../include/permissions.php:48
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
+#: ../../addon/donate/donate.php:60
+msgid "Donate"
+msgstr ""
-#: ../../include/permissions.php:48
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
+#: ../../addon/donate/donate.php:62
+msgid ""
+"Choose a project, developer, or public hub to support with a one-time "
+"donation"
+msgstr ""
-#: ../../include/permissions.php:49
-msgid "Can chat with me (when available)"
-msgstr "Può aprire una chat con me (se disponibile)"
+#: ../../addon/donate/donate.php:63
+msgid "Donate Now"
+msgstr ""
-#: ../../include/permissions.php:50
-msgid "Can write to my file storage and photos"
-msgstr "Può modificare il mio archivio file e foto"
+#: ../../addon/donate/donate.php:64
+msgid ""
+"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project "
+"only)"
+msgstr ""
-#: ../../include/permissions.php:51
-msgid "Can edit my webpages"
-msgstr "Può modificare le mie pagine web"
+#: ../../addon/donate/donate.php:65
+msgid ""
+"Please indicate if you would like your first name or full name (or nothing) "
+"to appear in our sponsor listing"
+msgstr ""
-#: ../../include/permissions.php:53
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
+#: ../../addon/donate/donate.php:66
+msgid "Sponsor"
+msgstr ""
-#: ../../include/permissions.php:55
-msgid "Can administer my channel resources"
-msgstr "Può amministrare i contenuti del mio canale"
+#: ../../addon/donate/donate.php:69
+msgid "Special thanks to: "
+msgstr ""
-#: ../../include/permissions.php:55
+#: ../../addon/chords/Mod_Chords.php:44
msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
+"This is a fairly comprehensive and complete guitar chord dictionary which "
+"will list most of the available ways to play a certain chord, starting from "
+"the base of the fingerboard up to a few frets beyond the twelfth fret "
+"(beyond which everything repeats). A couple of non-standard tunings are "
+"provided for the benefit of slide players, etc."
+msgstr "Questo è un dizionario piuttosto esteso e completo di accordi per chitarra che elenca quasi i tutti i modi possibili di suonare un certo accordo a partire dal tasto iniziale fino a circa il dodicesimo (dopo di cui si ripete tutto). Sono previste anche un paio di accordature non standard a beneficio di chi le usa."
-#: ../../include/photos.php:114
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "L'immagine supera il limite massimo di %lu bytes"
+#: ../../addon/chords/Mod_Chords.php:46
+msgid ""
+"Chord names start with a root note (A-G) and may include sharps (#) and "
+"flats (b). This software will parse most of the standard naming conventions "
+"such as maj, min, dim, sus(2 or 4), aug, with optional repeating elements."
+msgstr "I nomi degli accordi iniziano con la nota fondamentale (A-G) e possono includere diesis (#) e bemolle (b). Questo software gestisce gran parte delle notazioni convenzionali come maj, min, dim, sus(2 o 4), aug."
-#: ../../include/photos.php:121
-msgid "Image file is empty."
-msgstr "Il file dell'immagine è vuoto."
+#: ../../addon/chords/Mod_Chords.php:48
+msgid ""
+"Valid examples include A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, "
+"E7b13b11 ..."
+msgstr "Esempi validi includono A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, E7b13b11 ..."
-#: ../../include/photos.php:259
-msgid "Photo storage failed."
-msgstr "Impossibile salvare la foto."
+#: ../../addon/chords/Mod_Chords.php:51
+msgid "Guitar Chords"
+msgstr "Accordi per chitarra"
-#: ../../include/photos.php:299
-msgid "a new photo"
-msgstr "una nuova foto"
+#: ../../addon/chords/Mod_Chords.php:52
+msgid "The complete online chord dictionary"
+msgstr "Il dizionario completo degli accordi online"
-#: ../../include/photos.php:303
-#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s ha pubblicato %2$s su %3$s"
+#: ../../addon/chords/Mod_Chords.php:57
+msgid "Tuning"
+msgstr "Accordatura"
-#: ../../include/photos.php:506 ../../include/conversation.php:1675
-msgid "Photo Albums"
-msgstr "Album foto"
+#: ../../addon/chords/Mod_Chords.php:58
+msgid "Chord name: example: Em7"
+msgstr "Nome accordo: per esempio Em7"
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
-msgstr "Carica nuove foto"
+#: ../../addon/chords/Mod_Chords.php:59
+msgid "Show for left handed stringing"
+msgstr "Mostra l'accordatura per mancini"
-#: ../../include/features.php:58
-msgid "General Features"
-msgstr "Funzionalità di base"
+#: ../../addon/chords/chords.php:33
+msgid "Quick Reference"
+msgstr "Riferimento veloce"
-#: ../../include/features.php:63
-msgid "Multiple Profiles"
-msgstr "Profili multipli"
+#: ../../addon/libertree/libertree.php:38
+msgid "Post to Libertree"
+msgstr ""
-#: ../../include/features.php:64
-msgid "Ability to create multiple profiles"
-msgstr "Abilitazione a creare profili multipli"
+#: ../../addon/libertree/libertree.php:69
+msgid "Enable Libertree Post Plugin"
+msgstr ""
-#: ../../include/features.php:72
-msgid "Advanced Profiles"
-msgstr "Profili avanzati"
+#: ../../addon/libertree/libertree.php:73
+msgid "Libertree API token"
+msgstr ""
-#: ../../include/features.php:73
-msgid "Additional profile sections and selections"
-msgstr "Informazioni aggiuntive del profilo"
+#: ../../addon/libertree/libertree.php:77
+msgid "Libertree site URL"
+msgstr ""
-#: ../../include/features.php:81
-msgid "Profile Import/Export"
-msgstr "Importa/esporta il profilo"
+#: ../../addon/libertree/libertree.php:81
+msgid "Post to Libertree by default"
+msgstr ""
-#: ../../include/features.php:82
-msgid "Save and load profile details across sites/channels"
-msgstr "Salva o ripristina le informazioni del profilo su siti diversi"
+#: ../../addon/libertree/libertree.php:85
+msgid "Libertree Post Settings"
+msgstr ""
-#: ../../include/features.php:90
-msgid "Web Pages"
-msgstr "Pagine web"
+#: ../../addon/libertree/libertree.php:99
+msgid "Libertree Settings saved."
+msgstr ""
-#: ../../include/features.php:91
-msgid "Provide managed web pages on your channel"
-msgstr "Attiva la creazione di pagine web sul tuo canale"
+#: ../../addon/flattrwidget/flattrwidget.php:45
+msgid "Flattr this!"
+msgstr ""
-#: ../../include/features.php:100
-msgid "Provide a wiki for your channel"
-msgstr "Fornisce una wiki per il tuo canale"
+#: ../../addon/flattrwidget/flattrwidget.php:83
+msgid "Flattr widget settings updated."
+msgstr ""
-#: ../../include/features.php:117
-msgid "Private Notes"
-msgstr "Note private"
+#: ../../addon/flattrwidget/flattrwidget.php:100
+msgid "Flattr user"
+msgstr ""
-#: ../../include/features.php:118
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
-msgstr "Abilita il riquadro per scrivere annotazioni (in chiaro)"
+#: ../../addon/flattrwidget/flattrwidget.php:104
+msgid "URL of the Thing to flattr"
+msgstr ""
-#: ../../include/features.php:126
-msgid "Navigation Channel Select"
-msgstr "Scegli il canale attivo dal menu"
+#: ../../addon/flattrwidget/flattrwidget.php:104
+msgid "If empty channel URL is used"
+msgstr ""
-#: ../../include/features.php:127
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
+#: ../../addon/flattrwidget/flattrwidget.php:108
+msgid "Title of the Thing to flattr"
+msgstr ""
-#: ../../include/features.php:135
-msgid "Photo Location"
-msgstr "Posizione geografica"
+#: ../../addon/flattrwidget/flattrwidget.php:108
+msgid "If empty \"channel name on The Hubzilla\" will be used"
+msgstr ""
-#: ../../include/features.php:136
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
+#: ../../addon/flattrwidget/flattrwidget.php:112
+msgid "Static or dynamic flattr button"
+msgstr ""
-#: ../../include/features.php:144
-msgid "Access Controlled Chatrooms"
-msgstr "Chat ad accesso riservato"
+#: ../../addon/flattrwidget/flattrwidget.php:112
+msgid "static"
+msgstr ""
-#: ../../include/features.php:145
-msgid "Provide chatrooms and chat services with access control."
-msgstr "Il servizio di chat con accesso riservato."
+#: ../../addon/flattrwidget/flattrwidget.php:112
+msgid "dynamic"
+msgstr ""
-#: ../../include/features.php:153
-msgid "Smart Birthdays"
-msgstr "Compleanni intelligenti"
+#: ../../addon/flattrwidget/flattrwidget.php:116
+msgid "Alignment of the widget"
+msgstr ""
-#: ../../include/features.php:154
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
-msgstr "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo."
+#: ../../addon/flattrwidget/flattrwidget.php:116
+msgid "left"
+msgstr ""
-#: ../../include/features.php:162
-msgid "Advanced Directory Search"
-msgstr "Ricerca avanzata sugli elenchi pubblici"
+#: ../../addon/flattrwidget/flattrwidget.php:116
+msgid "right"
+msgstr ""
-#: ../../include/features.php:163
-msgid "Allows creation of complex directory search queries"
-msgstr "Permette la creazione di ricerche complesse negli elenchi"
+#: ../../addon/flattrwidget/flattrwidget.php:120
+msgid "Enable Flattr widget"
+msgstr ""
-#: ../../include/features.php:171
-msgid "Advanced Theme and Layout Settings"
-msgstr "Impostazioni avanzate del tema e dei layout"
+#: ../../addon/flattrwidget/flattrwidget.php:124
+msgid "Flattr Widget Settings"
+msgstr ""
-#: ../../include/features.php:172
-msgid "Allows fine tuning of themes and page layouts"
-msgstr "Permette una personalizzazione accurata del tema e dei layout"
+#: ../../addon/statusnet/statusnet.php:143
+msgid "Post to GNU social"
+msgstr ""
-#: ../../include/features.php:182
-msgid "Post Composition Features"
-msgstr "Modalità di scrittura post"
+#: ../../addon/statusnet/statusnet.php:195
+msgid ""
+"Please contact your site administrator.<br />The provided API URL is not "
+"valid."
+msgstr ""
-#: ../../include/features.php:186
-msgid "Large Photos"
-msgstr "Foto grandi"
+#: ../../addon/statusnet/statusnet.php:232
+msgid "We could not contact the GNU social API with the Path you entered."
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:266
+msgid "GNU social settings updated."
+msgstr ""
-#: ../../include/features.php:187
+#: ../../addon/statusnet/statusnet.php:310
+msgid "Globally Available GNU social OAuthKeys"
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:312
msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
-msgstr "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"
+"There are preconfigured OAuth key pairs for some GNU social servers "
+"available. If you are using one of them, please use these credentials.<br "
+"/>If not feel free to connect to any other GNU social instance (see below)."
+msgstr ""
-#: ../../include/features.php:196
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
+#: ../../addon/statusnet/statusnet.php:327
+msgid "Provide your own OAuth Credentials"
+msgstr ""
-#: ../../include/features.php:204
-msgid "Even More Encryption"
-msgstr "Cifratura addizionale"
+#: ../../addon/statusnet/statusnet.php:329
+msgid ""
+"No consumer key pair for GNU social found. Register your Hubzilla Account as"
+" an desktop client on your GNU social account, copy the consumer key pair "
+"here and enter the API base root.<br />Before you register your own OAuth "
+"key pair ask the administrator if there is already a key pair for this "
+"Hubzilla installation at your favourite GNU social installation."
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:333
+msgid "OAuth Consumer Key"
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:337
+msgid "OAuth Consumer Secret"
+msgstr ""
-#: ../../include/features.php:205
+#: ../../addon/statusnet/statusnet.php:341
+msgid "Base API Path"
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:341
+msgid "Remember the trailing /"
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:345
+msgid "GNU social application name"
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:368
msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"
+"To connect to your GNU social account click the button below to get a "
+"security code from GNU social which you have to copy into the input box "
+"below and submit the form. Only your <strong>public</strong> posts will be "
+"posted to GNU social."
+msgstr ""
-#: ../../include/features.php:213
-msgid "Enable Voting Tools"
-msgstr "Permetti i post con votazione"
+#: ../../addon/statusnet/statusnet.php:370
+msgid "Log in with GNU social"
+msgstr ""
-#: ../../include/features.php:214
-msgid "Provide a class of post which others can vote on"
-msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
+#: ../../addon/statusnet/statusnet.php:373
+msgid "Copy the security code from GNU social here"
+msgstr ""
-#: ../../include/features.php:222
-msgid "Disable Comments"
-msgstr "Disabilita i commenti"
+#: ../../addon/statusnet/statusnet.php:383
+msgid "Cancel Connection Process"
+msgstr ""
-#: ../../include/features.php:223
-msgid "Provide the option to disable comments for a post"
-msgstr "Permetti di disabilitare i commenti"
+#: ../../addon/statusnet/statusnet.php:385
+msgid "Current GNU social API is"
+msgstr ""
-#: ../../include/features.php:231
-msgid "Delayed Posting"
-msgstr "Pubblicazione ritardata"
+#: ../../addon/statusnet/statusnet.php:389
+msgid "Cancel GNU social Connection"
+msgstr ""
-#: ../../include/features.php:232
-msgid "Allow posts to be published at a later date"
-msgstr "Per scegliere una data e un'ora a cui far uscire i post"
+#: ../../addon/statusnet/statusnet.php:401 ../../addon/twitter/twitter.php:233
+msgid "Currently connected to: "
+msgstr ""
-#: ../../include/features.php:240
-msgid "Content Expiration"
-msgstr "Scadenza"
+#: ../../addon/statusnet/statusnet.php:406
+msgid ""
+"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to GNU social will lead the visitor to a blank page "
+"informing the visitor that the access to your profile has been restricted."
+msgstr ""
-#: ../../include/features.php:241
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
+#: ../../addon/statusnet/statusnet.php:411
+msgid "Allow posting to GNU social"
+msgstr ""
-#: ../../include/features.php:249
-msgid "Suppress Duplicate Posts/Comments"
-msgstr "Impedisci post e commenti duplicati"
+#: ../../addon/statusnet/statusnet.php:411
+msgid ""
+"If enabled your public postings can be posted to the associated GNU-social "
+"account"
+msgstr ""
-#: ../../include/features.php:250
+#: ../../addon/statusnet/statusnet.php:415
+msgid "Post to GNU social by default"
+msgstr ""
+
+#: ../../addon/statusnet/statusnet.php:415
msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
-msgstr "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."
+"If enabled your public postings will be posted to the associated GNU-social "
+"account by default"
+msgstr ""
-#: ../../include/features.php:261
-msgid "Network and Stream Filtering"
-msgstr "Filtraggio dei contenuti"
+#: ../../addon/statusnet/statusnet.php:424 ../../addon/twitter/twitter.php:261
+msgid "Clear OAuth configuration"
+msgstr ""
-#: ../../include/features.php:265
-msgid "Search by Date"
-msgstr "Ricerca per data"
+#: ../../addon/statusnet/statusnet.php:432
+msgid "GNU social Post Settings"
+msgstr ""
-#: ../../include/features.php:266
-msgid "Ability to select posts by date ranges"
-msgstr "Per selezionare i post in un intervallo tra date"
+#: ../../addon/statusnet/statusnet.php:892
+msgid "API URL"
+msgstr ""
-#: ../../include/features.php:274 ../../include/group.php:311
-msgid "Privacy Groups"
-msgstr "Gruppi di canali"
+#: ../../addon/statusnet/statusnet.php:895
+msgid "Application name"
+msgstr ""
-#: ../../include/features.php:275
-msgid "Enable management and selection of privacy groups"
-msgstr "Abilita i gruppi di canali"
+#: ../../addon/qrator/qrator.php:48
+msgid "QR code"
+msgstr ""
-#: ../../include/features.php:283 ../../include/widgets.php:283
-msgid "Saved Searches"
-msgstr "Ricerche salvate"
+#: ../../addon/qrator/qrator.php:63
+msgid "QR Generator"
+msgstr ""
-#: ../../include/features.php:284
-msgid "Save search terms for re-use"
-msgstr "Salva i termini delle ricerche per poterle ripetere"
+#: ../../addon/qrator/qrator.php:64
+msgid "Enter some text"
+msgstr ""
-#: ../../include/features.php:292
-msgid "Network Personal Tab"
-msgstr "Attività personale"
+#: ../../addon/chess/chess.php:353 ../../addon/chess/chess.php:542
+msgid "Invalid game."
+msgstr ""
-#: ../../include/features.php:293
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
+#: ../../addon/chess/chess.php:359 ../../addon/chess/chess.php:582
+msgid "You are not a player in this game."
+msgstr ""
-#: ../../include/features.php:301
-msgid "Network New Tab"
-msgstr "Contenuti nuovi"
+#: ../../addon/chess/chess.php:415
+msgid "You must be a local channel to create a game."
+msgstr ""
-#: ../../include/features.php:302
-msgid "Enable tab to display all new Network activity"
-msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
+#: ../../addon/chess/chess.php:433
+msgid "You must select one opponent that is not yourself."
+msgstr ""
-#: ../../include/features.php:310
-msgid "Affinity Tool"
-msgstr "Filtro per affinità"
+#: ../../addon/chess/chess.php:444
+msgid "Random color chosen."
+msgstr ""
-#: ../../include/features.php:311
-msgid "Filter stream activity by depth of relationships"
-msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
+#: ../../addon/chess/chess.php:452
+msgid "Error creating new game."
+msgstr ""
-#: ../../include/features.php:320
-msgid "Show friend and connection suggestions"
-msgstr "Mostra suggerimenti di contatti e amici"
+#: ../../addon/chess/chess.php:486 ../../include/channel.php:1152
+msgid "Requested channel is not available."
+msgstr "Il canale che cerchi non è disponibile."
-#: ../../include/features.php:328
-msgid "Connection Filtering"
-msgstr "Filtro sui contatti"
+#: ../../addon/chess/chess.php:500
+msgid "You must select a local channel /chess/channelname"
+msgstr ""
-#: ../../include/features.php:329
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtra i post che ricevi con parole chiave"
+#: ../../addon/chess/chess.php:1066
+msgid "Enable notifications"
+msgstr ""
-#: ../../include/features.php:341
-msgid "Post/Comment Tools"
-msgstr "Gestione post e commenti"
+#: ../../addon/twitter/twitter.php:99
+msgid "Post to Twitter"
+msgstr ""
-#: ../../include/features.php:345
-msgid "Community Tagging"
-msgstr "Tag della comunità"
+#: ../../addon/twitter/twitter.php:155
+msgid "Twitter settings updated."
+msgstr ""
-#: ../../include/features.php:346
-msgid "Ability to tag existing posts"
-msgstr "Permetti l'aggiunta di tag su post già esistenti"
+#: ../../addon/twitter/twitter.php:184
+msgid ""
+"No consumer key pair for Twitter found. Please contact your site "
+"administrator."
+msgstr ""
-#: ../../include/features.php:354
-msgid "Post Categories"
-msgstr "Categorie dei post"
+#: ../../addon/twitter/twitter.php:206
+msgid ""
+"At this Hubzilla instance the Twitter plugin was enabled but you have not "
+"yet connected your account to your Twitter account. To do so click the "
+"button below to get a PIN from Twitter which you have to copy into the input"
+" box below and submit the form. Only your <strong>public</strong> posts will"
+" be posted to Twitter."
+msgstr ""
-#: ../../include/features.php:355
-msgid "Add categories to your posts"
-msgstr "Abilita le categorie per i tuoi post"
+#: ../../addon/twitter/twitter.php:208
+msgid "Log in with Twitter"
+msgstr ""
-#: ../../include/features.php:363
-msgid "Emoji Reactions"
-msgstr "Risposte emoji"
+#: ../../addon/twitter/twitter.php:211
+msgid "Copy the PIN from Twitter here"
+msgstr ""
-#: ../../include/features.php:364
-msgid "Add emoji reaction ability to posts"
-msgstr "Permetti di rispondere ai post con degli emoji"
+#: ../../addon/twitter/twitter.php:238
+msgid ""
+"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile "
+"details from unknown viewers?</em>) the link potentially included in public "
+"postings relayed to Twitter will lead the visitor to a blank page informing "
+"the visitor that the access to your profile has been restricted."
+msgstr ""
-#: ../../include/features.php:372 ../../include/contact_widgets.php:53
-#: ../../include/widgets.php:346
-msgid "Saved Folders"
-msgstr "Cartelle salvate"
+#: ../../addon/twitter/twitter.php:243
+msgid "Allow posting to Twitter"
+msgstr ""
-#: ../../include/features.php:373
-msgid "Ability to file posts under folders"
-msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
+#: ../../addon/twitter/twitter.php:243
+msgid ""
+"If enabled your public postings can be posted to the associated Twitter "
+"account"
+msgstr ""
-#: ../../include/features.php:381
-msgid "Dislike Posts"
-msgstr "Non mi piace"
+#: ../../addon/twitter/twitter.php:247
+msgid "Twitter post length"
+msgstr ""
-#: ../../include/features.php:382
-msgid "Ability to dislike posts/comments"
-msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
+#: ../../addon/twitter/twitter.php:247
+msgid "Maximum tweet length"
+msgstr ""
-#: ../../include/features.php:390
-msgid "Star Posts"
-msgstr "Post con stella"
+#: ../../addon/twitter/twitter.php:252
+msgid "Send public postings to Twitter by default"
+msgstr ""
-#: ../../include/features.php:391
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Mostra la stella per segnare i post preferiti"
+#: ../../addon/twitter/twitter.php:252
+msgid ""
+"If enabled your public postings will be posted to the associated Twitter "
+"account by default"
+msgstr ""
-#: ../../include/features.php:399
-msgid "Tag Cloud"
-msgstr "Nuvola di tag"
+#: ../../addon/twitter/twitter.php:270
+msgid "Twitter Post Settings"
+msgstr ""
-#: ../../include/features.php:400
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
+#: ../../addon/smileybutton/smileybutton.php:211
+msgid "Deactivate the feature"
+msgstr ""
-#: ../../include/features.php:412
-msgid "Premium Channel"
-msgstr "Canale premium"
+#: ../../addon/smileybutton/smileybutton.php:215
+msgid "Hide the button and show the smilies directly."
+msgstr ""
+
+#: ../../addon/smileybutton/smileybutton.php:219
+msgid "Smileybutton Settings"
+msgstr ""
-#: ../../include/features.php:413
+#: ../../addon/piwik/piwik.php:85
msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ti permette di impostare restrizioni e termini d'uso per il canale"
+"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> "
+"analytics tool."
+msgstr ""
-#: ../../include/help.php:25
-msgid "Help:"
-msgstr "Guida:"
+#: ../../addon/piwik/piwik.php:88
+#, php-format
+msgid ""
+"If you do not want that your visits are logged this way you <a href='%s'>can"
+" set a cookie to prevent Piwik from tracking further visits of the site</a> "
+"(opt-out)."
+msgstr ""
-#: ../../include/security.php:109
-msgid "guest:"
-msgstr "ospite:"
+#: ../../addon/piwik/piwik.php:96
+msgid "Piwik Base URL"
+msgstr ""
-#: ../../include/security.php:527
+#: ../../addon/piwik/piwik.php:96
msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
+"Absolute path to your Piwik installation. (without protocol (http/s), with "
+"trailing slash)"
+msgstr ""
-#: ../../include/text.php:450
-msgid "prev"
-msgstr "prec"
+#: ../../addon/piwik/piwik.php:97
+msgid "Site ID"
+msgstr ""
-#: ../../include/text.php:452
-msgid "first"
-msgstr "inizio"
+#: ../../addon/piwik/piwik.php:98
+msgid "Show opt-out cookie link?"
+msgstr ""
-#: ../../include/text.php:481
-msgid "last"
-msgstr "fine"
+#: ../../addon/piwik/piwik.php:99
+msgid "Asynchronous tracking"
+msgstr ""
-#: ../../include/text.php:484
-msgid "next"
-msgstr "succ"
+#: ../../addon/piwik/piwik.php:100
+msgid "Enable frontend JavaScript error tracking"
+msgstr ""
-#: ../../include/text.php:494
-msgid "older"
-msgstr "più recenti"
+#: ../../addon/piwik/piwik.php:100
+msgid "This feature requires Piwik >= 2.2.0"
+msgstr ""
-#: ../../include/text.php:496
-msgid "newer"
-msgstr "più nuovi"
+#: ../../addon/tour/tour.php:75
+msgid "Edit your profile and change settings."
+msgstr ""
-#: ../../include/text.php:889
-msgid "No connections"
-msgstr "Nessun contatto"
+#: ../../addon/tour/tour.php:76
+msgid "Click here to see activity from your connections."
+msgstr ""
-#: ../../include/text.php:914
-#, php-format
-msgid "View all %s connections"
-msgstr "Mostra tutti i %s contatti"
+#: ../../addon/tour/tour.php:77
+msgid "Click here to see your channel home."
+msgstr ""
-#: ../../include/text.php:1059 ../../include/text.php:1064
-msgid "poke"
-msgstr "poke"
+#: ../../addon/tour/tour.php:78
+msgid "You can access your private messages from here."
+msgstr ""
-#: ../../include/text.php:1059 ../../include/text.php:1064
-#: ../../include/conversation.php:243
-msgid "poked"
-msgstr "ha mandato un poke"
+#: ../../addon/tour/tour.php:79
+msgid "Create new events here."
+msgstr ""
-#: ../../include/text.php:1065
-msgid "ping"
-msgstr "ping"
+#: ../../addon/tour/tour.php:80
+msgid ""
+"You can accept new connections and change permissions for existing ones "
+"here. You can also e.g. create groups of contacts."
+msgstr ""
-#: ../../include/text.php:1065
-msgid "pinged"
-msgstr "ha effettuato un ping"
+#: ../../addon/tour/tour.php:81
+msgid "System notifications will arrive here"
+msgstr ""
-#: ../../include/text.php:1066
-msgid "prod"
-msgstr "spintone"
+#: ../../addon/tour/tour.php:82
+msgid "Search for content and users"
+msgstr ""
-#: ../../include/text.php:1066
-msgid "prodded"
-msgstr "ha ricevuto uno spintone"
+#: ../../addon/tour/tour.php:83
+msgid "Browse for new contacts"
+msgstr ""
-#: ../../include/text.php:1067
-msgid "slap"
-msgstr "schiaffo"
+#: ../../addon/tour/tour.php:84
+msgid "Launch installed apps"
+msgstr ""
-#: ../../include/text.php:1067
-msgid "slapped"
-msgstr "ha ricevuto uno schiaffo"
+#: ../../addon/tour/tour.php:85
+msgid "Looking for help? Click here."
+msgstr ""
-#: ../../include/text.php:1068
-msgid "finger"
-msgstr "finger"
+#: ../../addon/tour/tour.php:86
+msgid ""
+"New events have occurred in your network. Click here to see what has "
+"happened!"
+msgstr ""
-#: ../../include/text.php:1068
-msgid "fingered"
-msgstr "ha ricevuto un finger"
+#: ../../addon/tour/tour.php:87
+msgid "You have received a new private message. Click here to see from who!"
+msgstr ""
-#: ../../include/text.php:1069
-msgid "rebuff"
-msgstr "rifiuto"
+#: ../../addon/tour/tour.php:88
+msgid "There are events this week. Click here too see which!"
+msgstr ""
-#: ../../include/text.php:1069
-msgid "rebuffed"
-msgstr "ha ricevuto un rifiuto"
+#: ../../addon/tour/tour.php:89
+msgid "You have received a new introduction. Click here to see who!"
+msgstr ""
-#: ../../include/text.php:1081
-msgid "happy"
-msgstr "felice"
+#: ../../addon/tour/tour.php:90
+msgid ""
+"There is a new system notification. Click here to see what has happened!"
+msgstr ""
-#: ../../include/text.php:1082
-msgid "sad"
-msgstr "triste"
+#: ../../addon/tour/tour.php:93
+msgid "Click here to share text, images, videos and sound."
+msgstr ""
-#: ../../include/text.php:1083
-msgid "mellow"
-msgstr "calmo"
+#: ../../addon/tour/tour.php:94
+msgid "You can write an optional title for your update (good for long posts)."
+msgstr ""
-#: ../../include/text.php:1084
-msgid "tired"
-msgstr "stanco"
+#: ../../addon/tour/tour.php:95
+msgid "Entering some categories here makes it easier to find your post later."
+msgstr ""
-#: ../../include/text.php:1085
-msgid "perky"
-msgstr "vivace"
+#: ../../addon/tour/tour.php:96
+msgid "Share photos, links, location, etc."
+msgstr ""
-#: ../../include/text.php:1086
-msgid "angry"
-msgstr "arrabbiato"
+#: ../../addon/tour/tour.php:97
+msgid ""
+"Only want to share content for a while? Make it expire at a certain date."
+msgstr ""
-#: ../../include/text.php:1087
-msgid "stupefied"
-msgstr "stupito"
+#: ../../addon/tour/tour.php:98
+msgid "You can password protect content."
+msgstr ""
-#: ../../include/text.php:1088
-msgid "puzzled"
-msgstr "confuso"
+#: ../../addon/tour/tour.php:99
+msgid "Choose who you share with."
+msgstr ""
-#: ../../include/text.php:1089
-msgid "interested"
-msgstr "attento"
+#: ../../addon/tour/tour.php:101
+msgid "Click here when you are done."
+msgstr ""
-#: ../../include/text.php:1090
-msgid "bitter"
-msgstr "amaro"
+#: ../../addon/tour/tour.php:104
+msgid "Adjust from which channels posts should be displayed."
+msgstr ""
-#: ../../include/text.php:1091
-msgid "cheerful"
-msgstr "allegro"
+#: ../../addon/tour/tour.php:105
+msgid "Only show posts from channels in the specified privacy group."
+msgstr ""
-#: ../../include/text.php:1092
-msgid "alive"
-msgstr "vivace"
+#: ../../addon/tour/tour.php:109
+msgid "Easily find posts containing tags (keywords preceded by the \"#\" symbol)."
+msgstr ""
-#: ../../include/text.php:1093
-msgid "annoyed"
-msgstr "seccato"
+#: ../../addon/tour/tour.php:110
+msgid "Easily find posts in given category."
+msgstr ""
-#: ../../include/text.php:1094
-msgid "anxious"
-msgstr "ansioso"
+#: ../../addon/tour/tour.php:111
+msgid "Easily find posts by date."
+msgstr ""
-#: ../../include/text.php:1095
-msgid "cranky"
-msgstr "irritabile"
+#: ../../addon/tour/tour.php:112
+msgid ""
+"Suggested users who have volounteered to be shown as suggestions, and who we"
+" think you might find interesting."
+msgstr ""
-#: ../../include/text.php:1096
-msgid "disturbed"
-msgstr "turbato"
+#: ../../addon/tour/tour.php:113
+msgid "Here you see channels you have connected to."
+msgstr ""
-#: ../../include/text.php:1097
-msgid "frustrated"
-msgstr "frustrato"
+#: ../../addon/tour/tour.php:114
+msgid "Save your search so you can repeat it at a later date."
+msgstr ""
-#: ../../include/text.php:1098
-msgid "depressed"
-msgstr "in depressione"
+#: ../../addon/tour/tour.php:117
+msgid ""
+"If you see this icon you can be sure that the sender is who it say it is. It"
+" is normal that it is not always possible to verify the sender, so the icon "
+"will be missing sometimes. There is usually no need to worry about that."
+msgstr ""
-#: ../../include/text.php:1099
-msgid "motivated"
-msgstr "motivato"
+#: ../../addon/tour/tour.php:118
+msgid ""
+"Danger! It seems someone tried to forge a message! This message is not "
+"necessarily from who it says it is from!"
+msgstr ""
-#: ../../include/text.php:1100
-msgid "relaxed"
-msgstr "rilassato"
+#: ../../addon/tour/tour.php:125
+msgid ""
+"Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can "
+"pause it at any time and continue where you left off by reloading the page, "
+"or navigting to another page.</p><p>You can also advance by pressing the "
+"return key"
+msgstr "Benvenuto su Hubzilla! Vorresti vedere una panoramica sulla UI? </p><p> Puoi metterla in pausa in qualsiasi momento e continuare da dove hai interrorro ricaricando la pagina, o spostandoti su un'altra pagina. </p><p>Puoi anche andare avanti premendo il tasto invio"
-#: ../../include/text.php:1101
-msgid "surprised"
-msgstr "sorpreso"
+#: ../../addon/sendzid/sendzid.php:25
+msgid "Extended Identity Sharing"
+msgstr ""
-#: ../../include/text.php:1285 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr "lunedì"
+#: ../../addon/sendzid/sendzid.php:26
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with $Projectname sites."
+msgstr ""
-#: ../../include/text.php:1285 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr "martedì"
+#: ../../addon/tictac/tictac.php:21
+msgid "Three Dimensional Tic-Tac-Toe"
+msgstr ""
-#: ../../include/text.php:1285 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr "mercoledì"
+#: ../../addon/tictac/tictac.php:54
+msgid "3D Tic-Tac-Toe"
+msgstr ""
-#: ../../include/text.php:1285 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr "giovedì"
+#: ../../addon/tictac/tictac.php:59
+msgid "New game"
+msgstr ""
-#: ../../include/text.php:1285 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr "venerdì"
+#: ../../addon/tictac/tictac.php:60
+msgid "New game with handicap"
+msgstr ""
-#: ../../include/text.php:1285 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr "sabato"
+#: ../../addon/tictac/tictac.php:61
+msgid ""
+"Three dimensional tic-tac-toe is just like the traditional game except that "
+"it is played on multiple levels simultaneously. "
+msgstr ""
-#: ../../include/text.php:1285 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr "domenica"
+#: ../../addon/tictac/tictac.php:62
+msgid ""
+"In this case there are three levels. You win by getting three in a row on "
+"any level, as well as up, down, and diagonally across the different levels."
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:45
-msgid "January"
-msgstr "gennaio"
+#: ../../addon/tictac/tictac.php:64
+msgid ""
+"The handicap game disables the center position on the middle level because "
+"the player claiming this square often has an unfair advantage."
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:46
-msgid "February"
-msgstr "febbraio"
+#: ../../addon/tictac/tictac.php:183
+msgid "You go first..."
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:47
-msgid "March"
-msgstr "marzo"
+#: ../../addon/tictac/tictac.php:188
+msgid "I'm going first this time..."
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:48
-msgid "April"
-msgstr "aprile"
+#: ../../addon/tictac/tictac.php:194
+msgid "You won!"
+msgstr ""
-#: ../../include/text.php:1289
-msgid "May"
-msgstr "Mag"
+#: ../../addon/tictac/tictac.php:200 ../../addon/tictac/tictac.php:225
+msgid "\"Cat\" game!"
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:50
-msgid "June"
-msgstr "giugno"
+#: ../../addon/tictac/tictac.php:223
+msgid "I won!"
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:51
-msgid "July"
-msgstr "luglio"
+#: ../../addon/pageheader/pageheader.php:43
+msgid "Message to display on every page on this server"
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:52
-msgid "August"
-msgstr "agosto"
+#: ../../addon/pageheader/pageheader.php:48
+msgid "Pageheader Settings"
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:53
-msgid "September"
-msgstr "settembre"
+#: ../../addon/pageheader/pageheader.php:64
+msgid "pageheader Settings saved."
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:54
-msgid "October"
-msgstr "ottobre"
+#: ../../addon/authchoose/authchoose.php:67
+msgid "Only authenticate automatically to sites of your friends"
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:55
-msgid "November"
-msgstr "novembre"
+#: ../../addon/authchoose/authchoose.php:67
+msgid "By default you are automatically authenticated anywhere in the network"
+msgstr ""
-#: ../../include/text.php:1289 ../../include/js_strings.php:56
-msgid "December"
-msgstr "dicembre"
+#: ../../addon/authchoose/authchoose.php:71
+msgid "Authchoose Settings"
+msgstr ""
-#: ../../include/text.php:1366 ../../include/text.php:1370
-msgid "Unknown Attachment"
-msgstr "Allegato non riconoscuto"
+#: ../../addon/authchoose/authchoose.php:85
+msgid "Atuhchoose Settings updated."
+msgstr ""
-#: ../../include/text.php:1372
-msgid "unknown"
-msgstr "sconosciuta"
+#: ../../addon/moremoods/moremoods.php:19
+msgid "lonely"
+msgstr ""
-#: ../../include/text.php:1408
-msgid "remove category"
-msgstr "rimuovi la categoria"
+#: ../../addon/moremoods/moremoods.php:20
+msgid "drunk"
+msgstr ""
-#: ../../include/text.php:1485
-msgid "remove from file"
-msgstr "rimuovi dal file"
+#: ../../addon/moremoods/moremoods.php:21
+msgid "horny"
+msgstr ""
-#: ../../include/text.php:1784 ../../include/text.php:1855
-msgid "default"
-msgstr "predefinito"
+#: ../../addon/moremoods/moremoods.php:22
+msgid "stoned"
+msgstr ""
-#: ../../include/text.php:1792
-msgid "Page layout"
-msgstr "Layout della pagina"
+#: ../../addon/moremoods/moremoods.php:23
+msgid "fucked up"
+msgstr ""
-#: ../../include/text.php:1792
-msgid "You can create your own with the layouts tool"
-msgstr "Puoi creare un tuo layout dalla configurazione delle pagine web"
+#: ../../addon/moremoods/moremoods.php:24
+msgid "clusterfucked"
+msgstr ""
-#: ../../include/text.php:1834
-msgid "Page content type"
-msgstr "Tipo di contenuto della pagina"
+#: ../../addon/moremoods/moremoods.php:25
+msgid "crazy"
+msgstr ""
-#: ../../include/text.php:1867
-msgid "Select an alternate language"
-msgstr "Seleziona una lingua diversa"
+#: ../../addon/moremoods/moremoods.php:26
+msgid "hurt"
+msgstr ""
-#: ../../include/text.php:2004
-msgid "activity"
-msgstr "l'attività"
+#: ../../addon/moremoods/moremoods.php:27
+msgid "sleepy"
+msgstr ""
-#: ../../include/text.php:2305
-msgid "Design Tools"
-msgstr "Strumenti di design"
+#: ../../addon/moremoods/moremoods.php:28
+msgid "grumpy"
+msgstr ""
-#: ../../include/text.php:2311
-msgid "Pages"
-msgstr "Pagine"
+#: ../../addon/moremoods/moremoods.php:29
+msgid "high"
+msgstr ""
-#: ../../include/text.php:2333
-msgid "Import website..."
-msgstr "Importazione sito web..."
+#: ../../addon/moremoods/moremoods.php:30
+msgid "semi-conscious"
+msgstr ""
-#: ../../include/text.php:2334
-msgid "Select folder to import"
-msgstr "Scegli la cartella da importare"
+#: ../../addon/moremoods/moremoods.php:31
+msgid "in love"
+msgstr ""
-#: ../../include/text.php:2335
-msgid "Import from a zipped folder:"
-msgstr "Importa da un file zip:"
+#: ../../addon/moremoods/moremoods.php:32
+msgid "in lust"
+msgstr ""
-#: ../../include/text.php:2336
-msgid "Import from cloud files:"
-msgstr "Importa da un file su cloud:"
+#: ../../addon/moremoods/moremoods.php:33
+msgid "naked"
+msgstr ""
-#: ../../include/text.php:2337
-msgid "/cloud/channel/path/to/folder"
-msgstr "/cloud/channel/posizione/della/cartella"
+#: ../../addon/moremoods/moremoods.php:34
+msgid "stinky"
+msgstr ""
-#: ../../include/text.php:2338
-msgid "Enter path to website files"
-msgstr "Inserisci la posizione dei file del sito web"
+#: ../../addon/moremoods/moremoods.php:35
+msgid "sweaty"
+msgstr ""
-#: ../../include/text.php:2339
-msgid "Select folder"
-msgstr "Scegli la cartella"
+#: ../../addon/moremoods/moremoods.php:36
+msgid "bleeding out"
+msgstr ""
-#: ../../include/text.php:2340
-msgid "Export website..."
-msgstr "Esporta il sito web..."
+#: ../../addon/moremoods/moremoods.php:37
+msgid "victorious"
+msgstr ""
-#: ../../include/text.php:2341
-msgid "Export to a zip file"
-msgstr "Esporta come file zip"
+#: ../../addon/moremoods/moremoods.php:38
+msgid "defeated"
+msgstr ""
-#: ../../include/text.php:2342
-msgid "website.zip"
-msgstr "sitoweb.zip"
+#: ../../addon/moremoods/moremoods.php:39
+msgid "envious"
+msgstr ""
-#: ../../include/text.php:2343
-msgid "Enter a name for the zip file."
-msgstr "Scegli il nome del file zip."
+#: ../../addon/moremoods/moremoods.php:40
+msgid "jealous"
+msgstr ""
-#: ../../include/text.php:2344
-msgid "Export to cloud files"
-msgstr "Esporta nell'archivio cloud"
+#: ../../addon/xmpp/xmpp.php:31
+msgid "XMPP settings updated."
+msgstr ""
-#: ../../include/text.php:2345
-msgid "/path/to/export/folder"
-msgstr "/percorso/alla/cartella"
+#: ../../addon/xmpp/xmpp.php:53
+msgid "Enable Chat"
+msgstr ""
-#: ../../include/text.php:2346
-msgid "Enter a path to a cloud files destination."
-msgstr "Scegli la posizione su una cartella cloud."
+#: ../../addon/xmpp/xmpp.php:58
+msgid "Individual credentials"
+msgstr ""
-#: ../../include/text.php:2347
-msgid "Specify folder"
-msgstr "Scegli la cartella"
+#: ../../addon/xmpp/xmpp.php:64
+msgid "Jabber BOSH server"
+msgstr ""
-#: ../../include/zot.php:700
-msgid "Invalid data packet"
-msgstr "Dati ricevuti non validi"
+#: ../../addon/xmpp/xmpp.php:69
+msgid "XMPP Settings"
+msgstr ""
-#: ../../include/zot.php:716
-msgid "Unable to verify channel signature"
-msgstr "Impossibile verificare la firma elettronica del canale"
+#: ../../addon/xmpp/xmpp.php:92
+msgid "Jabber BOSH host"
+msgstr ""
-#: ../../include/zot.php:2329
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Impossibile verificare la firma elettronica del sito %s"
+#: ../../addon/xmpp/xmpp.php:93
+msgid "Use central userbase"
+msgstr ""
-#: ../../include/zot.php:3713
-msgid "invalid target signature"
-msgstr "la firma ricevuta non è valida"
+#: ../../addon/xmpp/xmpp.php:93
+msgid ""
+"If enabled, members will automatically login to an ejabberd server that has "
+"to be installed on this machine with synchronized credentials via the "
+"\"auth_ejabberd.php\" script."
+msgstr ""
-#: ../../include/account.php:35
-msgid "Not a valid email address"
-msgstr "Email non valida"
+#: ../../addon/wholikesme/wholikesme.php:29
+msgid "Who likes me?"
+msgstr "Chi mi ha messo un mi piace?"
-#: ../../include/account.php:37
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
+#: ../../addon/pumpio/pumpio.php:148
+msgid "You are now authenticated to pumpio."
+msgstr ""
-#: ../../include/account.php:43
-msgid "Your email address is already registered at this site."
-msgstr "La tua email è già registrata su questo sito."
+#: ../../addon/pumpio/pumpio.php:149
+msgid "return to the featured settings page"
+msgstr ""
-#: ../../include/account.php:75
-msgid "An invitation is required."
-msgstr "È necessario un invito."
+#: ../../addon/pumpio/pumpio.php:163
+msgid "Post to Pump.io"
+msgstr ""
-#: ../../include/account.php:79
-msgid "Invitation could not be verified."
-msgstr "L'invito non può essere verificato."
+#: ../../addon/pumpio/pumpio.php:198
+msgid "Pump.io servername"
+msgstr ""
-#: ../../include/account.php:130
-msgid "Please enter the required information."
-msgstr "Inserisci le informazioni richieste."
+#: ../../addon/pumpio/pumpio.php:198
+msgid "Without \"http://\" or \"https://\""
+msgstr ""
-#: ../../include/account.php:198
-msgid "Failed to store account information."
-msgstr "Non è stato possibile salvare le informazioni del tuo account."
+#: ../../addon/pumpio/pumpio.php:202
+msgid "Pump.io username"
+msgstr ""
-#: ../../include/account.php:258
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrazione di %s confermata"
+#: ../../addon/pumpio/pumpio.php:202
+msgid "Without the servername"
+msgstr ""
-#: ../../include/account.php:324
-#, php-format
-msgid "Registration request at %s"
-msgstr "Richiesta di registrazione su %s"
+#: ../../addon/pumpio/pumpio.php:213
+msgid "You are not authenticated to pumpio"
+msgstr ""
-#: ../../include/account.php:326 ../../include/account.php:353
-#: ../../include/account.php:413 ../../include/network.php:1937
-msgid "Administrator"
-msgstr "Amministratore"
+#: ../../addon/pumpio/pumpio.php:215
+msgid "(Re-)Authenticate your pump.io connection"
+msgstr ""
-#: ../../include/account.php:348
-msgid "your registration password"
-msgstr "la password di registrazione"
+#: ../../addon/pumpio/pumpio.php:219
+msgid "Enable pump.io Post Plugin"
+msgstr ""
-#: ../../include/account.php:351 ../../include/account.php:411
-#, php-format
-msgid "Registration details for %s"
-msgstr "Dettagli della registrazione di %s"
+#: ../../addon/pumpio/pumpio.php:223
+msgid "Post to pump.io by default"
+msgstr ""
-#: ../../include/account.php:423
-msgid "Account approved."
-msgstr "Account approvato."
+#: ../../addon/pumpio/pumpio.php:227
+msgid "Should posts be public"
+msgstr ""
+
+#: ../../addon/pumpio/pumpio.php:231
+msgid "Mirror all public posts"
+msgstr ""
+
+#: ../../addon/pumpio/pumpio.php:237
+msgid "Pump.io Post Settings"
+msgstr ""
-#: ../../include/account.php:463
+#: ../../addon/pumpio/pumpio.php:266
+msgid "PumpIO Settings saved."
+msgstr ""
+
+#: ../../addon/ldapauth/ldapauth.php:61
+msgid "An account has been created for you."
+msgstr ""
+
+#: ../../addon/ldapauth/ldapauth.php:68
+msgid "Authentication successful but rejected: account creation is disabled."
+msgstr ""
+
+#: ../../addon/opensearch/opensearch.php:26
#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrazione revocata per %s"
+msgctxt "opensearch"
+msgid "Search %1$s (%2$s)"
+msgstr "Cerca %1$s (%2$s)"
-#: ../../include/account.php:748 ../../include/account.php:750
-msgid "Click here to upgrade."
-msgstr "Clicca qui per aggiornare."
+#: ../../addon/opensearch/opensearch.php:28
+msgctxt "opensearch"
+msgid "$Projectname"
+msgstr "$Projectname"
-#: ../../include/account.php:756
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Questa operazione supera i limiti del tuo abbonamento."
+#: ../../addon/opensearch/opensearch.php:43
+msgid "Search $Projectname"
+msgstr ""
-#: ../../include/account.php:761
-msgid "This action is not available under your subscription plan."
-msgstr "Questa operazione non è prevista dal tuo abbonamento."
+#: ../../addon/redfiles/redfiles.php:119
+msgid "Redmatrix File Storage Import"
+msgstr ""
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Devi scegliere un destinatario."
+#: ../../addon/redfiles/redfiles.php:120
+msgid "This will import all your Redmatrix cloud files to this channel."
+msgstr ""
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[nessun titolo]"
+#: ../../addon/redfiles/redfilehelper.php:64
+msgid "file"
+msgstr ""
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Impossibile determinare il mittente."
+#: ../../addon/hubwall/hubwall.php:19
+msgid "Send email to all members"
+msgstr ""
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Non è stato possibile verificare il post."
+#: ../../addon/hubwall/hubwall.php:73
+#, php-format
+msgid "%1$d of %2$d messages sent."
+msgstr ""
+
+#: ../../addon/hubwall/hubwall.php:81
+msgid "Send email to all hub members."
+msgstr ""
+
+#: ../../addon/hubwall/hubwall.php:93
+msgid "Sender Email address"
+msgstr ""
+
+#: ../../addon/hubwall/hubwall.php:94
+msgid "Test mode (only send to hub administrator)"
+msgstr ""
#: ../../include/selectors.php:30
msgid "Frequently"
@@ -8062,14 +11595,6 @@ msgstr "Ogni settimana"
msgid "Monthly"
msgstr "Ogni mese"
-#: ../../include/selectors.php:49 ../../include/selectors.php:66
-msgid "Male"
-msgstr "Maschio"
-
-#: ../../include/selectors.php:49 ../../include/selectors.php:66
-msgid "Female"
-msgstr "Femmina"
-
#: ../../include/selectors.php:49
msgid "Currently Male"
msgstr "Al momento maschio"
@@ -8102,11 +11627,11 @@ msgstr "Transessuale"
msgid "Hermaphrodite"
msgstr "Ermafrodito"
-#: ../../include/selectors.php:49
+#: ../../include/selectors.php:49 ../../include/channel.php:1485
msgid "Neuter"
msgstr "Neutro"
-#: ../../include/selectors.php:49
+#: ../../include/selectors.php:49 ../../include/channel.php:1487
msgid "Non-specific"
msgstr "Non specificato"
@@ -8286,465 +11811,783 @@ msgstr "Chi se ne frega"
msgid "Ask me"
msgstr "Chiedimelo"
-#: ../../include/channel.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "Impossibile ottenere le informazioni di identificazione dal database"
+#: ../../include/conversation.php:169
+#, php-format
+msgid "likes %1$s's %2$s"
+msgstr "ha messo mi piace al %2$s di %1$s"
-#: ../../include/channel.php:67
-msgid "Empty name"
-msgstr "Nome vuoto"
+#: ../../include/conversation.php:172
+#, php-format
+msgid "doesn't like %1$s's %2$s"
+msgstr "ha messo non mi piace al %2$s di %1$s"
-#: ../../include/channel.php:70
-msgid "Name too long"
-msgstr "Nome troppo lungo"
+#: ../../include/conversation.php:212
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s adesso è connesso con %2$s"
-#: ../../include/channel.php:181
-msgid "No account identifier"
-msgstr "Account senza identificativo"
+#: ../../include/conversation.php:247
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s ha mandato un poke a %2$s"
-#: ../../include/channel.php:193
-msgid "Nickname is required."
-msgstr "Il nome dell'account è obbligatorio."
+#: ../../include/conversation.php:251 ../../include/text.php:1129
+#: ../../include/text.php:1133
+msgid "poked"
+msgstr "ha mandato un poke"
-#: ../../include/channel.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Nome utente riservato. Per favore scegline un altro."
+#: ../../include/conversation.php:736
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Vedi il profilo di %s @ %s"
-#: ../../include/channel.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
+#: ../../include/conversation.php:756
+msgid "Categories:"
+msgstr "Categorie:"
-#: ../../include/channel.php:272
-msgid "Unable to retrieve created identity"
-msgstr "Impossibile caricare l'identità creata"
+#: ../../include/conversation.php:757
+msgid "Filed under:"
+msgstr "Classificato come:"
-#: ../../include/channel.php:341
-msgid "Default Profile"
-msgstr "Profilo predefinito"
+#: ../../include/conversation.php:783
+msgid "View in context"
+msgstr "Vedi nel contesto"
-#: ../../include/channel.php:813
-msgid "Requested channel is not available."
-msgstr "Il canale che cerchi non è disponibile."
+#: ../../include/conversation.php:884
+msgid "remove"
+msgstr "rimuovi"
-#: ../../include/channel.php:960
-msgid "Create New Profile"
-msgstr "Crea un nuovo profilo"
+#: ../../include/conversation.php:888
+msgid "Loading..."
+msgstr "Caricamento in corso..."
-#: ../../include/channel.php:963 ../../include/nav.php:93
-msgid "Edit Profile"
-msgstr "Modifica il profilo"
+#: ../../include/conversation.php:889
+msgid "Delete Selected Items"
+msgstr "Elimina gli oggetti selezionati"
-#: ../../include/channel.php:980
-msgid "Visible to everybody"
-msgstr "Visibile a tutti"
+#: ../../include/conversation.php:932
+msgid "View Source"
+msgstr "Vedi il sorgente"
-#: ../../include/channel.php:1053 ../../include/channel.php:1166
-msgid "Gender:"
-msgstr "Sesso:"
+#: ../../include/conversation.php:942
+msgid "Follow Thread"
+msgstr "Segui la discussione"
-#: ../../include/channel.php:1054 ../../include/channel.php:1210
-msgid "Status:"
-msgstr "Stato:"
+#: ../../include/conversation.php:951
+msgid "Unfollow Thread"
+msgstr "Non seguire la discussione"
-#: ../../include/channel.php:1055 ../../include/channel.php:1221
-msgid "Homepage:"
-msgstr "Home page:"
+#: ../../include/conversation.php:1042
+msgid "Activity/Posts"
+msgstr "Attività e Post"
-#: ../../include/channel.php:1056
-msgid "Online Now"
-msgstr "Online adesso"
+#: ../../include/conversation.php:1062
+msgid "Edit Connection"
+msgstr "Modifica il contatto"
-#: ../../include/channel.php:1171
-msgid "Like this channel"
-msgstr "Mi piace questo canale"
+#: ../../include/conversation.php:1072
+msgid "Message"
+msgstr "Messaggio"
-#: ../../include/channel.php:1195
-msgid "j F, Y"
-msgstr "j F Y"
+#: ../../include/conversation.php:1206
+#, php-format
+msgid "%s likes this."
+msgstr "Piace a %s."
-#: ../../include/channel.php:1196
-msgid "j F"
-msgstr "j F"
+#: ../../include/conversation.php:1206
+#, php-format
+msgid "%s doesn't like this."
+msgstr "Non piace a %s."
-#: ../../include/channel.php:1203
-msgid "Birthday:"
-msgstr "Compleanno:"
+#: ../../include/conversation.php:1210
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] "Piace a <span %1$s>%2$d persone</span>."
-#: ../../include/channel.php:1216
+#: ../../include/conversation.php:1212
#, php-format
-msgid "for %1$d %2$s"
-msgstr "per %1$d %2$s"
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] "Non piace a <span %1$s>%2$d persone</span>."
-#: ../../include/channel.php:1219
-msgid "Sexual Preference:"
-msgstr "Preferenze sessuali:"
+#: ../../include/conversation.php:1218
+msgid "and"
+msgstr "e"
-#: ../../include/channel.php:1225
-msgid "Tags:"
+#: ../../include/conversation.php:1221
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] "e altre %d persone"
+
+#: ../../include/conversation.php:1222
+#, php-format
+msgid "%s like this."
+msgstr "Piace a %s."
+
+#: ../../include/conversation.php:1222
+#, php-format
+msgid "%s don't like this."
+msgstr "Non piace a %s."
+
+#: ../../include/conversation.php:1265
+msgid "Set your location"
+msgstr "La tua località"
+
+#: ../../include/conversation.php:1266
+msgid "Clear browser location"
+msgstr "Rimuovi la località data dal browser"
+
+#: ../../include/conversation.php:1314
+msgid "Tag term:"
msgstr "Tag:"
-#: ../../include/channel.php:1227
-msgid "Political Views:"
-msgstr "Orientamento politico:"
+#: ../../include/conversation.php:1315
+msgid "Where are you right now?"
+msgstr "Dove sei ora?"
-#: ../../include/channel.php:1229
-msgid "Religion:"
-msgstr "Religione:"
+#: ../../include/conversation.php:1320
+msgid "Choose a different album..."
+msgstr "Scegli un altro album..."
-#: ../../include/channel.php:1233
-msgid "Hobbies/Interests:"
-msgstr "Interessi e hobby:"
+#: ../../include/conversation.php:1324
+msgid "Comments enabled"
+msgstr "Commenti abilitati"
-#: ../../include/channel.php:1235
-msgid "Likes:"
-msgstr "Mi piace:"
+#: ../../include/conversation.php:1325
+msgid "Comments disabled"
+msgstr "Commenti disabilitati"
-#: ../../include/channel.php:1237
-msgid "Dislikes:"
-msgstr "Non mi piace:"
+#: ../../include/conversation.php:1372
+msgid "Page link name"
+msgstr "Nome del link alla pagina"
-#: ../../include/channel.php:1239
-msgid "Contact information and Social Networks:"
-msgstr "Contatti e social network:"
+#: ../../include/conversation.php:1375
+msgid "Post as"
+msgstr "Pubblica come "
-#: ../../include/channel.php:1241
-msgid "My other channels:"
-msgstr "I miei altri canali:"
+#: ../../include/conversation.php:1389
+msgid "Toggle voting"
+msgstr "Abilita/disabilita il voto"
-#: ../../include/channel.php:1243
-msgid "Musical interests:"
-msgstr "Gusti musicali:"
+#: ../../include/conversation.php:1392
+msgid "Disable comments"
+msgstr "Disabilita i commenti"
-#: ../../include/channel.php:1245
-msgid "Books, literature:"
-msgstr "Libri, letteratura:"
+#: ../../include/conversation.php:1393
+msgid "Toggle comments"
+msgstr "Abilita/disabilita i commenti"
-#: ../../include/channel.php:1247
-msgid "Television:"
-msgstr "Televisione:"
+#: ../../include/conversation.php:1401
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorie (facoltative, lista separata da virgole)"
-#: ../../include/channel.php:1249
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film, danza, cultura, intrattenimento:"
+#: ../../include/conversation.php:1424
+msgid "Other networks and post services"
+msgstr "Invio ad altre reti o a siti esterni"
-#: ../../include/channel.php:1251
-msgid "Love/Romance:"
-msgstr "Amore:"
+#: ../../include/conversation.php:1430
+msgid "Set publish date"
+msgstr "Data di uscita programmata"
-#: ../../include/channel.php:1253
-msgid "Work/employment:"
-msgstr "Lavoro:"
+#: ../../include/conversation.php:1690
+msgid "Commented Order"
+msgstr "Commenti recenti"
-#: ../../include/channel.php:1255
-msgid "School/education:"
-msgstr "Scuola:"
+#: ../../include/conversation.php:1693
+msgid "Sort by Comment Date"
+msgstr "Per data del commento"
-#: ../../include/channel.php:1276
-msgid "Like this thing"
-msgstr "Mi piace"
+#: ../../include/conversation.php:1697
+msgid "Posted Order"
+msgstr "Post recenti"
-#: ../../include/acl_selectors.php:169
-msgid "Who can see this?"
-msgstr "Chi può vederlo?"
+#: ../../include/conversation.php:1700
+msgid "Sort by Post Date"
+msgstr "Per data di creazione"
-#: ../../include/acl_selectors.php:170
-msgid "Custom selection"
-msgstr "Selezione personalizzata"
+#: ../../include/conversation.php:1708
+msgid "Posts that mention or involve you"
+msgstr "Post che ti riguardano"
-#: ../../include/acl_selectors.php:171
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\"."
+#: ../../include/conversation.php:1717
+msgid "Activity Stream - by date"
+msgstr "Elenco attività - per data"
-#: ../../include/acl_selectors.php:172
-msgid "Show"
-msgstr "Mostra"
+#: ../../include/conversation.php:1723
+msgid "Starred"
+msgstr "Preferiti"
-#: ../../include/acl_selectors.php:173
-msgid "Don't show"
-msgstr "Non mostrare"
+#: ../../include/conversation.php:1726
+msgid "Favourite Posts"
+msgstr "Post preferiti"
-#: ../../include/acl_selectors.php:207
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post."
+#: ../../include/conversation.php:1733
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1736
+msgid "Posts flagged as SPAM"
+msgstr "Post marcati come spam"
+
+#: ../../include/conversation.php:1811 ../../include/nav.php:381
+msgid "Status Messages and Posts"
+msgstr "Post e messaggi di stato"
+
+#: ../../include/conversation.php:1824 ../../include/nav.php:394
+msgid "Profile Details"
+msgstr "Dettagli del profilo"
+
+#: ../../include/conversation.php:1834 ../../include/nav.php:404
+#: ../../include/photos.php:655
+msgid "Photo Albums"
+msgstr "Album foto"
+
+#: ../../include/conversation.php:1842 ../../include/nav.php:412
+msgid "Files and Storage"
+msgstr "Archivio file"
+
+#: ../../include/conversation.php:1879 ../../include/nav.php:447
+msgid "Bookmarks"
+msgstr "Segnalibri"
+
+#: ../../include/conversation.php:1882 ../../include/nav.php:450
+msgid "Saved Bookmarks"
+msgstr "Segnalibri salvati"
+
+#: ../../include/conversation.php:1893 ../../include/nav.php:461
+msgid "View Cards"
+msgstr ""
-#: ../../include/bookmarks.php:35
+#: ../../include/conversation.php:1901
+msgid "articles"
+msgstr ""
+
+#: ../../include/conversation.php:1904 ../../include/nav.php:472
+msgid "View Articles"
+msgstr ""
+
+#: ../../include/conversation.php:1915 ../../include/nav.php:484
+msgid "View Webpages"
+msgstr ""
+
+#: ../../include/conversation.php:1984
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Partecipa"
+msgstr[1] "Partecipano"
+
+#: ../../include/conversation.php:1987
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Non partecipa"
+msgstr[1] "Non partecipano"
+
+#: ../../include/conversation.php:1990
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indeciso"
+msgstr[1] "Indecisi"
+
+#: ../../include/conversation.php:1993
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "D'accordo"
+msgstr[1] "D'accordo"
+
+#: ../../include/conversation.php:1996
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Non d'accordo"
+msgstr[1] "Non d'accordo"
+
+#: ../../include/conversation.php:1999
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Astenuto"
+msgstr[1] "Astenuti"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Visibilità negli elenchi pubblici"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Modalità SafeSearch"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Solo forum pubblici"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Solo in questo sito"
+
+#: ../../include/bookmarks.php:34
#, php-format
msgid "%1$s's bookmarks"
msgstr "I segnalibri di %1$s"
-#: ../../include/group.php:26
+#: ../../include/import.php:41
msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso."
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
-#: ../../include/group.php:248
-msgid "Add new connections to this privacy group"
-msgstr "Aggiungi nuovi contatti a questo gruppo di canali"
+#: ../../include/import.php:106
+msgid "Cloned channel not found. Import failed."
+msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
-#: ../../include/group.php:289
-msgid "edit"
-msgstr "modifica"
+#: ../../include/text.php:492
+msgid "prev"
+msgstr "prec"
-#: ../../include/group.php:312
-msgid "Edit group"
-msgstr "Modifica il gruppo"
+#: ../../include/text.php:494
+msgid "first"
+msgstr "inizio"
-#: ../../include/group.php:313
-msgid "Add privacy group"
-msgstr "Crea un gruppo di canali"
+#: ../../include/text.php:523
+msgid "last"
+msgstr "fine"
-#: ../../include/group.php:314
-msgid "Channels not in any privacy group"
-msgstr "Canali che non sono in nessun gruppo"
+#: ../../include/text.php:526
+msgid "next"
+msgstr "succ"
-#: ../../include/group.php:316 ../../include/widgets.php:284
-msgid "add"
-msgstr "aggiungi"
+#: ../../include/text.php:537
+msgid "older"
+msgstr "più recenti"
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr "Nuova finestra"
+#: ../../include/text.php:539
+msgid "newer"
+msgstr "più nuovi"
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
+#: ../../include/text.php:961
+msgid "No connections"
+msgstr "Nessun contatto"
-#: ../../include/connections.php:214
+#: ../../include/text.php:993
#, php-format
-msgid "User '%s' deleted"
-msgstr "Utente '%s' eliminato"
+msgid "View all %s connections"
+msgstr "Mostra tutti i %s contatti"
-#: ../../include/page_widgets.php:7
-msgid "New Page"
-msgstr "Nuova pagina web"
+#: ../../include/text.php:1129 ../../include/text.php:1133
+msgid "poke"
+msgstr "poke"
-#: ../../include/page_widgets.php:46
-msgid "Title"
-msgstr "Titolo"
+#: ../../include/text.php:1134
+msgid "ping"
+msgstr "ping"
-#: ../../include/wiki.php:525 ../../include/bbcode.php:619
-msgid "Different viewers will see this text differently"
-msgstr "Ad altri questo testo potrebbe apparire in modo differente"
+#: ../../include/text.php:1134
+msgid "pinged"
+msgstr "ha effettuato un ping"
-#: ../../include/nav.php:85 ../../include/nav.php:118 ../../boot.php:1738
-msgid "Logout"
-msgstr "Esci"
+#: ../../include/text.php:1135
+msgid "prod"
+msgstr "spintone"
-#: ../../include/nav.php:85 ../../include/nav.php:118
-msgid "End this session"
-msgstr "Chiudi questa sessione"
+#: ../../include/text.php:1135
+msgid "prodded"
+msgstr "ha ricevuto uno spintone"
-#: ../../include/nav.php:88 ../../include/nav.php:149
-msgid "Home"
-msgstr "Bacheca"
+#: ../../include/text.php:1136
+msgid "slap"
+msgstr "schiaffo"
-#: ../../include/nav.php:88
-msgid "Your posts and conversations"
-msgstr "I tuoi post e conversazioni"
+#: ../../include/text.php:1136
+msgid "slapped"
+msgstr "ha ricevuto uno schiaffo"
-#: ../../include/nav.php:89
-msgid "Your profile page"
-msgstr "Il tuo profilo"
+#: ../../include/text.php:1137
+msgid "finger"
+msgstr "finger"
-#: ../../include/nav.php:91
-msgid "Manage/Edit profiles"
-msgstr "Gestisci i tuoi profili"
+#: ../../include/text.php:1137
+msgid "fingered"
+msgstr "ha ricevuto un finger"
-#: ../../include/nav.php:93
-msgid "Edit your profile"
-msgstr "Modifica il tuo profilo"
+#: ../../include/text.php:1138
+msgid "rebuff"
+msgstr "rifiuto"
-#: ../../include/nav.php:95
-msgid "Your photos"
-msgstr "Le tue foto"
+#: ../../include/text.php:1138
+msgid "rebuffed"
+msgstr "ha ricevuto un rifiuto"
-#: ../../include/nav.php:96
-msgid "Your files"
-msgstr "I tuoi file"
+#: ../../include/text.php:1161
+msgid "happy"
+msgstr "felice"
-#: ../../include/nav.php:99
-msgid "Your chatrooms"
-msgstr "Le tue chat"
+#: ../../include/text.php:1162
+msgid "sad"
+msgstr "triste"
-#: ../../include/nav.php:105 ../../include/conversation.php:1715
-msgid "Bookmarks"
-msgstr "Segnalibri"
+#: ../../include/text.php:1163
+msgid "mellow"
+msgstr "calmo"
-#: ../../include/nav.php:105
-msgid "Your bookmarks"
-msgstr "I tuoi segnalibri"
+#: ../../include/text.php:1164
+msgid "tired"
+msgstr "stanco"
-#: ../../include/nav.php:109
-msgid "Your webpages"
-msgstr "Le tue pagine web"
+#: ../../include/text.php:1165
+msgid "perky"
+msgstr "vivace"
-#: ../../include/nav.php:111
-msgid "Your wiki"
-msgstr "La tua wiki"
+#: ../../include/text.php:1166
+msgid "angry"
+msgstr "arrabbiato"
-#: ../../include/nav.php:115
-msgid "Sign in"
-msgstr "Accedi"
+#: ../../include/text.php:1167
+msgid "stupefied"
+msgstr "stupito"
-#: ../../include/nav.php:132
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - clicca per uscire"
+#: ../../include/text.php:1168
+msgid "puzzled"
+msgstr "confuso"
-#: ../../include/nav.php:135
-msgid "Remote authentication"
-msgstr "Accedi dal tuo hub"
+#: ../../include/text.php:1169
+msgid "interested"
+msgstr "attento"
-#: ../../include/nav.php:135
-msgid "Click to authenticate to your home hub"
-msgstr "Clicca per farti riconoscere dal tuo hub principale"
+#: ../../include/text.php:1170
+msgid "bitter"
+msgstr "amaro"
-#: ../../include/nav.php:149
-msgid "Home Page"
-msgstr "Bacheca"
+#: ../../include/text.php:1171
+msgid "cheerful"
+msgstr "allegro"
-#: ../../include/nav.php:152
-msgid "Create an account"
-msgstr "Crea un account"
+#: ../../include/text.php:1172
+msgid "alive"
+msgstr "vivace"
-#: ../../include/nav.php:164
-msgid "Help and documentation"
-msgstr "Guida e documentazione"
+#: ../../include/text.php:1173
+msgid "annoyed"
+msgstr "seccato"
-#: ../../include/nav.php:168
-msgid "Applications, utilities, links, games"
-msgstr "Applicazioni, utilità, link, giochi"
+#: ../../include/text.php:1174
+msgid "anxious"
+msgstr "ansioso"
-#: ../../include/nav.php:170
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto"
+#: ../../include/text.php:1175
+msgid "cranky"
+msgstr "irritabile"
-#: ../../include/nav.php:172
-msgid "Channel Directory"
-msgstr "Elenchi pubblici dei canali"
+#: ../../include/text.php:1176
+msgid "disturbed"
+msgstr "turbato"
-#: ../../include/nav.php:184
-msgid "Your grid"
-msgstr "La tua rete"
+#: ../../include/text.php:1177
+msgid "frustrated"
+msgstr "frustrato"
-#: ../../include/nav.php:185
-msgid "Mark all grid notifications seen"
-msgstr "Segna come lette le notifiche della tua rete"
+#: ../../include/text.php:1178
+msgid "depressed"
+msgstr "in depressione"
-#: ../../include/nav.php:187
-msgid "Channel home"
-msgstr "Bacheca del canale"
+#: ../../include/text.php:1179
+msgid "motivated"
+msgstr "motivato"
-#: ../../include/nav.php:188
-msgid "Mark all channel notifications seen"
-msgstr "Segna come lette le notifiche del canale"
+#: ../../include/text.php:1180
+msgid "relaxed"
+msgstr "rilassato"
-#: ../../include/nav.php:194
-msgid "Notices"
-msgstr "Avvisi"
+#: ../../include/text.php:1181
+msgid "surprised"
+msgstr "sorpreso"
-#: ../../include/nav.php:194
-msgid "Notifications"
-msgstr "Notifiche"
+#: ../../include/text.php:1360 ../../include/js_strings.php:76
+msgid "Monday"
+msgstr "lunedì"
-#: ../../include/nav.php:195
-msgid "See all notifications"
-msgstr "Vedi tutte le notifiche"
+#: ../../include/text.php:1360 ../../include/js_strings.php:77
+msgid "Tuesday"
+msgstr "martedì"
-#: ../../include/nav.php:198
-msgid "Private mail"
-msgstr "Messaggi privati"
+#: ../../include/text.php:1360 ../../include/js_strings.php:78
+msgid "Wednesday"
+msgstr "mercoledì"
-#: ../../include/nav.php:199
-msgid "See all private messages"
-msgstr "Guarda tutti i messaggi privati"
+#: ../../include/text.php:1360 ../../include/js_strings.php:79
+msgid "Thursday"
+msgstr "giovedì"
-#: ../../include/nav.php:200
-msgid "Mark all private messages seen"
-msgstr "Segna come letti tutti i messaggi privati"
+#: ../../include/text.php:1360 ../../include/js_strings.php:80
+msgid "Friday"
+msgstr "venerdì"
-#: ../../include/nav.php:201 ../../include/widgets.php:700
-msgid "Inbox"
-msgstr "In arrivo"
+#: ../../include/text.php:1360 ../../include/js_strings.php:81
+msgid "Saturday"
+msgstr "sabato"
-#: ../../include/nav.php:202 ../../include/widgets.php:705
-msgid "Outbox"
-msgstr "Inviati"
+#: ../../include/text.php:1360 ../../include/js_strings.php:75
+msgid "Sunday"
+msgstr "domenica"
-#: ../../include/nav.php:203 ../../include/widgets.php:710
-msgid "New Message"
-msgstr "Nuovo messaggio"
+#: ../../include/text.php:1364 ../../include/js_strings.php:51
+msgid "January"
+msgstr "gennaio"
-#: ../../include/nav.php:206
-msgid "Event Calendar"
-msgstr "Calendario"
+#: ../../include/text.php:1364 ../../include/js_strings.php:52
+msgid "February"
+msgstr "febbraio"
-#: ../../include/nav.php:207
-msgid "See all events"
-msgstr "Guarda tutti gli eventi"
+#: ../../include/text.php:1364 ../../include/js_strings.php:53
+msgid "March"
+msgstr "marzo"
-#: ../../include/nav.php:208
-msgid "Mark all events seen"
-msgstr "Marca come letti tutti gli eventi"
+#: ../../include/text.php:1364 ../../include/js_strings.php:54
+msgid "April"
+msgstr "aprile"
-#: ../../include/nav.php:211
-msgid "Manage Your Channels"
-msgstr "Gestisci i tuoi canali"
+#: ../../include/text.php:1364
+msgid "May"
+msgstr "Mag"
-#: ../../include/nav.php:213
-msgid "Account/Channel Settings"
-msgstr "Impostazioni dell'account e del canale"
+#: ../../include/text.php:1364 ../../include/js_strings.php:56
+msgid "June"
+msgstr "giugno"
-#: ../../include/nav.php:221 ../../include/widgets.php:1594
-msgid "Admin"
-msgstr "Amministrazione"
+#: ../../include/text.php:1364 ../../include/js_strings.php:57
+msgid "July"
+msgstr "luglio"
-#: ../../include/nav.php:221
-msgid "Site Setup and Configuration"
-msgstr "Installazione e configurazione del sito"
+#: ../../include/text.php:1364 ../../include/js_strings.php:58
+msgid "August"
+msgstr "agosto"
-#: ../../include/nav.php:252 ../../include/conversation.php:853
-msgid "Loading..."
-msgstr "Caricamento in corso..."
+#: ../../include/text.php:1364 ../../include/js_strings.php:59
+msgid "September"
+msgstr "settembre"
-#: ../../include/nav.php:257
-msgid "@name, #tag, ?doc, content"
-msgstr "@nome, #tag, ?guida, contenuto"
+#: ../../include/text.php:1364 ../../include/js_strings.php:60
+msgid "October"
+msgstr "ottobre"
-#: ../../include/nav.php:258
-msgid "Please wait..."
-msgstr "Attendere..."
+#: ../../include/text.php:1364 ../../include/js_strings.php:61
+msgid "November"
+msgstr "novembre"
-#: ../../include/bb2diaspora.php:398
-msgid "Attachments:"
-msgstr "Allegati:"
+#: ../../include/text.php:1364 ../../include/js_strings.php:62
+msgid "December"
+msgstr "dicembre"
-#: ../../include/bb2diaspora.php:485 ../../include/event.php:22
-#: ../../include/event.php:69
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
+#: ../../include/text.php:1428 ../../include/text.php:1432
+msgid "Unknown Attachment"
+msgstr "Allegato non riconoscuto"
-#: ../../include/bb2diaspora.php:487
-msgid "$Projectname event notification:"
-msgstr "Notifica evento $Projectname:"
+#: ../../include/text.php:1434 ../../include/feedutils.php:852
+msgid "unknown"
+msgstr "sconosciuta"
-#: ../../include/bb2diaspora.php:491 ../../include/event.php:30
-#: ../../include/event.php:73
-msgid "Starts:"
-msgstr "Inizio:"
+#: ../../include/text.php:1470
+msgid "remove category"
+msgstr "rimuovi la categoria"
-#: ../../include/bb2diaspora.php:499 ../../include/event.php:40
-#: ../../include/event.php:77
-msgid "Finishes:"
-msgstr "Fine:"
+#: ../../include/text.php:1544
+msgid "remove from file"
+msgstr "rimuovi dal file"
+
+#: ../../include/text.php:1686 ../../include/message.php:12
+msgid "Download binary/encrypted content"
+msgstr ""
+
+#: ../../include/text.php:1848 ../../include/language.php:397
+msgid "default"
+msgstr "predefinito"
+
+#: ../../include/text.php:1856
+msgid "Page layout"
+msgstr "Layout della pagina"
+
+#: ../../include/text.php:1856
+msgid "You can create your own with the layouts tool"
+msgstr "Puoi creare un tuo layout dalla configurazione delle pagine web"
+
+#: ../../include/text.php:1867
+msgid "HTML"
+msgstr ""
+
+#: ../../include/text.php:1870
+msgid "Comanche Layout"
+msgstr ""
+
+#: ../../include/text.php:1875
+msgid "PHP"
+msgstr ""
+
+#: ../../include/text.php:1884
+msgid "Page content type"
+msgstr "Tipo di contenuto della pagina"
+
+#: ../../include/text.php:2017
+msgid "activity"
+msgstr "l'attività"
+
+#: ../../include/text.php:2099
+msgid "a-z, 0-9, -, and _ only"
+msgstr ""
+
+#: ../../include/text.php:2399
+msgid "Design Tools"
+msgstr "Strumenti di design"
+
+#: ../../include/text.php:2405
+msgid "Pages"
+msgstr "Pagine"
+
+#: ../../include/text.php:2427
+msgid "Import website..."
+msgstr "Importazione sito web..."
+
+#: ../../include/text.php:2428
+msgid "Select folder to import"
+msgstr "Scegli la cartella da importare"
+
+#: ../../include/text.php:2429
+msgid "Import from a zipped folder:"
+msgstr "Importa da un file zip:"
+
+#: ../../include/text.php:2430
+msgid "Import from cloud files:"
+msgstr "Importa da un file su cloud:"
+
+#: ../../include/text.php:2431
+msgid "/cloud/channel/path/to/folder"
+msgstr "/cloud/channel/posizione/della/cartella"
+
+#: ../../include/text.php:2432
+msgid "Enter path to website files"
+msgstr "Inserisci la posizione dei file del sito web"
+
+#: ../../include/text.php:2433
+msgid "Select folder"
+msgstr "Scegli la cartella"
+
+#: ../../include/text.php:2434
+msgid "Export website..."
+msgstr "Esporta il sito web..."
+
+#: ../../include/text.php:2435
+msgid "Export to a zip file"
+msgstr "Esporta come file zip"
+
+#: ../../include/text.php:2436
+msgid "website.zip"
+msgstr "sitoweb.zip"
+
+#: ../../include/text.php:2437
+msgid "Enter a name for the zip file."
+msgstr "Scegli il nome del file zip."
+
+#: ../../include/text.php:2438
+msgid "Export to cloud files"
+msgstr "Esporta nell'archivio cloud"
+
+#: ../../include/text.php:2439
+msgid "/path/to/export/folder"
+msgstr "/percorso/alla/cartella"
+
+#: ../../include/text.php:2440
+msgid "Enter a path to a cloud files destination."
+msgstr "Scegli la posizione su una cartella cloud."
+
+#: ../../include/text.php:2441
+msgid "Specify folder"
+msgstr "Scegli la cartella"
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invito disponibile"
+msgstr[1] "%d inviti disponibili"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Ricerca canali"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Scrivi un nome o un interesse"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Aggiungi"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Per esempio: Mario Rossi, Pesca"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Profilo casuale"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Invita amici"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Per esempio: name=mario e country=italy"
+
+#: ../../include/contact_widgets.php:223
+msgid "Common Connections"
+msgstr ""
+
+#: ../../include/contact_widgets.php:228
+#, php-format
+msgid "View all %d common connections"
+msgstr ""
+
+#: ../../include/markdown.php:158 ../../include/bbcode.php:343
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s ha scritto %2$s %3$s"
+
+#: ../../include/follow.php:37
+msgid "Channel is blocked on this site."
+msgstr "Il canale è bloccato per questo sito."
+
+#: ../../include/follow.php:42
+msgid "Channel location missing."
+msgstr "Manca l'indirizzo del canale."
+
+#: ../../include/follow.php:84
+msgid "Response from remote channel was incomplete."
+msgstr "La risposta dal canale non è completa."
+
+#: ../../include/follow.php:101
+msgid "Channel was deleted and no longer exists."
+msgstr "Il canale è stato rimosso e non esiste più."
+
+#: ../../include/follow.php:156
+msgid "Remote channel or protocol unavailable."
+msgstr ""
+
+#: ../../include/follow.php:179
+msgid "Channel discovery failed."
+msgstr "La ricerca del canale non ha avuto successo."
+
+#: ../../include/follow.php:191
+msgid "Protocol disabled."
+msgstr "Protocollo disabilitato."
+
+#: ../../include/follow.php:202
+msgid "Cannot connect to yourself."
+msgstr "Non puoi connetterti a te stesso."
#: ../../include/js_strings.php:5
msgid "Delete this item?"
@@ -8813,1371 +12656,1405 @@ msgstr "Inserisci l'URL di un link"
msgid "Unsaved changes. Are you sure you wish to leave this page?"
msgstr "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:31
msgid "timeago.prefixAgo"
msgstr "timeago.prefixAgo"
-#: ../../include/js_strings.php:28
+#: ../../include/js_strings.php:32
msgid "timeago.prefixFromNow"
msgstr "timeago.prefixFromNow"
-#: ../../include/js_strings.php:29
-msgid "ago"
-msgstr "fa"
+#: ../../include/js_strings.php:33
+msgid "timeago.suffixAgo"
+msgstr ""
-#: ../../include/js_strings.php:30
-msgid "from now"
-msgstr "da adesso"
+#: ../../include/js_strings.php:34
+msgid "timeago.suffixFromNow"
+msgstr ""
-#: ../../include/js_strings.php:31
+#: ../../include/js_strings.php:37
msgid "less than a minute"
msgstr "meno di un minuto"
-#: ../../include/js_strings.php:32
+#: ../../include/js_strings.php:38
msgid "about a minute"
msgstr "circa un minuto"
-#: ../../include/js_strings.php:33
+#: ../../include/js_strings.php:39
#, php-format
msgid "%d minutes"
msgstr "%d minuti"
-#: ../../include/js_strings.php:34
+#: ../../include/js_strings.php:40
msgid "about an hour"
msgstr "circa un’ora"
-#: ../../include/js_strings.php:35
+#: ../../include/js_strings.php:41
#, php-format
msgid "about %d hours"
msgstr "circa %d ore"
-#: ../../include/js_strings.php:36
+#: ../../include/js_strings.php:42
msgid "a day"
msgstr "un giorno"
-#: ../../include/js_strings.php:37
+#: ../../include/js_strings.php:43
#, php-format
msgid "%d days"
msgstr "%d giorni"
-#: ../../include/js_strings.php:38
+#: ../../include/js_strings.php:44
msgid "about a month"
msgstr "circa un mese"
-#: ../../include/js_strings.php:39
+#: ../../include/js_strings.php:45
#, php-format
msgid "%d months"
msgstr "%d mesi"
-#: ../../include/js_strings.php:40
+#: ../../include/js_strings.php:46
msgid "about a year"
msgstr "circa un anno"
-#: ../../include/js_strings.php:41
+#: ../../include/js_strings.php:47
#, php-format
msgid "%d years"
msgstr "%d anni"
-#: ../../include/js_strings.php:42
+#: ../../include/js_strings.php:48
msgid " "
msgstr " "
-#: ../../include/js_strings.php:43
+#: ../../include/js_strings.php:49
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/js_strings.php:49
+#: ../../include/js_strings.php:55
msgctxt "long"
msgid "May"
msgstr "maggio"
-#: ../../include/js_strings.php:57
+#: ../../include/js_strings.php:63
msgid "Jan"
msgstr "Gen"
-#: ../../include/js_strings.php:58
+#: ../../include/js_strings.php:64
msgid "Feb"
msgstr "Feb"
-#: ../../include/js_strings.php:59
+#: ../../include/js_strings.php:65
msgid "Mar"
msgstr "Mar"
-#: ../../include/js_strings.php:60
+#: ../../include/js_strings.php:66
msgid "Apr"
msgstr "Apr"
-#: ../../include/js_strings.php:61
+#: ../../include/js_strings.php:67
msgctxt "short"
msgid "May"
msgstr "maggio"
-#: ../../include/js_strings.php:62
+#: ../../include/js_strings.php:68
msgid "Jun"
msgstr "Mag"
-#: ../../include/js_strings.php:63
+#: ../../include/js_strings.php:69
msgid "Jul"
msgstr "Giu"
-#: ../../include/js_strings.php:64
+#: ../../include/js_strings.php:70
msgid "Aug"
msgstr "Ago"
-#: ../../include/js_strings.php:65
+#: ../../include/js_strings.php:71
msgid "Sep"
msgstr "Set"
-#: ../../include/js_strings.php:66
+#: ../../include/js_strings.php:72
msgid "Oct"
msgstr "Ott"
-#: ../../include/js_strings.php:67
+#: ../../include/js_strings.php:73
msgid "Nov"
msgstr "Nov"
-#: ../../include/js_strings.php:68
+#: ../../include/js_strings.php:74
msgid "Dec"
msgstr "Dic"
-#: ../../include/js_strings.php:76
+#: ../../include/js_strings.php:82
msgid "Sun"
msgstr "Dom"
-#: ../../include/js_strings.php:77
+#: ../../include/js_strings.php:83
msgid "Mon"
msgstr "Lun"
-#: ../../include/js_strings.php:78
+#: ../../include/js_strings.php:84
msgid "Tue"
msgstr "Mar"
-#: ../../include/js_strings.php:79
+#: ../../include/js_strings.php:85
msgid "Wed"
msgstr "Mer"
-#: ../../include/js_strings.php:80
+#: ../../include/js_strings.php:86
msgid "Thu"
msgstr "Gio"
-#: ../../include/js_strings.php:81
+#: ../../include/js_strings.php:87
msgid "Fri"
msgstr "Ven"
-#: ../../include/js_strings.php:82
+#: ../../include/js_strings.php:88
msgid "Sat"
msgstr "Sab"
-#: ../../include/js_strings.php:83
+#: ../../include/js_strings.php:89
msgctxt "calendar"
msgid "today"
msgstr "oggi"
-#: ../../include/js_strings.php:84
+#: ../../include/js_strings.php:90
msgctxt "calendar"
msgid "month"
msgstr "mese"
-#: ../../include/js_strings.php:85
+#: ../../include/js_strings.php:91
msgctxt "calendar"
msgid "week"
msgstr "settimana"
-#: ../../include/js_strings.php:86
+#: ../../include/js_strings.php:92
msgctxt "calendar"
msgid "day"
msgstr "giorno"
-#: ../../include/js_strings.php:87
+#: ../../include/js_strings.php:93
msgctxt "calendar"
msgid "All day"
msgstr "Tutto il giorno"
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "Il canale è bloccato per questo sito."
-
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Manca l'indirizzo del canale."
-
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "La risposta dal canale non è completa."
-
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "Il canale è stato rimosso e non esiste più."
+#: ../../include/message.php:40
+msgid "Unable to determine sender."
+msgstr "Impossibile determinare il mittente."
-#: ../../include/follow.php:147 ../../include/follow.php:183
-msgid "Protocol disabled."
-msgstr "Protocollo disabilitato."
+#: ../../include/message.php:79
+msgid "No recipient provided."
+msgstr "Devi scegliere un destinatario."
-#: ../../include/follow.php:171
-msgid "Channel discovery failed."
-msgstr "La ricerca del canale non ha avuto successo."
+#: ../../include/message.php:84
+msgid "[no subject]"
+msgstr "[nessun titolo]"
-#: ../../include/follow.php:210
-msgid "Cannot connect to yourself."
-msgstr "Non puoi connetterti a te stesso."
+#: ../../include/message.php:214
+msgid "Stored post could not be verified."
+msgstr "Non è stato possibile verificare il post."
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:881
-#: ../../include/bbcode.php:884 ../../include/bbcode.php:889
-#: ../../include/bbcode.php:892 ../../include/bbcode.php:895
-#: ../../include/bbcode.php:898 ../../include/bbcode.php:903
-#: ../../include/bbcode.php:906 ../../include/bbcode.php:911
-#: ../../include/bbcode.php:914 ../../include/bbcode.php:917
-#: ../../include/bbcode.php:920
-msgid "Image/photo"
-msgstr "Immagine"
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "e"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:931
-msgid "Encrypted content"
-msgstr "Contenuto cifrato"
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "profilo pubblico"
-#: ../../include/bbcode.php:178
+#: ../../include/activities.php:58
#, php-format
-msgid "Install %s element: "
-msgstr "Installa l'elemento %s:"
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
-#: ../../include/bbcode.php:182
+#: ../../include/activities.php:59
#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
+msgid "Visit %1$s's %2$s"
+msgstr "Guarda %2$s di %1$s "
-#: ../../include/bbcode.php:261
+#: ../../include/activities.php:62
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s ha scritto %2$s %3$s"
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
-#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
-msgid "Click to open/close"
-msgstr "Clicca per aprire/chiudere"
+#: ../../include/attach.php:265 ../../include/attach.php:361
+msgid "Item was not found."
+msgstr "Elemento non trovato."
-#: ../../include/bbcode.php:346
-msgid "spoiler"
-msgstr "spoiler"
+#: ../../include/attach.php:554
+msgid "No source file."
+msgstr "Nessun file di origine."
-#: ../../include/bbcode.php:869
-msgid "$1 wrote:"
-msgstr "$1 ha scritto:"
+#: ../../include/attach.php:576
+msgid "Cannot locate file to replace"
+msgstr "Il file da sostituire non è stato trovato"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s adesso è connesso con %2$s"
+#: ../../include/attach.php:595
+msgid "Cannot locate file to revise/update"
+msgstr "Il file da aggiornare non è stato trovato"
-#: ../../include/conversation.php:239
+#: ../../include/attach.php:737
#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s ha mandato un poke a %2$s"
+msgid "File exceeds size limit of %d"
+msgstr "Il file supera la dimensione massima di %d"
-#: ../../include/conversation.php:694
+#: ../../include/attach.php:758
#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vedi il profilo di %s @ %s"
-
-#: ../../include/conversation.php:713
-msgid "Categories:"
-msgstr "Categorie:"
-
-#: ../../include/conversation.php:714
-msgid "Filed under:"
-msgstr "Classificato come:"
-
-#: ../../include/conversation.php:739
-msgid "View in context"
-msgstr "Vedi nel contesto"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
-#: ../../include/conversation.php:849
-msgid "remove"
-msgstr "rimuovi"
+#: ../../include/attach.php:940
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
-#: ../../include/conversation.php:854
-msgid "Delete Selected Items"
-msgstr "Elimina gli oggetti selezionati"
+#: ../../include/attach.php:959
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Il file non può essere verificato. Caricamento fallito."
-#: ../../include/conversation.php:947
-msgid "View Source"
-msgstr "Vedi il sorgente"
+#: ../../include/attach.php:1033 ../../include/attach.php:1049
+msgid "Path not available."
+msgstr "Percorso non disponibile."
-#: ../../include/conversation.php:948
-msgid "Follow Thread"
-msgstr "Segui la discussione"
+#: ../../include/attach.php:1098 ../../include/attach.php:1263
+msgid "Empty pathname"
+msgstr "Il percorso del file è vuoto"
-#: ../../include/conversation.php:949
-msgid "Unfollow Thread"
-msgstr "Non seguire la discussione"
+#: ../../include/attach.php:1124
+msgid "duplicate filename or path"
+msgstr "il file o il percorso del file è duplicato"
-#: ../../include/conversation.php:954
-msgid "Activity/Posts"
-msgstr "Attività e Post"
+#: ../../include/attach.php:1149
+msgid "Path not found."
+msgstr "Percorso del file non trovato."
-#: ../../include/conversation.php:956
-msgid "Edit Connection"
-msgstr "Modifica il contatto"
+#: ../../include/attach.php:1217
+msgid "mkdir failed."
+msgstr "mkdir fallito."
-#: ../../include/conversation.php:957
-msgid "Message"
-msgstr "Messaggio"
+#: ../../include/attach.php:1221
+msgid "database storage failed."
+msgstr "scrittura su database fallita."
-#: ../../include/conversation.php:1077
-#, php-format
-msgid "%s likes this."
-msgstr "Piace a %s."
+#: ../../include/attach.php:1269
+msgid "Empty path"
+msgstr "La posizione è vuota"
-#: ../../include/conversation.php:1077
-#, php-format
-msgid "%s doesn't like this."
-msgstr "Non piace a %s."
+#: ../../include/security.php:532
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
-#: ../../include/conversation.php:1081
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] "Piace a <span %1$s>%2$d persone</span>."
+#: ../../include/items.php:885 ../../include/items.php:945
+msgid "(Unknown)"
+msgstr "(Sconosciuto)"
-#: ../../include/conversation.php:1083
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] "Non piace a <span %1$s>%2$d persone</span>."
+#: ../../include/items.php:1129
+msgid "Visible to anybody on the internet."
+msgstr "Visibile a chiunque su internet."
-#: ../../include/conversation.php:1089
-msgid "and"
-msgstr "e"
+#: ../../include/items.php:1131
+msgid "Visible to you only."
+msgstr "Visibile solo a te."
-#: ../../include/conversation.php:1092
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] "e altre %d persone"
+#: ../../include/items.php:1133
+msgid "Visible to anybody in this network."
+msgstr "Visibile a tutti su questa rete."
-#: ../../include/conversation.php:1093
-#, php-format
-msgid "%s like this."
-msgstr "Piace a %s."
+#: ../../include/items.php:1135
+msgid "Visible to anybody authenticated."
+msgstr "Visibile a chiunque sia autenticato."
-#: ../../include/conversation.php:1093
+#: ../../include/items.php:1137
#, php-format
-msgid "%s don't like this."
-msgstr "Non piace a %s."
-
-#: ../../include/conversation.php:1136
-msgid "Set your location"
-msgstr "La tua località"
-
-#: ../../include/conversation.php:1137
-msgid "Clear browser location"
-msgstr "Rimuovi la località data dal browser"
-
-#: ../../include/conversation.php:1185
-msgid "Tag term:"
-msgstr "Tag:"
-
-#: ../../include/conversation.php:1186
-msgid "Where are you right now?"
-msgstr "Dove sei ora?"
-
-#: ../../include/conversation.php:1195
-msgid "Comments enabled"
-msgstr "Commenti abilitati"
-
-#: ../../include/conversation.php:1196
-msgid "Comments disabled"
-msgstr "Commenti disabilitati"
-
-#: ../../include/conversation.php:1234
-msgid "Page link name"
-msgstr "Nome del link alla pagina"
-
-#: ../../include/conversation.php:1237
-msgid "Post as"
-msgstr "Pubblica come "
+msgid "Visible to anybody on %s."
+msgstr "Visibile a tutti su %s."
-#: ../../include/conversation.php:1251
-msgid "Toggle voting"
-msgstr "Abilita/disabilita il voto"
+#: ../../include/items.php:1139
+msgid "Visible to all connections."
+msgstr "Visibile a tutti coloro che ti seguono."
-#: ../../include/conversation.php:1254
-msgid "Disable comments"
-msgstr "Disabilita i commenti"
+#: ../../include/items.php:1141
+msgid "Visible to approved connections."
+msgstr "Visibile ai contatti approvati."
-#: ../../include/conversation.php:1255
-msgid "Toggle comments"
-msgstr "Abilita/disabilita i commenti"
+#: ../../include/items.php:1143
+msgid "Visible to specific connections."
+msgstr "Visibile ad alcuni contatti scelti."
-#: ../../include/conversation.php:1263
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categorie (facoltative, lista separata da virgole)"
+#: ../../include/items.php:4147
+msgid "Privacy group is empty."
+msgstr "Gruppo di canali vuoto."
-#: ../../include/conversation.php:1286
-msgid "Other networks and post services"
-msgstr "Invio ad altre reti o a siti esterni"
+#: ../../include/items.php:4154
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Gruppo di canali: %s"
-#: ../../include/conversation.php:1292
-msgid "Set publish date"
-msgstr "Data di uscita programmata"
+#: ../../include/items.php:4166
+msgid "Connection not found."
+msgstr "Contatto non trovato."
-#: ../../include/conversation.php:1541
-msgid "Discover"
-msgstr "Scopri"
+#: ../../include/items.php:4515
+msgid "profile photo"
+msgstr "foto del profilo"
-#: ../../include/conversation.php:1544
-msgid "Imported public streams"
-msgstr "Contenuti pubblici importati"
+#: ../../include/items.php:4706
+#, php-format
+msgid "[Edited %s]"
+msgstr ""
-#: ../../include/conversation.php:1549
-msgid "Commented Order"
-msgstr "Commenti recenti"
+#: ../../include/items.php:4706
+msgctxt "edit_activity"
+msgid "Post"
+msgstr ""
-#: ../../include/conversation.php:1552
-msgid "Sort by Comment Date"
-msgstr "Per data del commento"
+#: ../../include/items.php:4706
+msgctxt "edit_activity"
+msgid "Comment"
+msgstr ""
-#: ../../include/conversation.php:1556
-msgid "Posted Order"
-msgstr "Post recenti"
+#: ../../include/channel.php:35
+msgid "Unable to obtain identity information from database"
+msgstr "Impossibile ottenere le informazioni di identificazione dal database"
-#: ../../include/conversation.php:1559
-msgid "Sort by Post Date"
-msgstr "Per data di creazione"
+#: ../../include/channel.php:68
+msgid "Empty name"
+msgstr "Nome vuoto"
-#: ../../include/conversation.php:1567
-msgid "Posts that mention or involve you"
-msgstr "Post che ti riguardano"
+#: ../../include/channel.php:71
+msgid "Name too long"
+msgstr "Nome troppo lungo"
-#: ../../include/conversation.php:1576
-msgid "Activity Stream - by date"
-msgstr "Elenco attività - per data"
+#: ../../include/channel.php:188
+msgid "No account identifier"
+msgstr "Account senza identificativo"
-#: ../../include/conversation.php:1582
-msgid "Starred"
-msgstr "Preferiti"
+#: ../../include/channel.php:200
+msgid "Nickname is required."
+msgstr "Il nome dell'account è obbligatorio."
-#: ../../include/conversation.php:1585
-msgid "Favourite Posts"
-msgstr "Post preferiti"
+#: ../../include/channel.php:277
+msgid "Unable to retrieve created identity"
+msgstr "Impossibile caricare l'identità creata"
-#: ../../include/conversation.php:1592
-msgid "Spam"
-msgstr "Spam"
+#: ../../include/channel.php:373
+msgid "Default Profile"
+msgstr "Profilo predefinito"
-#: ../../include/conversation.php:1595
-msgid "Posts flagged as SPAM"
-msgstr "Post marcati come spam"
+#: ../../include/channel.php:532 ../../include/channel.php:621
+msgid "Unable to retrieve modified identity"
+msgstr ""
-#: ../../include/conversation.php:1654
-msgid "Status Messages and Posts"
-msgstr "Post e messaggi di stato"
+#: ../../include/channel.php:1298
+msgid "Create New Profile"
+msgstr "Crea un nuovo profilo"
-#: ../../include/conversation.php:1663
-msgid "About"
-msgstr "Informazioni"
+#: ../../include/channel.php:1319
+msgid "Visible to everybody"
+msgstr "Visibile a tutti"
-#: ../../include/conversation.php:1666
-msgid "Profile Details"
-msgstr "Dettagli del profilo"
+#: ../../include/channel.php:1396 ../../include/channel.php:1524
+msgid "Gender:"
+msgstr "Sesso:"
-#: ../../include/conversation.php:1682
-msgid "Files and Storage"
-msgstr "Archivio file"
+#: ../../include/channel.php:1398 ../../include/channel.php:1579
+msgid "Homepage:"
+msgstr "Home page:"
-#: ../../include/conversation.php:1702 ../../include/conversation.php:1705
-#: ../../include/widgets.php:883
-msgid "Chatrooms"
-msgstr "Chat"
+#: ../../include/channel.php:1399
+msgid "Online Now"
+msgstr "Online adesso"
-#: ../../include/conversation.php:1718
-msgid "Saved Bookmarks"
-msgstr "Segnalibri salvati"
+#: ../../include/channel.php:1452
+msgid "Change your profile photo"
+msgstr ""
-#: ../../include/conversation.php:1728
-msgid "Manage Webpages"
-msgstr "Gestisci le pagine web"
+#: ../../include/channel.php:1483
+msgid "Trans"
+msgstr ""
-#: ../../include/conversation.php:1793
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Partecipa"
-msgstr[1] "Partecipano"
+#: ../../include/channel.php:1529
+msgid "Like this channel"
+msgstr "Mi piace questo canale"
-#: ../../include/conversation.php:1796
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Non partecipa"
-msgstr[1] "Non partecipano"
+#: ../../include/channel.php:1553
+msgid "j F, Y"
+msgstr "j F Y"
-#: ../../include/conversation.php:1799
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indeciso"
-msgstr[1] "Indecisi"
+#: ../../include/channel.php:1554
+msgid "j F"
+msgstr "j F"
-#: ../../include/conversation.php:1802
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "D'accordo"
-msgstr[1] "D'accordo"
+#: ../../include/channel.php:1561
+msgid "Birthday:"
+msgstr "Compleanno:"
-#: ../../include/conversation.php:1805
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Non d'accordo"
-msgstr[1] "Non d'accordo"
+#: ../../include/channel.php:1574
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "per %1$d %2$s"
-#: ../../include/conversation.php:1808
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Astenuto"
-msgstr[1] "Astenuti"
+#: ../../include/channel.php:1577
+msgid "Sexual Preference:"
+msgstr "Preferenze sessuali:"
-#: ../../include/datetime.php:147
-msgid "Birthday"
-msgstr "Compleanno"
+#: ../../include/channel.php:1583
+msgid "Tags:"
+msgstr "Tag:"
-#: ../../include/datetime.php:149
-msgid "Age: "
-msgstr "Età:"
+#: ../../include/channel.php:1585
+msgid "Political Views:"
+msgstr "Orientamento politico:"
-#: ../../include/datetime.php:151
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "AAAA-MM-GG oppure MM-GG"
+#: ../../include/channel.php:1587
+msgid "Religion:"
+msgstr "Religione:"
-#: ../../include/datetime.php:284 ../../boot.php:2578
-msgid "never"
-msgstr "mai"
+#: ../../include/channel.php:1591
+msgid "Hobbies/Interests:"
+msgstr "Interessi e hobby:"
-#: ../../include/datetime.php:290
-msgid "less than a second ago"
-msgstr "meno di un secondo fa"
+#: ../../include/channel.php:1593
+msgid "Likes:"
+msgstr "Mi piace:"
-#: ../../include/datetime.php:308
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s fa"
+#: ../../include/channel.php:1595
+msgid "Dislikes:"
+msgstr "Non mi piace:"
-#: ../../include/datetime.php:319
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "anno"
-msgstr[1] "anni"
+#: ../../include/channel.php:1597
+msgid "Contact information and Social Networks:"
+msgstr "Contatti e social network:"
-#: ../../include/datetime.php:322
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "mese"
-msgstr[1] "mesi"
+#: ../../include/channel.php:1599
+msgid "My other channels:"
+msgstr "I miei altri canali:"
-#: ../../include/datetime.php:325
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "settimana"
-msgstr[1] "settimane"
+#: ../../include/channel.php:1601
+msgid "Musical interests:"
+msgstr "Gusti musicali:"
-#: ../../include/datetime.php:328
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "giorno"
-msgstr[1] "giorni"
+#: ../../include/channel.php:1603
+msgid "Books, literature:"
+msgstr "Libri, letteratura:"
-#: ../../include/datetime.php:331
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "ora"
-msgstr[1] "ore"
+#: ../../include/channel.php:1605
+msgid "Television:"
+msgstr "Televisione:"
-#: ../../include/datetime.php:334
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuto"
-msgstr[1] "minuti"
+#: ../../include/channel.php:1607
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film, danza, cultura, intrattenimento:"
-#: ../../include/datetime.php:337
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "secondo"
-msgstr[1] "secondi"
+#: ../../include/channel.php:1609
+msgid "Love/Romance:"
+msgstr "Amore:"
-#: ../../include/datetime.php:574
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Compleanno di %1$s"
+#: ../../include/channel.php:1611
+msgid "Work/employment:"
+msgstr "Lavoro:"
-#: ../../include/datetime.php:575
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Buon compleanno %1$s"
+#: ../../include/channel.php:1613
+msgid "School/education:"
+msgstr "Scuola:"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Visibilità negli elenchi pubblici"
+#: ../../include/channel.php:1636
+msgid "Like this thing"
+msgstr "Mi piace"
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Modalità SafeSearch"
+#: ../../include/event.php:24 ../../include/event.php:71
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Solo forum pubblici"
+#: ../../include/event.php:32 ../../include/event.php:75
+msgid "Starts:"
+msgstr "Inizio:"
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Solo in questo sito"
+#: ../../include/event.php:42 ../../include/event.php:79
+msgid "Finishes:"
+msgstr "Fine:"
-#: ../../include/event.php:824
+#: ../../include/event.php:1011
msgid "This event has been added to your calendar."
msgstr "Questo evento è stato aggiunto al tuo calendario"
-#: ../../include/event.php:1024
+#: ../../include/event.php:1227
msgid "Not specified"
msgstr "Non specificato"
-#: ../../include/event.php:1025
+#: ../../include/event.php:1228
msgid "Needs Action"
msgstr "Necessita di un intervento"
-#: ../../include/event.php:1026
+#: ../../include/event.php:1229
msgid "Completed"
msgstr "Completato"
-#: ../../include/event.php:1027
+#: ../../include/event.php:1230
msgid "In Process"
msgstr "In corso"
-#: ../../include/event.php:1028
+#: ../../include/event.php:1231
msgid "Cancelled"
msgstr "Annullato"
-#: ../../include/import.php:30
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
-
-#: ../../include/import.php:97
-msgid "Channel clone failed. Import failed."
-msgstr "Impossibile clonare il canale. L'importazione è fallita."
-
-#: ../../include/import.php:1447
-msgid "Unable to import element \""
-msgstr "Impossibile importare l'elemento \""
-
-#: ../../include/auth.php:148
-msgid "Logged out."
-msgstr "Uscita effettuata."
-
-#: ../../include/auth.php:275
-msgid "Failed authentication"
-msgstr "Autenticazione fallita"
-
-#: ../../include/auth.php:286
-msgid "Login failed."
-msgstr "Accesso fallito."
-
-#: ../../include/activities.php:41
-msgid " and "
-msgstr "e"
-
-#: ../../include/activities.php:49
-msgid "public profile"
-msgstr "profilo pubblico"
+#: ../../include/event.php:1310 ../../include/connections.php:684
+msgid "Home, Voice"
+msgstr ""
-#: ../../include/activities.php:58
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
+#: ../../include/event.php:1311 ../../include/connections.php:685
+msgid "Home, Fax"
+msgstr ""
-#: ../../include/activities.php:59
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Guarda %2$s di %1$s "
+#: ../../include/event.php:1313 ../../include/connections.php:687
+msgid "Work, Voice"
+msgstr ""
-#: ../../include/activities.php:62
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
+#: ../../include/event.php:1314 ../../include/connections.php:688
+msgid "Work, Fax"
+msgstr ""
-#: ../../include/network.php:704
+#: ../../include/network.php:762
msgid "view full size"
msgstr "guarda nelle dimensioni reali"
-#: ../../include/network.php:1953
-msgid "No Subject"
-msgstr "Nessun titolo"
-
-#: ../../include/network.php:2207 ../../include/network.php:2208
+#: ../../include/network.php:1769 ../../include/network.php:1770
msgid "Friendica"
msgstr "Friendica"
-#: ../../include/network.php:2209
+#: ../../include/network.php:1771
msgid "OStatus"
msgstr "OStatus"
-#: ../../include/network.php:2210
+#: ../../include/network.php:1772
msgid "GNU-Social"
msgstr "GNU-Social"
-#: ../../include/network.php:2211
+#: ../../include/network.php:1773
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/network.php:2213
+#: ../../include/network.php:1776
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../include/network.php:2214
+#: ../../include/network.php:1777
msgid "Facebook"
msgstr "Facebook"
-#: ../../include/network.php:2215
+#: ../../include/network.php:1778
msgid "Zot"
msgstr "Zot"
-#: ../../include/network.php:2216
+#: ../../include/network.php:1779
msgid "LinkedIn"
msgstr "LinkedIn"
-#: ../../include/network.php:2217
+#: ../../include/network.php:1780
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/network.php:2218
+#: ../../include/network.php:1781
msgid "MySpace"
msgstr "MySpace"
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
-#: ../../include/widgets.php:465
-msgid "Categories"
-msgstr "Categorie"
+#: ../../include/language.php:410
+msgid "Select an alternate language"
+msgstr "Seleziona una lingua diversa"
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
-msgstr "Tag"
+#: ../../include/acl_selectors.php:113
+msgid "Who can see this?"
+msgstr "Chi può vederlo?"
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
-msgstr "Parole chiave"
+#: ../../include/acl_selectors.php:114
+msgid "Custom selection"
+msgstr "Selezione personalizzata"
-#: ../../include/taxonomy.php:314
-msgid "have"
-msgstr "ho"
+#: ../../include/acl_selectors.php:115
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\"."
-#: ../../include/taxonomy.php:314
-msgid "has"
-msgstr "ha"
+#: ../../include/acl_selectors.php:116
+msgid "Show"
+msgstr "Mostra"
-#: ../../include/taxonomy.php:315
-msgid "want"
-msgstr "voglio"
+#: ../../include/acl_selectors.php:117
+msgid "Don't show"
+msgstr "Non mostrare"
-#: ../../include/taxonomy.php:315
-msgid "wants"
-msgstr "vuole"
+#: ../../include/acl_selectors.php:150
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post."
-#: ../../include/taxonomy.php:316
-msgid "likes"
-msgstr "gli piace"
+#: ../../include/dba/dba_driver.php:178
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Non trovo le informazioni DNS per il database server '%s'"
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
-msgstr "non gli piace"
+#: ../../include/bbcode.php:198 ../../include/bbcode.php:1151
+#: ../../include/bbcode.php:1154 ../../include/bbcode.php:1159
+#: ../../include/bbcode.php:1162 ../../include/bbcode.php:1165
+#: ../../include/bbcode.php:1168 ../../include/bbcode.php:1173
+#: ../../include/bbcode.php:1176 ../../include/bbcode.php:1181
+#: ../../include/bbcode.php:1184 ../../include/bbcode.php:1187
+#: ../../include/bbcode.php:1190
+msgid "Image/photo"
+msgstr "Immagine"
-#: ../../include/contact_widgets.php:11
+#: ../../include/bbcode.php:237 ../../include/bbcode.php:1201
+msgid "Encrypted content"
+msgstr "Contenuto cifrato"
+
+#: ../../include/bbcode.php:253
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invito disponibile"
-msgstr[1] "%d inviti disponibili"
+msgid "Install %1$s element %2$s"
+msgstr ""
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr "Ricerca canali"
+#: ../../include/bbcode.php:257
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
-msgstr "Scrivi un nome o un interesse"
+#: ../../include/bbcode.php:335
+msgid "card"
+msgstr ""
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
-msgstr "Aggiungi"
+#: ../../include/bbcode.php:337
+msgid "article"
+msgstr ""
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Per esempio: Mario Rossi, Pesca"
+#: ../../include/bbcode.php:420 ../../include/bbcode.php:428
+msgid "Click to open/close"
+msgstr "Clicca per aprire/chiudere"
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
-msgstr "Profilo casuale"
+#: ../../include/bbcode.php:428
+msgid "spoiler"
+msgstr "spoiler"
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
-msgstr "Invita amici"
+#: ../../include/bbcode.php:441
+msgid "View article"
+msgstr ""
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Per esempio: name=mario e country=italy"
+#: ../../include/bbcode.php:441
+msgid "View summary"
+msgstr ""
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-#: ../../include/widgets.php:349 ../../include/widgets.php:468
-msgid "Everything"
-msgstr "Tutto"
+#: ../../include/bbcode.php:1139
+msgid "$1 wrote:"
+msgstr "$1 ha scritto:"
+
+#: ../../include/oembed.php:328
+msgid " by "
+msgstr "di"
-#: ../../include/contact_widgets.php:122
+#: ../../include/oembed.php:329
+msgid " on "
+msgstr "su"
+
+#: ../../include/oembed.php:358
+msgid "Embedded content"
+msgstr "Contenuti incorporati"
+
+#: ../../include/oembed.php:367
+msgid "Embedding disabled"
+msgstr "Disabilita la creazione di contenuti incorporati"
+
+#: ../../include/zid.php:346
#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d contatto in comune"
-msgstr[1] "%d contatti in comune"
+msgid "OpenWebAuth: %1$s welcomes %2$s"
+msgstr ""
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr "mostra tutto"
+#: ../../include/features.php:54
+msgid "General Features"
+msgstr "Funzionalità di base"
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Sistema"
+#: ../../include/features.php:60
+msgid "Advanced Profiles"
+msgstr "Profili avanzati"
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr "Nuova app"
+#: ../../include/features.php:61
+msgid "Additional profile sections and selections"
+msgstr "Informazioni aggiuntive del profilo"
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Suggerimenti"
+#: ../../include/features.php:69
+msgid "Profile Import/Export"
+msgstr "Importa/esporta il profilo"
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Altro..."
+#: ../../include/features.php:70
+msgid "Save and load profile details across sites/channels"
+msgstr "Salva o ripristina le informazioni del profilo su siti diversi"
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse."
+#: ../../include/features.php:78
+msgid "Web Pages"
+msgstr "Pagine web"
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Aggiungi un contatto"
+#: ../../include/features.php:79
+msgid "Provide managed web pages on your channel"
+msgstr "Attiva la creazione di pagine web sul tuo canale"
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Indirizzo del canale"
+#: ../../include/features.php:88
+msgid "Provide a wiki for your channel"
+msgstr "Fornisce una wiki per il tuo canale"
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Per esempio: bob@example.com, https://example.com/barbara"
+#: ../../include/features.php:105
+msgid "Private Notes"
+msgstr "Note private"
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Note"
+#: ../../include/features.php:106
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "Abilita il riquadro per scrivere annotazioni (in chiaro)"
-#: ../../include/widgets.php:275
-msgid "Remove term"
-msgstr "Rimuovi termine"
+#: ../../include/features.php:115
+msgid "Create personal planning cards"
+msgstr ""
-#: ../../include/widgets.php:390
-msgid "Archives"
-msgstr "Archivi"
+#: ../../include/features.php:125
+msgid "Create interactive articles"
+msgstr ""
-#: ../../include/widgets.php:552
-msgid "Refresh"
-msgstr "Aggiorna"
+#: ../../include/features.php:133
+msgid "Navigation Channel Select"
+msgstr "Scegli il canale attivo dal menu"
-#: ../../include/widgets.php:592
-msgid "Account settings"
-msgstr "Il tuo account"
+#: ../../include/features.php:134
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
-#: ../../include/widgets.php:598
-msgid "Channel settings"
-msgstr "Impostazioni del canale"
+#: ../../include/features.php:142
+msgid "Photo Location"
+msgstr "Posizione geografica"
-#: ../../include/widgets.php:607
-msgid "Additional features"
-msgstr "Funzionalità opzionali"
+#: ../../include/features.php:143
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
-#: ../../include/widgets.php:614
-msgid "Feature/Addon settings"
-msgstr "Componenti aggiuntivi"
+#: ../../include/features.php:151
+msgid "Access Controlled Chatrooms"
+msgstr "Chat ad accesso riservato"
-#: ../../include/widgets.php:620
-msgid "Display settings"
-msgstr "Aspetto"
+#: ../../include/features.php:152
+msgid "Provide chatrooms and chat services with access control."
+msgstr "Il servizio di chat con accesso riservato."
-#: ../../include/widgets.php:627
-msgid "Manage locations"
-msgstr "Gestione cloni del tuo canale"
+#: ../../include/features.php:161
+msgid "Smart Birthdays"
+msgstr "Compleanni intelligenti"
-#: ../../include/widgets.php:634
-msgid "Export channel"
-msgstr "Esporta il canale"
+#: ../../include/features.php:162
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo."
-#: ../../include/widgets.php:640
-msgid "Connected apps"
-msgstr "App connesse"
+#: ../../include/features.php:170
+msgid "Event Timezone Selection"
+msgstr ""
-#: ../../include/widgets.php:664
-msgid "Premium Channel Settings"
-msgstr "Canale premium - impostazioni"
+#: ../../include/features.php:171
+msgid "Allow event creation in timezones other than your own."
+msgstr ""
-#: ../../include/widgets.php:693
-msgid "Private Mail Menu"
-msgstr "Menu messaggi privati"
+#: ../../include/features.php:180
+msgid "Premium Channel"
+msgstr "Canale premium"
-#: ../../include/widgets.php:695
-msgid "Combined View"
-msgstr "Vista combinata"
+#: ../../include/features.php:181
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ti permette di impostare restrizioni e termini d'uso per il canale"
-#: ../../include/widgets.php:727 ../../include/widgets.php:739
-msgid "Conversations"
-msgstr "Conversazioni"
+#: ../../include/features.php:189
+msgid "Advanced Directory Search"
+msgstr "Ricerca avanzata sugli elenchi pubblici"
-#: ../../include/widgets.php:731
-msgid "Received Messages"
-msgstr "Ricevuti"
+#: ../../include/features.php:190
+msgid "Allows creation of complex directory search queries"
+msgstr "Permette la creazione di ricerche complesse negli elenchi"
-#: ../../include/widgets.php:735
-msgid "Sent Messages"
-msgstr "Inviati"
+#: ../../include/features.php:198
+msgid "Advanced Theme and Layout Settings"
+msgstr "Impostazioni avanzate del tema e dei layout"
-#: ../../include/widgets.php:749
-msgid "No messages."
-msgstr "Nessun messaggio."
+#: ../../include/features.php:199
+msgid "Allows fine tuning of themes and page layouts"
+msgstr "Permette una personalizzazione accurata del tema e dei layout"
-#: ../../include/widgets.php:767
-msgid "Delete conversation"
-msgstr "Elimina la conversazione"
+#: ../../include/features.php:208
+msgid "Access Control and Permissions"
+msgstr ""
-#: ../../include/widgets.php:793
-msgid "Events Tools"
-msgstr "Gestione eventi"
+#: ../../include/features.php:212 ../../include/group.php:328
+msgid "Privacy Groups"
+msgstr "Gruppi di canali"
-#: ../../include/widgets.php:794
-msgid "Export Calendar"
-msgstr "Esporta calendario"
+#: ../../include/features.php:213
+msgid "Enable management and selection of privacy groups"
+msgstr "Abilita i gruppi di canali"
-#: ../../include/widgets.php:795
-msgid "Import Calendar"
-msgstr "Importa calendario"
+#: ../../include/features.php:221
+msgid "Multiple Profiles"
+msgstr "Profili multipli"
-#: ../../include/widgets.php:887
-msgid "Overview"
-msgstr "Riepilogo"
+#: ../../include/features.php:222
+msgid "Ability to create multiple profiles"
+msgstr "Abilitazione a creare profili multipli"
-#: ../../include/widgets.php:894
-msgid "Chat Members"
-msgstr "Partecipanti"
+#: ../../include/features.php:232
+msgid "Provide alternate connection permission roles."
+msgstr ""
-#: ../../include/widgets.php:916
-msgid "Wiki List"
-msgstr "Elenco wiki"
+#: ../../include/features.php:240
+msgid "OAuth Clients"
+msgstr ""
-#: ../../include/widgets.php:954
-msgid "Wiki Pages"
-msgstr "Pagine wiki"
+#: ../../include/features.php:241
+msgid "Manage authenticatication tokens for mobile and remote apps."
+msgstr ""
-#: ../../include/widgets.php:989
-msgid "Bookmarked Chatrooms"
-msgstr "Chat nei segnalibri"
+#: ../../include/features.php:249
+msgid "Access Tokens"
+msgstr ""
-#: ../../include/widgets.php:1020
-msgid "Suggested Chatrooms"
-msgstr "Chat suggerite"
+#: ../../include/features.php:250
+msgid "Create access tokens so that non-members can access private content."
+msgstr ""
-#: ../../include/widgets.php:1166 ../../include/widgets.php:1278
-msgid "photo/image"
-msgstr "foto/immagine"
+#: ../../include/features.php:261
+msgid "Post Composition Features"
+msgstr "Modalità di scrittura post"
-#: ../../include/widgets.php:1221
-msgid "Click to show more"
-msgstr "Clicca per mostrare tutto"
+#: ../../include/features.php:265
+msgid "Large Photos"
+msgstr "Foto grandi"
-#: ../../include/widgets.php:1372
-msgid "Rating Tools"
-msgstr "Valutazione"
+#: ../../include/features.php:266
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"
-#: ../../include/widgets.php:1376 ../../include/widgets.php:1378
-msgid "Rate Me"
-msgstr "Valutami"
+#: ../../include/features.php:275
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
-#: ../../include/widgets.php:1381
-msgid "View Ratings"
-msgstr "Vedi le valutazioni ricevute"
+#: ../../include/features.php:283
+msgid "Even More Encryption"
+msgstr "Cifratura addizionale"
-#: ../../include/widgets.php:1465
-msgid "Forums"
-msgstr "Forum"
+#: ../../include/features.php:284
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"
-#: ../../include/widgets.php:1494
-msgid "Tasks"
-msgstr "Attività"
+#: ../../include/features.php:292
+msgid "Enable Voting Tools"
+msgstr "Permetti i post con votazione"
-#: ../../include/widgets.php:1505
-msgid "Documentation"
-msgstr "Guida"
+#: ../../include/features.php:293
+msgid "Provide a class of post which others can vote on"
+msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
-#: ../../include/widgets.php:1561 ../../include/widgets.php:1599
-msgid "Member registrations waiting for confirmation"
-msgstr "Richieste in attesa di conferma"
+#: ../../include/features.php:301
+msgid "Disable Comments"
+msgstr "Disabilita i commenti"
-#: ../../include/widgets.php:1567
-msgid "Inspect queue"
-msgstr "Coda di attesa"
+#: ../../include/features.php:302
+msgid "Provide the option to disable comments for a post"
+msgstr "Permetti di disabilitare i commenti"
-#: ../../include/widgets.php:1569
-msgid "DB updates"
-msgstr "Aggiornamenti al DB"
+#: ../../include/features.php:310
+msgid "Delayed Posting"
+msgstr "Pubblicazione ritardata"
-#: ../../include/widgets.php:1595
-msgid "Plugin Features"
-msgstr "Plugin"
+#: ../../include/features.php:311
+msgid "Allow posts to be published at a later date"
+msgstr "Per scegliere una data e un'ora a cui far uscire i post"
-#: ../../include/api.php:1330
-msgid "Public Timeline"
-msgstr "Diario pubblico"
+#: ../../include/features.php:319
+msgid "Content Expiration"
+msgstr "Scadenza"
-#: ../../include/oembed.php:322
-msgid " by "
-msgstr "di"
+#: ../../include/features.php:320
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
-#: ../../include/oembed.php:323
-msgid " on "
-msgstr "su"
+#: ../../include/features.php:328
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Impedisci post e commenti duplicati"
-#: ../../include/oembed.php:352
-msgid "Embedded content"
-msgstr "Contenuti incorporati"
+#: ../../include/features.php:329
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."
-#: ../../include/oembed.php:361
-msgid "Embedding disabled"
-msgstr "Disabilita la creazione di contenuti incorporati"
+#: ../../include/features.php:340
+msgid "Network and Stream Filtering"
+msgstr "Filtraggio dei contenuti"
-#: ../../include/items.php:918 ../../include/items.php:963
-msgid "(Unknown)"
-msgstr "(Sconosciuto)"
+#: ../../include/features.php:344
+msgid "Search by Date"
+msgstr "Ricerca per data"
-#: ../../include/items.php:1162
-msgid "Visible to anybody on the internet."
-msgstr "Visibile a chiunque su internet."
+#: ../../include/features.php:345
+msgid "Ability to select posts by date ranges"
+msgstr "Per selezionare i post in un intervallo tra date"
-#: ../../include/items.php:1164
-msgid "Visible to you only."
-msgstr "Visibile solo a te."
+#: ../../include/features.php:355
+msgid "Save search terms for re-use"
+msgstr "Salva i termini delle ricerche per poterle ripetere"
-#: ../../include/items.php:1166
-msgid "Visible to anybody in this network."
-msgstr "Visibile a tutti su questa rete."
+#: ../../include/features.php:363
+msgid "Network Personal Tab"
+msgstr "Attività personale"
-#: ../../include/items.php:1168
-msgid "Visible to anybody authenticated."
-msgstr "Visibile a chiunque sia autenticato."
+#: ../../include/features.php:364
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-#: ../../include/items.php:1170
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visibile a tutti su %s."
+#: ../../include/features.php:372
+msgid "Network New Tab"
+msgstr "Contenuti nuovi"
-#: ../../include/items.php:1172
-msgid "Visible to all connections."
-msgstr "Visibile a tutti coloro che ti seguono."
+#: ../../include/features.php:373
+msgid "Enable tab to display all new Network activity"
+msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-#: ../../include/items.php:1174
-msgid "Visible to approved connections."
-msgstr "Visibile ai contatti approvati."
+#: ../../include/features.php:381
+msgid "Affinity Tool"
+msgstr "Filtro per affinità"
-#: ../../include/items.php:1176
-msgid "Visible to specific connections."
-msgstr "Visibile ad alcuni contatti scelti."
+#: ../../include/features.php:382
+msgid "Filter stream activity by depth of relationships"
+msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-#: ../../include/items.php:3976
-msgid "Privacy group is empty."
-msgstr "Gruppo di canali vuoto."
+#: ../../include/features.php:391
+msgid "Show friend and connection suggestions"
+msgstr "Mostra suggerimenti di contatti e amici"
-#: ../../include/items.php:3983
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Gruppo di canali: %s"
+#: ../../include/features.php:399
+msgid "Connection Filtering"
+msgstr "Filtro sui contatti"
-#: ../../include/items.php:3995
-msgid "Connection not found."
-msgstr "Contatto non trovato."
+#: ../../include/features.php:400
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtra i post che ricevi con parole chiave"
-#: ../../include/items.php:4348
-msgid "profile photo"
-msgstr "foto del profilo"
+#: ../../include/features.php:412
+msgid "Post/Comment Tools"
+msgstr "Gestione post e commenti"
-#: ../../include/attach.php:248 ../../include/attach.php:334
-msgid "Item was not found."
-msgstr "Elemento non trovato."
+#: ../../include/features.php:416
+msgid "Community Tagging"
+msgstr "Tag della comunità"
-#: ../../include/attach.php:500
-msgid "No source file."
-msgstr "Nessun file di origine."
+#: ../../include/features.php:417
+msgid "Ability to tag existing posts"
+msgstr "Permetti l'aggiunta di tag su post già esistenti"
-#: ../../include/attach.php:522
-msgid "Cannot locate file to replace"
-msgstr "Il file da sostituire non è stato trovato"
+#: ../../include/features.php:425
+msgid "Post Categories"
+msgstr "Categorie dei post"
-#: ../../include/attach.php:540
-msgid "Cannot locate file to revise/update"
-msgstr "Il file da aggiornare non è stato trovato"
+#: ../../include/features.php:426
+msgid "Add categories to your posts"
+msgstr "Abilita le categorie per i tuoi post"
+
+#: ../../include/features.php:434
+msgid "Emoji Reactions"
+msgstr "Risposte emoji"
+
+#: ../../include/features.php:435
+msgid "Add emoji reaction ability to posts"
+msgstr "Permetti di rispondere ai post con degli emoji"
+
+#: ../../include/features.php:444
+msgid "Ability to file posts under folders"
+msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
+
+#: ../../include/features.php:452
+msgid "Dislike Posts"
+msgstr "Non mi piace"
+
+#: ../../include/features.php:453
+msgid "Ability to dislike posts/comments"
+msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
+
+#: ../../include/features.php:461
+msgid "Star Posts"
+msgstr "Post con stella"
+
+#: ../../include/features.php:462
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mostra la stella per segnare i post preferiti"
+
+#: ../../include/features.php:470
+msgid "Tag Cloud"
+msgstr "Nuvola di tag"
+
+#: ../../include/features.php:471
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
+
+#: ../../include/taxonomy.php:384 ../../include/taxonomy.php:405
+msgid "Tags"
+msgstr "Tag"
+
+#: ../../include/taxonomy.php:487
+msgid "Keywords"
+msgstr "Parole chiave"
+
+#: ../../include/taxonomy.php:508
+msgid "have"
+msgstr "ho"
+
+#: ../../include/taxonomy.php:508
+msgid "has"
+msgstr "ha"
+
+#: ../../include/taxonomy.php:509
+msgid "want"
+msgstr "voglio"
-#: ../../include/attach.php:675
+#: ../../include/taxonomy.php:509
+msgid "wants"
+msgstr "vuole"
+
+#: ../../include/taxonomy.php:510
+msgid "likes"
+msgstr "gli piace"
+
+#: ../../include/taxonomy.php:511
+msgid "dislikes"
+msgstr "non gli piace"
+
+#: ../../include/account.php:35
+msgid "Not a valid email address"
+msgstr "Email non valida"
+
+#: ../../include/account.php:37
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
+
+#: ../../include/account.php:43
+msgid "Your email address is already registered at this site."
+msgstr "La tua email è già registrata su questo sito."
+
+#: ../../include/account.php:75
+msgid "An invitation is required."
+msgstr "È necessario un invito."
+
+#: ../../include/account.php:79
+msgid "Invitation could not be verified."
+msgstr "L'invito non può essere verificato."
+
+#: ../../include/account.php:157
+msgid "Please enter the required information."
+msgstr "Inserisci le informazioni richieste."
+
+#: ../../include/account.php:224
+msgid "Failed to store account information."
+msgstr "Non è stato possibile salvare le informazioni del tuo account."
+
+#: ../../include/account.php:313
#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Il file supera la dimensione massima di %d"
+msgid "Registration confirmation for %s"
+msgstr "Registrazione di %s confermata"
-#: ../../include/attach.php:689
+#: ../../include/account.php:382
#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
+msgid "Registration request at %s"
+msgstr "Richiesta di registrazione su %s"
-#: ../../include/attach.php:854
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
+#: ../../include/account.php:404
+msgid "your registration password"
+msgstr "la password di registrazione"
-#: ../../include/attach.php:867
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Il file non può essere verificato. Caricamento fallito."
+#: ../../include/account.php:410 ../../include/account.php:472
+#, php-format
+msgid "Registration details for %s"
+msgstr "Dettagli della registrazione di %s"
-#: ../../include/attach.php:923 ../../include/attach.php:939
-msgid "Path not available."
-msgstr "Percorso non disponibile."
+#: ../../include/account.php:483
+msgid "Account approved."
+msgstr "Account approvato."
-#: ../../include/attach.php:985 ../../include/attach.php:1137
-msgid "Empty pathname"
-msgstr "Il percorso del file è vuoto"
+#: ../../include/account.php:523
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrazione revocata per %s"
-#: ../../include/attach.php:1011
-msgid "duplicate filename or path"
-msgstr "il file o il percorso del file è duplicato"
+#: ../../include/account.php:802 ../../include/account.php:804
+msgid "Click here to upgrade."
+msgstr "Clicca qui per aggiornare."
-#: ../../include/attach.php:1033
-msgid "Path not found."
-msgstr "Percorso del file non trovato."
+#: ../../include/account.php:810
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Questa operazione supera i limiti del tuo abbonamento."
-#: ../../include/attach.php:1091
-msgid "mkdir failed."
-msgstr "mkdir fallito."
+#: ../../include/account.php:815
+msgid "This action is not available under your subscription plan."
+msgstr "Questa operazione non è prevista dal tuo abbonamento."
-#: ../../include/attach.php:1095
-msgid "database storage failed."
-msgstr "scrittura su database fallita."
+#: ../../include/datetime.php:134
+msgid "Birthday"
+msgstr "Compleanno"
-#: ../../include/attach.php:1143
-msgid "Empty path"
-msgstr "La posizione è vuota"
+#: ../../include/datetime.php:134
+msgid "Age: "
+msgstr "Età:"
-#: ../../view/theme/redbasic/php/config.php:9
-msgid "Focus (Hubzilla default)"
-msgstr "Focus (predefinito)"
+#: ../../include/datetime.php:134
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-GG oppure MM-GG"
-#: ../../view/theme/redbasic/php/config.php:110
-msgid "Theme settings"
-msgstr "Impostazioni del tema"
+#: ../../include/datetime.php:238
+msgid "less than a second ago"
+msgstr "meno di un secondo fa"
-#: ../../view/theme/redbasic/php/config.php:111
-msgid "Narrow navbar"
-msgstr "Barra di navigazione ristretta"
+#: ../../include/datetime.php:256
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s fa"
-#: ../../view/theme/redbasic/php/config.php:112
-msgid "Navigation bar background color"
-msgstr "Barra di navigazione: Colore di sfondo"
+#: ../../include/datetime.php:267
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "anno"
+msgstr[1] "anni"
-#: ../../view/theme/redbasic/php/config.php:113
-msgid "Navigation bar gradient top color"
-msgstr "Barra di navigazione: Gradiente superiore"
+#: ../../include/datetime.php:270
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "mese"
+msgstr[1] "mesi"
-#: ../../view/theme/redbasic/php/config.php:114
-msgid "Navigation bar gradient bottom color"
-msgstr "Barra di navigazione: Gradiente inferiore"
+#: ../../include/datetime.php:273
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "settimana"
+msgstr[1] "settimane"
+
+#: ../../include/datetime.php:276
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "giorno"
+msgstr[1] "giorni"
+
+#: ../../include/datetime.php:279
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "ora"
+msgstr[1] "ore"
-#: ../../view/theme/redbasic/php/config.php:115
-msgid "Navigation active button gradient top color"
-msgstr "Bottone di navigazione attivo: Gradiente superiore"
+#: ../../include/datetime.php:282
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuto"
+msgstr[1] "minuti"
-#: ../../view/theme/redbasic/php/config.php:116
-msgid "Navigation active button gradient bottom color"
-msgstr "Bottone di navigazione attivo: Gradiente inferiore"
+#: ../../include/datetime.php:285
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "secondo"
+msgstr[1] "secondi"
-#: ../../view/theme/redbasic/php/config.php:117
-msgid "Navigation bar border color "
-msgstr "Barra di navigazione: Colore del bordo"
+#: ../../include/datetime.php:514
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Compleanno di %1$s"
-#: ../../view/theme/redbasic/php/config.php:118
-msgid "Navigation bar icon color "
-msgstr "Barra di navigazione: Colore delle icone"
+#: ../../include/datetime.php:515
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Buon compleanno %1$s"
-#: ../../view/theme/redbasic/php/config.php:119
-msgid "Navigation bar active icon color "
-msgstr "Barra di navigazione: Colore dell'icona attiva"
+#: ../../include/nav.php:96
+msgid "Remote authentication"
+msgstr "Accedi dal tuo hub"
-#: ../../view/theme/redbasic/php/config.php:120
-msgid "link color"
-msgstr "colore del link"
+#: ../../include/nav.php:96
+msgid "Click to authenticate to your home hub"
+msgstr "Clicca per farti riconoscere dal tuo hub principale"
-#: ../../view/theme/redbasic/php/config.php:121
-msgid "Set font-color for banner"
-msgstr "Colore del font del banner"
+#: ../../include/nav.php:102 ../../include/nav.php:190
+msgid "Manage Your Channels"
+msgstr "Gestisci i tuoi canali"
-#: ../../view/theme/redbasic/php/config.php:122
-msgid "Set the background color"
-msgstr "Colore di sfondo"
+#: ../../include/nav.php:105 ../../include/nav.php:192
+msgid "Account/Channel Settings"
+msgstr "Impostazioni dell'account e del canale"
-#: ../../view/theme/redbasic/php/config.php:123
-msgid "Set the background image"
-msgstr "Immagine di sfondo"
+#: ../../include/nav.php:111 ../../include/nav.php:140
+msgid "End this session"
+msgstr "Chiudi questa sessione"
-#: ../../view/theme/redbasic/php/config.php:124
-msgid "Set the background color of items"
-msgstr "Colore di sfondo degli oggetti"
+#: ../../include/nav.php:114
+msgid "Your profile page"
+msgstr "Il tuo profilo"
-#: ../../view/theme/redbasic/php/config.php:125
-msgid "Set the background color of comments"
-msgstr "Colore di sfondo dei commenti"
+#: ../../include/nav.php:117
+msgid "Manage/Edit profiles"
+msgstr "Gestisci i tuoi profili"
-#: ../../view/theme/redbasic/php/config.php:126
-msgid "Set the border color of comments"
-msgstr "Colore del bordo dei commenti"
+#: ../../include/nav.php:126 ../../include/nav.php:130
+msgid "Sign in"
+msgstr "Accedi"
-#: ../../view/theme/redbasic/php/config.php:127
-msgid "Set the indent for comments"
-msgstr "Spostamento a destra dei commenti"
+#: ../../include/nav.php:157
+msgid "Take me home"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:128
-msgid "Set the basic color for item icons"
-msgstr "Colore di base per le icone"
+#: ../../include/nav.php:159
+msgid "Log me out of this site"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:129
-msgid "Set the hover color for item icons"
-msgstr "Colore per le icone in mouse-over"
+#: ../../include/nav.php:164
+msgid "Create an account"
+msgstr "Crea un account"
-#: ../../view/theme/redbasic/php/config.php:130
-msgid "Set font-size for the entire application"
-msgstr "Dimensione font per tutto il sito"
+#: ../../include/nav.php:176
+msgid "Help and documentation"
+msgstr "Guida e documentazione"
-#: ../../view/theme/redbasic/php/config.php:130
-msgid "Example: 14px"
-msgstr "Esempio: 14px"
+#: ../../include/nav.php:179
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto"
-#: ../../view/theme/redbasic/php/config.php:131
-msgid "Set font-size for posts and comments"
-msgstr "Dimensioni del carattere per post e commenti"
+#: ../../include/nav.php:199
+msgid "Site Setup and Configuration"
+msgstr "Installazione e configurazione del sito"
-#: ../../view/theme/redbasic/php/config.php:132
-msgid "Set font-color for posts and comments"
-msgstr "Colore del carattere per post e commenti"
+#: ../../include/nav.php:290
+msgid "@name, #tag, ?doc, content"
+msgstr "@nome, #tag, ?guida, contenuto"
-#: ../../view/theme/redbasic/php/config.php:133
-msgid "Set radius of corners"
-msgstr "Raggio degli angoli stondati"
+#: ../../include/nav.php:291
+msgid "Please wait..."
+msgstr "Attendere..."
-#: ../../view/theme/redbasic/php/config.php:134
-msgid "Set shadow depth of photos"
-msgstr "Profondità dell'ombra delle foto"
+#: ../../include/nav.php:297
+msgid "Add Apps"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:135
-msgid "Set maximum width of content region in pixel"
-msgstr "Larghezza massima dell'area dei contenuti in pixel"
+#: ../../include/nav.php:298
+msgid "Arrange Apps"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:135
-msgid "Leave empty for default width"
-msgstr "Lascia vuoto per usare il valore predefinito"
+#: ../../include/nav.php:299
+msgid "Toggle System Apps"
+msgstr ""
-#: ../../view/theme/redbasic/php/config.php:136
-msgid "Left align page content"
-msgstr "Allinea a sinistra il contenuto della pagina"
+#: ../../include/photos.php:150
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "L'immagine supera il limite massimo di %lu bytes"
-#: ../../view/theme/redbasic/php/config.php:137
-msgid "Set minimum opacity of nav bar - to hide it"
-msgstr "Opacità minima della barra di navigazione - per nasconderla"
+#: ../../include/photos.php:161
+msgid "Image file is empty."
+msgstr "Il file dell'immagine è vuoto."
-#: ../../view/theme/redbasic/php/config.php:138
-msgid "Set size of conversation author photo"
-msgstr "Dimensione foto dell'autore della conversazione"
+#: ../../include/photos.php:322
+msgid "Photo storage failed."
+msgstr "Impossibile salvare la foto."
-#: ../../view/theme/redbasic/php/config.php:139
-msgid "Set size of followup author photos"
-msgstr "Dimensione foto dei partecipanti alla conversazione"
+#: ../../include/photos.php:364
+msgid "a new photo"
+msgstr "una nuova foto"
-#: ../../boot.php:1195
+#: ../../include/photos.php:368
#, php-format
-msgctxt "opensearch"
-msgid "Search %1$s (%2$s)"
-msgstr "Cerca %1$s (%2$s)"
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s ha pubblicato %2$s su %3$s"
-#: ../../boot.php:1195
-msgctxt "opensearch"
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../include/photos.php:660
+msgid "Upload New Photos"
+msgstr "Carica nuove foto"
-#: ../../boot.php:1513
-#, php-format
-msgid "Update %s failed. See error logs."
-msgstr "%s: aggiornamento fallito. Controlla i log di errore."
+#: ../../include/zot.php:767
+msgid "Invalid data packet"
+msgstr "Dati ricevuti non validi"
-#: ../../boot.php:1516
+#: ../../include/zot.php:794
+msgid "Unable to verify channel signature"
+msgstr "Impossibile verificare la firma elettronica del canale"
+
+#: ../../include/zot.php:2529
#, php-format
-msgid "Update Error at %s"
-msgstr "Errore di aggiornamento su %s"
+msgid "Unable to verify site signature for %s"
+msgstr "Impossibile verificare la firma elettronica del sito %s"
+
+#: ../../include/zot.php:4180
+msgid "invalid target signature"
+msgstr "la firma ricevuta non è valida"
-#: ../../boot.php:1720
+#: ../../include/group.php:22
msgid ""
-"Create an account to access services and applications within the Hubzilla"
-msgstr "Registrati per accedere ai servizi e alle applicazioni di Hubzilla"
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso."
-#: ../../boot.php:1741
-msgid "Login/Email"
-msgstr "Login/Email"
+#: ../../include/group.php:264
+msgid "Add new connections to this privacy group"
+msgstr "Aggiungi nuovi contatti a questo gruppo di canali"
-#: ../../boot.php:1742
-msgid "Password"
-msgstr "Password"
+#: ../../include/group.php:306
+msgid "edit"
+msgstr "modifica"
-#: ../../boot.php:1743
-msgid "Remember me"
-msgstr "Resta connesso"
+#: ../../include/group.php:329
+msgid "Edit group"
+msgstr "Modifica il gruppo"
-#: ../../boot.php:1746
-msgid "Forgot your password?"
-msgstr "Hai dimenticato la password?"
+#: ../../include/group.php:330
+msgid "Add privacy group"
+msgstr "Crea un gruppo di canali"
-#: ../../boot.php:2315
-msgid "toggle mobile"
-msgstr "attiva/disattiva versione mobile"
+#: ../../include/group.php:331
+msgid "Channels not in any privacy group"
+msgstr "Canali che non sono in nessun gruppo"
-#: ../../boot.php:2470
-msgid "Website SSL certificate is not valid. Please correct."
-msgstr "Il certificato SSL del sito non è valido. Si prega di intervenire."
+#: ../../include/connections.php:128
+msgid "New window"
+msgstr "Nuova finestra"
-#: ../../boot.php:2473
-#, php-format
-msgid "[hubzilla] Website SSL error for %s"
-msgstr "[hubzilla] Errore SSL su %s"
+#: ../../include/connections.php:129
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
-#: ../../boot.php:2577
-msgid "Cron/Scheduled tasks not running."
-msgstr "Processi cron non avviati."
+#: ../../include/auth.php:148
+msgid "Logged out."
+msgstr "Uscita effettuata."
-#: ../../boot.php:2581
-#, php-format
-msgid "[hubzilla] Cron tasks not running on %s"
-msgstr "[hubzilla] Cron non è stato eseguito %s"
+#: ../../include/auth.php:263
+msgid "Email validation is incomplete. Please check your email."
+msgstr ""
+
+#: ../../include/auth.php:279
+msgid "Failed authentication"
+msgstr "Autenticazione fallita"
+
+#: ../../include/help.php:34
+msgid "Help:"
+msgstr "Guida:"
+
+#: ../../include/help.php:78
+msgid "Not Found"
+msgstr "Non disponibile"
diff --git a/view/it/hstrings.php b/view/it/hstrings.php
index 9eb419735..d6ad56eda 100644
--- a/view/it/hstrings.php
+++ b/view/it/hstrings.php
@@ -5,22 +5,6 @@ function string_plural_select_it($n){
return ($n != 1);;
}}
App::$rtl = 0;
-App::$strings["Social Networking"] = "Social network";
-App::$strings["Social - Mostly Public"] = "Social - Prevalentemente pubblico";
-App::$strings["Social - Restricted"] = "Social - Con restrizioni";
-App::$strings["Social - Private"] = "Social - Privato";
-App::$strings["Community Forum"] = "Forum di discussione";
-App::$strings["Forum - Mostly Public"] = "Social - Prevalentemente pubblico";
-App::$strings["Forum - Restricted"] = "Forum - Con restrizioni";
-App::$strings["Forum - Private"] = "Forum - Privato";
-App::$strings["Feed Republish"] = "Aggregatore di feed esterni";
-App::$strings["Feed - Mostly Public"] = "Feed - Prevalentemente pubblico";
-App::$strings["Feed - Restricted"] = "Feed - Con restrizioni";
-App::$strings["Special Purpose"] = "Per finalità speciali";
-App::$strings["Special - Celebrity/Soapbox"] = "Speciale - Pagina per fan";
-App::$strings["Special - Group Repository"] = "Speciale - Repository di gruppo";
-App::$strings["Other"] = "Altro";
-App::$strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
App::$strings["Can view my channel stream and posts"] = "Può vedere i post e i contenuti del mio canale";
App::$strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
App::$strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
@@ -28,7 +12,9 @@ App::$strings["Can view my connections"] = "Può vedere i miei contatti";
App::$strings["Can view my file storage and photos"] = "Può vedere il mio archivio file e foto";
App::$strings["Can upload/modify my file storage and photos"] = "Può caricare o modificare i file e le foto del mio archivio";
App::$strings["Can view my channel webpages"] = "Può vedere le pagine web del mio canale";
+App::$strings["Can view my wiki pages"] = "Può vedere le pagine del mio wiki";
App::$strings["Can create/edit my channel webpages"] = "Può creare o modificare le pagine web del mio canale";
+App::$strings["Can write to my wiki pages"] = "Può scrivere nelle pagine del mio wiki";
App::$strings["Can post on my channel (wall) page"] = "Può postare sulla mia bacheca";
App::$strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei post";
App::$strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
@@ -37,79 +23,429 @@ App::$strings["Can forward to all my channel connections via @+ mentions in post
App::$strings["Can chat with me"] = "Può aprire una chat con me";
App::$strings["Can source my public posts in derived channels"] = "Può usare i miei post pubblici per creare canali derivati";
App::$strings["Can administer my channel"] = "Può amministrare il mio canale";
-App::$strings["parent"] = "cartella superiore";
-App::$strings["Collection"] = "Cartella";
-App::$strings["Principal"] = "Principale";
-App::$strings["Addressbook"] = "Rubrica";
-App::$strings["Calendar"] = "Calendario";
-App::$strings["Schedule Inbox"] = "Appuntamenti ricevuti";
-App::$strings["Schedule Outbox"] = "Appuntamenti inviati";
-App::$strings["Unknown"] = "Sconosciuto";
-App::$strings["Files"] = "Archivio file";
-App::$strings["Total"] = "Totale";
-App::$strings["Shared"] = "Condiviso";
+App::$strings["Social Networking"] = "Social network";
+App::$strings["Social - Mostly Public"] = "Social - Prevalentemente pubblico";
+App::$strings["Social - Restricted"] = "Social - Con restrizioni";
+App::$strings["Social - Private"] = "Social - Privato";
+App::$strings["Community Forum"] = "Forum di discussione";
+App::$strings["Forum - Mostly Public"] = "Social - Prevalentemente pubblico";
+App::$strings["Forum - Restricted"] = "Forum - Con restrizioni";
+App::$strings["Forum - Private"] = "Forum - Privato";
+App::$strings["Feed Republish"] = "Aggregatore di feed esterni";
+App::$strings["Feed - Mostly Public"] = "Feed - Prevalentemente pubblico";
+App::$strings["Feed - Restricted"] = "Feed - Con restrizioni";
+App::$strings["Special Purpose"] = "Per finalità speciali";
+App::$strings["Special - Celebrity/Soapbox"] = "Speciale - Pagina per fan";
+App::$strings["Special - Group Repository"] = "Speciale - Repository di gruppo";
+App::$strings["Other"] = "Altro";
+App::$strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
+App::$strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile.";
+App::$strings["Permission denied."] = "Permesso negato.";
+App::$strings["Block Name"] = "Nome del block";
+App::$strings["Blocks"] = "Block";
+App::$strings["Block Title"] = "Titolo del block";
+App::$strings["Created"] = "Creato";
+App::$strings["Edited"] = "Modificato";
App::$strings["Create"] = "Crea";
-App::$strings["Upload"] = "Carica";
-App::$strings["Name"] = "Nome";
-App::$strings["Type"] = "Tipo";
-App::$strings["Size"] = "Dimensione";
-App::$strings["Last Modified"] = "Ultima modifica";
App::$strings["Edit"] = "Modifica";
+App::$strings["Share"] = "Condividi";
App::$strings["Delete"] = "Elimina";
-App::$strings["You are using %1\$s of your available file storage."] = "Stai usando %1\$s dello spazio disponibile per i tuoi file.";
-App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "Stai usando %1\$s di %2\$s che hai a disposizione per i file. (%3\$s&#37;)";
-App::$strings["WARNING:"] = "ATTENZIONE:";
-App::$strings["Create new folder"] = "Nuova cartella";
-App::$strings["Upload file"] = "Carica un file";
-App::$strings["Drop files here to immediately upload"] = "Trascina i file qui per caricarli al volo";
-App::$strings["Permission denied."] = "Permesso negato.";
-App::$strings["Not Found"] = "Non disponibile";
-App::$strings["Page not found."] = "Pagina non trovata.";
+App::$strings["View"] = "Guarda";
+App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
+App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
+App::$strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
+App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d messaggio inviato.",
+ 1 => "%d messaggi inviati.",
+);
+App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
+App::$strings["Send invitations"] = "Spedisci inviti";
+App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
+App::$strings["Your message:"] = "Il tuo messaggio:";
+App::$strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "Dovrai fornire questo codice invito:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
+App::$strings["or visit"] = "oppure visita";
+App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
+App::$strings["Submit"] = "Salva";
+App::$strings["Articles"] = "Articoli";
+App::$strings["Add Article"] = "Aggiungi un articolo";
+App::$strings["Item not found"] = "Elemento non trovato";
+App::$strings["Layout Name"] = "Nome layout";
+App::$strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)";
+App::$strings["Edit Layout"] = "Modifica il layout";
App::$strings["Permission denied"] = "Permesso negato";
-App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo.";
-App::$strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo.";
-App::$strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile.";
-App::$strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare";
-App::$strings["Away"] = "Assente";
-App::$strings["Online"] = "Online";
-App::$strings["No such group"] = "Impossibile trovare il gruppo di canali";
-App::$strings["No such channel"] = "Canale sconosciuto";
-App::$strings["forum"] = "forum";
-App::$strings["Search Results For:"] = "Cerca risultati con:";
-App::$strings["Privacy group is empty"] = "Il gruppo di canali è vuoto";
-App::$strings["Privacy group: "] = "Gruppo di canali:";
-App::$strings["Invalid connection."] = "Contatto non valido.";
-App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
-App::$strings["network"] = "rete";
-App::$strings["RSS"] = "RSS";
+App::$strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
+App::$strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
+App::$strings["Profile"] = "Profilo";
+App::$strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
+App::$strings["Visible To"] = "Visibile a";
+App::$strings["All Connections"] = "Tutti i contatti";
+App::$strings["INVALID EVENT DISMISSED!"] = "EVENTO NON VALIDO ELIMINATO!";
+App::$strings["Summary: "] = "Sommario:";
+App::$strings["Unknown"] = "Sconosciuto";
+App::$strings["Date: "] = "Data:";
+App::$strings["Reason: "] = "Motivo:";
+App::$strings["INVALID CARD DISMISSED!"] = "CARD NON VALIDA ELIMINATA!";
+App::$strings["Name: "] = "Nome:";
+App::$strings["Event title"] = "Titolo dell'evento";
+App::$strings["Start date and time"] = "Data e ora di inizio";
+App::$strings["Example: YYYY-MM-DD HH:mm"] = "Esempio: YYYY-MM-DD HH:mm";
+App::$strings["End date and time"] = "Data e ora di fine";
+App::$strings["Description"] = "Descrizione";
+App::$strings["Location"] = "Posizione geografica";
+App::$strings["Previous"] = "Precendente";
+App::$strings["Next"] = "Successivo";
+App::$strings["Today"] = "Oggi";
+App::$strings["Month"] = "Mese";
+App::$strings["Week"] = "Settimana";
+App::$strings["Day"] = "Giorno";
+App::$strings["List month"] = "Lista del mese";
+App::$strings["List week"] = "Lista della settimana";
+App::$strings["List day"] = "Lista del giorno";
+App::$strings["More"] = "Di più";
+App::$strings["Less"] = "Meno";
+App::$strings["Select calendar"] = "Seleziona calendario";
+App::$strings["Delete all"] = "Elimina tutto";
+App::$strings["Cancel"] = "Annulla";
+App::$strings["Sorry! Editing of recurrent events is not yet implemented."] = "Spiacenti! La modifica di eventi ricorrenti non è ancora disponibile.";
+App::$strings["Name"] = "Nome";
+App::$strings["Organisation"] = "Organizzazione";
+App::$strings["Title"] = "Titolo";
+App::$strings["Phone"] = "Telefono";
+App::$strings["Email"] = "Email";
+App::$strings["Instant messenger"] = "Messaggistica istantanea";
+App::$strings["Website"] = "Sito web";
+App::$strings["Address"] = "Indirizzo";
+App::$strings["Note"] = "Nota";
+App::$strings["Mobile"] = "Mobile";
+App::$strings["Home"] = "Bacheca";
+App::$strings["Work"] = "Lavoro";
+App::$strings["Add Contact"] = "Aggiungi contatto";
+App::$strings["Add Field"] = "Aggiungi campo";
+App::$strings["Update"] = "Aggiorna";
+App::$strings["P.O. Box"] = "P.O. Box";
+App::$strings["Additional"] = "Aggiuntivo";
+App::$strings["Street"] = "Via";
+App::$strings["Locality"] = "Località";
+App::$strings["Region"] = "Regione";
+App::$strings["ZIP Code"] = "CAP";
+App::$strings["Country"] = "Nazione";
+App::$strings["Default Calendar"] = "Calendario predefinito";
+App::$strings["Default Addressbook"] = "Rubrica predefinita";
+App::$strings["This site is not a directory server"] = "Questo non è un directory server";
App::$strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
App::$strings["Posts and comments"] = "Post e commenti";
App::$strings["Only posts"] = "Solo post";
App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
-App::$strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
+App::$strings["Export Channel"] = "Esporta il canale";
+App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato.";
+App::$strings["Export Content"] = "Esporta i contenuti";
+App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento.";
+App::$strings["Export your posts from a given year."] = "Esporta i tuoi post a partire dall'anno scelto.";
+App::$strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date.";
+App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1\$s\">%2\$s</a> ";
+App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1\$s\">%2\$s</a>";
+App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1\$s\">%2\$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)";
+App::$strings["Welcome to Hubzilla!"] = "";
+App::$strings["You have got no unseen posts..."] = "";
+App::$strings["Public access denied."] = "Accesso pubblico negato.";
+App::$strings["Search"] = "Cerca";
+App::$strings["Items tagged with: %s"] = "Elementi taggati con: %s";
+App::$strings["Search results for: %s"] = "Risultati ricerca: %s";
+App::$strings["Public Stream"] = "Flusso pubblico";
+App::$strings["Location not found."] = "Indirizzo non trovato.";
+App::$strings["Location lookup failed."] = "La ricerca dell'indirizzo è fallita.";
+App::$strings["Please select another location to become primary before removing the primary location."] = "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria.";
+App::$strings["Syncing locations"] = "Sincronizzazione tra hub";
+App::$strings["No locations found."] = "Nessun indirizzo trovato.";
+App::$strings["Manage Channel Locations"] = "Modifica gli indirizzi del canale";
+App::$strings["Primary"] = "Primario";
+App::$strings["Drop"] = "Elimina";
+App::$strings["Sync Now"] = "Sincronizza ora";
+App::$strings["Please wait several minutes between consecutive operations."] = "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione.";
+App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli.";
+App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante.";
+App::$strings["Change Order of Pinned Navbar Apps"] = "Cambia l'ordine della app bloccate sulla barra di navigazione";
+App::$strings["Change Order of App Tray Apps"] = "Cambia l'ordine delle app elencate nel menu delle app";
+App::$strings["Use arrows to move the corresponding app left (top) or right (bottom) in the navbar"] = "Utilizza le frecce per spostare l'app a sinistra (su) o destra (giù) nella barra di navigazione";
+App::$strings["Use arrows to move the corresponding app up or down in the app tray"] = "Utilizza le frecce per spostare l'app su o giù nel menu delle app";
+App::$strings["Menu not found."] = "Menù non trovato.";
+App::$strings["Unable to create element."] = "Impossibile creare l'elemento.";
+App::$strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
+App::$strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
+App::$strings["Not found."] = "Non trovato.";
+App::$strings["Menu Item Permissions"] = "Permessi del menu";
+App::$strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
+App::$strings["Link Name"] = "Nome link";
+App::$strings["Link or Submenu Target"] = "Azione del link o del sottomenu";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu";
+App::$strings["Use magic-auth if available"] = "Usa l'autenticazione tramite il tuo hub, se disponibile";
+App::$strings["No"] = "No";
+App::$strings["Yes"] = "Sì";
+App::$strings["Open link in new window"] = "Apri il link in una nuova finestra";
+App::$strings["Order in list"] = "Ordine dell'elenco";
+App::$strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
+App::$strings["Submit and finish"] = "Salva e termina";
+App::$strings["Submit and continue"] = "Salva e continua";
+App::$strings["Menu:"] = "Menu:";
+App::$strings["Link Target"] = "Destinazione link";
+App::$strings["Edit menu"] = "Modifica il menù";
+App::$strings["Edit element"] = "Modifica l'elemento";
+App::$strings["Drop element"] = "Elimina l'elemento";
+App::$strings["New element"] = "Nuovo elemento";
+App::$strings["Edit this menu container"] = "Modifica il contenitore del menù";
+App::$strings["Add menu element"] = "Aggiungi un elemento al menù";
+App::$strings["Delete this menu item"] = "Elimina questo elemento del menù";
+App::$strings["Edit this menu item"] = "Modifica questo elemento del menù";
+App::$strings["Menu item not found."] = "L'elemento del menù non è stato trovato.";
+App::$strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
+App::$strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
+App::$strings["Edit Menu Element"] = "Modifica l'elemento del menù";
+App::$strings["Link text"] = "Testo del link";
+App::$strings["Calendar entries imported."] = "Le voci del calendario sono state importate.";
+App::$strings["No calendar entries found."] = "Non sono state trovate voci del calendario.";
+App::$strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
+App::$strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
+App::$strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
+App::$strings["Event not found."] = "Evento non trovato.";
+App::$strings["event"] = "l'evento";
+App::$strings["Edit event title"] = "Modifica il titolo dell'evento";
+App::$strings["Required"] = "Obbligatorio";
+App::$strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
+App::$strings["Edit Category"] = "Modifica la categoria";
+App::$strings["Category"] = "Categoria";
+App::$strings["Edit start date and time"] = "Modifica data/ora di inizio";
+App::$strings["Finish date and time are not known or not relevant"] = "La data e l'ora di fine non sono necessarie";
+App::$strings["Edit finish date and time"] = "Modifica data/ora di fine";
+App::$strings["Finish date and time"] = "Data e ora di fine";
+App::$strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono online ma con un certo fuso orario.";
+App::$strings["Edit Description"] = "Modifica la descrizione";
+App::$strings["Edit Location"] = "Modifica il luogo";
+App::$strings["Preview"] = "Anteprima";
+App::$strings["Permission settings"] = "Permessi dei tuoi contatti";
+App::$strings["Timezone:"] = "Fuso orario: ";
+App::$strings["Advanced Options"] = "Opzioni avanzate";
+App::$strings["l, F j"] = "l j F";
+App::$strings["Edit event"] = "Modifica l'evento";
+App::$strings["Delete event"] = "Elimina l'evento";
+App::$strings["Link to Source"] = "Link al sito d'origine";
+App::$strings["calendar"] = "calendario";
+App::$strings["Edit Event"] = "Modifica l'evento";
+App::$strings["Create Event"] = "Crea un evento";
+App::$strings["Export"] = "Esporta";
+App::$strings["Event removed"] = "Evento eliminato";
+App::$strings["Failed to remove event"] = "Impossibile eliminare l'evento";
+App::$strings["App installed."] = "App installata";
+App::$strings["Malformed app."] = "L'app contiene errori";
+App::$strings["Embed code"] = "Inserisci il codice";
+App::$strings["Edit App"] = "Modifica app";
+App::$strings["Create App"] = "Crea una app";
+App::$strings["Name of app"] = "Nome app";
+App::$strings["Location (URL) of app"] = "Indirizzo (URL) della app";
+App::$strings["Photo icon URL"] = "URL icona";
+App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa";
+App::$strings["Categories (optional, comma separated list)"] = "Categorie (facoltative, lista separata da virgole)";
+App::$strings["Version ID"] = "ID versione";
+App::$strings["Price of app"] = "Prezzo app";
+App::$strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app";
+App::$strings["Please login."] = "Effettua l'accesso.";
+App::$strings["Hub not found."] = "Hub non trovato.";
+App::$strings["photo"] = "la foto";
+App::$strings["status"] = "il messaggio di stato";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
+App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s non segue più %3\$s di %2\$s";
+App::$strings["Channel not found."] = "Canale non trovato.";
+App::$strings["Insert web link"] = "Inserisci un indirizzo web";
+App::$strings["Title (optional)"] = "Titolo (facoltativo)";
+App::$strings["Edit Article"] = "Modifica l'articolo";
App::$strings["Nothing to import."] = "Non c'è niente da importare.";
App::$strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio hub";
App::$strings["Imported file is empty."] = "Il file da importare è vuoto.";
App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti.";
-App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
-App::$strings["No channel. Import failed."] = "Nessun canale. Import fallito.";
-App::$strings["Import completed."] = "L'importazione è terminata con successo.";
-App::$strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
-App::$strings["Import Channel"] = "Importa un canale";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza.";
+App::$strings["Import completed"] = "Importazione completata";
+App::$strings["Import Items"] = "Importa i contenuti";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza.";
App::$strings["File to Upload"] = "File da caricare";
-App::$strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio hub";
-App::$strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
-App::$strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio hub";
-App::$strings["Your old login password"] = "La password per il vecchio hub";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc.";
-App::$strings["Make this hub my primary location"] = "Rendi questo hub il mio indirizzo primario";
-App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)";
-App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito.";
-App::$strings["Submit"] = "Salva";
-App::$strings["Bookmark added"] = "Segnalibro aggiunto";
-App::$strings["My Bookmarks"] = "I miei segnalibri";
-App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
+App::$strings["Name or caption"] = "Nome o titolo";
+App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
+App::$strings["Choose a short nickname"] = "Scegli un nome breve";
+App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale, per esempio nickname%s";
+App::$strings["Channel role and privacy"] = "Tipo di canale e privacy";
+App::$strings["Select a channel role with your privacy requirements."] = "Scegli il tipo di canale che vuoi e la privacy da applicare.";
+App::$strings["Read more about roles"] = "Maggiori informazioni sui ruoli";
+App::$strings["Create Channel"] = "Crea un canale";
+App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Un canale è la tua identità su questa rete. Può rappresentare una persona, un blog o un forum, per esempio. Il tuo canale può essere in contatto con altri canali per condividere contenuti con permessi anche molto dettagliati.";
+App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "oppure <a href=\"import\">importa un canale esistente</a> da un altro server/hub.";
+App::$strings["Validate"] = "";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
+App::$strings["Remove This Channel"] = "Elimina questo canale";
+App::$strings["WARNING: "] = "ATTENZIONE:";
+App::$strings["This channel will be completely removed from the network. "] = "Questo canale sarà completamente eliminato dalla rete.";
+App::$strings["This action is permanent and can not be undone!"] = "Questo comando è definitivo e non può essere annullato!";
+App::$strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
+App::$strings["Remove this channel and all its clones from the network"] = "Elimina questo canale e tutti i suoi cloni dalla rete";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni";
+App::$strings["Remove Channel"] = "Elimina questo canale";
+App::$strings["Files: shared with me"] = "File: condivisi con me";
+App::$strings["NEW"] = "NOVITÀ";
+App::$strings["Size"] = "Dimensione";
+App::$strings["Last Modified"] = "Ultima modifica";
+App::$strings["Remove all files"] = "Elimina tutti i file";
+App::$strings["Remove this file"] = "Elimina questo file";
+App::$strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione";
+App::$strings["Could not connect to database."] = " Impossibile connettersi al database.";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
+App::$strings["Could not create table."] = "Impossibile creare le tabelle.";
+App::$strings["Your site database has been installed."] = "Il database del sito è stato installato.";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db.";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
+App::$strings["System check"] = "Verifica del sistema";
+App::$strings["Check again"] = "Verifica di nuovo";
+App::$strings["Database connection"] = "Connessione al database";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database.";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
+App::$strings["Database Server Name"] = "Server del database";
+App::$strings["Default is 127.0.0.1"] = "Il valore predefinito è 127.0.0.1";
+App::$strings["Database Port"] = "Port del database";
+App::$strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
+App::$strings["Database Login Name"] = "Utente database";
+App::$strings["Database Login Password"] = "Password database";
+App::$strings["Database Name"] = "Nome database";
+App::$strings["Database Type"] = "Tipo database";
+App::$strings["Site administrator email address"] = "Indirizzo email dell'amministratore del hub";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla.";
+App::$strings["Website URL"] = "URL completo del sito";
+App::$strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
+App::$strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo hub";
+App::$strings["Site settings"] = "Impostazioni del hub";
+App::$strings["PHP version 5.5 or greater is required."] = "E' necessario PHP versione 5.5 o superiore.";
+App::$strings["PHP version"] = "Versione PHP";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
+App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
+App::$strings["PHP executable path"] = "Path del comando PHP";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
+App::$strings["Command line PHP"] = "PHP da riga di comando";
+App::$strings["Unable to check command line PHP, as shell_exec() is disabled. This is required."] = "Non è possible accedere alla linea di comando PHP perché shell_exec() è disabilitato. Requisito necessario.";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
+App::$strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
+App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta.";
+App::$strings["You can adjust these settings in the server php.ini file."] = "Puoi modificare queste impostazione nel file php.ini del server.";
+App::$strings["PHP upload limits"] = "Limiti PHP in upload";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
+App::$strings["Generate encryption keys"] = "Genera chiavi di cifratura";
+App::$strings["libCurl PHP module"] = "modulo PHP libCurl";
+App::$strings["GD graphics PHP module"] = "modulo PHP GD graphics";
+App::$strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
+App::$strings["PDO database PHP module"] = "PDO database PHP module";
+App::$strings["mb_string PHP module"] = "modulo PHP mb_string";
+App::$strings["xml PHP module"] = "modulo xml PHP";
+App::$strings["zip PHP module"] = "modulo zip del PHP";
+App::$strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
+App::$strings["exec"] = "";
+App::$strings["Error: exec is required but is either not installed or has been disabled in php.ini"] = "Errore: exec è richiesto ma non è installato o è stato disabilitato nel php.ini";
+App::$strings["shell_exec"] = "";
+App::$strings["Error: shell_exec is required but is either not installed or has been disabled in php.ini"] = "Errore: shell_exec è richiesto ma non è installato o è stato disabilitato in php.ini";
+App::$strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
+App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
+App::$strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
+App::$strings["Error: PDO database PHP module required but not installed."] = "Errore: PDO database PHP module è richiesto ma non installato.";
+App::$strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato.";
+App::$strings["Error: zip PHP module required but not installed."] = "Errore: il modulo zip del PHP necessario ma non installato.";
+App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo.";
+App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla.";
+App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
+App::$strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
+App::$strings["This software uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Questo software usa lo Smarty3 template engine per visualizzare le web views. Smarty3 compila i template in PHP per accelerarne la visualizzazione.";
+App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
+App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
+App::$strings["%s is writable"] = "%s è scrivibile";
+App::$strings["This software uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the top level web folder"] = "Questo software salva i file caricati nelle directory sul filesystem. Il server web necessita di permessi di scrittura sulle directory alla radice della cartella web";
+App::$strings["store is writable"] = "l'archivio è scrivibile";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
+App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
+App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
+App::$strings["If you are confident that the certificate is valid and signed by a trusted authority, check to see if you have failed to install an intermediate cert. These are not normally required by browsers, but are required for server-to-server communications."] = "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server.";
+App::$strings["SSL certificate validation"] = "Validazione del certificato SSL";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:";
+App::$strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
+App::$strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
+App::$strings["<h1>What next?</h1>"] = "<h1>E ora?</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
+App::$strings["Continue"] = "Continua";
+App::$strings["Premium Channel Setup"] = "Canale premium - configurazione";
+App::$strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
+App::$strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
+App::$strings["Queue Statistics"] = "Statistiche della coda";
+App::$strings["Total Entries"] = "Totale";
+App::$strings["Priority"] = "Priorità";
+App::$strings["Destination URL"] = "URL di destinazione";
+App::$strings["Mark hub permanently offline"] = "Questo hub è definitivamente offline";
+App::$strings["Empty queue for this hub"] = "Svuota la coda per questo hub";
+App::$strings["Last known contact"] = "Ultimo scambio dati";
+App::$strings["Off"] = "Off";
+App::$strings["On"] = "On";
+App::$strings["Lock feature %s"] = "Rendi non modificabile %s";
+App::$strings["Manage Additional Features"] = "Funzionalità opzionali";
+App::$strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
+App::$strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
+App::$strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente.";
+App::$strings["Update function %s could not be found."] = "Impossibile trovare la funzione di aggiornamento %s";
+App::$strings["Failed Updates"] = "Aggiornamenti falliti.";
+App::$strings["Mark success (if update was manually applied)"] = "Marca come eseguito (se applicato manualmente).";
+App::$strings["Attempt to execute this update step automatically"] = "Tenta di eseguire in automatico questo passaggio dell'aggiornamento.";
+App::$strings["No failed updates."] = "Nessun aggiornamento fallito.";
+App::$strings["Item not found."] = "Elemento non trovato.";
+App::$strings["Plugin %s disabled."] = "Plugin %s non attivo.";
+App::$strings["Plugin %s enabled."] = "Plugin %s attivo.";
+App::$strings["Disable"] = "Disattiva";
+App::$strings["Enable"] = "Attiva";
+App::$strings["Administration"] = "Amministrazione";
+App::$strings["Plugins"] = "Plugin";
+App::$strings["Toggle"] = "Attiva/disattiva";
+App::$strings["Settings"] = "Impostazioni";
+App::$strings["Author: "] = "Autore:";
+App::$strings["Maintainer: "] = "Gestore:";
+App::$strings["Minimum project version: "] = "Minima versione hubzilla";
+App::$strings["Maximum project version: "] = "Massima versione hubzilla";
+App::$strings["Minimum PHP version: "] = "Minima versione PHP:";
+App::$strings["Compatible Server Roles: "] = "Ruoli previsti per questo server";
+App::$strings["Requires: "] = "Necessita di:";
+App::$strings["Disabled - version incompatibility"] = "Disabilitato - incompatibilità di versione";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Inserisci lo URL del repository git dei plugin.";
+App::$strings["Plugin repo git URL"] = "URL git del repository del plugin";
+App::$strings["Custom repo name"] = "Nome repository personalizzato";
+App::$strings["(optional)"] = "(facoltativo)";
+App::$strings["Download Plugin Repo"] = "Scarica il repository del plugin";
+App::$strings["Install new repo"] = "Installa un nuovo repository";
+App::$strings["Install"] = "Installa";
+App::$strings["Manage Repos"] = "Gestisci i repository";
+App::$strings["Installed Plugin Repositories"] = "Repository per i plugin installati";
+App::$strings["Install a New Plugin Repository"] = "Installa un nuovo repository per i plugin";
+App::$strings["Switch branch"] = "Cambia branch";
+App::$strings["Remove"] = "Rimuovi";
App::$strings["%s account blocked/unblocked"] = array(
0 => "Modificato il blocco su %s account",
1 => "Modificato il blocco verso %s",
@@ -122,12 +458,10 @@ App::$strings["Account not found"] = "Account non trovato";
App::$strings["Account '%s' deleted"] = "Account '%s' eliminato";
App::$strings["Account '%s' blocked"] = "Aggiunto un blocco verso '%s'";
App::$strings["Account '%s' unblocked"] = "Rimosso il blocco verso '%s'";
-App::$strings["Administration"] = "Amministrazione";
App::$strings["Accounts"] = "Account";
App::$strings["select all"] = "seleziona tutti";
App::$strings["Registrations waiting for confirm"] = "Registrazioni in attesa di conferma";
App::$strings["Request date"] = "Data richiesta";
-App::$strings["Email"] = "Email";
App::$strings["No registrations."] = "Nessuna registrazione.";
App::$strings["Approve"] = "Approva";
App::$strings["Deny"] = "Nega";
@@ -141,6 +475,13 @@ App::$strings["Expires"] = "Con scadenza";
App::$strings["Service Class"] = "Classe dell'account";
App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
+App::$strings["Log settings updated."] = "Impostazioni di log aggiornate.";
+App::$strings["Logs"] = "Log";
+App::$strings["Clear"] = "Pulisci";
+App::$strings["Debugging"] = "Debugging";
+App::$strings["Log file"] = "File di log";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Relativo alla directory base del server web. Deve essere scrivibile.";
+App::$strings["Log level"] = "Livello di log";
App::$strings["%s channel censored/uncensored"] = array(
0 => "Censura modificata per %s canale",
1 => "Censura modificata per %s canali",
@@ -166,122 +507,25 @@ App::$strings["Allow Code"] = "Permetti codice";
App::$strings["Disallow Code"] = "Non permettere codice";
App::$strings["Channel"] = "Canale";
App::$strings["UID"] = "UID";
-App::$strings["Address"] = "Indirizzo";
App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
-App::$strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
-App::$strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
-App::$strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente.";
-App::$strings["Update function %s could not be found."] = "Impossibile trovare la funzione di aggiornamento %s";
-App::$strings["No failed updates."] = "Nessun aggiornamento fallito.";
-App::$strings["Failed Updates"] = "Aggiornamenti falliti.";
-App::$strings["Mark success (if update was manually applied)"] = "Marca come eseguito (se applicato manualmente).";
-App::$strings["Attempt to execute this update step automatically"] = "Tenta di eseguire in automatico questo passaggio dell'aggiornamento.";
-App::$strings["Off"] = "Off";
-App::$strings["On"] = "On";
-App::$strings["Lock feature %s"] = "Rendi non modificabile %s";
-App::$strings["Manage Additional Features"] = "Funzionalità opzionali";
-App::$strings["Log settings updated."] = "Impostazioni di log aggiornate.";
-App::$strings["Logs"] = "Log";
-App::$strings["Clear"] = "Pulisci";
-App::$strings["Debugging"] = "Debugging";
-App::$strings["Log file"] = "File di log";
-App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Relativo alla directory base del server web. Deve essere scrivibile.";
-App::$strings["Log level"] = "Livello di log";
-App::$strings["Item not found."] = "Elemento non trovato.";
-App::$strings["Plugin %s disabled."] = "Plugin %s non attivo.";
-App::$strings["Plugin %s enabled."] = "Plugin %s attivo.";
-App::$strings["Disable"] = "Disattiva";
-App::$strings["Enable"] = "Attiva";
-App::$strings["Plugins"] = "Plugin";
-App::$strings["Toggle"] = "Attiva/disattiva";
-App::$strings["Settings"] = "Impostazioni";
-App::$strings["Author: "] = "Autore:";
-App::$strings["Maintainer: "] = "Gestore:";
-App::$strings["Minimum project version: "] = "Minima versione hubzilla";
-App::$strings["Maximum project version: "] = "Massima versione hubzilla";
-App::$strings["Minimum PHP version: "] = "Minima versione PHP:";
-App::$strings["Compatible Server Roles: "] = "Ruoli previsti per questo server";
-App::$strings["Requires: "] = "Necessita di:";
-App::$strings["Disabled - version incompatibility"] = "Disabilitato - incompatibilità di versione";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Inserisci lo URL del repository git dei plugin.";
-App::$strings["Plugin repo git URL"] = "URL git del repository del plugin";
-App::$strings["Custom repo name"] = "Nome repository personalizzato";
-App::$strings["(optional)"] = "(facoltativo)";
-App::$strings["Download Plugin Repo"] = "Scarica il repository del plugin";
-App::$strings["Install new repo"] = "Installa un nuovo repository";
-App::$strings["Install"] = "Installa";
-App::$strings["Cancel"] = "Annulla";
-App::$strings["Manage Repos"] = "Gestisci i repository";
-App::$strings["Installed Plugin Repositories"] = "Repository per i plugin installati";
-App::$strings["Install a New Plugin Repository"] = "Installa un nuovo repository per i plugin";
-App::$strings["Update"] = "Aggiorna";
-App::$strings["Switch branch"] = "Cambia branch";
-App::$strings["Remove"] = "Rimuovi";
-App::$strings["New Profile Field"] = "Nuovo campo del profilo";
-App::$strings["Field nickname"] = "Nome breve del campo";
-App::$strings["System name of field"] = "Nome di sistema del campo";
-App::$strings["Input type"] = "Tipo di dati";
-App::$strings["Field Name"] = "Nome del campo";
-App::$strings["Label on profile pages"] = "Etichetta da mostrare sulla pagina del profilo";
-App::$strings["Help text"] = "Testo di aiuto";
-App::$strings["Additional info (optional)"] = "Informazioni aggiuntive (facoltative)";
-App::$strings["Save"] = "Salva";
-App::$strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
-App::$strings["Edit Profile Field"] = "Modifica campo del profilo";
-App::$strings["Profile Fields"] = "Campi del profilo";
-App::$strings["Basic Profile Fields"] = "Campi base del profilo";
-App::$strings["Advanced Profile Fields"] = "Campi avanzati del profilo";
-App::$strings["(In addition to basic fields)"] = "(In aggiunta ai campi di base)";
-App::$strings["All available fields"] = "Tutti i campi disponibili";
-App::$strings["Custom Fields"] = "Campi personalizzati";
-App::$strings["Create Custom Field"] = "Aggiungi campo personalizzato";
-App::$strings["Queue Statistics"] = "Statistiche della coda";
-App::$strings["Total Entries"] = "Totale";
-App::$strings["Priority"] = "Priorità";
-App::$strings["Destination URL"] = "URL di destinazione";
-App::$strings["Mark hub permanently offline"] = "Questo hub è definitivamente offline";
-App::$strings["Empty queue for this hub"] = "Svuota la coda per questo hub";
-App::$strings["Last known contact"] = "Ultimo scambio dati";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Il codice HTML degli oggetti multimediali incorporati nei post è consentito. Questo tipo di impostazione è insicura.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "L'impostazione consigliata è di permettere HTML non filtrato solo dai seguenti siti:";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non sia esplicitamente bloccato.";
-App::$strings["Security"] = "Sicurezza";
-App::$strings["Block public"] = "Blocca pagine pubbliche";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "Imposta il \"Transport Security\" HTTP header";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = "Imposta il \"Content Security Policy\" HTTP header";
-App::$strings["Allowed email domains"] = "Domini email consentiti";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email";
-App::$strings["Not allowed email domains"] = "Domini email non consentiti";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
-App::$strings["Allow communications only from these sites"] = "Permetti la comunicazione solo da questi siti";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti";
-App::$strings["Block communications from these sites"] = "Blocca la comunicazione da questi siti";
-App::$strings["Allow communications only from these channels"] = "Permetti la comunicazione solo da questi canali";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali";
-App::$strings["Block communications from these channels"] = "Blocca la comunicazione da questi canali";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Permetti di incorporare contenuti solamente da siti sicuri (SSL).";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Incorpora i contenuti HTML non filtrati solo da questi domini";
-App::$strings["One site per line. By default embedded content is filtered."] = "Un sito per riga. Normalmente i contenuti incorporati sono filtrati.";
-App::$strings["Block embedded HTML from these domains"] = "Blocca i contenuti incorporati HTML da questi domini";
+App::$strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
+App::$strings["No themes found."] = "Nessun tema trovato.";
+App::$strings["Screenshot"] = "Istantanea dello schermo";
+App::$strings["Themes"] = "Temi";
+App::$strings["[Experimental]"] = "[Sperimentale]";
+App::$strings["[Unsupported]"] = "[Non supportato]";
App::$strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
App::$strings["Default"] = "Predefinito";
+App::$strings["%s - (Incompatible)"] = "%s - (Incompatibile)";
App::$strings["mobile"] = "mobile";
App::$strings["experimental"] = "sperimentale";
App::$strings["unsupported"] = "non supportato";
-App::$strings["No"] = "No";
App::$strings["Yes - with approval"] = "Sì - con approvazione";
-App::$strings["Yes"] = "Sì";
App::$strings["My site is not a public server"] = "Non è un server pubblico";
App::$strings["My site has paid access only"] = "È un servizio a pagamento";
App::$strings["My site has free access only"] = "È un servizio gratuito";
App::$strings["My site offers free accounts with optional paid upgrades"] = "È un servizio gratuito con opzioni aggiuntive a pagamento";
-App::$strings["Basic/Minimal Social Networking"] = "Social network minimale";
-App::$strings["Standard Configuration (default)"] = "Configurazione standard (predefinita)";
-App::$strings["Professional"] = "Professionale";
App::$strings["Beginner/Basic"] = "Principiante";
App::$strings["Novice - not skilled but willing to learn"] = "Novizio - disposto a imparare";
App::$strings["Intermediate - somewhat comfortable"] = "Intermedio - con alcune conoscenze tecniche";
@@ -294,14 +538,16 @@ App::$strings["File upload"] = "Caricamento file";
App::$strings["Policies"] = "Politiche";
App::$strings["Advanced"] = "Avanzate";
App::$strings["Site name"] = "Nome del sito";
-App::$strings["Server Configuration/Role"] = "Configurazione del server";
App::$strings["Site default technical skill level"] = "Livello tecnico predefinito per gli utenti del sito";
App::$strings["Used to provide a member experience matched to technical comfort level"] = "Utile a fornire agli utenti un livello tecnico del sito che rispetti le loro conoscenze";
App::$strings["Lock the technical skill level setting"] = "Il livello tecnico non potrà essere modificato";
App::$strings["Members can set their own technical comfort level by default"] = "Gli utenti possono scegliere il livello tecnico preferito";
App::$strings["Banner/Logo"] = "Banner o logo";
+App::$strings["Unfiltered HTML/CSS/JS is allowed"] = "";
App::$strings["Administrator Information"] = "Informazioni sull'amministratore";
App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode";
+App::$strings["Site Information"] = "Informazioni sul sito";
+App::$strings["Publicly visible description of this site. Displayed on siteinfo page. BBCode can be used here"] = "Descrizione del sito, visibile pubblicamente. Visualizzata sulla pagina siteinfo. Puoi usare il BBCode";
App::$strings["System language"] = "Lingua di sistema";
App::$strings["System theme"] = "Tema di sistema";
App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>";
@@ -314,6 +560,8 @@ App::$strings["Maximum size in bytes of uploaded images. Default is 0, which mea
App::$strings["Does this site allow new member registration?"] = "Questo sito permette a nuovi utenti di registrarsi?";
App::$strings["Invitation only"] = "Solo con invito";
App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'.";
+App::$strings["Minimum age"] = "";
+App::$strings["Minimum age (in years) for who may register on this site."] = "";
App::$strings["Which best describes the types of account offered by this hub?"] = "Come descriveresti il tipo di servizio proposto da questo server?";
App::$strings["Register text"] = "Testo di registrazione";
App::$strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
@@ -331,10 +579,17 @@ App::$strings["Force publish"] = "Forza la publicazione del profilo";
App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito.";
App::$strings["Import Public Streams"] = "Suggerisci contenuti pubblici della rete Hubzilla";
App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione.";
+App::$strings["Site only Public Streams"] = "";
+App::$strings["Allow access to public content originating only from this site if Imported Public Streams are disabled."] = "";
+App::$strings["Allow anybody on the internet to access the Public streams"] = "";
+App::$strings["Disable to require authentication before viewing. Warning: this content is unmoderated."] = "";
App::$strings["Login on Homepage"] = "Login sulla homepage";
App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti.";
App::$strings["Enable context help"] = "Abilita la guida contestuale";
App::$strings["Display contextual help for the current page when the help button is pressed."] = "Quando è premuto, il bottone della guida mostra quella relativa alla pagina corrente";
+App::$strings["Reply-to email address for system generated email."] = "Indirizzo Reply-to per mail generate dal sistema.";
+App::$strings["Sender (From) email address for system generated email."] = "Indirzzo email del mittente (From) per mail generate dal sistema.";
+App::$strings["Name of email sender for system generated email."] = "Nome del mittente per mail generate dal sistema";
App::$strings["Directory Server URL"] = "URL del directory server";
App::$strings["Default directory server"] = "Directory server predefinito";
App::$strings["Proxy user"] = "Utente proxy";
@@ -345,71 +600,343 @@ App::$strings["Delivery interval"] = "Recapito ritardato";
App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
App::$strings["Deliveries per process"] = "Tentativi di recapito per processo";
App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Numero di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5";
+App::$strings["Queue Threshold"] = "";
+App::$strings["Always defer immediate delivery if queue contains more than this number of entries."] = "Rinvia la consegna immediata se la coda contiene più di questo numero di elementi.";
App::$strings["Poll interval"] = "Intervallo di polling";
App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
+App::$strings["Path to ImageMagick convert program"] = "Percorso del comando convert di ImageMagic";
+App::$strings["If set, use this program to generate photo thumbnails for huge images ( > 4000 pixels in either dimension), otherwise memory exhaustion may occur. Example: /usr/bin/convert"] = "Se impostato, utilizza questo programma per generare le anteprime di immagini molto grandi ( > 4000 pixel in larghezza o altezza), per evitare di esaurire la memoria. Esempio: /user/bin/convert";
+App::$strings["Allow SVG thumbnails in file browser"] = "Permetti le anteprime SVG nell'elenco dei file";
+App::$strings["WARNING: SVG images may contain malicious code."] = "ATTENZIONE: le immagini SVG potrebbero contenere codice malevolo.";
App::$strings["Maximum Load Average"] = "Carico massimo medio";
App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50.";
App::$strings["Expiration period in days for imported (grid/network) content"] = "Scadenza dei contenuti importati da altri siti (in giorni)";
App::$strings["0 for no expiration of imported content"] = "0 per non avere scadenza";
-App::$strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
-App::$strings["No themes found."] = "Nessun tema trovato.";
-App::$strings["Screenshot"] = "Istantanea dello schermo";
-App::$strings["Themes"] = "Temi";
-App::$strings["[Experimental]"] = "[Sperimentale]";
-App::$strings["[Unsupported]"] = "[Non supportato]";
-App::$strings["Photos"] = "Foto";
-App::$strings["Invalid item."] = "Elemento non valido.";
-App::$strings["Channel not found."] = "Canale non trovato.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["Save to Folder:"] = "Salva nella cartella:";
-App::$strings["- select -"] = "- scegli -";
-App::$strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
-App::$strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
-App::$strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
-App::$strings["Messages"] = "Messaggi";
-App::$strings["Message recalled."] = "Messaggio revocato.";
-App::$strings["Conversation removed."] = "Conversazione rimossa.";
-App::$strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
-App::$strings["Requested channel is not in this network"] = "Il canale cercato non è in questa rete";
-App::$strings["Send Private Message"] = "Invia un messaggio privato";
-App::$strings["To:"] = "A:";
-App::$strings["Subject:"] = "Oggetto:";
-App::$strings["Your message:"] = "Il tuo messaggio:";
-App::$strings["Attach file"] = "Allega file";
-App::$strings["Insert web link"] = "Inserisci un indirizzo web";
-App::$strings["Send"] = "Invia";
-App::$strings["Set expiration date"] = "Data di scadenza";
-App::$strings["Encrypt text"] = "Cifratura del messaggio";
-App::$strings["Delete message"] = "Elimina il messaggio";
-App::$strings["Delivery report"] = "Rapporto di trasmissione";
-App::$strings["Recall message"] = "Revoca il messaggio";
-App::$strings["Message has been recalled."] = "Il messaggio è stato revocato.";
-App::$strings["Delete Conversation"] = "Elimina la conversazione";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente.";
-App::$strings["Send Reply"] = "Invia la risposta";
-App::$strings["Your message for %s (%s):"] = "Il tuo messaggio per %s (%s):";
+App::$strings["Public servers: Optional landing (marketing) webpage for new registrants"] = "";
+App::$strings["Create this page first. Default is %s/register"] = "";
+App::$strings["Page to display after creating a new channel"] = "";
+App::$strings["Recommend: profiles, go, or settings"] = "";
+App::$strings["Optional: site location"] = "";
+App::$strings["Region or country"] = "";
+App::$strings["New Profile Field"] = "Nuovo campo del profilo";
+App::$strings["Field nickname"] = "Nome breve del campo";
+App::$strings["System name of field"] = "Nome di sistema del campo";
+App::$strings["Input type"] = "Tipo di dati";
+App::$strings["Field Name"] = "Nome del campo";
+App::$strings["Label on profile pages"] = "Etichetta da mostrare sulla pagina del profilo";
+App::$strings["Help text"] = "Testo di aiuto";
+App::$strings["Additional info (optional)"] = "Informazioni aggiuntive (facoltative)";
+App::$strings["Save"] = "Salva";
+App::$strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
+App::$strings["Edit Profile Field"] = "Modifica campo del profilo";
+App::$strings["Profile Fields"] = "Campi del profilo";
+App::$strings["Basic Profile Fields"] = "Campi base del profilo";
+App::$strings["Advanced Profile Fields"] = "Campi avanzati del profilo";
+App::$strings["(In addition to basic fields)"] = "(In aggiunta ai campi di base)";
+App::$strings["All available fields"] = "Tutti i campi disponibili";
+App::$strings["Custom Fields"] = "Campi personalizzati";
+App::$strings["Create Custom Field"] = "Aggiungi campo personalizzato";
+App::$strings["Password changed for account %d."] = "La password per l'utente %d è cambiata.";
+App::$strings["Account settings updated."] = "L'impostazioni sono state aggiornate.";
+App::$strings["Account not found."] = "Account non trovato.";
+App::$strings["Account Edit"] = "Modifica le impostazioni";
+App::$strings["New Password"] = "Nuova password";
+App::$strings["New Password again"] = "Ripeti la nuova password";
+App::$strings["Technical skill level"] = "Livello tecnico";
+App::$strings["Account language (for emails)"] = "Lingua (per le email di sistema)";
+App::$strings["Service class"] = "Classe dell'account";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Il codice HTML degli oggetti multimediali incorporati nei post è consentito. Questo tipo di impostazione è insicura.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "L'impostazione consigliata è di permettere HTML non filtrato solo dai seguenti siti:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non sia esplicitamente bloccato.";
+App::$strings["Security"] = "Sicurezza";
+App::$strings["Block public"] = "Blocca pagine pubbliche";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Imposta il \"Transport Security\" HTTP header";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Imposta il \"Content Security Policy\" HTTP header";
+App::$strings["Allowed email domains"] = "Domini email consentiti";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email";
+App::$strings["Not allowed email domains"] = "Domini email non consentiti";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
+App::$strings["Allow communications only from these sites"] = "Permetti la comunicazione solo da questi siti";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti";
+App::$strings["Block communications from these sites"] = "Blocca la comunicazione da questi siti";
+App::$strings["Allow communications only from these channels"] = "Permetti la comunicazione solo da questi canali";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali";
+App::$strings["Block communications from these channels"] = "Blocca la comunicazione da questi canali";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Permetti di incorporare contenuti solamente da siti sicuri (SSL).";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Incorpora i contenuti HTML non filtrati solo da questi domini";
+App::$strings["One site per line. By default embedded content is filtered."] = "Un sito per riga. Normalmente i contenuti incorporati sono filtrati.";
+App::$strings["Block embedded HTML from these domains"] = "Blocca i contenuti incorporati HTML da questi domini";
+App::$strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
+App::$strings["Visible to:"] = "Visibile a:";
+App::$strings["__ctx:acl__ Profile"] = "Profilo";
+App::$strings["Comment approved"] = "Commento approvato";
+App::$strings["Comment deleted"] = "Commento eliminato";
+App::$strings["Permission category saved."] = "";
+App::$strings["Use this form to create permission rules for various classes of people or connections."] = "";
+App::$strings["Permission Categories"] = "";
+App::$strings["Permission Name"] = "";
+App::$strings["My Settings"] = "Permessi che concedo";
+App::$strings["inherited"] = "derivato";
+App::$strings["Individual Permissions"] = "Permessi individuali";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle.";
+App::$strings["Friends"] = "Amici";
+App::$strings["Settings updated."] = "Impostazioni aggiornate.";
+App::$strings["Nobody except yourself"] = "Nessuno tranne te";
+App::$strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
+App::$strings["Approved connections"] = "Contatti approvati";
+App::$strings["Any connections"] = "Tutti i contatti";
+App::$strings["Anybody on this website"] = "Chiunque su questo hub";
+App::$strings["Anybody in this network"] = "Chiunque su questa rete";
+App::$strings["Anybody authenticated"] = "Chiunque abbia effettuato l'accesso";
+App::$strings["Anybody on the internet"] = "Chiunque su internet";
+App::$strings["Publish your default profile in the network directory"] = "Mostra il mio profilo predefinito negli elenchi pubblici dei canali";
+App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come amico ai nuovi membri?";
+App::$strings["or"] = "o";
+App::$strings["Your channel address is"] = "L'indirizzo del tuo canale è";
+App::$strings["Your files/photos are accessible via WebDAV at"] = "";
+App::$strings["Channel Settings"] = "Impostazioni del canale";
+App::$strings["Basic Settings"] = "Impostazioni di base";
+App::$strings["Full Name:"] = "Nome completo:";
+App::$strings["Email Address:"] = "Indirizzo email:";
+App::$strings["Your Timezone:"] = "Il tuo fuso orario:";
+App::$strings["Default Post Location:"] = "Località predefinita:";
+App::$strings["Geographical location to display on your posts"] = "La posizione geografica da mostrare sui tuoi post";
+App::$strings["Use Browser Location:"] = "Usa la località rilevata dal browser:";
+App::$strings["Adult Content"] = "Contenuto per adulti";
+App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)";
+App::$strings["Security and Privacy Settings"] = "Impostazioni di sicurezza e privacy";
+App::$strings["Your permissions are already configured. Click to view/adjust"] = "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli";
+App::$strings["Hide my online presence"] = "Nascondi la mia presenza online";
+App::$strings["Prevents displaying in your profile that you are online"] = "Non mostrare sul tuo profilo quando sei online";
+App::$strings["Simple Privacy Settings:"] = "Impostazioni di privacy semplificate";
+App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>";
+App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>";
+App::$strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
+App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>";
+App::$strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi post";
+App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
+App::$strings["Channel Permission Limits"] = "Limiti sui permessi del canale";
+App::$strings["Expire other channel content after this many days"] = "Giorni dopo cui mettere in scadenza gli altri contenuti del canale";
+App::$strings["0 or blank to use the website limit."] = "0 o vuoto per usare i valori predefiniti.";
+App::$strings["This website expires after %d days."] = "Per questo sito la scadenza è %d giorni. ";
+App::$strings["This website does not expire imported content."] = "I contenuti di questo sito non hanno scadenza.";
+App::$strings["The website limit takes precedence if lower than your limit."] = "Il limite del server ha la precedenza, se minore di quello impostato da te.";
+App::$strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
+App::$strings["May reduce spam activity"] = "Serve a ridurre lo spam";
+App::$strings["Default Privacy Group"] = "";
+App::$strings["Use my default audience setting for the type of object published"] = "Mostra ai contatti secondo le impostazioni standard per questo tipo di contenuto";
+App::$strings["Profile to assign new connections"] = "";
+App::$strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
+App::$strings["Default Permissions Group"] = "";
+App::$strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
+App::$strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
+App::$strings["Notification Settings"] = "Impostazioni di notifica";
+App::$strings["By default post a status message when:"] = "Pubblica un messaggio di stato quando:";
+App::$strings["accepting a friend request"] = "accetto una nuova amicizia";
+App::$strings["joining a forum/community"] = "entro a far parte di un forum";
+App::$strings["making an <em>interesting</em> profile change"] = "faccio un cambiamento <em>interessante</em> al mio profilo";
+App::$strings["Send a notification email when:"] = "Invia una email di notifica quando:";
+App::$strings["You receive a connection request"] = "Ricevi una richiesta di entrare in contatto";
+App::$strings["Your connections are confirmed"] = "I tuoi contatti sono confermati";
+App::$strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
+App::$strings["Someone writes a followup comment"] = "Qualcuno scrive un commento dopo di te";
+App::$strings["You receive a private message"] = "Ricevi un messaggio privato";
+App::$strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
+App::$strings["You are tagged in a post"] = "Sei taggato in un post";
+App::$strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un post";
+App::$strings["Someone likes your post/comment"] = "Qualcuno mette mi piace al tuo post/commento";
+App::$strings["Show visual notifications including:"] = "Mostra queste notifiche a schermo:";
+App::$strings["Unseen grid activity"] = "Nuove attività nella rete";
+App::$strings["Unseen channel activity"] = "Novità nei canali";
+App::$strings["Unseen private messages"] = "Nuovi messaggi privati";
+App::$strings["Recommended"] = "Consigliato";
+App::$strings["Upcoming events"] = "Prossimi eventi";
+App::$strings["Events today"] = "Eventi di oggi";
+App::$strings["Upcoming birthdays"] = "Prossimi compleanni";
+App::$strings["Not available in all themes"] = "Non disponibile in tutti i temi";
+App::$strings["System (personal) notifications"] = "Notifiche personali dal sistema";
+App::$strings["System info messages"] = "Notifiche di sistema";
+App::$strings["System critical alerts"] = "Avvisi critici di sistema";
+App::$strings["New connections"] = "Nuovi contatti";
+App::$strings["System Registrations"] = "Registrazioni";
+App::$strings["Unseen shared files"] = "";
+App::$strings["Unseen public activity"] = "Attività pubblica non letta";
+App::$strings["Email notification hub (hostname)"] = "";
+App::$strings["If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s"] = "";
+App::$strings["Also show new wall posts, private messages and connections under Notices"] = "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti";
+App::$strings["Notify me of events this many days in advance"] = "Giorni di anticipo per notificare gli eventi";
+App::$strings["Must be greater than 0"] = "Maggiore di 0";
+App::$strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
+App::$strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account per necessità particolari";
+App::$strings["Miscellaneous Settings"] = "Impostazioni varie";
+App::$strings["Default photo upload folder"] = "Cartella predefinita per le foto caricate";
+App::$strings["%Y - current year, %m - current month"] = "%Y - anno corrente, %m - mese corrente";
+App::$strings["Default file upload folder"] = "Cartella predefinita per i file caricati";
+App::$strings["Personal menu to display in your channel pages"] = "Menu personale da mostrare sulle pagine del tuo canale";
+App::$strings["Remove this channel."] = "Elimina questo canale.";
+App::$strings["Firefox Share \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
+App::$strings["Start calendar week on Monday"] = "";
+App::$strings["Additional Features"] = "Funzionalità opzionali";
+App::$strings["This channel is limited to %d tokens"] = "Questo canale è limitato a %d token";
+App::$strings["Name and Password are required."] = "Nome e password sono obbligatori.";
+App::$strings["Token saved."] = "Token salvato.";
+App::$strings["Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access private content."] = "Usa questo modulo per creare credenziali temporanee per condividere qualcosa con i non iscritti. A queste credenziali potrai dare o togliere diritti come a tutti gli altri utenti e i visitatori potranno usarle per accedere a contenuti privati.";
+App::$strings["You may also provide <em>dropbox</em> style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:"] = "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:";
+App::$strings["Guest Access Tokens"] = "Token di accesso ospite";
+App::$strings["Login Name"] = "Nome utente";
+App::$strings["Login Password"] = "Password";
+App::$strings["Expires (yyyy-mm-dd)"] = "Con scadenza (aaaa-mm-gg)";
+App::$strings["Their Settings"] = "Permessi concessi a te";
+App::$strings["Not valid email."] = "Email non valida.";
+App::$strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
+App::$strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
+App::$strings["Technical skill level updated"] = "Livello tecnico aggiornato";
+App::$strings["Password verification failed."] = "Verifica della password fallita.";
+App::$strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
+App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
+App::$strings["Password changed."] = "Password cambiata.";
+App::$strings["Password update failed. Please try again."] = "Modifica password fallita. Prova ancora.";
+App::$strings["Account Settings"] = "Il tuo account";
+App::$strings["Current Password"] = "Password attuale";
+App::$strings["Enter New Password"] = "Nuova password";
+App::$strings["Confirm New Password"] = "Conferma la nuova password";
+App::$strings["Leave password fields blank unless changing"] = "Lascia vuoti questi campi per non cambiare la password";
+App::$strings["Your technical skill level"] = "Il tuo livello tecnico";
+App::$strings["Used to provide a member experience and additional features consistent with your comfort level"] = "";
+App::$strings["Remove Account"] = "Elimina l'account";
+App::$strings["Remove this account including all its channels"] = "Elimina questo account e tutti i suoi canali";
+App::$strings["Affinity Slider settings updated."] = "";
+App::$strings["No feature settings configured"] = "Non hai componenti aggiuntivi da personalizzare";
+App::$strings["Default maximum affinity level"] = "";
+App::$strings["0-99 default 99"] = "";
+App::$strings["Default minimum affinity level"] = "";
+App::$strings["0-99 - default 0"] = "";
+App::$strings["Affinity Slider Settings"] = "";
+App::$strings["Addon Settings"] = "";
+App::$strings["Please save/submit changes to any panel before opening another."] = "";
+App::$strings["%s - (Experimental)"] = "%s - (Sperimentale)";
+App::$strings["Display Settings"] = "Aspetto";
+App::$strings["Theme Settings"] = "Impostazioni del tema";
+App::$strings["Custom Theme Settings"] = "Personalizzazione del tema";
+App::$strings["Content Settings"] = "Impostazioni dei contenuti";
+App::$strings["Display Theme:"] = "Tema per schermi medio grandi:";
+App::$strings["Select scheme"] = "Scegli uno schema";
+App::$strings["Preload images before rendering the page"] = "Carica le immagini prima del rendering della pagina";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo";
+App::$strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
+App::$strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
+App::$strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
+App::$strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
+App::$strings["Maximum of 100 items"] = "Massimo 100";
+App::$strings["Show emoticons (smilies) as images"] = "Mostra le faccine (smilies) come immagini";
+App::$strings["Provide channel menu in navigation bar"] = "";
+App::$strings["Default: channel menu located in app menu"] = "";
+App::$strings["Manual conversation updates"] = "";
+App::$strings["Default is on, turning this off may increase screen jumping"] = "";
+App::$strings["Link post titles to source"] = "Il link del titolo di un post porta al sito originale";
+App::$strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
+App::$strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
+App::$strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
+App::$strings["Use blog/list mode on grid page"] = "Mostra la tua rete in modalità blog";
+App::$strings["Channel page max height of content (in pixels)"] = "Altezza massima dei contenuti del canale (in pixel)";
+App::$strings["click to expand content exceeding this height"] = "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori";
+App::$strings["Grid page max height of content (in pixels)"] = "Altezza massima dei contenuti della tua rete (in pixel)";
+App::$strings["Name is required"] = "Il nome è obbligatorio";
+App::$strings["Key and Secret are required"] = "Key e Secret sono richiesti";
+App::$strings["Add application"] = "Aggiungi una app";
+App::$strings["Name of application"] = "Nome dell'applicazione";
+App::$strings["Consumer Key"] = "Consumer Key";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
+App::$strings["Consumer Secret"] = "Consumer Secret";
+App::$strings["Redirect"] = "Redirect";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione";
+App::$strings["Icon url"] = "Url icona";
+App::$strings["Optional"] = "Facoltativo";
+App::$strings["Application not found."] = "Applicazione non trovata.";
+App::$strings["Connected Apps"] = "App connesse";
+App::$strings["Client key starts with"] = "La client key inizia con";
+App::$strings["No name"] = "Nessun nome";
+App::$strings["Remove authorization"] = "Revoca l'autorizzazione";
+App::$strings["View Photo"] = "Guarda la foto";
+App::$strings["Edit Album"] = "Modifica album";
+App::$strings["Upload"] = "Carica";
+App::$strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare";
+App::$strings["Thing updated"] = "L'oggetto è stato aggiornato";
+App::$strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
+App::$strings["Thing added"] = "L'Oggetto è stato aggiunto";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Mostra l'oggetto";
+App::$strings["item not found."] = "non trovato.";
+App::$strings["Edit Thing"] = "Modifica l'oggetto";
+App::$strings["Select a profile"] = "Scegli un profilo";
+App::$strings["Post an activity"] = "Pubblica un'attività";
+App::$strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi può vedere il profilo scelto";
+App::$strings["Name of thing e.g. something"] = "Nome dell'oggetto";
+App::$strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto (facoltativo)";
+App::$strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)";
+App::$strings["Permissions"] = "Permessi";
+App::$strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo";
+App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
+App::$strings["System Notifications"] = "Notifiche di sistema";
+App::$strings["Channel added."] = "Canale aggiunto.";
+App::$strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
+App::$strings["No channel. Import failed."] = "Nessun canale. Import fallito.";
+App::$strings["Import completed."] = "L'importazione è terminata con successo.";
+App::$strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
+App::$strings["Import Channel"] = "Importa un canale";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza.";
+App::$strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio hub";
+App::$strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
+App::$strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio hub";
+App::$strings["Your old login password"] = "La password per il vecchio hub";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc.";
+App::$strings["Make this hub my primary location"] = "Rendi questo hub il mio indirizzo primario";
+App::$strings["Move this channel (disable all previous locations)"] = "";
+App::$strings["Import a few months of posts if possible (limited by available memory"] = "";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito.";
+App::$strings["Authentication failed."] = "Autenticazione fallita.";
+App::$strings["Remote Authentication"] = "Accedi tramite il tuo hub";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
+App::$strings["Authenticate"] = "Accedi";
+App::$strings["Permissions denied."] = "Permesso negato.";
+App::$strings["Import"] = "Importa";
+App::$strings["Authorize application connection"] = "Autorizza la app";
+App::$strings["Return to your app and insert this Security Code:"] = "Ritorna alla tua app e inserisci questo Security Code:";
+App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
+App::$strings["Item not available."] = "Elemento non disponibile.";
+App::$strings["Edit Block"] = "Modifica il block";
+App::$strings["vcard"] = "";
+App::$strings["Apps"] = "App";
+App::$strings["Manage apps"] = "";
+App::$strings["Create new app"] = "";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
+App::$strings["Mood"] = "Umore";
+App::$strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
App::$strings["Blocked"] = "Bloccati";
App::$strings["Ignored"] = "Ignorati";
App::$strings["Hidden"] = "Nascosti";
-App::$strings["Archived"] = "Archiviati";
+App::$strings["Archived/Unreachable"] = "";
App::$strings["New"] = "Novità";
App::$strings["All"] = "Tutti";
App::$strings["New Connections"] = "Nuovi contatti";
App::$strings["Show pending (new) connections"] = "Richieste di contatto in attesa";
-App::$strings["All Connections"] = "Tutti i contatti";
App::$strings["Show all connections"] = "Mostra tutti i contatti";
App::$strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
App::$strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
-App::$strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
+App::$strings["Only show archived/unreachable connections"] = "";
App::$strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
App::$strings["Pending approval"] = "In attesa di conferma";
+App::$strings["Archived"] = "Archiviati";
+App::$strings["Not connected at this location"] = "";
App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
App::$strings["Edit connection"] = "Modifica il contatto";
App::$strings["Delete connection"] = "Elimina il contatto";
App::$strings["Channel address"] = "Indirizzo del canale";
App::$strings["Network"] = "Network";
+App::$strings["Call"] = "";
App::$strings["Status"] = "Stato";
App::$strings["Connected"] = "In contatto";
App::$strings["Approve connection"] = "Approva questo contatto";
@@ -417,33 +944,186 @@ App::$strings["Ignore connection"] = "Ignora il contatto";
App::$strings["Ignore"] = "Ignora";
App::$strings["Recent activity"] = "Attività recenti";
App::$strings["Connections"] = "Contatti";
-App::$strings["Search"] = "Cerca";
App::$strings["Search your connections"] = "Cerca tra i contatti";
App::$strings["Connections search"] = "Ricerca tra i contatti";
App::$strings["Find"] = "Cerca";
+App::$strings["item"] = "";
+App::$strings["Source of Item"] = "Sorgente";
+App::$strings["Bookmark added"] = "Segnalibro aggiunto";
+App::$strings["My Bookmarks"] = "I miei segnalibri";
+App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
+App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password.";
+App::$strings["Remove This Account"] = "Elimina questo account";
+App::$strings["This account and all its channels will be completely removed from the network. "] = "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete.";
+App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati.";
+App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete.";
+App::$strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
+App::$strings["Album not found."] = "Album non trovato.";
+App::$strings["Delete Album"] = "Elimina album";
+App::$strings["Delete Photo"] = "Elimina foto";
+App::$strings["No photos selected"] = "Nessuna foto selezionata";
+App::$strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile.";
+App::$strings["%1$.2f MB photo storage used."] = "Hai usato %1$.2f Mb del tuo spazio disponibile.";
+App::$strings["Upload Photos"] = "Carica foto";
+App::$strings["Enter an album name"] = "Scegli il nome dell'album";
+App::$strings["or select an existing album (doubleclick)"] = "o seleziona un album esistente (doppio click)";
+App::$strings["Create a status post for this upload"] = "Pubblica sulla bacheca";
+App::$strings["Caption (optional):"] = "Titolo (facoltativo):";
+App::$strings["Description (optional):"] = "Descrizione (facoltativa):";
+App::$strings["Show Newest First"] = "Prima i più recenti";
+App::$strings["Show Oldest First"] = "Prima i più vecchi";
+App::$strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere stato limitato.";
+App::$strings["Photo not available"] = "Foto non disponibile";
+App::$strings["Use as profile photo"] = "Usa come foto del profilo";
+App::$strings["Use as cover photo"] = "Usa come copertina del canale";
+App::$strings["Private Photo"] = "Foto privata";
+App::$strings["View Full Size"] = "Vedi nelle dimensioni originali";
+App::$strings["Edit photo"] = "Modifica la foto";
+App::$strings["Rotate CW (right)"] = "Ruota (senso orario)";
+App::$strings["Rotate CCW (left)"] = "Ruota (senso antiorario)";
+App::$strings["Move photo to album"] = "Sposta la foto in un album";
+App::$strings["Enter a new album name"] = "Inserisci il nome del nuovo album";
+App::$strings["or select an existing one (doubleclick)"] = "o seleziona uno esistente (doppio click)";
+App::$strings["Caption"] = "Didascalia";
+App::$strings["Add a Tag"] = "Aggiungi tag";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Esempio: @bob, @Barbara_Jensen, @jim@example.com";
+App::$strings["Flag as adult in album view"] = "Marca come 'per adulti'";
+App::$strings["I like this (toggle)"] = "Attiva/disattiva Mi piace";
+App::$strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace";
+App::$strings["Please wait"] = "Attendere";
+App::$strings["This is you"] = "Questo sei tu";
+App::$strings["Comment"] = "Commento";
+App::$strings["__ctx:title__ Likes"] = "Mi piace";
+App::$strings["__ctx:title__ Dislikes"] = "Non mi piace";
+App::$strings["__ctx:title__ Agree"] = "D'accordo";
+App::$strings["__ctx:title__ Disagree"] = "Non d'accordo";
+App::$strings["__ctx:title__ Abstain"] = "Astenuti";
+App::$strings["__ctx:title__ Attending"] = "Partecipano";
+App::$strings["__ctx:title__ Not attending"] = "Non partecipano";
+App::$strings["__ctx:title__ Might attend"] = "Forse partecipano";
+App::$strings["View all"] = "Vedi tutto";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "Mi piace",
+ 1 => "Mi piace",
+);
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Non mi piace",
+ 1 => "Non mi piace",
+);
+App::$strings["Photo Tools"] = "Gestione foto";
+App::$strings["In This Photo:"] = "In questa foto:";
+App::$strings["Map"] = "Mappa";
+App::$strings["__ctx:noun__ Likes"] = "Mi piace";
+App::$strings["__ctx:noun__ Dislikes"] = "Non mi piace";
+App::$strings["Close"] = "Chiudi";
+App::$strings["Recent Photos"] = "Foto recenti";
+App::$strings["Profile Unavailable."] = "";
+App::$strings["Not found"] = "Non trovato";
+App::$strings["Invalid channel"] = "Canale non valido";
+App::$strings["Error retrieving wiki"] = "Errore caricamento wiki";
+App::$strings["Error creating zip file export folder"] = "Errore nella creazione della cartella per l'esportazione in zip";
+App::$strings["Error downloading wiki: "] = "Errore scaricamento wiki:";
+App::$strings["Wikis"] = "Pagine wiki";
+App::$strings["Download"] = "Scarica";
+App::$strings["Create New"] = "Crea nuova";
+App::$strings["Wiki name"] = "Nome wiki";
+App::$strings["Content type"] = "";
+App::$strings["Markdown"] = "";
+App::$strings["BBcode"] = "";
+App::$strings["Text"] = "";
+App::$strings["Type"] = "Tipo";
+App::$strings["Any&nbsp;type"] = "";
+App::$strings["Lock content type"] = "";
+App::$strings["Create a status post for this wiki"] = "";
+App::$strings["Edit Wiki Name"] = "";
+App::$strings["Wiki not found"] = "";
+App::$strings["Rename page"] = "";
+App::$strings["Error retrieving page content"] = "Errore nel caricamento del contenuto della pagina";
+App::$strings["New page"] = "";
+App::$strings["Revision Comparison"] = "Confronto tra revisioni";
+App::$strings["Revert"] = "Ripristina";
+App::$strings["Short description of your changes (optional)"] = "";
+App::$strings["Source"] = "Sorgente";
+App::$strings["New page name"] = "";
+App::$strings["Embed image from photo albums"] = "Inserisci un'immagine dall'album foto";
+App::$strings["Embed an image from your albums"] = "Inserisci un'immagine dai tuoi album";
+App::$strings["OK"] = "OK";
+App::$strings["Choose images to embed"] = "Scegli le immagini da inserire";
+App::$strings["Choose an album"] = "Scegli un album";
+App::$strings["Choose a different album"] = "";
+App::$strings["Error getting album list"] = "Errore nell'ottenere l'elenco degli album";
+App::$strings["Error getting photo link"] = "Errore nell'ottenere il link alla foto";
+App::$strings["Error getting album"] = "Errore nell'ottenere l'album";
+App::$strings["Error creating wiki. Invalid name."] = "Errore nella creazione. Nome non valido.";
+App::$strings["A wiki with this name already exists."] = "";
+App::$strings["Wiki created, but error creating Home page."] = "";
+App::$strings["Error creating wiki"] = "";
+App::$strings["Error updating wiki. Invalid name."] = "";
+App::$strings["Error updating wiki"] = "";
+App::$strings["Wiki delete permission denied."] = "";
+App::$strings["Error deleting wiki"] = "";
+App::$strings["New page created"] = "";
+App::$strings["Cannot delete Home"] = "";
+App::$strings["Current Revision"] = "";
+App::$strings["Selected Revision"] = "";
+App::$strings["You must be authenticated."] = "";
+App::$strings["toggle full screen mode"] = "attiva/disattiva schermo intero";
+App::$strings["Layout updated."] = "Layout aggiornato.";
+App::$strings["Feature disabled."] = "Funzionalità disattivata.";
+App::$strings["Edit System Page Description"] = "Modifica i layout di sistema";
+App::$strings["(modified)"] = "";
+App::$strings["Reset"] = "Reimposta";
+App::$strings["Layout not found."] = "Layout non trovato.";
+App::$strings["Module Name:"] = "Nome del modulo:";
+App::$strings["Layout Help"] = "Guida al layout";
+App::$strings["Edit another layout"] = "";
+App::$strings["System layout"] = "";
+App::$strings["Poke"] = "Poke";
+App::$strings["Poke somebody"] = "Manda un poke";
+App::$strings["Poke/Prod"] = "Poke/Prod";
+App::$strings["Poke, prod or do other things to somebody"] = "Manda un poke o altro a qualcuno";
+App::$strings["Recipient"] = "Destinatario";
+App::$strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
+App::$strings["Make this post private"] = "Rendi privato questo post";
App::$strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
-App::$strings["Cover Photos"] = "Copertine del canale";
+App::$strings["Profile Photos"] = "Foto del profilo";
App::$strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente.";
App::$strings["Unable to process image"] = "Impossibile elaborare l'immagine";
App::$strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
App::$strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
-App::$strings["female"] = "femmina";
-App::$strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["male"] = "maschio";
-App::$strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["cover photo"] = "Copertina del canale";
App::$strings["Photo not available."] = "Foto non disponibile.";
App::$strings["Upload File:"] = "Carica un file:";
App::$strings["Select a profile:"] = "Seleziona un profilo:";
-App::$strings["Upload Cover Photo"] = "Carica una copertina";
-App::$strings["or"] = "o";
-App::$strings["skip this step"] = "salta questo passaggio";
-App::$strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
+App::$strings["Use Photo for Profile"] = "Usa la foto per il profilo";
+App::$strings["Change Profile Photo"] = "";
+App::$strings["Use"] = "Usa";
+App::$strings["Use a photo from your albums"] = "";
+App::$strings["Select existing photo"] = "";
App::$strings["Crop Image"] = "Ritaglia immagine";
App::$strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
App::$strings["Done Editing"] = "Modifica terminata";
-App::$strings["Edit post"] = "Modifica post";
+App::$strings["Away"] = "Assente";
+App::$strings["Online"] = "Online";
+App::$strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
+App::$strings["Empty post discarded."] = "Il post vuoto è stato ignorato.";
+App::$strings["Duplicate post suppressed."] = "I post duplicati sono scartati.";
+App::$strings["System error. Post not saved."] = "Errore di sistema. Post non salvato.";
+App::$strings["Your comment is awaiting approval."] = "";
+App::$strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale.";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
+App::$strings["sent you a private message"] = "ti ha inviato un messaggio privato";
+App::$strings["added your channel"] = "ha aggiunto il tuo canale";
+App::$strings["requires approval"] = "";
+App::$strings["g A l F d"] = "g A l d F";
+App::$strings["[today]"] = "[oggi]";
+App::$strings["posted an event"] = "ha creato un evento";
+App::$strings["shared a file with you"] = "";
+App::$strings["Invalid item."] = "Elemento non valido.";
+App::$strings["Page not found."] = "Pagina non trovata.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
App::$strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto.";
App::$strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
App::$strings["Connection updated."] = "Contatto aggiornato.";
@@ -457,6 +1137,8 @@ App::$strings["View Profile"] = "Profilo";
App::$strings["View %s's profile"] = "Guarda il profilo di %s";
App::$strings["Refresh Permissions"] = "Modifica i permessi";
App::$strings["Fetch updated permissions"] = "Guarda e modifica i permessi assegnati";
+App::$strings["Refresh Photo"] = "";
+App::$strings["Fetch updated photo"] = "";
App::$strings["Recent Activity"] = "Attività recenti";
App::$strings["View recent posts and comments"] = "Leggi i post recenti e i commenti";
App::$strings["Block (or Unblock) all communications with this connection"] = "Blocca ogni interazione con questo contatto (abilita/disabilita)";
@@ -473,20 +1155,32 @@ App::$strings["Hide"] = "Nascondi";
App::$strings["Hide or Unhide this connection from your other connections"] = "Nascondi questo contatto a tutti gli altri (abilita/disabilita)";
App::$strings["This connection is hidden!"] = "Questa connessione è tra quelle nascoste!";
App::$strings["Delete this connection"] = "Elimina questo contatto";
+App::$strings["Fetch Vcard"] = "";
+App::$strings["Fetch electronic calling card for this connection"] = "";
+App::$strings["Open Individual Permissions section by default"] = "";
+App::$strings["Affinity"] = "";
+App::$strings["Open Set Affinity section by default"] = "";
App::$strings["Me"] = "Me";
App::$strings["Family"] = "Famiglia";
-App::$strings["Friends"] = "Amici";
App::$strings["Acquaintances"] = "Conoscenti";
+App::$strings["Filter"] = "";
+App::$strings["Open Custom Filter section by default"] = "";
App::$strings["Approve this connection"] = "Approva questo contatto";
App::$strings["Accept connection to allow communication"] = "Entra in contatto per poter comunicare";
App::$strings["Set Affinity"] = "Scegli l'affinità";
App::$strings["Set Profile"] = "Scegli il profilo da mostrare";
App::$strings["Set Affinity & Profile"] = "Affinità e profilo";
-App::$strings["none"] = "--";
+App::$strings["This connection is unreachable from this location."] = "";
+App::$strings["This connection may be unreachable from other channel locations."] = "";
+App::$strings["Location independence is not supported by their network."] = "";
+App::$strings["This connection is unreachable from this location. Location independence is not supported by their network."] = "";
App::$strings["Connection Default Permissions"] = "Permessi predefiniti dei nuovi contatti";
App::$strings["Connection: %s"] = "Contatto: %s";
App::$strings["Apply these permissions automatically"] = "Applica automaticamente questi permessi";
App::$strings["Connection requests will be approved without your interaction"] = "Le richieste di entrare in contatto saranno approvate in automatico";
+App::$strings["Permission role"] = "";
+App::$strings["Loading"] = "";
+App::$strings["Add permission role"] = "";
App::$strings["This connection's primary address is"] = "Indirizzo primario di questo canale";
App::$strings["Available locations:"] = "Indirizzi disponibili";
App::$strings["The permissions indicated on this page will be applied to all new connections."] = "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi.";
@@ -501,23 +1195,27 @@ App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank
App::$strings["Do not import posts with this text"] = "Non importare i post con queste parole chiave";
App::$strings["This information is public!"] = "Questa informazione è pubblica!";
App::$strings["Connection Pending Approval"] = "Contatti in attesa di approvazione";
-App::$strings["inherited"] = "derivato";
App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s dopo che ha effettuato l'accesso.";
-App::$strings["Their Settings"] = "Permessi concessi a te";
-App::$strings["My Settings"] = "Permessi che concedo";
-App::$strings["Individual Permissions"] = "Permessi individuali";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali.";
App::$strings["Last update:"] = "Ultimo aggiornamento:";
-App::$strings["Item not found"] = "Elemento non trovato";
-App::$strings["Block Name"] = "Nome del block";
-App::$strings["Title (optional)"] = "Titolo (facoltativo)";
-App::$strings["Edit Block"] = "Modifica il block";
-App::$strings["Layout Name"] = "Nome layout";
-App::$strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)";
-App::$strings["Edit Layout"] = "Modifica il layout";
-App::$strings["Page link"] = "Link alla pagina";
-App::$strings["Edit Webpage"] = "Modifica la pagina web";
+App::$strings["Details"] = "";
+App::$strings["Room not found"] = "Chat non trovata";
+App::$strings["Leave Room"] = "Lascia la chat";
+App::$strings["Delete Room"] = "Elimina questa chat";
+App::$strings["I am away right now"] = "Non sono presente";
+App::$strings["I am online"] = "Sono online";
+App::$strings["Bookmark this room"] = "Aggiungi questa chat ai segnalibri";
+App::$strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
+App::$strings["Encrypt text"] = "Cifratura del messaggio";
+App::$strings["New Chatroom"] = "Nuova chat";
+App::$strings["Chatroom name"] = "Nome chat";
+App::$strings["Expiration of chats (minutes)"] = "Scadenza dei messaggi della chat (minuti)";
+App::$strings["%1\$s's Chatrooms"] = "Le chat di %1\$s";
+App::$strings["No chatrooms available"] = "Nessuna chat disponibile";
+App::$strings["Expiration"] = "Scadenza";
+App::$strings["min"] = "min";
+App::$strings["Photos"] = "Foto";
+App::$strings["Files"] = "Archivio file";
App::$strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
App::$strings["Unable to create menu."] = "Impossibile creare il menù.";
App::$strings["Menu Name"] = "Nome del menu";
@@ -528,15 +1226,11 @@ App::$strings["Allow Bookmarks"] = "Permetti i segnalibri";
App::$strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù";
App::$strings["Submit and proceed"] = "Salva e procedi";
App::$strings["Menus"] = "Menù";
-App::$strings["Drop"] = "Elimina";
-App::$strings["Created"] = "Creato";
-App::$strings["Edited"] = "Modificato";
App::$strings["Bookmarks allowed"] = "Permetti segnalibri";
App::$strings["Delete this menu"] = "Elimina questo menù";
App::$strings["Edit menu contents"] = "Modifica i contenuti del menù";
App::$strings["Edit this menu"] = "Modifica questo menù";
App::$strings["Menu could not be deleted."] = "Il menù non può essere eliminato.";
-App::$strings["Menu not found."] = "Menù non trovato.";
App::$strings["Edit Menu"] = "Modifica menù";
App::$strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù";
App::$strings["Menu name"] = "Nome del menù";
@@ -544,82 +1238,28 @@ App::$strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedra
App::$strings["Menu title"] = "Titolo del menù";
App::$strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
App::$strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
-App::$strings["Not found."] = "Non trovato.";
-App::$strings["App installed."] = "App installata";
-App::$strings["Malformed app."] = "L'app contiene errori";
-App::$strings["Embed code"] = "Inserisci il codice";
-App::$strings["Edit App"] = "Modifica app";
-App::$strings["Create App"] = "Crea una app";
-App::$strings["Name of app"] = "Nome app";
-App::$strings["Required"] = "Obbligatorio";
-App::$strings["Location (URL) of app"] = "Indirizzo (URL) della app";
-App::$strings["Description"] = "Descrizione";
-App::$strings["Photo icon URL"] = "URL icona";
-App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa";
-App::$strings["Categories (optional, comma separated list)"] = "Categorie (facoltative, lista separata da virgole)";
-App::$strings["Version ID"] = "ID versione";
-App::$strings["Price of app"] = "Prezzo app";
-App::$strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app";
-App::$strings["Public Hubs"] = "Hub pubblici";
-App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero fornire alcune funzionalità o l'intero servizio a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
-App::$strings["Hub URL"] = "URL del hub";
-App::$strings["Access Type"] = "Tipo di accesso";
-App::$strings["Registration Policy"] = "Politica di registrazione";
-App::$strings["Stats"] = "Statistiche";
-App::$strings["Software"] = "Software";
-App::$strings["Ratings"] = "Valutazioni";
-App::$strings["Rate"] = "Valuta";
-App::$strings["Location"] = "Posizione geografica";
-App::$strings["View"] = "Guarda";
-App::$strings["Item not available."] = "Elemento non disponibile.";
-App::$strings["Authorize application connection"] = "Autorizza la app";
-App::$strings["Return to your app and insert this Security Code:"] = "Ritorna alla tua app e inserisci questo Security Code:";
-App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
-App::$strings["Share content from Firefox to \$Projectname"] = "Condividi i contenuti su \$Projectname da Firefox";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
-App::$strings["Layout updated."] = "Layout aggiornato.";
-App::$strings["Feature disabled."] = "Funzionalità disattivata.";
-App::$strings["Edit System Page Description"] = "Modifica i layout di sistema";
-App::$strings["Layout not found."] = "Layout non trovato.";
-App::$strings["Module Name:"] = "Nome del modulo:";
-App::$strings["Layout Help"] = "Guida al layout";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
-App::$strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
-App::$strings["Visible to:"] = "Visibile a:";
-App::$strings["Permission Denied."] = "Permesso negato.";
-App::$strings["File not found."] = "File non trovato.";
-App::$strings["Edit file permissions"] = "Modifica i permessi del file";
-App::$strings["Permissions"] = "Permessi";
-App::$strings["Set/edit permissions"] = "Modifica i permessi";
-App::$strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
-App::$strings["Return to file list"] = "Torna all'elenco dei file";
-App::$strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post";
-App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
-App::$strings["Share this file"] = "Condividi questo file";
-App::$strings["Show URL to this file"] = "Mostra l'URL del file";
-App::$strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file";
-App::$strings["Continue"] = "Continua";
-App::$strings["Premium Channel Setup"] = "Canale premium - configurazione";
-App::$strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
-App::$strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
-App::$strings["Create a new channel"] = "Crea un nuovo canale";
-App::$strings["Create New"] = "Crea nuova";
-App::$strings["Channel Manager"] = "Gestione canali";
-App::$strings["Current Channel"] = "Canale attuale";
-App::$strings["Switch to one of your channels by selecting it."] = "Seleziona l'altro canale a cui vuoi passare.";
-App::$strings["Default Channel"] = "Canale predefinito";
-App::$strings["Make Default"] = "Rendi predefinito";
-App::$strings["%d new messages"] = "%d nuovi messaggi";
-App::$strings["%d new introductions"] = "%d nuove richieste di entrare in contatto";
-App::$strings["Delegated Channel"] = "Canale delegato";
+App::$strings["Layouts"] = "Layout";
+App::$strings["Help"] = "Guida";
+App::$strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
+App::$strings["Layout Description"] = "Descrizione del layout";
+App::$strings["Download PDL file"] = "Scarica il file PDL";
+App::$strings["Please refresh page"] = "";
+App::$strings["Unknown error"] = "";
+App::$strings["Token verification failed."] = "";
+App::$strings["Email Verification Required"] = "";
+App::$strings["A verification token was sent to your email address [%s]. Enter that token here to complete the account verification step. Please allow a few minutes for delivery, and check your spam folder if you do not see the message."] = "";
+App::$strings["Resend Email"] = "";
+App::$strings["Validation token"] = "";
+App::$strings["Post not found."] = "";
+App::$strings["post"] = "il post";
+App::$strings["comment"] = "il commento";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali";
+App::$strings["Configuration Editor"] = "Editor di configurazione";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare.";
+App::$strings["If enabled, connection requests will be approved without your interaction"] = "";
+App::$strings["Automatic approval settings"] = "";
+App::$strings["Some individual permissions may have been preset or locked based on your channel type and privacy settings."] = "";
App::$strings["Privacy group created."] = "Gruppo di canali creato.";
App::$strings["Could not create privacy group."] = "Impossibile creare il gruppo di canali.";
App::$strings["Privacy group not found."] = "Gruppo di canali non trovato.";
@@ -633,85 +1273,6 @@ App::$strings["Privacy group editor"] = "Editor dei gruppi di canali";
App::$strings["Members"] = "Membri";
App::$strings["All Connected Channels"] = "Tutti i canali connessi";
App::$strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
-App::$strings["Invalid message"] = "Messaggio non valido";
-App::$strings["no results"] = "nessun risultato";
-App::$strings["channel sync processed"] = "sincronizzazione del canale effettuata";
-App::$strings["queued"] = "in coda";
-App::$strings["posted"] = "inviato";
-App::$strings["accepted for delivery"] = "accettato per la spedizione";
-App::$strings["updated"] = "aggiornato";
-App::$strings["update ignored"] = "aggiornamento ignorato";
-App::$strings["permission denied"] = "permessi non sufficienti";
-App::$strings["recipient not found"] = "Destinatario non trovato";
-App::$strings["mail recalled"] = "messaggio richiamato dal mittente";
-App::$strings["duplicate mail received"] = "ricevuto messaggio duplicato";
-App::$strings["mail delivered"] = "messaggio recapitato";
-App::$strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s";
-App::$strings["Options"] = "Opzioni";
-App::$strings["Redeliver"] = "Reinvia";
-App::$strings["webpage"] = "pagina web";
-App::$strings["block"] = "block";
-App::$strings["layout"] = "layout";
-App::$strings["menu"] = "menu";
-App::$strings["%s element installed"] = "%s elemento installato";
-App::$strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
-App::$strings["Import completed"] = "Importazione completata";
-App::$strings["Import Items"] = "Importa i contenuti";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza.";
-App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
-App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
-App::$strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
-App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
-App::$strings["%d message sent."] = array(
- 0 => "%d messaggio inviato.",
- 1 => "%d messaggi inviati.",
-);
-App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
-App::$strings["Send invitations"] = "Spedisci inviti";
-App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
-App::$strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
-App::$strings["You will need to supply this invitation code:"] = "Dovrai fornire questo codice invito:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
-App::$strings["or visit"] = "oppure visita";
-App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
-App::$strings["Location not found."] = "Indirizzo non trovato.";
-App::$strings["Location lookup failed."] = "La ricerca dell'indirizzo è fallita.";
-App::$strings["Please select another location to become primary before removing the primary location."] = "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria.";
-App::$strings["Syncing locations"] = "Sincronizzazione tra hub";
-App::$strings["No locations found."] = "Nessun indirizzo trovato.";
-App::$strings["Manage Channel Locations"] = "Modifica gli indirizzi del canale";
-App::$strings["Primary"] = "Primario";
-App::$strings["Sync Now"] = "Sincronizza ora";
-App::$strings["Please wait several minutes between consecutive operations."] = "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione.";
-App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli.";
-App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante.";
-App::$strings["Website:"] = "Sito web:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
-App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
-App::$strings["Like/Dislike"] = "Mi piace/Non mi piace";
-App::$strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
-App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo \$Projectname</a> o <a href=\"register\">registrarti come nuovo utente \$Projectname</a>.";
-App::$strings["Invalid request."] = "Richiesta non valida.";
-App::$strings["channel"] = "il canale";
-App::$strings["thing"] = "Oggetto";
-App::$strings["Channel unavailable."] = "Canale non trovato.";
-App::$strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
-App::$strings["photo"] = "la foto";
-App::$strings["status"] = "il messaggio di stato";
-App::$strings["event"] = "l'evento";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
-App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s è d'accordo";
-App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non è d'accordo";
-App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non si esprime";
-App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s partecipa";
-App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non partecipa";
-App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s forse partecipa";
-App::$strings["Action completed."] = "Comando completato.";
-App::$strings["Thank you."] = "Grazie.";
App::$strings["Profile not found."] = "Profilo non trovato.";
App::$strings["Profile deleted."] = "Profilo eliminato.";
App::$strings["Profile-"] = "Profilo-";
@@ -758,7 +1319,6 @@ App::$strings["Street address"] = "Indirizzo (via/piazza)";
App::$strings["Locality/City"] = "Località";
App::$strings["Region/State"] = "Regione/stato";
App::$strings["Postal/Zip code"] = "CAP";
-App::$strings["Country"] = "Nazione";
App::$strings["Who (if applicable)"] = "Con chi (se possibile)";
App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
App::$strings["Since (date)"] = "dal (data)";
@@ -778,362 +1338,53 @@ App::$strings["Love/Romance"] = "Amore";
App::$strings["School/Education"] = "Scuola/educazione";
App::$strings["Contact information and social networks"] = "Contatti e social network";
App::$strings["My other channels"] = "I miei altri canali";
+App::$strings["Communications"] = "";
App::$strings["Profile Image"] = "Immagine del profilo";
App::$strings["Edit Profiles"] = "Modifica i tuoi profili";
-App::$strings["Unable to create element."] = "Impossibile creare l'elemento.";
-App::$strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
-App::$strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
-App::$strings["Menu Item Permissions"] = "Permessi del menu";
-App::$strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
-App::$strings["Link Name"] = "Nome link";
-App::$strings["Link or Submenu Target"] = "Azione del link o del sottomenu";
-App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu";
-App::$strings["Use magic-auth if available"] = "Usa l'autenticazione tramite il tuo hub, se disponibile";
-App::$strings["Open link in new window"] = "Apri il link in una nuova finestra";
-App::$strings["Order in list"] = "Ordine dell'elenco";
-App::$strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
-App::$strings["Submit and finish"] = "Salva e termina";
-App::$strings["Submit and continue"] = "Salva e continua";
-App::$strings["Menu:"] = "Menu:";
-App::$strings["Link Target"] = "Destinazione link";
-App::$strings["Edit menu"] = "Modifica il menù";
-App::$strings["Edit element"] = "Modifica l'elemento";
-App::$strings["Drop element"] = "Elimina l'elemento";
-App::$strings["New element"] = "Nuovo elemento";
-App::$strings["Edit this menu container"] = "Modifica il contenitore del menù";
-App::$strings["Add menu element"] = "Aggiungi un elemento al menù";
-App::$strings["Delete this menu item"] = "Elimina questo elemento del menù";
-App::$strings["Edit this menu item"] = "Modifica questo elemento del menù";
-App::$strings["Menu item not found."] = "L'elemento del menù non è stato trovato.";
-App::$strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
-App::$strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
-App::$strings["Edit Menu Element"] = "Modifica l'elemento del menù";
-App::$strings["Link text"] = "Testo del link";
-App::$strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione";
-App::$strings["Could not connect to database."] = " Impossibile connettersi al database.";
-App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
-App::$strings["Could not create table."] = "Impossibile creare le tabelle.";
-App::$strings["Your site database has been installed."] = "Il database del sito è stato installato.";
-App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db.";
-App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
-App::$strings["System check"] = "Verifica del sistema";
-App::$strings["Next"] = "Successivo";
-App::$strings["Check again"] = "Verifica di nuovo";
-App::$strings["Database connection"] = "Connessione al database";
-App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
-App::$strings["Database Server Name"] = "Server del database";
-App::$strings["Default is 127.0.0.1"] = "Il valore predefinito è 127.0.0.1";
-App::$strings["Database Port"] = "Port del database";
-App::$strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
-App::$strings["Database Login Name"] = "Utente database";
-App::$strings["Database Login Password"] = "Password database";
-App::$strings["Database Name"] = "Nome database";
-App::$strings["Database Type"] = "Tipo database";
-App::$strings["Site administrator email address"] = "Indirizzo email dell'amministratore del hub";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla.";
-App::$strings["Website URL"] = "URL completo del sito";
-App::$strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
-App::$strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo hub";
-App::$strings["Site settings"] = "Impostazioni del hub";
-App::$strings["PHP version 5.5 or greater is required."] = "E' necessario PHP versione 5.5 o superiore.";
-App::$strings["PHP version"] = "Versione PHP";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
-App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
-App::$strings["PHP executable path"] = "Path del comando PHP";
-App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
-App::$strings["Command line PHP"] = "PHP da riga di comando";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
-App::$strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
-App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta.";
-App::$strings["You can adjust these settings in the servers php.ini."] = "Puoi regolare queste impostazioni sul server in php.ini";
-App::$strings["PHP upload limits"] = "Limiti PHP in upload";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
-App::$strings["Generate encryption keys"] = "Genera chiavi di cifratura";
-App::$strings["libCurl PHP module"] = "modulo PHP libCurl";
-App::$strings["GD graphics PHP module"] = "modulo PHP GD graphics";
-App::$strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
-App::$strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres";
-App::$strings["mb_string PHP module"] = "modulo PHP mb_string";
-App::$strings["xml PHP module"] = "modulo xml PHP";
-App::$strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
-App::$strings["proc_open"] = "proc_open";
-App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
-App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
-App::$strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato.";
-App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo.";
-App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
-App::$strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
-App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
-App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s";
-App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
-App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
-App::$strings["%s is writable"] = "%s è scrivibile";
-App::$strings["This software uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Questo software usa la cartella store per salvare i file caricati. Il server web deve avere i diritti di scrittura sulla cartella perché l'operazione avvenga con successo";
-App::$strings["store is writable"] = "l'archivio è scrivibile";
-App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
-App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!";
-App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
-App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
-App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
-App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
-App::$strings["If you are confident that the certificate is valid and signed by a trusted authority, check to see if you have failed to install an intermediate cert. These are not normally required by browsers, but are required for server-to-server communications."] = "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server.";
-App::$strings["SSL certificate validation"] = "Validazione del certificato SSL";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:";
-App::$strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
-App::$strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
-App::$strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
-App::$strings["No valid account found."] = "Nessun account valido trovato.";
-App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
-App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
-App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
-App::$strings["Password Reset"] = "Reimposta la password";
-App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
-App::$strings["Your new password is"] = "La tua nuova password è";
-App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
-App::$strings["click here to login"] = "clicca qui per accedere";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
-App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
-App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
-App::$strings["Email Address"] = "Indirizzo email";
-App::$strings["Reset"] = "Reimposta";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
-App::$strings["Mood"] = "Umore";
-App::$strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
-App::$strings["Remove This Channel"] = "Elimina questo canale";
-App::$strings["WARNING: "] = "ATTENZIONE:";
-App::$strings["This channel will be completely removed from the network. "] = "Questo canale sarà completamente eliminato dalla rete.";
-App::$strings["This action is permanent and can not be undone!"] = "Questo comando è definitivo e non può essere annullato!";
-App::$strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
-App::$strings["Remove this channel and all its clones from the network"] = "Elimina questo canale e tutti i suoi cloni dalla rete";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni";
-App::$strings["Remove Channel"] = "Elimina questo canale";
-App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
-App::$strings["System Notifications"] = "Notifiche di sistema";
-App::$strings["Profile Match"] = "Profili corrispondenti";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
-App::$strings["is interested in:"] = "interessi personali:";
-App::$strings["Connect"] = "Aggiungi";
-App::$strings["No matches"] = "Nessun risultato";
-App::$strings["This site is not a directory server"] = "Questo non è un directory server";
+App::$strings["This page is available only to site members"] = "";
+App::$strings["Welcome"] = "";
+App::$strings["What would you like to do?"] = "";
+App::$strings["Please bookmark this page if you would like to return to it in the future"] = "";
+App::$strings["Upload a profile photo"] = "";
+App::$strings["Upload a cover photo"] = "";
+App::$strings["Edit your default profile"] = "";
+App::$strings["View friend suggestions"] = "";
+App::$strings["View the channel directory"] = "";
+App::$strings["View/edit your channel settings"] = "";
+App::$strings["View the site or project documentation"] = "";
+App::$strings["Visit your channel homepage"] = "";
+App::$strings["View your connections and/or add somebody whose address you already know"] = "";
+App::$strings["View your personal stream (this may be empty until you add some connections)"] = "";
+App::$strings["View the public stream. Warning: this content is not moderated"] = "";
+App::$strings["Page link"] = "Link alla pagina";
+App::$strings["Edit Webpage"] = "Modifica la pagina web";
+App::$strings["Create a new channel"] = "Crea un nuovo canale";
+App::$strings["Channel Manager"] = "Gestione canali";
+App::$strings["Current Channel"] = "Canale attuale";
+App::$strings["Switch to one of your channels by selecting it."] = "Seleziona l'altro canale a cui vuoi passare.";
+App::$strings["Default Channel"] = "Canale predefinito";
+App::$strings["Make Default"] = "Rendi predefinito";
+App::$strings["%d new messages"] = "%d nuovi messaggi";
+App::$strings["%d new introductions"] = "%d nuove richieste di entrare in contatto";
+App::$strings["Delegated Channel"] = "Canale delegato";
+App::$strings["Cards"] = "Card";
+App::$strings["Add Card"] = "";
App::$strings["This directory server requires an access token"] = "Questo directory server necessita di un token di autenticazione";
-App::$strings["Hub not found."] = "Hub non trovato.";
-App::$strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
-App::$strings["Profile Photos"] = "Foto del profilo";
-App::$strings["Album not found."] = "Album non trovato.";
-App::$strings["Delete Album"] = "Elimina album";
-App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore effettua la rimozione andando nell'Archivio file ";
-App::$strings["Delete Photo"] = "Elimina foto";
-App::$strings["Public access denied."] = "Accesso pubblico negato.";
-App::$strings["No photos selected"] = "Nessuna foto selezionata";
-App::$strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
-App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile.";
-App::$strings["%1$.2f MB photo storage used."] = "Hai usato %1$.2f Mb del tuo spazio disponibile.";
-App::$strings["Upload Photos"] = "Carica foto";
-App::$strings["Enter an album name"] = "Scegli il nome dell'album";
-App::$strings["or select an existing album (doubleclick)"] = "o seleziona un album esistente (doppio click)";
-App::$strings["Create a status post for this upload"] = "Pubblica sulla bacheca";
-App::$strings["Caption (optional):"] = "Titolo (facoltativo):";
-App::$strings["Description (optional):"] = "Descrizione (facoltativa):";
-App::$strings["Album name could not be decoded"] = "Non è stato possibile leggere il nome dell'album";
-App::$strings["Contact Photos"] = "Foto dei contatti";
-App::$strings["Show Newest First"] = "Prima i più recenti";
-App::$strings["Show Oldest First"] = "Prima i più vecchi";
-App::$strings["View Photo"] = "Guarda la foto";
-App::$strings["Edit Album"] = "Modifica album";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere stato limitato.";
-App::$strings["Photo not available"] = "Foto non disponibile";
-App::$strings["Use as profile photo"] = "Usa come foto del profilo";
-App::$strings["Use as cover photo"] = "Usa come copertina del canale";
-App::$strings["Private Photo"] = "Foto privata";
-App::$strings["Previous"] = "Precendente";
-App::$strings["View Full Size"] = "Vedi nelle dimensioni originali";
-App::$strings["Edit photo"] = "Modifica la foto";
-App::$strings["Rotate CW (right)"] = "Ruota (senso orario)";
-App::$strings["Rotate CCW (left)"] = "Ruota (senso antiorario)";
-App::$strings["Move photo to album"] = "Sposta la foto in un album";
-App::$strings["Enter a new album name"] = "Inserisci il nome del nuovo album";
-App::$strings["or select an existing one (doubleclick)"] = "o seleziona uno esistente (doppio click)";
-App::$strings["Caption"] = "Didascalia";
-App::$strings["Add a Tag"] = "Aggiungi tag";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Esempio: @bob, @Barbara_Jensen, @jim@example.com";
-App::$strings["Flag as adult in album view"] = "Marca come 'per adulti'";
-App::$strings["I like this (toggle)"] = "Attiva/disattiva Mi piace";
-App::$strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace";
-App::$strings["Share"] = "Condividi";
-App::$strings["Please wait"] = "Attendere";
-App::$strings["This is you"] = "Questo sei tu";
-App::$strings["Comment"] = "Commento";
-App::$strings["Preview"] = "Anteprima";
-App::$strings["__ctx:title__ Likes"] = "Mi piace";
-App::$strings["__ctx:title__ Dislikes"] = "Non mi piace";
-App::$strings["__ctx:title__ Agree"] = "D'accordo";
-App::$strings["__ctx:title__ Disagree"] = "Non d'accordo";
-App::$strings["__ctx:title__ Abstain"] = "Astenuti";
-App::$strings["__ctx:title__ Attending"] = "Partecipano";
-App::$strings["__ctx:title__ Not attending"] = "Non partecipano";
-App::$strings["__ctx:title__ Might attend"] = "Forse partecipano";
-App::$strings["View all"] = "Vedi tutto";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "Mi piace",
- 1 => "Mi piace",
-);
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "Non mi piace",
- 1 => "Non mi piace",
-);
-App::$strings["Photo Tools"] = "Gestione foto";
-App::$strings["In This Photo:"] = "In questa foto:";
-App::$strings["Map"] = "Mappa";
-App::$strings["__ctx:noun__ Likes"] = "Mi piace";
-App::$strings["__ctx:noun__ Dislikes"] = "Non mi piace";
-App::$strings["Close"] = "Chiudi";
-App::$strings["View Album"] = "Guarda l'album";
-App::$strings["Recent Photos"] = "Foto recenti";
-App::$strings["Name or caption"] = "Nome o titolo";
-App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
-App::$strings["Choose a short nickname"] = "Scegli un nome breve";
-App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale, per esempio nickname%s";
-App::$strings["Channel role and privacy"] = "Tipo di canale e privacy";
-App::$strings["Select a channel role with your privacy requirements."] = "Scegli il tipo di canale che vuoi e la privacy da applicare.";
-App::$strings["Read more about roles"] = "Maggiori informazioni sui ruoli";
-App::$strings["Create Channel"] = "Crea un canale";
-App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Un canale è la tua identità su questa rete. Può rappresentare una persona, un blog o un forum, per esempio. Il tuo canale può essere in contatto con altri canali per condividere contenuti con permessi anche molto dettagliati.";
-App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "oppure <a href=\"import\">importa un canale esistente</a> da un altro server/hub.";
-App::$strings["sent you a private message"] = "ti ha inviato un messaggio privato";
-App::$strings["added your channel"] = "ha aggiunto il tuo canale";
-App::$strings["g A l F d"] = "g A l d F";
-App::$strings["[today]"] = "[oggi]";
-App::$strings["posted an event"] = "ha creato un evento";
-App::$strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
-App::$strings["Discard"] = "Rifiuta";
-App::$strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
-App::$strings["Poke"] = "Poke";
-App::$strings["Poke somebody"] = "Manda un poke";
-App::$strings["Poke/Prod"] = "Poke/Prod";
-App::$strings["Poke, prod or do other things to somebody"] = "Manda un poke o altro a qualcuno";
-App::$strings["Recipient"] = "Destinatario";
-App::$strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
-App::$strings["Make this post private"] = "Rendi privato questo post";
-App::$strings["Apps"] = "App";
-App::$strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
-App::$strings["Post successful."] = "Inviato!";
-App::$strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
-App::$strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
-App::$strings["Profile"] = "Profilo";
-App::$strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
-App::$strings["Visible To"] = "Visibile a";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali";
-App::$strings["Configuration Editor"] = "Editor di configurazione";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare.";
+App::$strings["About this site"] = "";
+App::$strings["Site Name"] = "";
+App::$strings["Administrator"] = "Amministratore";
+App::$strings["Terms of Service"] = "Condizioni d'Uso";
+App::$strings["Software and Project information"] = "";
+App::$strings["This site is powered by \$Projectname"] = "";
+App::$strings["Federated and decentralised networking and identity services provided by Zot"] = "";
App::$strings["Version %s"] = "Versione %s";
-App::$strings["Installed plugins/addons/apps:"] = "App e componenti installati:";
-App::$strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato";
-App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Questo è un hub di \$Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. ";
-App::$strings["Tag: "] = "Tag: ";
-App::$strings["Last background fetch: "] = "Ultima acquisizione:";
-App::$strings["Current load average: "] = "Carico medio attuale:";
-App::$strings["Running at web location"] = "In esecuzione sull'indirizzo web";
-App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Visita <a href=\"http://hubzilla.org\">hubzilla.org</a> per maggiori informazioni su \$Projectname.";
-App::$strings["Bug reports and issues: please visit"] = "Per segnalare bug e problemi: visita";
-App::$strings["\$projectname issues"] = "Problematiche note su \$projectname";
-App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com";
-App::$strings["Site Administrators"] = "Amministratori del sito";
-App::$strings["Blocks"] = "Block";
-App::$strings["Block Title"] = "Titolo del block";
-App::$strings["Layouts"] = "Layout";
-App::$strings["Help"] = "Guida";
-App::$strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
-App::$strings["Layout Description"] = "Descrizione del layout";
-App::$strings["Download PDL file"] = "Scarica il file PDL";
-App::$strings["# Accounts"] = "# account";
-App::$strings["# blocked accounts"] = "# account bloccati";
-App::$strings["# expired accounts"] = "# account scaduti";
-App::$strings["# expiring accounts"] = "# account in scadenza";
-App::$strings["# Channels"] = "# canali";
-App::$strings["# primary"] = "# primari";
-App::$strings["# clones"] = "# cloni";
-App::$strings["Message queues"] = "Coda messaggi in uscita";
-App::$strings["Your software should be updated"] = "Il tuo software necessita di un aggiornamento";
-App::$strings["Summary"] = "Riepilogo";
-App::$strings["Registered accounts"] = "Account creati";
-App::$strings["Pending registrations"] = "Registrazioni da approvare";
-App::$strings["Registered channels"] = "Canali creati";
-App::$strings["Active plugins"] = "Plugin attivi";
-App::$strings["Version"] = "Versione";
-App::$strings["Repository version (master)"] = "Versione del repository (master)";
-App::$strings["Repository version (dev)"] = "Versione del repository (dev)";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente.";
-App::$strings["Upload Profile Photo"] = "Carica la foto del profilo";
-App::$strings["Permissions denied."] = "Permesso negato.";
-App::$strings["l, F j"] = "l j F";
-App::$strings["Link to Source"] = "Link al sito d'origine";
-App::$strings["Edit Event"] = "Modifica l'evento";
-App::$strings["Create Event"] = "Crea un evento";
-App::$strings["Export"] = "Esporta";
-App::$strings["Import"] = "Importa";
-App::$strings["Today"] = "Oggi";
-App::$strings["No channel."] = "Nessun canale.";
-App::$strings["Common connections"] = "Contatti in comune";
-App::$strings["No connections in common."] = "Nessun contatto in comune.";
+App::$strings["Project homepage"] = "";
+App::$strings["Developer homepage"] = "";
App::$strings["No ratings"] = "Nessuna valutazione";
+App::$strings["Ratings"] = "Valutazioni";
App::$strings["Rating: "] = "Valutazione:";
App::$strings["Website: "] = "Sito web:";
App::$strings["Description: "] = "Descrizione:";
-App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
-App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
-App::$strings["Passwords do not match."] = "Le password non corrispondono.";
-App::$strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata.";
-App::$strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub.";
-App::$strings["Your registration can not be processed."] = "La tua registrazione non puo' essere processata.";
-App::$strings["Registration on this hub is disabled."] = "Su questo hub la registrazione non è permessa.";
-App::$strings["Registration on this hub is by approval only."] = "La registrazione su questo hub è soggetta ad approvazione.";
-App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registrati su un altro server hubzilla.</a>";
-App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
-App::$strings["Terms of Service"] = "Condizioni d'Uso";
-App::$strings["I accept the %s for this website"] = "Accetto le %s di questo sito";
-App::$strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito";
-App::$strings["Your email address"] = "Il tuo indirizzo email";
-App::$strings["Choose a password"] = "Scegli una password";
-App::$strings["Please re-enter your password"] = "Ripeti la password per verifica";
-App::$strings["Please enter your invitation code"] = "Inserisci il codice dell'invito";
-App::$strings["no"] = "no";
-App::$strings["yes"] = "sì";
-App::$strings["Membership on this site is by invitation only."] = "Per registrarsi su questo hub è necessario un invito.";
-App::$strings["Register"] = "Registrati";
-App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Dopo aver inviato questo modulo, potrebbe esserti richiesta una verifica via email. Se comparirà la pagina di login, segui le istruzioni sull'email per continuare.";
-App::$strings["Documentation Search"] = "Ricerca nella guida";
-App::$strings["\$Projectname Documentation"] = "Guida di \$Projectname";
-App::$strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
-App::$strings["Save Bookmark"] = "Salva segnalibro";
-App::$strings["URL of bookmark"] = "URL del segnalibro";
-App::$strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri";
-App::$strings["Authentication failed."] = "Autenticazione fallita.";
-App::$strings["Remote Authentication"] = "Accedi tramite il tuo hub";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
-App::$strings["Authenticate"] = "Accedi";
-App::$strings["Please login."] = "Effettua l'accesso.";
-App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password.";
-App::$strings["Remove This Account"] = "Elimina questo account";
-App::$strings["This account and all its channels will be completely removed from the network. "] = "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete.";
-App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati.";
-App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete.";
-App::$strings["Remove Account"] = "Elimina l'account";
App::$strings["Import Webpage Elements"] = "Importa gli elementi della pagina web";
App::$strings["Import selected"] = "Importa i selezionati";
App::$strings["Export Webpage Elements"] = "Esporta gli elementi della pagina web";
@@ -1147,94 +1398,31 @@ App::$strings["Error opening zip file"] = "Errore nell'apertura del file zip";
App::$strings["Invalid folder path."] = "La cartella indicata non è valida.";
App::$strings["No webpage elements detected."] = "Nella pagina web non sono presenti elementi.";
App::$strings["Import complete."] = "Importazione completata.";
-App::$strings["Export Channel"] = "Esporta il canale";
-App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato.";
-App::$strings["Export Content"] = "Esporta i contenuti";
-App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Esporta il tuo canale e i contenuti recenti in un file di salvataggio che potrà essere importato su un altro server/hub. Sarà un backup dei tuoi contatti, dei permessi che hai assegnato, dei dati del profilo e dei post degli ultimi mesi. Il file potrebbe essere MOLTO grande. Sarà necessario attendere con pazienza - saranno necessari molti minuti prima che inizi lo scaricamento.";
-App::$strings["Export your posts from a given year."] = "Esporta i tuoi post a partire dall'anno scelto.";
-App::$strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Puoi anche esportare post e conversazioni di un particolare anno o mese. Modifica la data nella barra dell'indirizzo del browser per scegliere date differenti. Se l'esportazione dovesse fallire (la memoria sul server potrebbe non bastare), riprova scegliendo un intervallo più breve tra le date.";
-App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1\$s\">%2\$s</a> ";
-App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1\$s\">%2\$s</a>";
-App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1\$s\">%2\$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)";
+App::$strings["Channel name changes are not allowed within 48 hours of changing the account password."] = "";
+App::$strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
+App::$strings["Change channel nickname/address"] = "";
+App::$strings["Any/all connections on other networks will be lost!"] = "";
+App::$strings["New channel address"] = "";
+App::$strings["Rename Channel"] = "";
App::$strings["Item is not editable"] = "L'elemento non è modificabile";
-App::$strings["Items tagged with: %s"] = "Elementi taggati con: %s";
-App::$strings["Search results for: %s"] = "Risultati ricerca: %s";
-App::$strings["Calendar entries imported."] = "Le voci del calendario sono state importate.";
-App::$strings["No calendar entries found."] = "Non sono state trovate voci del calendario.";
-App::$strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
-App::$strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
-App::$strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
-App::$strings["Event not found."] = "Evento non trovato.";
-App::$strings["Edit event title"] = "Modifica il titolo dell'evento";
-App::$strings["Event title"] = "Titolo dell'evento";
-App::$strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
-App::$strings["Edit Category"] = "Modifica la categoria";
-App::$strings["Category"] = "Categoria";
-App::$strings["Edit start date and time"] = "Modifica data/ora di inizio";
-App::$strings["Start date and time"] = "Data e ora di inizio";
-App::$strings["Finish date and time are not known or not relevant"] = "La data e l'ora di fine non sono necessarie";
-App::$strings["Edit finish date and time"] = "Modifica data/ora di fine";
-App::$strings["Finish date and time"] = "Data e ora di fine";
-App::$strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
-App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono online ma con un certo fuso orario.";
-App::$strings["Edit Description"] = "Modifica la descrizione";
-App::$strings["Edit Location"] = "Modifica il luogo";
-App::$strings["Share this event"] = "Condividi questo evento";
-App::$strings["Permission settings"] = "Permessi dei tuoi contatti";
-App::$strings["Advanced Options"] = "Opzioni avanzate";
-App::$strings["Edit event"] = "Modifica l'evento";
-App::$strings["Delete event"] = "Elimina l'evento";
-App::$strings["calendar"] = "calendario";
-App::$strings["Month"] = "Mese";
-App::$strings["Week"] = "Settimana";
-App::$strings["Day"] = "Giorno";
-App::$strings["Event removed"] = "Evento eliminato";
-App::$strings["Failed to remove event"] = "Impossibile eliminare l'evento";
-App::$strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account.";
-App::$strings["Thing updated"] = "L'oggetto è stato aggiornato";
-App::$strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
-App::$strings["Thing added"] = "L'Oggetto è stato aggiunto";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Mostra l'oggetto";
-App::$strings["item not found."] = "non trovato.";
-App::$strings["Edit Thing"] = "Modifica l'oggetto";
-App::$strings["Select a profile"] = "Scegli un profilo";
-App::$strings["Post an activity"] = "Pubblica un'attività";
-App::$strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi può vedere il profilo scelto";
-App::$strings["Name of thing e.g. something"] = "Nome dell'oggetto";
-App::$strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto (facoltativo)";
-App::$strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)";
-App::$strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo";
-App::$strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
-App::$strings["Empty post discarded."] = "Il post vuoto è stato ignorato.";
-App::$strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
-App::$strings["Duplicate post suppressed."] = "I post duplicati sono scartati.";
-App::$strings["System error. Post not saved."] = "Errore di sistema. Post non salvato.";
-App::$strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale.";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
-App::$strings["Files: shared with me"] = "File: condivisi con me";
-App::$strings["NEW"] = "NOVITÀ";
-App::$strings["Remove all files"] = "Elimina tutti i file";
-App::$strings["Remove this file"] = "Elimina questo file";
-App::$strings["Not found"] = "Non trovato";
-App::$strings["Wiki"] = "Wiki";
-App::$strings["Sandbox"] = "Sandbox";
-App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Wiki Sandbox\\n\\nI contenuti che **modifichi** e che vedi in **anteprima** qui *non saranno salvati*.\"";
-App::$strings["Revision Comparison"] = "Confronto tra revisioni";
-App::$strings["Revert"] = "Ripristina";
-App::$strings["Enter the name of your new wiki:"] = "Nome della tua nuova pagina wiki:";
-App::$strings["Enter the name of the new page:"] = "Nome della tua nuova pagina:";
-App::$strings["Enter the new name:"] = "Nuovo nome:";
-App::$strings["Embed image from photo albums"] = "Inserisci un'immagine dall'album foto";
-App::$strings["Embed an image from your albums"] = "Inserisci un'immagine dai tuoi album";
-App::$strings["OK"] = "OK";
-App::$strings["Choose images to embed"] = "Scegli le immagini da inserire";
-App::$strings["Choose an album"] = "Scegli un album";
-App::$strings["Choose a different album..."] = "Scegli un altro album...";
-App::$strings["Error getting album list"] = "Errore nell'ottenere l'elenco degli album";
-App::$strings["Error getting photo link"] = "Errore nell'ottenere il link alla foto";
-App::$strings["Error getting album"] = "Errore nell'ottenere l'album";
+App::$strings["Edit post"] = "Modifica post";
+App::$strings["Invalid message"] = "Messaggio non valido";
+App::$strings["no results"] = "nessun risultato";
+App::$strings["channel sync processed"] = "sincronizzazione del canale effettuata";
+App::$strings["queued"] = "in coda";
+App::$strings["posted"] = "inviato";
+App::$strings["accepted for delivery"] = "accettato per la spedizione";
+App::$strings["updated"] = "aggiornato";
+App::$strings["update ignored"] = "aggiornamento ignorato";
+App::$strings["permission denied"] = "permessi non sufficienti";
+App::$strings["recipient not found"] = "Destinatario non trovato";
+App::$strings["mail recalled"] = "messaggio richiamato dal mittente";
+App::$strings["duplicate mail received"] = "ricevuto messaggio duplicato";
+App::$strings["mail delivered"] = "messaggio recapitato";
+App::$strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s";
+App::$strings["Options"] = "Opzioni";
+App::$strings["Redeliver"] = "Reinvia";
App::$strings["Failed to create source. No channel selected."] = "Impossibile creare la sorgente. Nessun canale selezionato.";
App::$strings["Source created."] = "Sorgente creata.";
App::$strings["Source updated."] = "Sorgente aggiornata.";
@@ -1247,43 +1435,29 @@ App::$strings["Only import content with these words (one per line)"] = "Importa
App::$strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici";
App::$strings["Channel Name"] = "Nome del canale";
App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Aggiungi le seguenti categorie ai post importati da questa sorgente (separate da virgola)";
-App::$strings["Optional"] = "Facoltativo";
App::$strings["Source not found."] = "Sorgente non trovata.";
App::$strings["Edit Source"] = "Modifica la sorgente";
App::$strings["Delete Source"] = "Elimina la sorgente";
App::$strings["Source removed"] = "Sorgente eliminata";
App::$strings["Unable to remove source."] = "Impossibile rimuovere la sorgente.";
-App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
-App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s non segue più %3\$s di %2\$s";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
-App::$strings["Ignore/Hide"] = "Ignora/nascondi";
-App::$strings["Channel Suggestions"] = "Canali suggeriti";
-App::$strings["post"] = "il post";
-App::$strings["comment"] = "il commento";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
-App::$strings["Tag removed"] = "Tag rimosso";
-App::$strings["Remove Item Tag"] = "Rimuovi il tag";
-App::$strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
-App::$strings["Channel added."] = "Canale aggiunto.";
-App::$strings["No connections."] = "Nessun contatto.";
-App::$strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
-App::$strings["View Connections"] = "Elenco contatti";
-App::$strings["Source of Item"] = "Sorgente";
-App::$strings["Room not found"] = "Chat non trovata";
-App::$strings["Leave Room"] = "Lascia la chat";
-App::$strings["Delete Room"] = "Elimina questa chat";
-App::$strings["I am away right now"] = "Non sono presente";
-App::$strings["I am online"] = "Sono online";
-App::$strings["Bookmark this room"] = "Aggiungi questa chat ai segnalibri";
-App::$strings["New Chatroom"] = "Nuova chat";
-App::$strings["Chatroom name"] = "Nome chat";
-App::$strings["Expiration of chats (minutes)"] = "Scadenza dei messaggi della chat (minuti)";
-App::$strings["%1\$s's Chatrooms"] = "Le chat di %1\$s";
-App::$strings["No chatrooms available"] = "Nessuna chat disponibile";
-App::$strings["Expiration"] = "Scadenza";
-App::$strings["min"] = "min";
-App::$strings["Xchan Lookup"] = "Ricerca canale";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
+App::$strings["Like/Dislike"] = "Mi piace/Non mi piace";
+App::$strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
+App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo \$Projectname</a> o <a href=\"register\">registrarti come nuovo utente \$Projectname</a>.";
+App::$strings["Invalid request."] = "Richiesta non valida.";
+App::$strings["channel"] = "il canale";
+App::$strings["thing"] = "Oggetto";
+App::$strings["Channel unavailable."] = "Canale non trovato.";
+App::$strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s è d'accordo";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non è d'accordo";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non si esprime";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s partecipa";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non partecipa";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s forse partecipa";
+App::$strings["Action completed."] = "Comando completato.";
+App::$strings["Thank you."] = "Grazie.";
App::$strings["%d rating"] = array(
0 => "%d valutazione",
1 => "%d valutazioni",
@@ -1296,13 +1470,15 @@ App::$strings["Location:"] = "Luogo:";
App::$strings["Description:"] = "Descrizione:";
App::$strings["Hometown:"] = "Città dove vivo:";
App::$strings["About:"] = "Informazioni:";
+App::$strings["Connect"] = "Aggiungi";
App::$strings["Public Forum:"] = "Forum pubblico:";
App::$strings["Keywords: "] = "Parole chiave:";
App::$strings["Don't suggest"] = "Non fornire suggerimenti";
-App::$strings["Common connections:"] = "Contatti in comune:";
+App::$strings["Common connections (estimated):"] = "";
App::$strings["Global Directory"] = "Elenchi pubblici globali";
App::$strings["Local Directory"] = "Elenco canali su questo hub";
App::$strings["Finding:"] = "Ricerca:";
+App::$strings["Channel Suggestions"] = "Canali suggeriti";
App::$strings["next page"] = "pagina successiva";
App::$strings["previous page"] = "pagina precedente";
App::$strings["Sort options"] = "Opzioni di ordinamento";
@@ -1311,162 +1487,234 @@ App::$strings["Reverse Alphabetic"] = "Alfabetico inverso";
App::$strings["Newest to Oldest"] = "Prima i più recenti";
App::$strings["Oldest to Newest"] = "Prima i più vecchi";
App::$strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
-App::$strings["Not valid email."] = "Email non valida.";
-App::$strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
-App::$strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
-App::$strings["Technical skill level updated"] = "Livello tecnico aggiornato";
-App::$strings["Password verification failed."] = "Verifica della password fallita.";
-App::$strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
-App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
-App::$strings["Password changed."] = "Password cambiata.";
-App::$strings["Password update failed. Please try again."] = "Modifica password fallita. Prova ancora.";
-App::$strings["Account Settings"] = "Il tuo account";
-App::$strings["Current Password"] = "Password attuale";
-App::$strings["Enter New Password"] = "Nuova password";
-App::$strings["Confirm New Password"] = "Conferma la nuova password";
-App::$strings["Leave password fields blank unless changing"] = "Lascia vuoti questi campi per non cambiare la password";
-App::$strings["Your technical skill level"] = "Il tuo livello tecnico";
-App::$strings["Used to provide a member experience matched to your comfort level"] = "Serve a vedere solo gli aspetti tecnici adeguati alle tue conoscenze";
-App::$strings["Email Address:"] = "Indirizzo email:";
-App::$strings["Remove this account including all its channels"] = "Elimina questo account e tutti i suoi canali";
-App::$strings["Settings updated."] = "Impostazioni aggiornate.";
-App::$strings["Nobody except yourself"] = "Nessuno tranne te";
-App::$strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
-App::$strings["Approved connections"] = "Contatti approvati";
-App::$strings["Any connections"] = "Tutti i contatti";
-App::$strings["Anybody on this website"] = "Chiunque su questo hub";
-App::$strings["Anybody in this network"] = "Chiunque su questa rete";
-App::$strings["Anybody authenticated"] = "Chiunque abbia effettuato l'accesso";
-App::$strings["Anybody on the internet"] = "Chiunque su internet";
-App::$strings["Publish your default profile in the network directory"] = "Mostra il mio profilo predefinito negli elenchi pubblici dei canali";
-App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come amico ai nuovi membri?";
-App::$strings["Your channel address is"] = "L'indirizzo del tuo canale è";
-App::$strings["Channel Settings"] = "Impostazioni del canale";
-App::$strings["Basic Settings"] = "Impostazioni di base";
-App::$strings["Full Name:"] = "Nome completo:";
-App::$strings["Your Timezone:"] = "Il tuo fuso orario:";
-App::$strings["Default Post Location:"] = "Località predefinita:";
-App::$strings["Geographical location to display on your posts"] = "La posizione geografica da mostrare sui tuoi post";
-App::$strings["Use Browser Location:"] = "Usa la località rilevata dal browser:";
-App::$strings["Adult Content"] = "Contenuto per adulti";
-App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)";
-App::$strings["Security and Privacy Settings"] = "Impostazioni di sicurezza e privacy";
-App::$strings["Your permissions are already configured. Click to view/adjust"] = "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli";
-App::$strings["Hide my online presence"] = "Nascondi la mia presenza online";
-App::$strings["Prevents displaying in your profile that you are online"] = "Non mostrare sul tuo profilo quando sei online";
-App::$strings["Simple Privacy Settings:"] = "Impostazioni di privacy semplificate";
-App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>";
-App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>";
-App::$strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
-App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>";
-App::$strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi post";
-App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
-App::$strings["Channel Permission Limits"] = "Limiti sui permessi del canale";
-App::$strings["Expire other channel content after this many days"] = "Giorni dopo cui mettere in scadenza gli altri contenuti del canale";
-App::$strings["0 or blank to use the website limit."] = "0 o vuoto per usare i valori predefiniti.";
-App::$strings["This website expires after %d days."] = "Per questo sito la scadenza è %d giorni. ";
-App::$strings["This website does not expire imported content."] = "I contenuti di questo sito non hanno scadenza.";
-App::$strings["The website limit takes precedence if lower than your limit."] = "Il limite del server ha la precedenza, se minore di quello impostato da te.";
-App::$strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
-App::$strings["May reduce spam activity"] = "Serve a ridurre lo spam";
-App::$strings["Default Access Control List (ACL)"] = "Lista di accesso ai contenuti (ACL)";
-App::$strings["Use my default audience setting for the type of object published"] = "Mostra ai contatti secondo le impostazioni standard per questo tipo di contenuto";
-App::$strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
-App::$strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
-App::$strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
-App::$strings["Notification Settings"] = "Impostazioni di notifica";
-App::$strings["By default post a status message when:"] = "Pubblica un messaggio di stato quando:";
-App::$strings["accepting a friend request"] = "accetto una nuova amicizia";
-App::$strings["joining a forum/community"] = "entro a far parte di un forum";
-App::$strings["making an <em>interesting</em> profile change"] = "faccio un cambiamento <em>interessante</em> al mio profilo";
-App::$strings["Send a notification email when:"] = "Invia una email di notifica quando:";
-App::$strings["You receive a connection request"] = "Ricevi una richiesta di entrare in contatto";
-App::$strings["Your connections are confirmed"] = "I tuoi contatti sono confermati";
-App::$strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
-App::$strings["Someone writes a followup comment"] = "Qualcuno scrive un commento dopo di te";
-App::$strings["You receive a private message"] = "Ricevi un messaggio privato";
-App::$strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
-App::$strings["You are tagged in a post"] = "Sei taggato in un post";
-App::$strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un post";
-App::$strings["Show visual notifications including:"] = "Mostra queste notifiche a schermo:";
-App::$strings["Unseen grid activity"] = "Nuove attività nella rete";
-App::$strings["Unseen channel activity"] = "Novità nei canali";
-App::$strings["Unseen private messages"] = "Nuovi messaggi privati";
-App::$strings["Recommended"] = "Consigliato";
-App::$strings["Upcoming events"] = "Prossimi eventi";
-App::$strings["Events today"] = "Eventi di oggi";
-App::$strings["Upcoming birthdays"] = "Prossimi compleanni";
-App::$strings["Not available in all themes"] = "Non disponibile in tutti i temi";
-App::$strings["System (personal) notifications"] = "Notifiche personali dal sistema";
-App::$strings["System info messages"] = "Notifiche di sistema";
-App::$strings["System critical alerts"] = "Avvisi critici di sistema";
-App::$strings["New connections"] = "Nuovi contatti";
-App::$strings["System Registrations"] = "Registrazioni";
-App::$strings["Also show new wall posts, private messages and connections under Notices"] = "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti";
-App::$strings["Notify me of events this many days in advance"] = "Giorni di anticipo per notificare gli eventi";
-App::$strings["Must be greater than 0"] = "Maggiore di 0";
-App::$strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
-App::$strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account per necessità particolari";
-App::$strings["Miscellaneous Settings"] = "Impostazioni varie";
-App::$strings["Default photo upload folder"] = "Cartella predefinita per le foto caricate";
-App::$strings["%Y - current year, %m - current month"] = "%Y - anno corrente, %m - mese corrente";
-App::$strings["Default file upload folder"] = "Cartella predefinita per i file caricati";
-App::$strings["Personal menu to display in your channel pages"] = "Menu personale da mostrare sulle pagine del tuo canale";
-App::$strings["Remove this channel."] = "Elimina questo canale.";
-App::$strings["Firefox Share \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
-App::$strings["Start calendar week on monday"] = "La settimana inizia il lunedì";
-App::$strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
-App::$strings["%s - (Experimental)"] = "%s - (Sperimentale)";
-App::$strings["Display Settings"] = "Aspetto";
-App::$strings["Theme Settings"] = "Impostazioni del tema";
-App::$strings["Custom Theme Settings"] = "Personalizzazione del tema";
-App::$strings["Content Settings"] = "Impostazioni dei contenuti";
-App::$strings["Display Theme:"] = "Tema per schermi medio grandi:";
-App::$strings["Select scheme"] = "Scegli uno schema";
-App::$strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
-App::$strings["Preload images before rendering the page"] = "Carica le immagini prima del rendering della pagina";
-App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo";
-App::$strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
-App::$strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
-App::$strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
-App::$strings["Maximum of 100 items"] = "Massimo 100";
-App::$strings["Show emoticons (smilies) as images"] = "Mostra le faccine (smilies) come immagini";
-App::$strings["Link post titles to source"] = "Il link del titolo di un post porta al sito originale";
-App::$strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
-App::$strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
-App::$strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
-App::$strings["Use blog/list mode on grid page"] = "Mostra la tua rete in modalità blog";
-App::$strings["Channel page max height of content (in pixels)"] = "Altezza massima dei contenuti del canale (in pixel)";
-App::$strings["click to expand content exceeding this height"] = "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori";
-App::$strings["Grid page max height of content (in pixels)"] = "Altezza massima dei contenuti della tua rete (in pixel)";
-App::$strings["No feature settings configured"] = "Non hai componenti aggiuntivi da personalizzare";
-App::$strings["Feature/Addon Settings"] = "Impostazioni dei componenti aggiuntivi";
-App::$strings["Additional Features"] = "Funzionalità opzionali";
-App::$strings["Name is required"] = "Il nome è obbligatorio";
-App::$strings["Key and Secret are required"] = "Key e Secret sono richiesti";
-App::$strings["Add application"] = "Aggiungi una app";
-App::$strings["Name of application"] = "Nome dell'applicazione";
-App::$strings["Consumer Key"] = "Consumer Key";
-App::$strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
-App::$strings["Consumer Secret"] = "Consumer Secret";
-App::$strings["Redirect"] = "Redirect";
-App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione";
-App::$strings["Icon url"] = "Url icona";
-App::$strings["Application not found."] = "Applicazione non trovata.";
-App::$strings["Connected Apps"] = "App connesse";
-App::$strings["Client key starts with"] = "La client key inizia con";
-App::$strings["No name"] = "Nessun nome";
-App::$strings["Remove authorization"] = "Revoca l'autorizzazione";
-App::$strings["This channel is limited to %d tokens"] = "Questo canale è limitato a %d token";
-App::$strings["Name and Password are required."] = "Nome e password sono obbligatori.";
-App::$strings["Token saved."] = "Token salvato.";
-App::$strings["Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access private content."] = "Usa questo modulo per creare credenziali temporanee per condividere qualcosa con i non iscritti. A queste credenziali potrai dare o togliere diritti come a tutti gli altri utenti e i visitatori potranno usarle per accedere a contenuti privati.";
-App::$strings["You may also provide <em>dropbox</em> style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:"] = "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:";
-App::$strings["Guest Access Tokens"] = "Token di accesso ospite";
-App::$strings["Login Name"] = "Nome utente";
-App::$strings["Login Password"] = "Password";
-App::$strings["Expires (yyyy-mm-dd)"] = "Con scadenza (aaaa-mm-gg)";
+App::$strings["Xchan Lookup"] = "Ricerca canale";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
+App::$strings["Ignore/Hide"] = "Ignora/nascondi";
+App::$strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
+App::$strings["Post successful."] = "Inviato!";
+App::$strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
+App::$strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
+App::$strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
+App::$strings["Messages"] = "Messaggi";
+App::$strings["message"] = "";
+App::$strings["Message recalled."] = "Messaggio revocato.";
+App::$strings["Conversation removed."] = "Conversazione rimossa.";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
+App::$strings["Requested channel is not in this network"] = "Il canale cercato non è in questa rete";
+App::$strings["Send Private Message"] = "Invia un messaggio privato";
+App::$strings["To:"] = "A:";
+App::$strings["Subject:"] = "Oggetto:";
+App::$strings["Attach file"] = "Allega file";
+App::$strings["Send"] = "Invia";
+App::$strings["Set expiration date"] = "Data di scadenza";
+App::$strings["Delete message"] = "Elimina il messaggio";
+App::$strings["Delivery report"] = "Rapporto di trasmissione";
+App::$strings["Recall message"] = "Revoca il messaggio";
+App::$strings["Message has been recalled."] = "Il messaggio è stato revocato.";
+App::$strings["Delete Conversation"] = "Elimina la conversazione";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente.";
+App::$strings["Send Reply"] = "Invia la risposta";
+App::$strings["Your message for %s (%s):"] = "Il tuo messaggio per %s (%s):";
+App::$strings["Public Hubs"] = "Hub pubblici";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero fornire alcune funzionalità o l'intero servizio a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
+App::$strings["Hub URL"] = "URL del hub";
+App::$strings["Access Type"] = "Tipo di accesso";
+App::$strings["Registration Policy"] = "Politica di registrazione";
+App::$strings["Stats"] = "Statistiche";
+App::$strings["Software"] = "Software";
+App::$strings["Rate"] = "Valuta";
+App::$strings["webpage"] = "pagina web";
+App::$strings["block"] = "block";
+App::$strings["layout"] = "layout";
+App::$strings["menu"] = "menu";
+App::$strings["%s element installed"] = "%s elemento installato";
+App::$strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
+App::$strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
+App::$strings["Save Bookmark"] = "Salva segnalibro";
+App::$strings["URL of bookmark"] = "URL del segnalibro";
+App::$strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri";
+App::$strings["Enter a folder name"] = "";
+App::$strings["or select an existing folder (doubleclick)"] = "";
+App::$strings["Save to Folder"] = "Salva nella cartella";
+App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
+App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
+App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
+App::$strings["Passwords do not match."] = "Le password non corrispondono.";
+App::$strings["Registration successful. Continue to create your first channel..."] = "";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata.";
+App::$strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore di questo hub.";
+App::$strings["Your registration can not be processed."] = "La tua registrazione non puo' essere processata.";
+App::$strings["Registration on this hub is disabled."] = "Su questo hub la registrazione non è permessa.";
+App::$strings["Registration on this hub is by approval only."] = "La registrazione su questo hub è soggetta ad approvazione.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registrati su un altro server hubzilla.</a>";
+App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
+App::$strings["I accept the %s for this website"] = "Accetto le %s di questo sito";
+App::$strings["I am over %s years of age and accept the %s for this website"] = "";
+App::$strings["Your email address"] = "Il tuo indirizzo email";
+App::$strings["Choose a password"] = "Scegli una password";
+App::$strings["Please re-enter your password"] = "Ripeti la password per verifica";
+App::$strings["Please enter your invitation code"] = "Inserisci il codice dell'invito";
+App::$strings["no"] = "no";
+App::$strings["yes"] = "sì";
+App::$strings["Membership on this site is by invitation only."] = "Per registrarsi su questo hub è necessario un invito.";
+App::$strings["Register"] = "Registrati";
+App::$strings["This site requires email verification. After completing this form, please check your email for further instructions."] = "";
+App::$strings["Cover Photos"] = "Copertine del canale";
+App::$strings["female"] = "femmina";
+App::$strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["male"] = "maschio";
+App::$strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["cover photo"] = "Copertina del canale";
+App::$strings["Change Cover Photo"] = "";
+App::$strings["Documentation Search"] = "Ricerca nella guida";
+App::$strings["About"] = "Informazioni";
+App::$strings["Administrators"] = "";
+App::$strings["Developers"] = "";
+App::$strings["Tutorials"] = "";
+App::$strings["\$Projectname Documentation"] = "Guida di \$Projectname";
+App::$strings["Contents"] = "";
+App::$strings["Article"] = "";
+App::$strings["Item has been removed."] = "";
+App::$strings["Tag removed"] = "Tag rimosso";
+App::$strings["Remove Item Tag"] = "Rimuovi il tag";
+App::$strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
+App::$strings["No such group"] = "Impossibile trovare il gruppo di canali";
+App::$strings["No such channel"] = "Canale sconosciuto";
+App::$strings["forum"] = "forum";
+App::$strings["Search Results For:"] = "Cerca risultati con:";
+App::$strings["Privacy group is empty"] = "Il gruppo di canali è vuoto";
+App::$strings["Privacy group: "] = "Gruppo di canali:";
+App::$strings["Invalid connection."] = "Contatto non valido.";
+App::$strings["Invalid channel."] = "";
+App::$strings["network"] = "rete";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
+App::$strings["Permission Denied."] = "Permesso negato.";
+App::$strings["File not found."] = "File non trovato.";
+App::$strings["Edit file permissions"] = "Modifica i permessi del file";
+App::$strings["Set/edit permissions"] = "Modifica i permessi";
+App::$strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
+App::$strings["Return to file list"] = "Torna all'elenco dei file";
+App::$strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post";
+App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
+App::$strings["Share this file"] = "Condividi questo file";
+App::$strings["Show URL to this file"] = "Mostra l'URL del file";
+App::$strings["Show in your contacts shared folder"] = "";
+App::$strings["No channel."] = "Nessun canale.";
+App::$strings["No connections in common."] = "Nessun contatto in comune.";
+App::$strings["View Common Connections"] = "";
+App::$strings["Email verification resent"] = "";
+App::$strings["Unable to resend email verification message."] = "";
+App::$strings["No connections."] = "Nessun contatto.";
+App::$strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
+App::$strings["View Connections"] = "Elenco contatti";
+App::$strings["Blocked accounts"] = "";
+App::$strings["Expired accounts"] = "";
+App::$strings["Expiring accounts"] = "";
+App::$strings["Clones"] = "";
+App::$strings["Message queues"] = "Coda messaggi in uscita";
+App::$strings["Your software should be updated"] = "Il tuo software necessita di un aggiornamento";
+App::$strings["Summary"] = "Riepilogo";
+App::$strings["Registered accounts"] = "Account creati";
+App::$strings["Pending registrations"] = "Registrazioni da approvare";
+App::$strings["Registered channels"] = "Canali creati";
+App::$strings["Active plugins"] = "Plugin attivi";
+App::$strings["Version"] = "Versione";
+App::$strings["Repository version (master)"] = "Versione del repository (master)";
+App::$strings["Repository version (dev)"] = "Versione del repository (dev)";
+App::$strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account.";
+App::$strings["Website:"] = "Sito web:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
+App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
+App::$strings["Edit Card"] = "";
+App::$strings["No valid account found."] = "Nessun account valido trovato.";
+App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
+App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
+App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
+App::$strings["Password Reset"] = "Reimposta la password";
+App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
+App::$strings["Your new password is"] = "La tua nuova password è";
+App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
+App::$strings["click here to login"] = "clicca qui per accedere";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
+App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
+App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
+App::$strings["Email Address"] = "Indirizzo email";
+App::$strings["Mark all seen"] = "Marca tutto come letto";
+App::$strings["0. Beginner/Basic"] = "";
+App::$strings["1. Novice - not skilled but willing to learn"] = "";
+App::$strings["2. Intermediate - somewhat comfortable"] = "";
+App::$strings["3. Advanced - very comfortable"] = "";
+App::$strings["4. Expert - I can write computer code"] = "";
+App::$strings["5. Wizard - I probably know more than you do"] = "";
+App::$strings["Site Admin"] = "Amministrazione sito";
+App::$strings["Report Bug"] = "Segnala il bug";
+App::$strings["View Bookmarks"] = "Vedi i segnalibri";
+App::$strings["My Chatrooms"] = "Le mie aree chat";
+App::$strings["Firefox Share"] = "Firefox Share";
+App::$strings["Remote Diagnostics"] = "Diagnostica remota";
+App::$strings["Suggest Channels"] = "Suggerisci canali";
+App::$strings["Login"] = "Accedi";
+App::$strings["Activity"] = "Attività";
+App::$strings["Wiki"] = "Wiki";
+App::$strings["Channel Home"] = "Bacheca del canale";
+App::$strings["Events"] = "Eventi";
+App::$strings["Directory"] = "Elenchi pubblici dei canali";
+App::$strings["Mail"] = "Messaggi";
+App::$strings["Chat"] = "Chat";
+App::$strings["Probe"] = "Diagnostica";
+App::$strings["Suggest"] = "Suggerisci";
+App::$strings["Random Channel"] = "Canale casuale";
+App::$strings["Invite"] = "Invita";
+App::$strings["Features"] = "Funzionalità";
+App::$strings["Language"] = "Lingua";
+App::$strings["Post"] = "Post";
+App::$strings["Profile Photo"] = "Foto del profilo";
+App::$strings["Purchase"] = "Acquista";
+App::$strings["Undelete"] = "";
+App::$strings["Add to app-tray"] = "";
+App::$strings["Remove from app-tray"] = "";
+App::$strings["Pin to navbar"] = "";
+App::$strings["Unpin from navbar"] = "";
+App::$strings["__ctx:permcat__ default"] = "";
+App::$strings["__ctx:permcat__ follower"] = "";
+App::$strings["__ctx:permcat__ contributor"] = "";
+App::$strings["__ctx:permcat__ publisher"] = "";
+App::$strings["(No Title)"] = "";
+App::$strings["Wiki page create failed."] = "";
+App::$strings["Wiki not found."] = "";
+App::$strings["Destination name already exists"] = "";
+App::$strings["Page not found"] = "";
+App::$strings["Error reading page content"] = "";
+App::$strings["Error reading wiki"] = "";
+App::$strings["Page update failed."] = "";
+App::$strings["Nothing deleted"] = "";
+App::$strings["Compare: object not found."] = "";
+App::$strings["Page updated"] = "";
+App::$strings["Untitled"] = "";
+App::$strings["Wiki resource_id required for git commit"] = "";
+App::$strings["__ctx:wiki_history__ Message"] = "";
+App::$strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
+App::$strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
+App::$strings["Only me"] = "Solo io";
+App::$strings["Public"] = "Pubblico";
+App::$strings["Anybody in the \$Projectname network"] = "Tutti sulla rete \$Projectname";
+App::$strings["Any account on %s"] = "Tutti gli account su %s";
+App::$strings["Any of my connections"] = "Chiunque tra i miei contatti";
+App::$strings["Only connections I specifically allow"] = "Solo chi riceve il mio permesso";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Chiunque sia autenticato (inclusi visitatori di altre reti)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Tutti i contatti inclusi quelli non ancora approvati";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Impostazione predefinita di chi può vedere ciò che pubblichi in bacheca";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Impostazione predefinita di chi può vedere il profilo standard del tuo canale";
+App::$strings["This is your default setting for who can view your connections"] = "Impostazione predefinita di chi può vedere i tuoi contatti/amici";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Impostazione predefinita di chi può vedere le foto e il tuo archivio file";
+App::$strings["This is your default setting for the audience of your webpages"] = "Impostazione predefinita di chi può vedere le tue pagine web";
App::$strings["Missing room name"] = "Chat senza nome";
App::$strings["Duplicate room name"] = "Il nome della chat è duplicato";
App::$strings["Invalid room specifier."] = "Il nome della chat non è valido.";
@@ -1476,18 +1724,29 @@ App::$strings["\$Projectname Notification"] = "Notifica \$Projectname";
App::$strings["\$projectname"] = "\$projectname";
App::$strings["Thank You,"] = "Grazie,";
App::$strings["%s Administrator"] = "L'amministratore di %s";
+App::$strings["This email was sent by %1\$s at %2\$s."] = "";
+App::$strings["To stop receiving these messages, please adjust your Notification Settings at %s"] = "";
+App::$strings["To stop receiving these messages, please adjust your %s."] = "";
App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Notifica] Nuovo messaggio su %s";
App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
App::$strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
App::$strings["a private message"] = "un messaggio privato";
App::$strings["Please visit %s to view and/or reply to your private messages."] = "Visita %s per leggere i tuoi messaggi privati e rispondere.";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%5\$s di %4\$s[/zrl]";
-App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s che hai creato[/zrl]";
+App::$strings["commented on"] = "";
+App::$strings["liked"] = "";
+App::$strings["disliked"] = "";
+App::$strings["%1\$s, %2\$s %3\$s [zrl=%4\$s]a %5\$s[/zrl]"] = "";
+App::$strings["%1\$s, %2\$s %3\$s [zrl=%4\$s]%5\$s's %6\$s[/zrl]"] = "";
+App::$strings["%1\$s, %2\$s %3\$s [zrl=%4\$s]your %5\$s[/zrl]"] = "";
+App::$strings["[\$Projectname:Notify] Moderated Comment to conversation #%1\$d by %2\$s"] = "";
App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notifica] Nuovo commento di %2\$s alla conversazione #%1\$d";
App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha commentato un elemento che stavi seguendo.";
App::$strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
+App::$strings["Please visit %s to approve or reject this comment."] = "";
+App::$strings["%1\$s, %2\$s liked [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ma messo un mi piace al [zrl=%3\$s]tuo %4\$s[/zrl]";
+App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Ricevuto un mi piace alla conversazione #%1\$d di %2\$s";
+App::$strings["%1\$s, %2\$s liked an item/conversation you created."] = "%1\$s, %2\$s ha messo un mi piace all'elemento/conversazione che hai creato";
App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Notifica] %s ha scritto sulla tua bacheca";
App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha scritto sulla bacheca del tuo profilo su %3\$s";
App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha scritto sulla [zrl=%3\$s]tua bacheca[/zrl]";
@@ -1514,9 +1773,14 @@ App::$strings["Please visit %s to approve or reject the suggestion."] = "Visita
App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Notifica]";
App::$strings["created a new post"] = "Ha creato un nuovo post";
App::$strings["commented on %s's post"] = "ha commentato il post di %s";
+App::$strings["edited a post dated %s"] = "";
+App::$strings["edited a comment dated %s"] = "";
+App::$strings["Wiki updated successfully"] = "";
+App::$strings["Wiki files deleted successfully"] = "";
+App::$strings["Update Error at %s"] = "Errore di aggiornamento su %s";
+App::$strings["Update %s failed. See error logs."] = "%s: aggiornamento fallito. Controlla i log di errore.";
App::$strings["Private Message"] = "Messaggio privato";
App::$strings["Select"] = "Scegli";
-App::$strings["Save to Folder"] = "Salva nella cartella";
App::$strings["I will attend"] = "Parteciperò";
App::$strings["I will not attend"] = "Non parteciperò";
App::$strings["I might attend"] = "Forse parteciperò";
@@ -1547,9 +1811,13 @@ App::$strings["via Wall-To-Wall:"] = "da bacheca a bacheca:";
App::$strings["from %s"] = "da %s";
App::$strings["last edited: %s"] = "ultima modifica: %s";
App::$strings["Expires: %s"] = "Scadenza: %s";
+App::$strings["Attend"] = "";
+App::$strings["Attendance Options"] = "";
+App::$strings["Vote"] = "";
+App::$strings["Voting Options"] = "";
App::$strings["Save Bookmarks"] = "Salva segnalibro";
App::$strings["Add to Calendar"] = "Aggiungi al calendario";
-App::$strings["Mark all seen"] = "Marca tutto come letto";
+App::$strings["This is an unsaved preview"] = "";
App::$strings["%s show all"] = "%s mostra tutto";
App::$strings["Bold"] = "Grassetto";
App::$strings["Italic"] = "Corsivo";
@@ -1557,144 +1825,908 @@ App::$strings["Underline"] = "Sottolineato";
App::$strings["Quote"] = "Citazione";
App::$strings["Code"] = "Codice";
App::$strings["Image"] = "Immagine";
+App::$strings["Attach File"] = "";
App::$strings["Insert Link"] = "Collegamento";
App::$strings["Video"] = "Video";
-App::$strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
-App::$strings["Only me"] = "Solo io";
-App::$strings["Public"] = "Pubblico";
-App::$strings["Anybody in the \$Projectname network"] = "Tutti sulla rete \$Projectname";
-App::$strings["Any account on %s"] = "Tutti gli account su %s";
-App::$strings["Any of my connections"] = "Chiunque tra i miei contatti";
-App::$strings["Only connections I specifically allow"] = "Solo chi riceve il mio permesso";
-App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Chiunque sia autenticato (inclusi visitatori di altre reti)";
-App::$strings["Any connections including those who haven't yet been approved"] = "Tutti i contatti inclusi quelli non ancora approvati";
-App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Impostazione predefinita di chi può vedere ciò che pubblichi in bacheca";
-App::$strings["This is your default setting for who can view your default channel profile"] = "Impostazione predefinita di chi può vedere il profilo standard del tuo canale";
-App::$strings["This is your default setting for who can view your connections"] = "Impostazione predefinita di chi può vedere i tuoi contatti/amici";
-App::$strings["This is your default setting for who can view your file storage and photos"] = "Impostazione predefinita di chi può vedere le foto e il tuo archivio file";
-App::$strings["This is your default setting for the audience of your webpages"] = "Impostazione predefinita di chi può vedere le tue pagine web";
-App::$strings["Site Admin"] = "Amministrazione sito";
-App::$strings["Bug Report"] = "Bug Report";
-App::$strings["View Bookmarks"] = "Vedi i segnalibri";
-App::$strings["My Chatrooms"] = "Le mie aree chat";
-App::$strings["Firefox Share"] = "Firefox Share";
-App::$strings["Remote Diagnostics"] = "Diagnostica remota";
-App::$strings["Suggest Channels"] = "Suggerisci canali";
-App::$strings["Login"] = "Accedi";
-App::$strings["Grid"] = "Rete";
-App::$strings["Channel Home"] = "Bacheca del canale";
-App::$strings["Events"] = "Eventi";
-App::$strings["Directory"] = "Elenchi pubblici dei canali";
-App::$strings["Mail"] = "Messaggi";
-App::$strings["Chat"] = "Chat";
-App::$strings["Probe"] = "Diagnostica";
-App::$strings["Suggest"] = "Suggerisci";
-App::$strings["Random Channel"] = "Canale casuale";
-App::$strings["Invite"] = "Invita";
-App::$strings["Features"] = "Funzionalità";
-App::$strings["Language"] = "Lingua";
-App::$strings["Post"] = "Post";
-App::$strings["Profile Photo"] = "Foto del profilo";
-App::$strings["Purchase"] = "Acquista";
-App::$strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare.";
-App::$strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
-App::$strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
-App::$strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali";
-App::$strings["Can view my webpages"] = "Può vedere le mie pagine web";
-App::$strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
-App::$strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\" a tutto il resto";
-App::$strings["Profiles and things other than posts/comments"] = "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione";
-App::$strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
-App::$strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
-App::$strings["Can write to my file storage and photos"] = "Può modificare il mio archivio file e foto";
-App::$strings["Can edit my webpages"] = "Può modificare le mie pagine web";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
-App::$strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
-App::$strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
-App::$strings["Photo storage failed."] = "Impossibile salvare la foto.";
-App::$strings["a new photo"] = "una nuova foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha pubblicato %2\$s su %3\$s";
-App::$strings["Photo Albums"] = "Album foto";
-App::$strings["Upload New Photos"] = "Carica nuove foto";
-App::$strings["General Features"] = "Funzionalità di base";
-App::$strings["Multiple Profiles"] = "Profili multipli";
-App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
-App::$strings["Advanced Profiles"] = "Profili avanzati";
-App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
-App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
-App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi";
-App::$strings["Web Pages"] = "Pagine web";
-App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
-App::$strings["Provide a wiki for your channel"] = "Fornisce una wiki per il tuo canale";
-App::$strings["Private Notes"] = "Note private";
-App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Abilita il riquadro per scrivere annotazioni (in chiaro)";
-App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
-App::$strings["Photo Location"] = "Posizione geografica";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
-App::$strings["Access Controlled Chatrooms"] = "Chat ad accesso riservato";
-App::$strings["Provide chatrooms and chat services with access control."] = "Il servizio di chat con accesso riservato.";
-App::$strings["Smart Birthdays"] = "Compleanni intelligenti";
-App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo.";
-App::$strings["Advanced Directory Search"] = "Ricerca avanzata sugli elenchi pubblici";
-App::$strings["Allows creation of complex directory search queries"] = "Permette la creazione di ricerche complesse negli elenchi";
-App::$strings["Advanced Theme and Layout Settings"] = "Impostazioni avanzate del tema e dei layout";
-App::$strings["Allows fine tuning of themes and page layouts"] = "Permette una personalizzazione accurata del tema e dei layout";
-App::$strings["Post Composition Features"] = "Modalità di scrittura post";
-App::$strings["Large Photos"] = "Foto grandi";
-App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
-App::$strings["Even More Encryption"] = "Cifratura addizionale";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi";
-App::$strings["Enable Voting Tools"] = "Permetti i post con votazione";
-App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
-App::$strings["Disable Comments"] = "Disabilita i commenti";
-App::$strings["Provide the option to disable comments for a post"] = "Permetti di disabilitare i commenti";
-App::$strings["Delayed Posting"] = "Pubblicazione ritardata";
-App::$strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post";
-App::$strings["Content Expiration"] = "Scadenza";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
-App::$strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati";
-App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima.";
-App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
-App::$strings["Search by Date"] = "Ricerca per data";
-App::$strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
-App::$strings["Privacy Groups"] = "Gruppi di canali";
-App::$strings["Enable management and selection of privacy groups"] = "Abilita i gruppi di canali";
+App::$strings["Your full name (required)"] = "";
+App::$strings["Your email address (required)"] = "";
+App::$strings["Your website URL (optional)"] = "";
+App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo.";
+App::$strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo.";
+App::$strings["parent"] = "cartella superiore";
+App::$strings["Collection"] = "Cartella";
+App::$strings["Principal"] = "Principale";
+App::$strings["Addressbook"] = "Rubrica";
+App::$strings["Calendar"] = "Calendario";
+App::$strings["Schedule Inbox"] = "Appuntamenti ricevuti";
+App::$strings["Schedule Outbox"] = "Appuntamenti inviati";
+App::$strings["Total"] = "Totale";
+App::$strings["Shared"] = "Condiviso";
+App::$strings["You are using %1\$s of your available file storage."] = "Stai usando %1\$s dello spazio disponibile per i tuoi file.";
+App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "Stai usando %1\$s di %2\$s che hai a disposizione per i file. (%3\$s&#37;)";
+App::$strings["WARNING:"] = "ATTENZIONE:";
+App::$strings["Create new folder"] = "Nuova cartella";
+App::$strings["Upload file"] = "Carica un file";
+App::$strings["Drop files here to immediately upload"] = "Trascina i file qui per caricarli al volo";
+App::$strings["Forums"] = "Forum";
+App::$strings["Select Channel"] = "";
+App::$strings["Read-write"] = "";
+App::$strings["Read-only"] = "";
+App::$strings["My Calendars"] = "";
+App::$strings["Shared Calendars"] = "";
+App::$strings["Share this calendar"] = "";
+App::$strings["Calendar name and color"] = "";
+App::$strings["Create new calendar"] = "";
+App::$strings["Calendar Name"] = "";
+App::$strings["Calendar Tools"] = "";
+App::$strings["Import calendar"] = "";
+App::$strings["Select a calendar to import to"] = "";
+App::$strings["Addressbooks"] = "";
+App::$strings["Addressbook name"] = "";
+App::$strings["Create new addressbook"] = "";
+App::$strings["Addressbook Name"] = "";
+App::$strings["Addressbook Tools"] = "";
+App::$strings["Import addressbook"] = "";
+App::$strings["Select an addressbook to import to"] = "";
+App::$strings["Categories"] = "Categorie";
+App::$strings["Everything"] = "Tutto";
+App::$strings["Events Tools"] = "Gestione eventi";
+App::$strings["Export Calendar"] = "Esporta calendario";
+App::$strings["Import Calendar"] = "Importa calendario";
+App::$strings["Suggested Chatrooms"] = "Chat suggerite";
+App::$strings["HQ Control Panel"] = "";
+App::$strings["Create a new post"] = "";
+App::$strings["Private Mail Menu"] = "Menu messaggi privati";
+App::$strings["Combined View"] = "Vista combinata";
+App::$strings["Inbox"] = "In arrivo";
+App::$strings["Outbox"] = "Inviati";
+App::$strings["New Message"] = "Nuovo messaggio";
+App::$strings["Chatrooms"] = "Chat";
+App::$strings["Overview"] = "Riepilogo";
+App::$strings["Rating Tools"] = "Valutazione";
+App::$strings["Rate Me"] = "Valutami";
+App::$strings["View Ratings"] = "Vedi le valutazioni ricevute";
+App::$strings["__ctx:widget__ Activity"] = "Attività";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
+App::$strings["Add New Connection"] = "Aggiungi un contatto";
+App::$strings["Enter channel address"] = "Indirizzo del canale";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Per esempio: bob@example.com, https://example.com/barbara";
+App::$strings["Wiki List"] = "Elenco wiki";
+App::$strings["Archives"] = "Archivi";
+App::$strings["Received Messages"] = "Ricevuti";
+App::$strings["Sent Messages"] = "Inviati";
+App::$strings["Conversations"] = "Conversazioni";
+App::$strings["No messages."] = "Nessun messaggio.";
+App::$strings["Delete conversation"] = "Elimina la conversazione";
+App::$strings["Chat Members"] = "Partecipanti";
+App::$strings["photo/image"] = "foto/immagine";
+App::$strings["Remove term"] = "Rimuovi termine";
App::$strings["Saved Searches"] = "Ricerche salvate";
-App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
-App::$strings["Network Personal Tab"] = "Attività personale";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
-App::$strings["Network New Tab"] = "Contenuti nuovi";
-App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
-App::$strings["Affinity Tool"] = "Filtro per affinità";
-App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
-App::$strings["Show friend and connection suggestions"] = "Mostra suggerimenti di contatti e amici";
-App::$strings["Connection Filtering"] = "Filtro sui contatti";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave";
-App::$strings["Post/Comment Tools"] = "Gestione post e commenti";
-App::$strings["Community Tagging"] = "Tag della comunità";
-App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
-App::$strings["Post Categories"] = "Categorie dei post";
-App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
-App::$strings["Emoji Reactions"] = "Risposte emoji";
-App::$strings["Add emoji reaction ability to posts"] = "Permetti di rispondere ai post con degli emoji";
+App::$strings["add"] = "aggiungi";
+App::$strings["Notes"] = "Note";
+App::$strings["Add new page"] = "";
+App::$strings["Wiki Pages"] = "Pagine wiki";
+App::$strings["Page name"] = "";
+App::$strings["Refresh"] = "Aggiorna";
+App::$strings["Tasks"] = "Attività";
+App::$strings["Suggestions"] = "Suggerimenti";
+App::$strings["See more..."] = "Altro...";
App::$strings["Saved Folders"] = "Cartelle salvate";
-App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
-App::$strings["Dislike Posts"] = "Non mi piace";
-App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
-App::$strings["Star Posts"] = "Post con stella";
-App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
-App::$strings["Tag Cloud"] = "Nuvola di tag";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
-App::$strings["Premium Channel"] = "Canale premium";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale";
-App::$strings["Help:"] = "Guida:";
-App::$strings["guest:"] = "ospite:";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
+App::$strings["Click to show more"] = "Clicca per mostrare tutto";
+App::$strings["Profile Creation"] = "";
+App::$strings["Upload profile photo"] = "";
+App::$strings["Upload cover photo"] = "";
+App::$strings["Edit your profile"] = "Modifica il tuo profilo";
+App::$strings["Find and Connect with others"] = "";
+App::$strings["Manage your connections"] = "";
+App::$strings["Communicate"] = "";
+App::$strings["View your channel homepage"] = "";
+App::$strings["View your network stream"] = "";
+App::$strings["Documentation"] = "";
+App::$strings["View public stream. Warning: not moderated"] = "";
+App::$strings["New Member Links"] = "";
+App::$strings["Member registrations waiting for confirmation"] = "Richieste in attesa di conferma";
+App::$strings["Inspect queue"] = "Coda di attesa";
+App::$strings["DB updates"] = "Aggiornamenti al DB";
+App::$strings["Admin"] = "Amministrazione";
+App::$strings["Plugin Features"] = "Plugin";
+App::$strings["Account settings"] = "Il tuo account";
+App::$strings["Channel settings"] = "Impostazioni del canale";
+App::$strings["Additional features"] = "Funzionalità opzionali";
+App::$strings["Addon settings"] = "";
+App::$strings["Display settings"] = "Aspetto";
+App::$strings["Manage locations"] = "Gestione cloni del tuo canale";
+App::$strings["Export channel"] = "Esporta il canale";
+App::$strings["Connected apps"] = "App connesse";
+App::$strings["Permission Groups"] = "";
+App::$strings["Premium Channel Settings"] = "Canale premium - impostazioni";
+App::$strings["Bookmarked Chatrooms"] = "Chat nei segnalibri";
+App::$strings["New Network Activity"] = "Nuova attività nella tua rete";
+App::$strings["New Network Activity Notifications"] = "";
+App::$strings["View your network activity"] = "";
+App::$strings["Mark all notifications read"] = "";
+App::$strings["Show new posts only"] = "";
+App::$strings["Filter by name"] = "";
+App::$strings["New Home Activity"] = "";
+App::$strings["New Home Activity Notifications"] = "";
+App::$strings["View your home activity"] = "";
+App::$strings["Mark all notifications seen"] = "";
+App::$strings["New Mails"] = "";
+App::$strings["New Mails Notifications"] = "";
+App::$strings["View your private mails"] = "";
+App::$strings["Mark all messages seen"] = "";
+App::$strings["New Events"] = "";
+App::$strings["New Events Notifications"] = "";
+App::$strings["View events"] = "";
+App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
+App::$strings["New Connections Notifications"] = "";
+App::$strings["View all connections"] = "";
+App::$strings["New Files"] = "";
+App::$strings["New Files Notifications"] = "";
+App::$strings["Notices"] = "Avvisi";
+App::$strings["View all notices"] = "";
+App::$strings["Mark all notices seen"] = "";
+App::$strings["New Registrations"] = "";
+App::$strings["New Registrations Notifications"] = "";
+App::$strings["Public Stream Notifications"] = "";
+App::$strings["View the public stream"] = "";
+App::$strings["Sorry, you have got no notifications at the moment"] = "";
+App::$strings["Source channel not found."] = "";
+App::$strings["Create an account to access services and applications"] = "";
+App::$strings["Logout"] = "Esci";
+App::$strings["Login/Email"] = "Login/Email";
+App::$strings["Password"] = "Password";
+App::$strings["Remember me"] = "Resta connesso";
+App::$strings["Forgot your password?"] = "Hai dimenticato la password?";
+App::$strings["[\$Projectname] Website SSL error for %s"] = "";
+App::$strings["Website SSL certificate is not valid. Please correct."] = "Il certificato SSL del sito non è valido. Si prega di intervenire.";
+App::$strings["[\$Projectname] Cron tasks not running on %s"] = "";
+App::$strings["Cron/Scheduled tasks not running."] = "Processi cron non avviati.";
+App::$strings["never"] = "mai";
+App::$strings["Focus (Hubzilla default)"] = "Focus (predefinito)";
+App::$strings["Theme settings"] = "Impostazioni del tema";
+App::$strings["Narrow navbar"] = "Barra di navigazione ristretta";
+App::$strings["Navigation bar background color"] = "Barra di navigazione: Colore di sfondo";
+App::$strings["Navigation bar icon color "] = "Barra di navigazione: Colore delle icone";
+App::$strings["Navigation bar active icon color "] = "Barra di navigazione: Colore dell'icona attiva";
+App::$strings["Link color"] = "";
+App::$strings["Set font-color for banner"] = "Colore del font del banner";
+App::$strings["Set the background color"] = "Colore di sfondo";
+App::$strings["Set the background image"] = "Immagine di sfondo";
+App::$strings["Set the background color of items"] = "Colore di sfondo degli oggetti";
+App::$strings["Set the background color of comments"] = "Colore di sfondo dei commenti";
+App::$strings["Set font-size for the entire application"] = "Dimensione font per tutto il sito";
+App::$strings["Examples: 1rem, 100%, 16px"] = "";
+App::$strings["Set font-color for posts and comments"] = "Colore del carattere per post e commenti";
+App::$strings["Set radius of corners"] = "Raggio degli angoli stondati";
+App::$strings["Example: 4px"] = "";
+App::$strings["Set shadow depth of photos"] = "Profondità dell'ombra delle foto";
+App::$strings["Set maximum width of content region in pixel"] = "Larghezza massima dell'area dei contenuti in pixel";
+App::$strings["Leave empty for default width"] = "Lascia vuoto per usare il valore predefinito";
+App::$strings["Left align page content"] = "Allinea a sinistra il contenuto della pagina";
+App::$strings["Set size of conversation author photo"] = "Dimensione foto dell'autore della conversazione";
+App::$strings["Set size of followup author photos"] = "Dimensione foto dei partecipanti alla conversazione";
+App::$strings["Errors encountered deleting database table "] = "";
+App::$strings["Submit Settings"] = "";
+App::$strings["Drop tables when uninstalling?"] = "";
+App::$strings["If checked, the Rendezvous database tables will be deleted when the plugin is uninstalled."] = "";
+App::$strings["Mapbox Access Token"] = "";
+App::$strings["If you enter a Mapbox access token, it will be used to retrieve map tiles from Mapbox instead of the default OpenStreetMap tile server."] = "";
+App::$strings["Rendezvous"] = "";
+App::$strings["This identity has been deleted by another member due to inactivity. Please press the \"New identity\" button or refresh the page to register a new identity. You may use the same name."] = "";
+App::$strings["Welcome to Rendezvous!"] = "";
+App::$strings["Enter your name to join this rendezvous. To begin sharing your location with the other members, tap the GPS control. When your location is discovered, a red dot will appear and others will be able to see you on the map."] = "";
+App::$strings["Let's meet here"] = "";
+App::$strings["New marker"] = "";
+App::$strings["Edit marker"] = "";
+App::$strings["New identity"] = "";
+App::$strings["Delete marker"] = "";
+App::$strings["Delete member"] = "";
+App::$strings["Edit proximity alert"] = "";
+App::$strings["A proximity alert will be issued when this member is within a certain radius of you.<br><br>Enter a radius in meters (0 to disable):"] = "";
+App::$strings["distance"] = "";
+App::$strings["Proximity alert distance (meters)"] = "";
+App::$strings["A proximity alert will be issued when you are within a certain radius of the marker location.<br><br>Enter a radius in meters (0 to disable):"] = "";
+App::$strings["Marker proximity alert"] = "";
+App::$strings["Reminder note"] = "";
+App::$strings["Enter a note to be displayed when you are within the specified proximity..."] = "";
+App::$strings["Add new rendezvous"] = "";
+App::$strings["Create a new rendezvous and share the access link with those you wish to invite to the group. Those who open the link become members of the rendezvous. They can view other member locations, add markers to the map, or share their own locations with the group."] = "";
+App::$strings["Some setting"] = "";
+App::$strings["A setting"] = "";
+App::$strings["Skeleton Settings"] = "";
+App::$strings["GNU-Social Protocol Settings updated."] = "";
+App::$strings["The GNU-Social protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "";
+App::$strings["Enable the GNU-Social protocol for this channel"] = "";
+App::$strings["GNU-Social Protocol Settings"] = "";
+App::$strings["Follow"] = "";
+App::$strings["%1\$s is now following %2\$s"] = "";
+App::$strings["Planets Settings updated."] = "";
+App::$strings["Enable Planets Plugin"] = "";
+App::$strings["Planets Settings"] = "";
+App::$strings["System defaults:"] = "";
+App::$strings["Preferred Clipart IDs"] = "";
+App::$strings["List of preferred clipart ids. These will be shown first."] = "";
+App::$strings["Default Search Term"] = "";
+App::$strings["The default search term. These will be shown second."] = "";
+App::$strings["Return After"] = "";
+App::$strings["Page to load after image selection."] = "";
+App::$strings["Edit Profile"] = "Modifica il profilo";
+App::$strings["Profile List"] = "";
+App::$strings["Order of Preferred"] = "";
+App::$strings["Sort order of preferred clipart ids."] = "";
+App::$strings["Newest first"] = "";
+App::$strings["As entered"] = "";
+App::$strings["Order of other"] = "";
+App::$strings["Sort order of other clipart ids."] = "";
+App::$strings["Most downloaded first"] = "";
+App::$strings["Most liked first"] = "";
+App::$strings["Preferred IDs Message"] = "";
+App::$strings["Message to display above preferred results."] = "";
+App::$strings["Uploaded by: "] = "";
+App::$strings["Drawn by: "] = "";
+App::$strings["Use this image"] = "";
+App::$strings["Or select from a free OpenClipart.org image:"] = "";
+App::$strings["Search Term"] = "";
+App::$strings["Unknown error. Please try again later."] = "";
+App::$strings["Profile photo updated successfully."] = "";
+App::$strings["Flag Adult Photos"] = "Marca le foto per adulti";
+App::$strings["Provide photo edit option to hide inappropriate photos from default album view"] = "Permetti di nascondere le foto inappropriate nella visualizzazione degli album";
+App::$strings["Post to WordPress"] = "";
+App::$strings["Enable WordPress Post Plugin"] = "";
+App::$strings["WordPress username"] = "";
+App::$strings["WordPress password"] = "";
+App::$strings["WordPress API URL"] = "";
+App::$strings["Typically https://your-blog.tld/xmlrpc.php"] = "";
+App::$strings["WordPress blogid"] = "";
+App::$strings["For multi-user sites such as wordpress.com, otherwise leave blank"] = "";
+App::$strings["Post to WordPress by default"] = "";
+App::$strings["Forward comments (requires hubzilla_wp plugin)"] = "";
+App::$strings["WordPress Post Settings"] = "";
+App::$strings["Wordpress Settings saved."] = "";
+App::$strings["This plugin looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "";
+App::$strings["Enable Content filter"] = "";
+App::$strings["Comma separated list of keywords to hide"] = "";
+App::$strings["Word, /regular-expression/, lang=xx, lang!=xx"] = "";
+App::$strings["Not Safe For Work Settings"] = "";
+App::$strings["General Purpose Content Filter"] = "";
+App::$strings["NSFW Settings saved."] = "";
+App::$strings["Possible adult content"] = "";
+App::$strings["%s - view"] = "";
+App::$strings["Post to Insanejournal"] = "";
+App::$strings["Enable InsaneJournal Post Plugin"] = "";
+App::$strings["InsaneJournal username"] = "";
+App::$strings["InsaneJournal password"] = "";
+App::$strings["Post to InsaneJournal by default"] = "";
+App::$strings["InsaneJournal Post Settings"] = "";
+App::$strings["Insane Journal Settings saved."] = "";
+App::$strings["Post to Dreamwidth"] = "";
+App::$strings["Enable Dreamwidth Post Plugin"] = "";
+App::$strings["Dreamwidth username"] = "";
+App::$strings["Dreamwidth password"] = "";
+App::$strings["Post to Dreamwidth by default"] = "";
+App::$strings["Dreamwidth Post Settings"] = "";
+App::$strings["New registration"] = "";
+App::$strings["Message sent to %s. New account registration: %s"] = "";
+App::$strings["Hubzilla Directory Stats"] = "";
+App::$strings["Total Hubs"] = "";
+App::$strings["Hubzilla Hubs"] = "";
+App::$strings["Friendica Hubs"] = "";
+App::$strings["Diaspora Pods"] = "";
+App::$strings["Hubzilla Channels"] = "";
+App::$strings["Friendica Channels"] = "";
+App::$strings["Diaspora Channels"] = "";
+App::$strings["Aged 35 and above"] = "";
+App::$strings["Aged 34 and under"] = "";
+App::$strings["Average Age"] = "";
+App::$strings["Known Chatrooms"] = "";
+App::$strings["Known Tags"] = "";
+App::$strings["Please note Diaspora and Friendica statistics are merely those **this directory** is aware of, and not all those known in the network. This also applies to chatrooms,"] = "";
+App::$strings["Your Webbie:"] = "";
+App::$strings["Fontsize (px):"] = "";
+App::$strings["Link:"] = "";
+App::$strings["Like us on Hubzilla"] = "Metti un like su Hubzilla";
+App::$strings["Embed:"] = "";
+App::$strings["Photos imported"] = "";
+App::$strings["Redmatrix Photo Album Import"] = "";
+App::$strings["This will import all your Redmatrix photo albums to this channel."] = "";
+App::$strings["Redmatrix Server base URL"] = "";
+App::$strings["Redmatrix Login Username"] = "";
+App::$strings["Redmatrix Login Password"] = "";
+App::$strings["Import just this album"] = "";
+App::$strings["Leave blank to import all albums"] = "";
+App::$strings["Maximum count to import"] = "";
+App::$strings["0 or blank to import all available"] = "";
+App::$strings["Channels to auto connect"] = "";
+App::$strings["Comma separated list"] = "";
+App::$strings["Popular Channels"] = "";
+App::$strings["IRC Settings"] = "";
+App::$strings["IRC settings saved."] = "";
+App::$strings["IRC Chatroom"] = "";
+App::$strings["Post to LiveJournal"] = "";
+App::$strings["Enable LiveJournal Post Plugin"] = "";
+App::$strings["LiveJournal username"] = "";
+App::$strings["LiveJournal password"] = "";
+App::$strings["Post to LiveJournal by default"] = "";
+App::$strings["LiveJournal Post Settings"] = "";
+App::$strings["LiveJournal Settings saved."] = "";
+App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
+App::$strings["The error message was:"] = "";
+App::$strings["First Name"] = "";
+App::$strings["Last Name"] = "";
+App::$strings["Nickname"] = "";
+App::$strings["Full Name"] = "";
+App::$strings["Profile Photo 16px"] = "";
+App::$strings["Profile Photo 32px"] = "";
+App::$strings["Profile Photo 48px"] = "";
+App::$strings["Profile Photo 64px"] = "";
+App::$strings["Profile Photo 80px"] = "";
+App::$strings["Profile Photo 128px"] = "";
+App::$strings["Timezone"] = "";
+App::$strings["Birth Year"] = "";
+App::$strings["Birth Month"] = "";
+App::$strings["Birth Day"] = "";
+App::$strings["Birthdate"] = "";
+App::$strings["OpenID protocol error. No ID returned."] = "";
+App::$strings["Login failed."] = "Accesso fallito.";
+App::$strings["Male"] = "Maschio";
+App::$strings["Female"] = "Femmina";
+App::$strings["You're welcome."] = "";
+App::$strings["Ah shucks..."] = "";
+App::$strings["Don't mention it."] = "";
+App::$strings["&lt;blush&gt;"] = "";
+App::$strings["Page to load after login"] = "";
+App::$strings["Examples: &quot;apps&quot;, &quot;network?f=&gid=37&quot; (privacy collection), &quot;channel&quot; or &quot;notifications/system&quot; (leave blank for default network page (grid)."] = "";
+App::$strings["Startpage Settings"] = "";
+App::$strings["bitchslap"] = "";
+App::$strings["bitchslapped"] = "";
+App::$strings["shag"] = "";
+App::$strings["shagged"] = "";
+App::$strings["patent"] = "";
+App::$strings["patented"] = "";
+App::$strings["hug"] = "";
+App::$strings["hugged"] = "";
+App::$strings["murder"] = "";
+App::$strings["murdered"] = "";
+App::$strings["worship"] = "";
+App::$strings["worshipped"] = "";
+App::$strings["kiss"] = "";
+App::$strings["kissed"] = "";
+App::$strings["tempt"] = "";
+App::$strings["tempted"] = "";
+App::$strings["raise eyebrows at"] = "";
+App::$strings["raised their eyebrows at"] = "";
+App::$strings["insult"] = "";
+App::$strings["insulted"] = "";
+App::$strings["praise"] = "";
+App::$strings["praised"] = "";
+App::$strings["be dubious of"] = "";
+App::$strings["was dubious of"] = "";
+App::$strings["eat"] = "";
+App::$strings["ate"] = "";
+App::$strings["giggle and fawn at"] = "";
+App::$strings["giggled and fawned at"] = "";
+App::$strings["doubt"] = "";
+App::$strings["doubted"] = "";
+App::$strings["glare"] = "";
+App::$strings["glared at"] = "";
+App::$strings["fuck"] = "";
+App::$strings["fucked"] = "";
+App::$strings["bonk"] = "";
+App::$strings["bonked"] = "";
+App::$strings["declare undying love for"] = "";
+App::$strings["declared undying love for"] = "";
+App::$strings["Diaspora Protocol Settings updated."] = "";
+App::$strings["The Diaspora protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "";
+App::$strings["Enable the Diaspora protocol for this channel"] = "";
+App::$strings["Allow any Diaspora member to comment on your public posts"] = "";
+App::$strings["Prevent your hashtags from being redirected to other sites"] = "";
+App::$strings["Sign and forward posts and comments with no existing Diaspora signature"] = "";
+App::$strings["Followed hashtags (comma separated, do not include the #)"] = "";
+App::$strings["Diaspora Protocol Settings"] = "";
+App::$strings["No username found in import file."] = "";
+App::$strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
+App::$strings["Your account on %s will expire in a few days."] = "";
+App::$strings["Your $Productname test account is about to expire."] = "";
+App::$strings["Enable Rainbowtag"] = "";
+App::$strings["Rainbowtag Settings"] = "";
+App::$strings["Rainbowtag Settings saved."] = "";
+App::$strings["Show Upload Limits"] = "";
+App::$strings["Hubzilla configured maximum size: "] = "";
+App::$strings["PHP upload_max_filesize: "] = "";
+App::$strings["PHP post_max_size (must be larger than upload_max_filesize): "] = "";
+App::$strings["generic profile image"] = "";
+App::$strings["random geometric pattern"] = "";
+App::$strings["monster face"] = "";
+App::$strings["computer generated face"] = "";
+App::$strings["retro arcade style face"] = "";
+App::$strings["Hub default profile photo"] = "";
+App::$strings["Information"] = "";
+App::$strings["Libravatar addon is installed, too. Please disable Libravatar addon or this Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "";
+App::$strings["Save Settings"] = "";
+App::$strings["Default avatar image"] = "";
+App::$strings["Select default avatar image if none was found at Gravatar. See README"] = "";
+App::$strings["Rating of images"] = "";
+App::$strings["Select the appropriate avatar rating for your site. See README"] = "";
+App::$strings["Gravatar settings updated."] = "";
+App::$strings["Hubzilla File Storage Import"] = "";
+App::$strings["This will import all your cloud files from another server."] = "";
+App::$strings["Hubzilla Server base URL"] = "";
+App::$strings["Since modified date yyyy-mm-dd"] = "";
+App::$strings["Until modified date yyyy-mm-dd"] = "";
+App::$strings["Recent Channel/Profile Viewers"] = "";
+App::$strings["This plugin/addon has not been configured."] = "";
+App::$strings["Please visit the Visage settings on %s"] = "";
+App::$strings["your feature settings page"] = "";
+App::$strings["No entries."] = "";
+App::$strings["Enable Visage Visitor Logging"] = "";
+App::$strings["Visage Settings"] = "";
+App::$strings["Nsabait Settings updated."] = "";
+App::$strings["Enable NSAbait Plugin"] = "";
+App::$strings["NSAbait Settings"] = "";
+App::$strings["Send test email"] = "";
+App::$strings["No recipients found."] = "";
+App::$strings["Mail sent."] = "";
+App::$strings["Sending of mail failed."] = "";
+App::$strings["Mail Test"] = "";
+App::$strings["Message subject"] = "";
+App::$strings["Use markdown for editing posts"] = "";
+App::$strings["View Larger"] = "";
+App::$strings["Tile Server URL"] = "";
+App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "";
+App::$strings["Nominatim (reverse geocoding) Server URL"] = "";
+App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">Nominatim servers</a>"] = "";
+App::$strings["Default zoom"] = "";
+App::$strings["The default zoom level. (1:world, 18:highest, also depends on tile server)"] = "";
+App::$strings["Include marker on map"] = "";
+App::$strings["Include a marker on the map."] = "";
+App::$strings["text to include in all outgoing posts from this site"] = "";
+App::$strings["Post to Friendica"] = "";
+App::$strings["rtof Settings saved."] = "";
+App::$strings["Allow posting to Friendica"] = "";
+App::$strings["Send public postings to Friendica by default"] = "";
+App::$strings["Friendica API Path"] = "";
+App::$strings["https://{sitename}/api"] = "";
+App::$strings["Friendica login name"] = "";
+App::$strings["Friendica password"] = "";
+App::$strings["Hubzilla to Friendica Post Settings"] = "";
+App::$strings["Status:"] = "Stato:";
+App::$strings["Activate addon"] = "";
+App::$strings["Hide Jappixmini Chat-Widget from the webinterface"] = "";
+App::$strings["Jabber username"] = "";
+App::$strings["Jabber server"] = "";
+App::$strings["Jabber BOSH host URL"] = "";
+App::$strings["Jabber password"] = "";
+App::$strings["Encrypt Jabber password with Hubzilla password"] = "";
+App::$strings["Hubzilla password"] = "";
+App::$strings["Approve subscription requests from Hubzilla contacts automatically"] = "";
+App::$strings["Purge internal list of jabber addresses of contacts"] = "";
+App::$strings["Configuration Help"] = "";
+App::$strings["Jappix Mini Settings"] = "";
+App::$strings["Currently blocked"] = "";
+App::$strings["No channels currently blocked"] = "";
+App::$strings["\"Superblock\" Settings"] = "";
+App::$strings["Block Completely"] = "";
+App::$strings["superblock settings updated"] = "";
+App::$strings["Federate"] = "";
+App::$strings["nofed Settings saved."] = "";
+App::$strings["Allow Federation Toggle"] = "";
+App::$strings["Federate posts by default"] = "";
+App::$strings["NoFed Settings"] = "";
+App::$strings["Post to Red"] = "";
+App::$strings["Channel is required."] = "";
+App::$strings["redred Settings saved."] = "";
+App::$strings["Allow posting to another Hubzilla Channel"] = "";
+App::$strings["Send public postings to Hubzilla channel by default"] = "";
+App::$strings["Hubzilla API Path"] = "";
+App::$strings["Hubzilla login name"] = "";
+App::$strings["Hubzilla channel name"] = "";
+App::$strings["Hubzilla Crosspost Settings"] = "";
+App::$strings["Logfile archive directory"] = "";
+App::$strings["Directory to store rotated logs"] = "";
+App::$strings["Logfile size in bytes before rotating"] = "";
+App::$strings["Number of logfiles to retain"] = "";
+App::$strings["Friendica Photo Album Import"] = "";
+App::$strings["This will import all your Friendica photo albums to this Red channel."] = "";
+App::$strings["Friendica Server base URL"] = "";
+App::$strings["Friendica Login Username"] = "";
+App::$strings["Friendica Login Password"] = "";
+App::$strings["ActivityPub"] = "";
+App::$strings["ActivityPub Protocol Settings updated."] = "";
+App::$strings["The ActivityPub protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "";
+App::$strings["Enable the ActivityPub protocol for this channel"] = "";
+App::$strings["Send multi-media HTML articles"] = "";
+App::$strings["Not supported by some microblog services such as Mastodon"] = "";
+App::$strings["ActivityPub Protocol Settings"] = "";
+App::$strings["Project Servers and Resources"] = "";
+App::$strings["Project Creator and Tech Lead"] = "";
+App::$strings["Admin, developer, directorymin, support bloke"] = "";
+App::$strings["And the hundreds of other people and organisations who helped make the Hubzilla possible."] = "";
+App::$strings["The Redmatrix/Hubzilla projects are provided primarily by volunteers giving their time and expertise - and often paying out of pocket for services they share with others."] = "";
+App::$strings["There is no corporate funding and no ads, and we do not collect and sell your personal information. (We don't control your personal information - <strong>you do</strong>.)"] = "";
+App::$strings["Help support our ground-breaking work in decentralisation, web identity, and privacy."] = "";
+App::$strings["Your donations keep servers and services running and also helps us to provide innovative new features and continued development."] = "";
+App::$strings["Donate"] = "";
+App::$strings["Choose a project, developer, or public hub to support with a one-time donation"] = "";
+App::$strings["Donate Now"] = "";
+App::$strings["<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"] = "";
+App::$strings["Please indicate if you would like your first name or full name (or nothing) to appear in our sponsor listing"] = "";
+App::$strings["Sponsor"] = "";
+App::$strings["Special thanks to: "] = "";
+App::$strings["This is a fairly comprehensive and complete guitar chord dictionary which will list most of the available ways to play a certain chord, starting from the base of the fingerboard up to a few frets beyond the twelfth fret (beyond which everything repeats). A couple of non-standard tunings are provided for the benefit of slide players, etc."] = "Questo è un dizionario piuttosto esteso e completo di accordi per chitarra che elenca quasi i tutti i modi possibili di suonare un certo accordo a partire dal tasto iniziale fino a circa il dodicesimo (dopo di cui si ripete tutto). Sono previste anche un paio di accordature non standard a beneficio di chi le usa.";
+App::$strings["Chord names start with a root note (A-G) and may include sharps (#) and flats (b). This software will parse most of the standard naming conventions such as maj, min, dim, sus(2 or 4), aug, with optional repeating elements."] = "I nomi degli accordi iniziano con la nota fondamentale (A-G) e possono includere diesis (#) e bemolle (b). Questo software gestisce gran parte delle notazioni convenzionali come maj, min, dim, sus(2 o 4), aug.";
+App::$strings["Valid examples include A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, E7b13b11 ..."] = "Esempi validi includono A, A7, Am7, Amaj7, Amaj9, Ammaj7, Aadd4, Asus2Add4, E7b13b11 ...";
+App::$strings["Guitar Chords"] = "Accordi per chitarra";
+App::$strings["The complete online chord dictionary"] = "Il dizionario completo degli accordi online";
+App::$strings["Tuning"] = "Accordatura";
+App::$strings["Chord name: example: Em7"] = "Nome accordo: per esempio Em7";
+App::$strings["Show for left handed stringing"] = "Mostra l'accordatura per mancini";
+App::$strings["Quick Reference"] = "Riferimento veloce";
+App::$strings["Post to Libertree"] = "";
+App::$strings["Enable Libertree Post Plugin"] = "";
+App::$strings["Libertree API token"] = "";
+App::$strings["Libertree site URL"] = "";
+App::$strings["Post to Libertree by default"] = "";
+App::$strings["Libertree Post Settings"] = "";
+App::$strings["Libertree Settings saved."] = "";
+App::$strings["Flattr this!"] = "";
+App::$strings["Flattr widget settings updated."] = "";
+App::$strings["Flattr user"] = "";
+App::$strings["URL of the Thing to flattr"] = "";
+App::$strings["If empty channel URL is used"] = "";
+App::$strings["Title of the Thing to flattr"] = "";
+App::$strings["If empty \"channel name on The Hubzilla\" will be used"] = "";
+App::$strings["Static or dynamic flattr button"] = "";
+App::$strings["static"] = "";
+App::$strings["dynamic"] = "";
+App::$strings["Alignment of the widget"] = "";
+App::$strings["left"] = "";
+App::$strings["right"] = "";
+App::$strings["Enable Flattr widget"] = "";
+App::$strings["Flattr Widget Settings"] = "";
+App::$strings["Post to GNU social"] = "";
+App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "";
+App::$strings["We could not contact the GNU social API with the Path you entered."] = "";
+App::$strings["GNU social settings updated."] = "";
+App::$strings["Globally Available GNU social OAuthKeys"] = "";
+App::$strings["There are preconfigured OAuth key pairs for some GNU social servers available. If you are using one of them, please use these credentials.<br />If not feel free to connect to any other GNU social instance (see below)."] = "";
+App::$strings["Provide your own OAuth Credentials"] = "";
+App::$strings["No consumer key pair for GNU social found. Register your Hubzilla Account as an desktop client on your GNU social account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Hubzilla installation at your favourite GNU social installation."] = "";
+App::$strings["OAuth Consumer Key"] = "";
+App::$strings["OAuth Consumer Secret"] = "";
+App::$strings["Base API Path"] = "";
+App::$strings["Remember the trailing /"] = "";
+App::$strings["GNU social application name"] = "";
+App::$strings["To connect to your GNU social account click the button below to get a security code from GNU social which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to GNU social."] = "";
+App::$strings["Log in with GNU social"] = "";
+App::$strings["Copy the security code from GNU social here"] = "";
+App::$strings["Cancel Connection Process"] = "";
+App::$strings["Current GNU social API is"] = "";
+App::$strings["Cancel GNU social Connection"] = "";
+App::$strings["Currently connected to: "] = "";
+App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
+App::$strings["Allow posting to GNU social"] = "";
+App::$strings["If enabled your public postings can be posted to the associated GNU-social account"] = "";
+App::$strings["Post to GNU social by default"] = "";
+App::$strings["If enabled your public postings will be posted to the associated GNU-social account by default"] = "";
+App::$strings["Clear OAuth configuration"] = "";
+App::$strings["GNU social Post Settings"] = "";
+App::$strings["API URL"] = "";
+App::$strings["Application name"] = "";
+App::$strings["QR code"] = "";
+App::$strings["QR Generator"] = "";
+App::$strings["Enter some text"] = "";
+App::$strings["Invalid game."] = "";
+App::$strings["You are not a player in this game."] = "";
+App::$strings["You must be a local channel to create a game."] = "";
+App::$strings["You must select one opponent that is not yourself."] = "";
+App::$strings["Random color chosen."] = "";
+App::$strings["Error creating new game."] = "";
+App::$strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
+App::$strings["You must select a local channel /chess/channelname"] = "";
+App::$strings["Enable notifications"] = "";
+App::$strings["Post to Twitter"] = "";
+App::$strings["Twitter settings updated."] = "";
+App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "";
+App::$strings["At this Hubzilla instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "";
+App::$strings["Log in with Twitter"] = "";
+App::$strings["Copy the PIN from Twitter here"] = "";
+App::$strings["<strong>Note:</strong> Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "";
+App::$strings["Allow posting to Twitter"] = "";
+App::$strings["If enabled your public postings can be posted to the associated Twitter account"] = "";
+App::$strings["Twitter post length"] = "";
+App::$strings["Maximum tweet length"] = "";
+App::$strings["Send public postings to Twitter by default"] = "";
+App::$strings["If enabled your public postings will be posted to the associated Twitter account by default"] = "";
+App::$strings["Twitter Post Settings"] = "";
+App::$strings["Deactivate the feature"] = "";
+App::$strings["Hide the button and show the smilies directly."] = "";
+App::$strings["Smileybutton Settings"] = "";
+App::$strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "";
+App::$strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "";
+App::$strings["Piwik Base URL"] = "";
+App::$strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "";
+App::$strings["Site ID"] = "";
+App::$strings["Show opt-out cookie link?"] = "";
+App::$strings["Asynchronous tracking"] = "";
+App::$strings["Enable frontend JavaScript error tracking"] = "";
+App::$strings["This feature requires Piwik >= 2.2.0"] = "";
+App::$strings["Edit your profile and change settings."] = "";
+App::$strings["Click here to see activity from your connections."] = "";
+App::$strings["Click here to see your channel home."] = "";
+App::$strings["You can access your private messages from here."] = "";
+App::$strings["Create new events here."] = "";
+App::$strings["You can accept new connections and change permissions for existing ones here. You can also e.g. create groups of contacts."] = "";
+App::$strings["System notifications will arrive here"] = "";
+App::$strings["Search for content and users"] = "";
+App::$strings["Browse for new contacts"] = "";
+App::$strings["Launch installed apps"] = "";
+App::$strings["Looking for help? Click here."] = "";
+App::$strings["New events have occurred in your network. Click here to see what has happened!"] = "";
+App::$strings["You have received a new private message. Click here to see from who!"] = "";
+App::$strings["There are events this week. Click here too see which!"] = "";
+App::$strings["You have received a new introduction. Click here to see who!"] = "";
+App::$strings["There is a new system notification. Click here to see what has happened!"] = "";
+App::$strings["Click here to share text, images, videos and sound."] = "";
+App::$strings["You can write an optional title for your update (good for long posts)."] = "";
+App::$strings["Entering some categories here makes it easier to find your post later."] = "";
+App::$strings["Share photos, links, location, etc."] = "";
+App::$strings["Only want to share content for a while? Make it expire at a certain date."] = "";
+App::$strings["You can password protect content."] = "";
+App::$strings["Choose who you share with."] = "";
+App::$strings["Click here when you are done."] = "";
+App::$strings["Adjust from which channels posts should be displayed."] = "";
+App::$strings["Only show posts from channels in the specified privacy group."] = "";
+App::$strings["Easily find posts containing tags (keywords preceded by the \"#\" symbol)."] = "";
+App::$strings["Easily find posts in given category."] = "";
+App::$strings["Easily find posts by date."] = "";
+App::$strings["Suggested users who have volounteered to be shown as suggestions, and who we think you might find interesting."] = "";
+App::$strings["Here you see channels you have connected to."] = "";
+App::$strings["Save your search so you can repeat it at a later date."] = "";
+App::$strings["If you see this icon you can be sure that the sender is who it say it is. It is normal that it is not always possible to verify the sender, so the icon will be missing sometimes. There is usually no need to worry about that."] = "";
+App::$strings["Danger! It seems someone tried to forge a message! This message is not necessarily from who it says it is from!"] = "";
+App::$strings["Welcome to Hubzilla! Would you like to see a tour of the UI?</p> <p>You can pause it at any time and continue where you left off by reloading the page, or navigting to another page.</p><p>You can also advance by pressing the return key"] = "Benvenuto su Hubzilla! Vorresti vedere una panoramica sulla UI? </p><p> Puoi metterla in pausa in qualsiasi momento e continuare da dove hai interrorro ricaricando la pagina, o spostandoti su un'altra pagina. </p><p>Puoi anche andare avanti premendo il tasto invio";
+App::$strings["Extended Identity Sharing"] = "";
+App::$strings["Share your identity with all websites on the internet. When disabled, identity is only shared with \$Projectname sites."] = "";
+App::$strings["Three Dimensional Tic-Tac-Toe"] = "";
+App::$strings["3D Tic-Tac-Toe"] = "";
+App::$strings["New game"] = "";
+App::$strings["New game with handicap"] = "";
+App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "";
+App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "";
+App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "";
+App::$strings["You go first..."] = "";
+App::$strings["I'm going first this time..."] = "";
+App::$strings["You won!"] = "";
+App::$strings["\"Cat\" game!"] = "";
+App::$strings["I won!"] = "";
+App::$strings["Message to display on every page on this server"] = "";
+App::$strings["Pageheader Settings"] = "";
+App::$strings["pageheader Settings saved."] = "";
+App::$strings["Only authenticate automatically to sites of your friends"] = "";
+App::$strings["By default you are automatically authenticated anywhere in the network"] = "";
+App::$strings["Authchoose Settings"] = "";
+App::$strings["Atuhchoose Settings updated."] = "";
+App::$strings["lonely"] = "";
+App::$strings["drunk"] = "";
+App::$strings["horny"] = "";
+App::$strings["stoned"] = "";
+App::$strings["fucked up"] = "";
+App::$strings["clusterfucked"] = "";
+App::$strings["crazy"] = "";
+App::$strings["hurt"] = "";
+App::$strings["sleepy"] = "";
+App::$strings["grumpy"] = "";
+App::$strings["high"] = "";
+App::$strings["semi-conscious"] = "";
+App::$strings["in love"] = "";
+App::$strings["in lust"] = "";
+App::$strings["naked"] = "";
+App::$strings["stinky"] = "";
+App::$strings["sweaty"] = "";
+App::$strings["bleeding out"] = "";
+App::$strings["victorious"] = "";
+App::$strings["defeated"] = "";
+App::$strings["envious"] = "";
+App::$strings["jealous"] = "";
+App::$strings["XMPP settings updated."] = "";
+App::$strings["Enable Chat"] = "";
+App::$strings["Individual credentials"] = "";
+App::$strings["Jabber BOSH server"] = "";
+App::$strings["XMPP Settings"] = "";
+App::$strings["Jabber BOSH host"] = "";
+App::$strings["Use central userbase"] = "";
+App::$strings["If enabled, members will automatically login to an ejabberd server that has to be installed on this machine with synchronized credentials via the \"auth_ejabberd.php\" script."] = "";
+App::$strings["Who likes me?"] = "Chi mi ha messo un mi piace?";
+App::$strings["You are now authenticated to pumpio."] = "";
+App::$strings["return to the featured settings page"] = "";
+App::$strings["Post to Pump.io"] = "";
+App::$strings["Pump.io servername"] = "";
+App::$strings["Without \"http://\" or \"https://\""] = "";
+App::$strings["Pump.io username"] = "";
+App::$strings["Without the servername"] = "";
+App::$strings["You are not authenticated to pumpio"] = "";
+App::$strings["(Re-)Authenticate your pump.io connection"] = "";
+App::$strings["Enable pump.io Post Plugin"] = "";
+App::$strings["Post to pump.io by default"] = "";
+App::$strings["Should posts be public"] = "";
+App::$strings["Mirror all public posts"] = "";
+App::$strings["Pump.io Post Settings"] = "";
+App::$strings["PumpIO Settings saved."] = "";
+App::$strings["An account has been created for you."] = "";
+App::$strings["Authentication successful but rejected: account creation is disabled."] = "";
+App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Cerca %1\$s (%2\$s)";
+App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
+App::$strings["Search \$Projectname"] = "";
+App::$strings["Redmatrix File Storage Import"] = "";
+App::$strings["This will import all your Redmatrix cloud files to this channel."] = "";
+App::$strings["file"] = "";
+App::$strings["Send email to all members"] = "";
+App::$strings["%1\$d of %2\$d messages sent."] = "";
+App::$strings["Send email to all hub members."] = "";
+App::$strings["Sender Email address"] = "";
+App::$strings["Test mode (only send to hub administrator)"] = "";
+App::$strings["Frequently"] = "Frequentemente";
+App::$strings["Hourly"] = "Ogni ora";
+App::$strings["Twice daily"] = "Due volte al giorno";
+App::$strings["Daily"] = "Ogni giorno";
+App::$strings["Weekly"] = "Ogni settimana";
+App::$strings["Monthly"] = "Ogni mese";
+App::$strings["Currently Male"] = "Al momento maschio";
+App::$strings["Currently Female"] = "Al momento femmina";
+App::$strings["Mostly Male"] = "Prevalentemente maschio";
+App::$strings["Mostly Female"] = "Prevalentemente femmina";
+App::$strings["Transgender"] = "Transgender";
+App::$strings["Intersex"] = "Intersex";
+App::$strings["Transsexual"] = "Transessuale";
+App::$strings["Hermaphrodite"] = "Ermafrodito";
+App::$strings["Neuter"] = "Neutro";
+App::$strings["Non-specific"] = "Non specificato";
+App::$strings["Undecided"] = "Indeciso";
+App::$strings["Males"] = "Maschi";
+App::$strings["Females"] = "Femmine";
+App::$strings["Gay"] = "Gay";
+App::$strings["Lesbian"] = "Lesbica";
+App::$strings["No Preference"] = "Senza preferenza";
+App::$strings["Bisexual"] = "Bisessuale";
+App::$strings["Autosexual"] = "Autosessuale";
+App::$strings["Abstinent"] = "Astinente";
+App::$strings["Virgin"] = "Vergine";
+App::$strings["Deviant"] = "Deviato";
+App::$strings["Fetish"] = "Feticista";
+App::$strings["Oodles"] = "Un sacco";
+App::$strings["Nonsexual"] = "Asessuato";
+App::$strings["Single"] = "Single";
+App::$strings["Lonely"] = "Da solo";
+App::$strings["Available"] = "Disponibile";
+App::$strings["Unavailable"] = "Non disponibile";
+App::$strings["Has crush"] = "Ha una cotta";
+App::$strings["Infatuated"] = "Infatuato/a";
+App::$strings["Dating"] = "Disponibile a un incontro";
+App::$strings["Unfaithful"] = "Infedele";
+App::$strings["Sex Addict"] = "Sesso-dipendente";
+App::$strings["Friends/Benefits"] = "Amici con qualcosa in più";
+App::$strings["Casual"] = "Casual";
+App::$strings["Engaged"] = "Impegnato";
+App::$strings["Married"] = "Sposato/a";
+App::$strings["Imaginarily married"] = "Con matrimonio immaginario";
+App::$strings["Partners"] = "Partner";
+App::$strings["Cohabiting"] = "Convivente";
+App::$strings["Common law"] = "Matrimonio regolare";
+App::$strings["Happy"] = "Felice";
+App::$strings["Not looking"] = "Non in cerca";
+App::$strings["Swinger"] = "Scambista";
+App::$strings["Betrayed"] = "Tradito/a";
+App::$strings["Separated"] = "Separato/a";
+App::$strings["Unstable"] = "Instabile";
+App::$strings["Divorced"] = "Divorziato/a";
+App::$strings["Imaginarily divorced"] = "Sogna il divorzio";
+App::$strings["Widowed"] = "Vedovo/a";
+App::$strings["Uncertain"] = "Incerto/a";
+App::$strings["It's complicated"] = "Relazione complicata";
+App::$strings["Don't care"] = "Chi se ne frega";
+App::$strings["Ask me"] = "Chiedimelo";
+App::$strings["likes %1\$s's %2\$s"] = "ha messo mi piace al %2\$s di %1\$s";
+App::$strings["doesn't like %1\$s's %2\$s"] = "ha messo non mi piace al %2\$s di %1\$s";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
+App::$strings["poked"] = "ha mandato un poke";
+App::$strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
+App::$strings["Categories:"] = "Categorie:";
+App::$strings["Filed under:"] = "Classificato come:";
+App::$strings["View in context"] = "Vedi nel contesto";
+App::$strings["remove"] = "rimuovi";
+App::$strings["Loading..."] = "Caricamento in corso...";
+App::$strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
+App::$strings["View Source"] = "Vedi il sorgente";
+App::$strings["Follow Thread"] = "Segui la discussione";
+App::$strings["Unfollow Thread"] = "Non seguire la discussione";
+App::$strings["Activity/Posts"] = "Attività e Post";
+App::$strings["Edit Connection"] = "Modifica il contatto";
+App::$strings["Message"] = "Messaggio";
+App::$strings["%s likes this."] = "Piace a %s.";
+App::$strings["%s doesn't like this."] = "Non piace a %s.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "",
+ 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "",
+ 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
+);
+App::$strings["and"] = "e";
+App::$strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => "e altre %d persone",
+);
+App::$strings["%s like this."] = "Piace a %s.";
+App::$strings["%s don't like this."] = "Non piace a %s.";
+App::$strings["Set your location"] = "La tua località";
+App::$strings["Clear browser location"] = "Rimuovi la località data dal browser";
+App::$strings["Tag term:"] = "Tag:";
+App::$strings["Where are you right now?"] = "Dove sei ora?";
+App::$strings["Choose a different album..."] = "Scegli un altro album...";
+App::$strings["Comments enabled"] = "Commenti abilitati";
+App::$strings["Comments disabled"] = "Commenti disabilitati";
+App::$strings["Page link name"] = "Nome del link alla pagina";
+App::$strings["Post as"] = "Pubblica come ";
+App::$strings["Toggle voting"] = "Abilita/disabilita il voto";
+App::$strings["Disable comments"] = "Disabilita i commenti";
+App::$strings["Toggle comments"] = "Abilita/disabilita i commenti";
+App::$strings["Categories (optional, comma-separated list)"] = "Categorie (facoltative, lista separata da virgole)";
+App::$strings["Other networks and post services"] = "Invio ad altre reti o a siti esterni";
+App::$strings["Set publish date"] = "Data di uscita programmata";
+App::$strings["Commented Order"] = "Commenti recenti";
+App::$strings["Sort by Comment Date"] = "Per data del commento";
+App::$strings["Posted Order"] = "Post recenti";
+App::$strings["Sort by Post Date"] = "Per data di creazione";
+App::$strings["Posts that mention or involve you"] = "Post che ti riguardano";
+App::$strings["Activity Stream - by date"] = "Elenco attività - per data";
+App::$strings["Starred"] = "Preferiti";
+App::$strings["Favourite Posts"] = "Post preferiti";
+App::$strings["Spam"] = "Spam";
+App::$strings["Posts flagged as SPAM"] = "Post marcati come spam";
+App::$strings["Status Messages and Posts"] = "Post e messaggi di stato";
+App::$strings["Profile Details"] = "Dettagli del profilo";
+App::$strings["Photo Albums"] = "Album foto";
+App::$strings["Files and Storage"] = "Archivio file";
+App::$strings["Bookmarks"] = "Segnalibri";
+App::$strings["Saved Bookmarks"] = "Segnalibri salvati";
+App::$strings["View Cards"] = "";
+App::$strings["articles"] = "";
+App::$strings["View Articles"] = "";
+App::$strings["View Webpages"] = "";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Partecipa",
+ 1 => "Partecipano",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Non partecipa",
+ 1 => "Non partecipano",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indeciso",
+ 1 => "Indecisi",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "D'accordo",
+ 1 => "D'accordo",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Non d'accordo",
+ 1 => "Non d'accordo",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "Astenuto",
+ 1 => "Astenuti",
+);
+App::$strings["Directory Options"] = "Visibilità negli elenchi pubblici";
+App::$strings["Safe Mode"] = "Modalità SafeSearch";
+App::$strings["Public Forums Only"] = "Solo forum pubblici";
+App::$strings["This Website Only"] = "Solo in questo sito";
+App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
+App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
App::$strings["prev"] = "prec";
App::$strings["first"] = "inizio";
App::$strings["last"] = "fine";
@@ -1704,7 +2736,6 @@ App::$strings["newer"] = "più nuovi";
App::$strings["No connections"] = "Nessun contatto";
App::$strings["View all %s connections"] = "Mostra tutti i %s contatti";
App::$strings["poke"] = "poke";
-App::$strings["poked"] = "ha mandato un poke";
App::$strings["ping"] = "ping";
App::$strings["pinged"] = "ha effettuato un ping";
App::$strings["prod"] = "spintone";
@@ -1759,12 +2790,16 @@ App::$strings["Unknown Attachment"] = "Allegato non riconoscuto";
App::$strings["unknown"] = "sconosciuta";
App::$strings["remove category"] = "rimuovi la categoria";
App::$strings["remove from file"] = "rimuovi dal file";
+App::$strings["Download binary/encrypted content"] = "";
App::$strings["default"] = "predefinito";
App::$strings["Page layout"] = "Layout della pagina";
App::$strings["You can create your own with the layouts tool"] = "Puoi creare un tuo layout dalla configurazione delle pagine web";
+App::$strings["HTML"] = "";
+App::$strings["Comanche Layout"] = "";
+App::$strings["PHP"] = "";
App::$strings["Page content type"] = "Tipo di contenuto della pagina";
-App::$strings["Select an alternate language"] = "Seleziona una lingua diversa";
App::$strings["activity"] = "l'attività";
+App::$strings["a-z, 0-9, -, and _ only"] = "";
App::$strings["Design Tools"] = "Strumenti di design";
App::$strings["Pages"] = "Pagine";
App::$strings["Import website..."] = "Importazione sito web...";
@@ -1782,204 +2817,28 @@ App::$strings["Export to cloud files"] = "Esporta nell'archivio cloud";
App::$strings["/path/to/export/folder"] = "/percorso/alla/cartella";
App::$strings["Enter a path to a cloud files destination."] = "Scegli la posizione su una cartella cloud.";
App::$strings["Specify folder"] = "Scegli la cartella";
-App::$strings["Invalid data packet"] = "Dati ricevuti non validi";
-App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
-App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
-App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
-App::$strings["Not a valid email address"] = "Email non valida";
-App::$strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
-App::$strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
-App::$strings["An invitation is required."] = "È necessario un invito.";
-App::$strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
-App::$strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
-App::$strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
-App::$strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
-App::$strings["Registration request at %s"] = "Richiesta di registrazione su %s";
-App::$strings["Administrator"] = "Amministratore";
-App::$strings["your registration password"] = "la password di registrazione";
-App::$strings["Registration details for %s"] = "Dettagli della registrazione di %s";
-App::$strings["Account approved."] = "Account approvato.";
-App::$strings["Registration revoked for %s"] = "Registrazione revocata per %s";
-App::$strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
-App::$strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
-App::$strings["No recipient provided."] = "Devi scegliere un destinatario.";
-App::$strings["[no subject]"] = "[nessun titolo]";
-App::$strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
-App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
-App::$strings["Frequently"] = "Frequentemente";
-App::$strings["Hourly"] = "Ogni ora";
-App::$strings["Twice daily"] = "Due volte al giorno";
-App::$strings["Daily"] = "Ogni giorno";
-App::$strings["Weekly"] = "Ogni settimana";
-App::$strings["Monthly"] = "Ogni mese";
-App::$strings["Male"] = "Maschio";
-App::$strings["Female"] = "Femmina";
-App::$strings["Currently Male"] = "Al momento maschio";
-App::$strings["Currently Female"] = "Al momento femmina";
-App::$strings["Mostly Male"] = "Prevalentemente maschio";
-App::$strings["Mostly Female"] = "Prevalentemente femmina";
-App::$strings["Transgender"] = "Transgender";
-App::$strings["Intersex"] = "Intersex";
-App::$strings["Transsexual"] = "Transessuale";
-App::$strings["Hermaphrodite"] = "Ermafrodito";
-App::$strings["Neuter"] = "Neutro";
-App::$strings["Non-specific"] = "Non specificato";
-App::$strings["Undecided"] = "Indeciso";
-App::$strings["Males"] = "Maschi";
-App::$strings["Females"] = "Femmine";
-App::$strings["Gay"] = "Gay";
-App::$strings["Lesbian"] = "Lesbica";
-App::$strings["No Preference"] = "Senza preferenza";
-App::$strings["Bisexual"] = "Bisessuale";
-App::$strings["Autosexual"] = "Autosessuale";
-App::$strings["Abstinent"] = "Astinente";
-App::$strings["Virgin"] = "Vergine";
-App::$strings["Deviant"] = "Deviato";
-App::$strings["Fetish"] = "Feticista";
-App::$strings["Oodles"] = "Un sacco";
-App::$strings["Nonsexual"] = "Asessuato";
-App::$strings["Single"] = "Single";
-App::$strings["Lonely"] = "Da solo";
-App::$strings["Available"] = "Disponibile";
-App::$strings["Unavailable"] = "Non disponibile";
-App::$strings["Has crush"] = "Ha una cotta";
-App::$strings["Infatuated"] = "Infatuato/a";
-App::$strings["Dating"] = "Disponibile a un incontro";
-App::$strings["Unfaithful"] = "Infedele";
-App::$strings["Sex Addict"] = "Sesso-dipendente";
-App::$strings["Friends/Benefits"] = "Amici con qualcosa in più";
-App::$strings["Casual"] = "Casual";
-App::$strings["Engaged"] = "Impegnato";
-App::$strings["Married"] = "Sposato/a";
-App::$strings["Imaginarily married"] = "Con matrimonio immaginario";
-App::$strings["Partners"] = "Partner";
-App::$strings["Cohabiting"] = "Convivente";
-App::$strings["Common law"] = "Matrimonio regolare";
-App::$strings["Happy"] = "Felice";
-App::$strings["Not looking"] = "Non in cerca";
-App::$strings["Swinger"] = "Scambista";
-App::$strings["Betrayed"] = "Tradito/a";
-App::$strings["Separated"] = "Separato/a";
-App::$strings["Unstable"] = "Instabile";
-App::$strings["Divorced"] = "Divorziato/a";
-App::$strings["Imaginarily divorced"] = "Sogna il divorzio";
-App::$strings["Widowed"] = "Vedovo/a";
-App::$strings["Uncertain"] = "Incerto/a";
-App::$strings["It's complicated"] = "Relazione complicata";
-App::$strings["Don't care"] = "Chi se ne frega";
-App::$strings["Ask me"] = "Chiedimelo";
-App::$strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
-App::$strings["Empty name"] = "Nome vuoto";
-App::$strings["Name too long"] = "Nome troppo lungo";
-App::$strings["No account identifier"] = "Account senza identificativo";
-App::$strings["Nickname is required."] = "Il nome dell'account è obbligatorio.";
-App::$strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
-App::$strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
-App::$strings["Default Profile"] = "Profilo predefinito";
-App::$strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
-App::$strings["Create New Profile"] = "Crea un nuovo profilo";
-App::$strings["Edit Profile"] = "Modifica il profilo";
-App::$strings["Visible to everybody"] = "Visibile a tutti";
-App::$strings["Gender:"] = "Sesso:";
-App::$strings["Status:"] = "Stato:";
-App::$strings["Homepage:"] = "Home page:";
-App::$strings["Online Now"] = "Online adesso";
-App::$strings["Like this channel"] = "Mi piace questo canale";
-App::$strings["j F, Y"] = "j F Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Compleanno:";
-App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Preferenze sessuali:";
-App::$strings["Tags:"] = "Tag:";
-App::$strings["Political Views:"] = "Orientamento politico:";
-App::$strings["Religion:"] = "Religione:";
-App::$strings["Hobbies/Interests:"] = "Interessi e hobby:";
-App::$strings["Likes:"] = "Mi piace:";
-App::$strings["Dislikes:"] = "Non mi piace:";
-App::$strings["Contact information and Social Networks:"] = "Contatti e social network:";
-App::$strings["My other channels:"] = "I miei altri canali:";
-App::$strings["Musical interests:"] = "Gusti musicali:";
-App::$strings["Books, literature:"] = "Libri, letteratura:";
-App::$strings["Television:"] = "Televisione:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:";
-App::$strings["Love/Romance:"] = "Amore:";
-App::$strings["Work/employment:"] = "Lavoro:";
-App::$strings["School/education:"] = "Scuola:";
-App::$strings["Like this thing"] = "Mi piace";
-App::$strings["Who can see this?"] = "Chi può vederlo?";
-App::$strings["Custom selection"] = "Selezione personalizzata";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\".";
-App::$strings["Show"] = "Mostra";
-App::$strings["Don't show"] = "Non mostrare";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post.";
-App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso.";
-App::$strings["Add new connections to this privacy group"] = "Aggiungi nuovi contatti a questo gruppo di canali";
-App::$strings["edit"] = "modifica";
-App::$strings["Edit group"] = "Modifica il gruppo";
-App::$strings["Add privacy group"] = "Crea un gruppo di canali";
-App::$strings["Channels not in any privacy group"] = "Canali che non sono in nessun gruppo";
-App::$strings["add"] = "aggiungi";
-App::$strings["New window"] = "Nuova finestra";
-App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
-App::$strings["User '%s' deleted"] = "Utente '%s' eliminato";
-App::$strings["New Page"] = "Nuova pagina web";
-App::$strings["Title"] = "Titolo";
-App::$strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
-App::$strings["Logout"] = "Esci";
-App::$strings["End this session"] = "Chiudi questa sessione";
-App::$strings["Home"] = "Bacheca";
-App::$strings["Your posts and conversations"] = "I tuoi post e conversazioni";
-App::$strings["Your profile page"] = "Il tuo profilo";
-App::$strings["Manage/Edit profiles"] = "Gestisci i tuoi profili";
-App::$strings["Edit your profile"] = "Modifica il tuo profilo";
-App::$strings["Your photos"] = "Le tue foto";
-App::$strings["Your files"] = "I tuoi file";
-App::$strings["Your chatrooms"] = "Le tue chat";
-App::$strings["Bookmarks"] = "Segnalibri";
-App::$strings["Your bookmarks"] = "I tuoi segnalibri";
-App::$strings["Your webpages"] = "Le tue pagine web";
-App::$strings["Your wiki"] = "La tua wiki";
-App::$strings["Sign in"] = "Accedi";
-App::$strings["%s - click to logout"] = "%s - clicca per uscire";
-App::$strings["Remote authentication"] = "Accedi dal tuo hub";
-App::$strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale";
-App::$strings["Home Page"] = "Bacheca";
-App::$strings["Create an account"] = "Crea un account";
-App::$strings["Help and documentation"] = "Guida e documentazione";
-App::$strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto";
-App::$strings["Channel Directory"] = "Elenchi pubblici dei canali";
-App::$strings["Your grid"] = "La tua rete";
-App::$strings["Mark all grid notifications seen"] = "Segna come lette le notifiche della tua rete";
-App::$strings["Channel home"] = "Bacheca del canale";
-App::$strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
-App::$strings["Notices"] = "Avvisi";
-App::$strings["Notifications"] = "Notifiche";
-App::$strings["See all notifications"] = "Vedi tutte le notifiche";
-App::$strings["Private mail"] = "Messaggi privati";
-App::$strings["See all private messages"] = "Guarda tutti i messaggi privati";
-App::$strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
-App::$strings["Inbox"] = "In arrivo";
-App::$strings["Outbox"] = "Inviati";
-App::$strings["New Message"] = "Nuovo messaggio";
-App::$strings["Event Calendar"] = "Calendario";
-App::$strings["See all events"] = "Guarda tutti gli eventi";
-App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
-App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
-App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
-App::$strings["Admin"] = "Amministrazione";
-App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
-App::$strings["Loading..."] = "Caricamento in corso...";
-App::$strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto";
-App::$strings["Please wait..."] = "Attendere...";
-App::$strings["Attachments:"] = "Allegati:";
-App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-App::$strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:";
-App::$strings["Starts:"] = "Inizio:";
-App::$strings["Finishes:"] = "Fine:";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invito disponibile",
+ 1 => "%d inviti disponibili",
+);
+App::$strings["Find Channels"] = "Ricerca canali";
+App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
+App::$strings["Connect/Follow"] = "Aggiungi";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
+App::$strings["Random Profile"] = "Profilo casuale";
+App::$strings["Invite Friends"] = "Invita amici";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
+App::$strings["Common Connections"] = "";
+App::$strings["View all %d common connections"] = "";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
+App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
+App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
+App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
+App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
+App::$strings["Remote channel or protocol unavailable."] = "";
+App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
+App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
+App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
App::$strings["Delete this item?"] = "Eliminare questo elemento?";
App::$strings["%s show less"] = "%s riduci";
App::$strings["%s expand"] = "%s mostra tutto";
@@ -1998,8 +2857,8 @@ App::$strings["Please enter a link URL"] = "Inserisci l'URL di un link";
App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Non hai salvato i cambiamenti. Vuoi davvero lasciare questa pagina?";
App::$strings["timeago.prefixAgo"] = "timeago.prefixAgo";
App::$strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-App::$strings["ago"] = "fa";
-App::$strings["from now"] = "da adesso";
+App::$strings["timeago.suffixAgo"] = "";
+App::$strings["timeago.suffixFromNow"] = "";
App::$strings["less than a minute"] = "meno di un minuto";
App::$strings["about a minute"] = "circa un minuto";
App::$strings["%d minutes"] = "%d minuti";
@@ -2038,113 +2897,240 @@ App::$strings["__ctx:calendar__ month"] = "mese";
App::$strings["__ctx:calendar__ week"] = "settimana";
App::$strings["__ctx:calendar__ day"] = "giorno";
App::$strings["__ctx:calendar__ All day"] = "Tutto il giorno";
-App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
-App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
-App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
-App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
-App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
-App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
-App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
+App::$strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
+App::$strings["No recipient provided."] = "Devi scegliere un destinatario.";
+App::$strings["[no subject]"] = "[nessun titolo]";
+App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
+App::$strings[" and "] = "e";
+App::$strings["public profile"] = "profilo pubblico";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
+App::$strings["Item was not found."] = "Elemento non trovato.";
+App::$strings["No source file."] = "Nessun file di origine.";
+App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
+App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
+App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
+App::$strings["Path not available."] = "Percorso non disponibile.";
+App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
+App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
+App::$strings["Path not found."] = "Percorso del file non trovato.";
+App::$strings["mkdir failed."] = "mkdir fallito.";
+App::$strings["database storage failed."] = "scrittura su database fallita.";
+App::$strings["Empty path"] = "La posizione è vuota";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
+App::$strings["(Unknown)"] = "(Sconosciuto)";
+App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
+App::$strings["Visible to you only."] = "Visibile solo a te.";
+App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
+App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
+App::$strings["Visible to anybody on %s."] = "Visibile a tutti su %s.";
+App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
+App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
+App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
+App::$strings["Privacy group is empty."] = "Gruppo di canali vuoto.";
+App::$strings["Privacy group: %s"] = "Gruppo di canali: %s";
+App::$strings["Connection not found."] = "Contatto non trovato.";
+App::$strings["profile photo"] = "foto del profilo";
+App::$strings["[Edited %s]"] = "";
+App::$strings["__ctx:edit_activity__ Post"] = "";
+App::$strings["__ctx:edit_activity__ Comment"] = "";
+App::$strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
+App::$strings["Empty name"] = "Nome vuoto";
+App::$strings["Name too long"] = "Nome troppo lungo";
+App::$strings["No account identifier"] = "Account senza identificativo";
+App::$strings["Nickname is required."] = "Il nome dell'account è obbligatorio.";
+App::$strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
+App::$strings["Default Profile"] = "Profilo predefinito";
+App::$strings["Unable to retrieve modified identity"] = "";
+App::$strings["Create New Profile"] = "Crea un nuovo profilo";
+App::$strings["Visible to everybody"] = "Visibile a tutti";
+App::$strings["Gender:"] = "Sesso:";
+App::$strings["Homepage:"] = "Home page:";
+App::$strings["Online Now"] = "Online adesso";
+App::$strings["Change your profile photo"] = "";
+App::$strings["Trans"] = "";
+App::$strings["Like this channel"] = "Mi piace questo canale";
+App::$strings["j F, Y"] = "j F Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "Compleanno:";
+App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Preferenze sessuali:";
+App::$strings["Tags:"] = "Tag:";
+App::$strings["Political Views:"] = "Orientamento politico:";
+App::$strings["Religion:"] = "Religione:";
+App::$strings["Hobbies/Interests:"] = "Interessi e hobby:";
+App::$strings["Likes:"] = "Mi piace:";
+App::$strings["Dislikes:"] = "Non mi piace:";
+App::$strings["Contact information and Social Networks:"] = "Contatti e social network:";
+App::$strings["My other channels:"] = "I miei altri canali:";
+App::$strings["Musical interests:"] = "Gusti musicali:";
+App::$strings["Books, literature:"] = "Libri, letteratura:";
+App::$strings["Television:"] = "Televisione:";
+App::$strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:";
+App::$strings["Love/Romance:"] = "Amore:";
+App::$strings["Work/employment:"] = "Lavoro:";
+App::$strings["School/education:"] = "Scuola:";
+App::$strings["Like this thing"] = "Mi piace";
+App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+App::$strings["Starts:"] = "Inizio:";
+App::$strings["Finishes:"] = "Fine:";
+App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
+App::$strings["Not specified"] = "Non specificato";
+App::$strings["Needs Action"] = "Necessita di un intervento";
+App::$strings["Completed"] = "Completato";
+App::$strings["In Process"] = "In corso";
+App::$strings["Cancelled"] = "Annullato";
+App::$strings["Home, Voice"] = "";
+App::$strings["Home, Fax"] = "";
+App::$strings["Work, Voice"] = "";
+App::$strings["Work, Fax"] = "";
+App::$strings["view full size"] = "guarda nelle dimensioni reali";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Select an alternate language"] = "Seleziona una lingua diversa";
+App::$strings["Who can see this?"] = "Chi può vederlo?";
+App::$strings["Custom selection"] = "Selezione personalizzata";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\".";
+App::$strings["Show"] = "Mostra";
+App::$strings["Don't show"] = "Non mostrare";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post.";
+App::$strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
App::$strings["Image/photo"] = "Immagine";
App::$strings["Encrypted content"] = "Contenuto cifrato";
-App::$strings["Install %s element: "] = "Installa l'elemento %s:";
+App::$strings["Install %1\$s element %2\$s"] = "";
App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
+App::$strings["card"] = "";
+App::$strings["article"] = "";
App::$strings["Click to open/close"] = "Clicca per aprire/chiudere";
App::$strings["spoiler"] = "spoiler";
+App::$strings["View article"] = "";
+App::$strings["View summary"] = "";
App::$strings["$1 wrote:"] = "$1 ha scritto:";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
-App::$strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
-App::$strings["Categories:"] = "Categorie:";
-App::$strings["Filed under:"] = "Classificato come:";
-App::$strings["View in context"] = "Vedi nel contesto";
-App::$strings["remove"] = "rimuovi";
-App::$strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
-App::$strings["View Source"] = "Vedi il sorgente";
-App::$strings["Follow Thread"] = "Segui la discussione";
-App::$strings["Unfollow Thread"] = "Non seguire la discussione";
-App::$strings["Activity/Posts"] = "Attività e Post";
-App::$strings["Edit Connection"] = "Modifica il contatto";
-App::$strings["Message"] = "Messaggio";
-App::$strings["%s likes this."] = "Piace a %s.";
-App::$strings["%s doesn't like this."] = "Non piace a %s.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "",
- 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "",
- 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
-);
-App::$strings["and"] = "e";
-App::$strings[", and %d other people"] = array(
- 0 => "",
- 1 => "e altre %d persone",
-);
-App::$strings["%s like this."] = "Piace a %s.";
-App::$strings["%s don't like this."] = "Non piace a %s.";
-App::$strings["Set your location"] = "La tua località";
-App::$strings["Clear browser location"] = "Rimuovi la località data dal browser";
-App::$strings["Tag term:"] = "Tag:";
-App::$strings["Where are you right now?"] = "Dove sei ora?";
-App::$strings["Comments enabled"] = "Commenti abilitati";
-App::$strings["Comments disabled"] = "Commenti disabilitati";
-App::$strings["Page link name"] = "Nome del link alla pagina";
-App::$strings["Post as"] = "Pubblica come ";
-App::$strings["Toggle voting"] = "Abilita/disabilita il voto";
-App::$strings["Disable comments"] = "Disabilita i commenti";
-App::$strings["Toggle comments"] = "Abilita/disabilita i commenti";
-App::$strings["Categories (optional, comma-separated list)"] = "Categorie (facoltative, lista separata da virgole)";
-App::$strings["Other networks and post services"] = "Invio ad altre reti o a siti esterni";
-App::$strings["Set publish date"] = "Data di uscita programmata";
-App::$strings["Discover"] = "Scopri";
-App::$strings["Imported public streams"] = "Contenuti pubblici importati";
-App::$strings["Commented Order"] = "Commenti recenti";
-App::$strings["Sort by Comment Date"] = "Per data del commento";
-App::$strings["Posted Order"] = "Post recenti";
-App::$strings["Sort by Post Date"] = "Per data di creazione";
-App::$strings["Posts that mention or involve you"] = "Post che ti riguardano";
-App::$strings["Activity Stream - by date"] = "Elenco attività - per data";
-App::$strings["Starred"] = "Preferiti";
-App::$strings["Favourite Posts"] = "Post preferiti";
-App::$strings["Spam"] = "Spam";
-App::$strings["Posts flagged as SPAM"] = "Post marcati come spam";
-App::$strings["Status Messages and Posts"] = "Post e messaggi di stato";
-App::$strings["About"] = "Informazioni";
-App::$strings["Profile Details"] = "Dettagli del profilo";
-App::$strings["Files and Storage"] = "Archivio file";
-App::$strings["Chatrooms"] = "Chat";
-App::$strings["Saved Bookmarks"] = "Segnalibri salvati";
-App::$strings["Manage Webpages"] = "Gestisci le pagine web";
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "Partecipa",
- 1 => "Partecipano",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "Non partecipa",
- 1 => "Non partecipano",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "Indeciso",
- 1 => "Indecisi",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "D'accordo",
- 1 => "D'accordo",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Non d'accordo",
- 1 => "Non d'accordo",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "Astenuto",
- 1 => "Astenuti",
-);
+App::$strings[" by "] = "di";
+App::$strings[" on "] = "su";
+App::$strings["Embedded content"] = "Contenuti incorporati";
+App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
+App::$strings["OpenWebAuth: %1\$s welcomes %2\$s"] = "";
+App::$strings["General Features"] = "Funzionalità di base";
+App::$strings["Advanced Profiles"] = "Profili avanzati";
+App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
+App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
+App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi";
+App::$strings["Web Pages"] = "Pagine web";
+App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
+App::$strings["Provide a wiki for your channel"] = "Fornisce una wiki per il tuo canale";
+App::$strings["Private Notes"] = "Note private";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Abilita il riquadro per scrivere annotazioni (in chiaro)";
+App::$strings["Create personal planning cards"] = "";
+App::$strings["Create interactive articles"] = "";
+App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
+App::$strings["Photo Location"] = "Posizione geografica";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
+App::$strings["Access Controlled Chatrooms"] = "Chat ad accesso riservato";
+App::$strings["Provide chatrooms and chat services with access control."] = "Il servizio di chat con accesso riservato.";
+App::$strings["Smart Birthdays"] = "Compleanni intelligenti";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo.";
+App::$strings["Event Timezone Selection"] = "";
+App::$strings["Allow event creation in timezones other than your own."] = "";
+App::$strings["Premium Channel"] = "Canale premium";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale";
+App::$strings["Advanced Directory Search"] = "Ricerca avanzata sugli elenchi pubblici";
+App::$strings["Allows creation of complex directory search queries"] = "Permette la creazione di ricerche complesse negli elenchi";
+App::$strings["Advanced Theme and Layout Settings"] = "Impostazioni avanzate del tema e dei layout";
+App::$strings["Allows fine tuning of themes and page layouts"] = "Permette una personalizzazione accurata del tema e dei layout";
+App::$strings["Access Control and Permissions"] = "";
+App::$strings["Privacy Groups"] = "Gruppi di canali";
+App::$strings["Enable management and selection of privacy groups"] = "Abilita i gruppi di canali";
+App::$strings["Multiple Profiles"] = "Profili multipli";
+App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
+App::$strings["Provide alternate connection permission roles."] = "";
+App::$strings["OAuth Clients"] = "";
+App::$strings["Manage authenticatication tokens for mobile and remote apps."] = "";
+App::$strings["Access Tokens"] = "";
+App::$strings["Create access tokens so that non-members can access private content."] = "";
+App::$strings["Post Composition Features"] = "Modalità di scrittura post";
+App::$strings["Large Photos"] = "Foto grandi";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
+App::$strings["Even More Encryption"] = "Cifratura addizionale";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi";
+App::$strings["Enable Voting Tools"] = "Permetti i post con votazione";
+App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
+App::$strings["Disable Comments"] = "Disabilita i commenti";
+App::$strings["Provide the option to disable comments for a post"] = "Permetti di disabilitare i commenti";
+App::$strings["Delayed Posting"] = "Pubblicazione ritardata";
+App::$strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post";
+App::$strings["Content Expiration"] = "Scadenza";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima.";
+App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
+App::$strings["Search by Date"] = "Ricerca per data";
+App::$strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
+App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
+App::$strings["Network Personal Tab"] = "Attività personale";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
+App::$strings["Network New Tab"] = "Contenuti nuovi";
+App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
+App::$strings["Affinity Tool"] = "Filtro per affinità";
+App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
+App::$strings["Show friend and connection suggestions"] = "Mostra suggerimenti di contatti e amici";
+App::$strings["Connection Filtering"] = "Filtro sui contatti";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave";
+App::$strings["Post/Comment Tools"] = "Gestione post e commenti";
+App::$strings["Community Tagging"] = "Tag della comunità";
+App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
+App::$strings["Post Categories"] = "Categorie dei post";
+App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
+App::$strings["Emoji Reactions"] = "Risposte emoji";
+App::$strings["Add emoji reaction ability to posts"] = "Permetti di rispondere ai post con degli emoji";
+App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
+App::$strings["Dislike Posts"] = "Non mi piace";
+App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
+App::$strings["Star Posts"] = "Post con stella";
+App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
+App::$strings["Tag Cloud"] = "Nuvola di tag";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
+App::$strings["Tags"] = "Tag";
+App::$strings["Keywords"] = "Parole chiave";
+App::$strings["have"] = "ho";
+App::$strings["has"] = "ha";
+App::$strings["want"] = "voglio";
+App::$strings["wants"] = "vuole";
+App::$strings["likes"] = "gli piace";
+App::$strings["dislikes"] = "non gli piace";
+App::$strings["Not a valid email address"] = "Email non valida";
+App::$strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
+App::$strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
+App::$strings["An invitation is required."] = "È necessario un invito.";
+App::$strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
+App::$strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
+App::$strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
+App::$strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
+App::$strings["Registration request at %s"] = "Richiesta di registrazione su %s";
+App::$strings["your registration password"] = "la password di registrazione";
+App::$strings["Registration details for %s"] = "Dettagli della registrazione di %s";
+App::$strings["Account approved."] = "Account approvato.";
+App::$strings["Registration revoked for %s"] = "Registrazione revocata per %s";
+App::$strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
+App::$strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
App::$strings["Birthday"] = "Compleanno";
App::$strings["Age: "] = "Età:";
App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG";
-App::$strings["never"] = "mai";
App::$strings["less than a second ago"] = "meno di un secondo fa";
App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa";
App::$strings["__ctx:relative_date__ year"] = array(
@@ -2177,191 +3163,45 @@ App::$strings["__ctx:relative_date__ second"] = array(
);
App::$strings["%1\$s's birthday"] = "Compleanno di %1\$s";
App::$strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
-App::$strings["Directory Options"] = "Visibilità negli elenchi pubblici";
-App::$strings["Safe Mode"] = "Modalità SafeSearch";
-App::$strings["Public Forums Only"] = "Solo forum pubblici";
-App::$strings["This Website Only"] = "Solo in questo sito";
-App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
-App::$strings["Not specified"] = "Non specificato";
-App::$strings["Needs Action"] = "Necessita di un intervento";
-App::$strings["Completed"] = "Completato";
-App::$strings["In Process"] = "In corso";
-App::$strings["Cancelled"] = "Annullato";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
-App::$strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
-App::$strings["Unable to import element \""] = "Impossibile importare l'elemento \"";
+App::$strings["Remote authentication"] = "Accedi dal tuo hub";
+App::$strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale";
+App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
+App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
+App::$strings["End this session"] = "Chiudi questa sessione";
+App::$strings["Your profile page"] = "Il tuo profilo";
+App::$strings["Manage/Edit profiles"] = "Gestisci i tuoi profili";
+App::$strings["Sign in"] = "Accedi";
+App::$strings["Take me home"] = "";
+App::$strings["Log me out of this site"] = "";
+App::$strings["Create an account"] = "Crea un account";
+App::$strings["Help and documentation"] = "Guida e documentazione";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto";
+App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
+App::$strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto";
+App::$strings["Please wait..."] = "Attendere...";
+App::$strings["Add Apps"] = "";
+App::$strings["Arrange Apps"] = "";
+App::$strings["Toggle System Apps"] = "";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
+App::$strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
+App::$strings["Photo storage failed."] = "Impossibile salvare la foto.";
+App::$strings["a new photo"] = "una nuova foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha pubblicato %2\$s su %3\$s";
+App::$strings["Upload New Photos"] = "Carica nuove foto";
+App::$strings["Invalid data packet"] = "Dati ricevuti non validi";
+App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
+App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
+App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso.";
+App::$strings["Add new connections to this privacy group"] = "Aggiungi nuovi contatti a questo gruppo di canali";
+App::$strings["edit"] = "modifica";
+App::$strings["Edit group"] = "Modifica il gruppo";
+App::$strings["Add privacy group"] = "Crea un gruppo di canali";
+App::$strings["Channels not in any privacy group"] = "Canali che non sono in nessun gruppo";
+App::$strings["New window"] = "Nuova finestra";
+App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
App::$strings["Logged out."] = "Uscita effettuata.";
+App::$strings["Email validation is incomplete. Please check your email."] = "";
App::$strings["Failed authentication"] = "Autenticazione fallita";
-App::$strings["Login failed."] = "Accesso fallito.";
-App::$strings[" and "] = "e";
-App::$strings["public profile"] = "profilo pubblico";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
-App::$strings["view full size"] = "guarda nelle dimensioni reali";
-App::$strings["No Subject"] = "Nessun titolo";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["GNU-Social"] = "GNU-Social";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["Categories"] = "Categorie";
-App::$strings["Tags"] = "Tag";
-App::$strings["Keywords"] = "Parole chiave";
-App::$strings["have"] = "ho";
-App::$strings["has"] = "ha";
-App::$strings["want"] = "voglio";
-App::$strings["wants"] = "vuole";
-App::$strings["likes"] = "gli piace";
-App::$strings["dislikes"] = "non gli piace";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invito disponibile",
- 1 => "%d inviti disponibili",
-);
-App::$strings["Find Channels"] = "Ricerca canali";
-App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
-App::$strings["Connect/Follow"] = "Aggiungi";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
-App::$strings["Random Profile"] = "Profilo casuale";
-App::$strings["Invite Friends"] = "Invita amici";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
-App::$strings["Everything"] = "Tutto";
-App::$strings["%d connection in common"] = array(
- 0 => "%d contatto in comune",
- 1 => "%d contatti in comune",
-);
-App::$strings["show more"] = "mostra tutto";
-App::$strings["System"] = "Sistema";
-App::$strings["New App"] = "Nuova app";
-App::$strings["Suggestions"] = "Suggerimenti";
-App::$strings["See more..."] = "Altro...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
-App::$strings["Add New Connection"] = "Aggiungi un contatto";
-App::$strings["Enter channel address"] = "Indirizzo del canale";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Per esempio: bob@example.com, https://example.com/barbara";
-App::$strings["Notes"] = "Note";
-App::$strings["Remove term"] = "Rimuovi termine";
-App::$strings["Archives"] = "Archivi";
-App::$strings["Refresh"] = "Aggiorna";
-App::$strings["Account settings"] = "Il tuo account";
-App::$strings["Channel settings"] = "Impostazioni del canale";
-App::$strings["Additional features"] = "Funzionalità opzionali";
-App::$strings["Feature/Addon settings"] = "Componenti aggiuntivi";
-App::$strings["Display settings"] = "Aspetto";
-App::$strings["Manage locations"] = "Gestione cloni del tuo canale";
-App::$strings["Export channel"] = "Esporta il canale";
-App::$strings["Connected apps"] = "App connesse";
-App::$strings["Premium Channel Settings"] = "Canale premium - impostazioni";
-App::$strings["Private Mail Menu"] = "Menu messaggi privati";
-App::$strings["Combined View"] = "Vista combinata";
-App::$strings["Conversations"] = "Conversazioni";
-App::$strings["Received Messages"] = "Ricevuti";
-App::$strings["Sent Messages"] = "Inviati";
-App::$strings["No messages."] = "Nessun messaggio.";
-App::$strings["Delete conversation"] = "Elimina la conversazione";
-App::$strings["Events Tools"] = "Gestione eventi";
-App::$strings["Export Calendar"] = "Esporta calendario";
-App::$strings["Import Calendar"] = "Importa calendario";
-App::$strings["Overview"] = "Riepilogo";
-App::$strings["Chat Members"] = "Partecipanti";
-App::$strings["Wiki List"] = "Elenco wiki";
-App::$strings["Wiki Pages"] = "Pagine wiki";
-App::$strings["Bookmarked Chatrooms"] = "Chat nei segnalibri";
-App::$strings["Suggested Chatrooms"] = "Chat suggerite";
-App::$strings["photo/image"] = "foto/immagine";
-App::$strings["Click to show more"] = "Clicca per mostrare tutto";
-App::$strings["Rating Tools"] = "Valutazione";
-App::$strings["Rate Me"] = "Valutami";
-App::$strings["View Ratings"] = "Vedi le valutazioni ricevute";
-App::$strings["Forums"] = "Forum";
-App::$strings["Tasks"] = "Attività";
-App::$strings["Documentation"] = "Guida";
-App::$strings["Member registrations waiting for confirmation"] = "Richieste in attesa di conferma";
-App::$strings["Inspect queue"] = "Coda di attesa";
-App::$strings["DB updates"] = "Aggiornamenti al DB";
-App::$strings["Plugin Features"] = "Plugin";
-App::$strings["Public Timeline"] = "Diario pubblico";
-App::$strings[" by "] = "di";
-App::$strings[" on "] = "su";
-App::$strings["Embedded content"] = "Contenuti incorporati";
-App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
-App::$strings["(Unknown)"] = "(Sconosciuto)";
-App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
-App::$strings["Visible to you only."] = "Visibile solo a te.";
-App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
-App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
-App::$strings["Visible to anybody on %s."] = "Visibile a tutti su %s.";
-App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
-App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
-App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
-App::$strings["Privacy group is empty."] = "Gruppo di canali vuoto.";
-App::$strings["Privacy group: %s"] = "Gruppo di canali: %s";
-App::$strings["Connection not found."] = "Contatto non trovato.";
-App::$strings["profile photo"] = "foto del profilo";
-App::$strings["Item was not found."] = "Elemento non trovato.";
-App::$strings["No source file."] = "Nessun file di origine.";
-App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
-App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
-App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
-App::$strings["Path not available."] = "Percorso non disponibile.";
-App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
-App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
-App::$strings["Path not found."] = "Percorso del file non trovato.";
-App::$strings["mkdir failed."] = "mkdir fallito.";
-App::$strings["database storage failed."] = "scrittura su database fallita.";
-App::$strings["Empty path"] = "La posizione è vuota";
-App::$strings["Focus (Hubzilla default)"] = "Focus (predefinito)";
-App::$strings["Theme settings"] = "Impostazioni del tema";
-App::$strings["Narrow navbar"] = "Barra di navigazione ristretta";
-App::$strings["Navigation bar background color"] = "Barra di navigazione: Colore di sfondo";
-App::$strings["Navigation bar gradient top color"] = "Barra di navigazione: Gradiente superiore";
-App::$strings["Navigation bar gradient bottom color"] = "Barra di navigazione: Gradiente inferiore";
-App::$strings["Navigation active button gradient top color"] = "Bottone di navigazione attivo: Gradiente superiore";
-App::$strings["Navigation active button gradient bottom color"] = "Bottone di navigazione attivo: Gradiente inferiore";
-App::$strings["Navigation bar border color "] = "Barra di navigazione: Colore del bordo";
-App::$strings["Navigation bar icon color "] = "Barra di navigazione: Colore delle icone";
-App::$strings["Navigation bar active icon color "] = "Barra di navigazione: Colore dell'icona attiva";
-App::$strings["link color"] = "colore del link";
-App::$strings["Set font-color for banner"] = "Colore del font del banner";
-App::$strings["Set the background color"] = "Colore di sfondo";
-App::$strings["Set the background image"] = "Immagine di sfondo";
-App::$strings["Set the background color of items"] = "Colore di sfondo degli oggetti";
-App::$strings["Set the background color of comments"] = "Colore di sfondo dei commenti";
-App::$strings["Set the border color of comments"] = "Colore del bordo dei commenti";
-App::$strings["Set the indent for comments"] = "Spostamento a destra dei commenti";
-App::$strings["Set the basic color for item icons"] = "Colore di base per le icone";
-App::$strings["Set the hover color for item icons"] = "Colore per le icone in mouse-over";
-App::$strings["Set font-size for the entire application"] = "Dimensione font per tutto il sito";
-App::$strings["Example: 14px"] = "Esempio: 14px";
-App::$strings["Set font-size for posts and comments"] = "Dimensioni del carattere per post e commenti";
-App::$strings["Set font-color for posts and comments"] = "Colore del carattere per post e commenti";
-App::$strings["Set radius of corners"] = "Raggio degli angoli stondati";
-App::$strings["Set shadow depth of photos"] = "Profondità dell'ombra delle foto";
-App::$strings["Set maximum width of content region in pixel"] = "Larghezza massima dell'area dei contenuti in pixel";
-App::$strings["Leave empty for default width"] = "Lascia vuoto per usare il valore predefinito";
-App::$strings["Left align page content"] = "Allinea a sinistra il contenuto della pagina";
-App::$strings["Set minimum opacity of nav bar - to hide it"] = "Opacità minima della barra di navigazione - per nasconderla";
-App::$strings["Set size of conversation author photo"] = "Dimensione foto dell'autore della conversazione";
-App::$strings["Set size of followup author photos"] = "Dimensione foto dei partecipanti alla conversazione";
-App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Cerca %1\$s (%2\$s)";
-App::$strings["__ctx:opensearch__ \$Projectname"] = "\$Projectname";
-App::$strings["Update %s failed. See error logs."] = "%s: aggiornamento fallito. Controlla i log di errore.";
-App::$strings["Update Error at %s"] = "Errore di aggiornamento su %s";
-App::$strings["Create an account to access services and applications within the Hubzilla"] = "Registrati per accedere ai servizi e alle applicazioni di Hubzilla";
-App::$strings["Login/Email"] = "Login/Email";
-App::$strings["Password"] = "Password";
-App::$strings["Remember me"] = "Resta connesso";
-App::$strings["Forgot your password?"] = "Hai dimenticato la password?";
-App::$strings["toggle mobile"] = "attiva/disattiva versione mobile";
-App::$strings["Website SSL certificate is not valid. Please correct."] = "Il certificato SSL del sito non è valido. Si prega di intervenire.";
-App::$strings["[hubzilla] Website SSL error for %s"] = "[hubzilla] Errore SSL su %s";
-App::$strings["Cron/Scheduled tasks not running."] = "Processi cron non avviati.";
-App::$strings["[hubzilla] Cron tasks not running on %s"] = "[hubzilla] Cron non è stato eseguito %s";
+App::$strings["Help:"] = "Guida:";
+App::$strings["Not Found"] = "Non disponibile";
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index 01def9900..be632a07e 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -60,7 +60,7 @@ function contact_format(item) {
var desc = ((item.label) ? item.nick + ' ' + item.label : item.nick);
if(typeof desc === 'undefined') desc = '';
if(desc) desc = ' ('+desc+')';
- return "<div class='{0} dropdown-item dropdown-notification clearfix' title='{4}'><img class='menu-img-2' src='{1}'><span class='contactname'>{2}</span><span class='dropdown-sub-text'>{3}</span></div>".format(item.taggable, item.photo, item.name, desc, item.link);
+ return "<div class='{0} dropdown-item dropdown-notification clearfix' title='{4}'><img class='menu-img-2' src='{1}'><span class='contactname'>{2}</span><span class='dropdown-sub-text'>{3}</span></div>".format(item.taggable, item.photo, item.name, desc, typeof(item.link) !== 'undefined' ? item.link : desc.replace('(','').replace(')',''));
}
else
return "<div>" + item.text + "</div>";
@@ -74,6 +74,10 @@ function bbco_format(item) {
return "<div class='dropdown-item'>" + item + "</div>";
}
+function tag_format(item) {
+ return "<div class='dropdown-item'>" + '#' + item.text + "</div>";
+}
+
function editor_replace(item) {
if(typeof item.replace !== 'undefined') {
return '$1$2' + item.replace;
@@ -194,7 +198,7 @@ function string2bb(element) {
// Autocomplete forums
forums = {
- match: /(^|\s)(\!)([^ \n]+)$/,
+ match: /(^|\s)(\!\!*)([^ \n]+)$/,
index: 3,
search: function(term, callback) { contact_search(term, callback, backend_url, 'f', extra_channels, spinelement=false); },
replace: editor_replace,
@@ -202,6 +206,17 @@ function string2bb(element) {
};
+ // Autocomplete hashtags
+ tags = {
+ match: /(^|\s)(\#)([^ \n]{2,})$/,
+ index: 3,
+ search: function(term, callback) { $.getJSON('/hashtags/' + '$f=&t=' + term).done(function(data) { callback($.map(data, function(entry) { return entry.text.toLowerCase().indexOf(term.toLowerCase()) === 0 ? entry : null; })); }); },
+ replace: function(item) { return "$1$2" + item.text + ' '; },
+ context: function(text) { return text.toLowerCase(); },
+ template: tag_format
+ };
+
+
smilies = {
match: /(^|\s)(:[a-z_:]{2,})$/,
index: 2,
@@ -211,7 +226,7 @@ function string2bb(element) {
template: smiley_format
};
this.attr('autocomplete','off');
- this.textcomplete([contacts,forums,smilies], {className:'acpopup', zIndex:1020});
+ this.textcomplete([contacts,forums,smilies,tags], {className:'acpopup', zIndex:1020});
};
})( jQuery );
@@ -228,8 +243,28 @@ function string2bb(element) {
replace: basic_replace,
template: contact_format,
};
+
+ // Autocomplete forums
+ forums = {
+ match: /(^\!)([^\n]{3,})$/,
+ index: 2,
+ search: function(term, callback) { contact_search(term, callback, backend_url, 'f', [], spinelement='#nav-search-spinner'); },
+ replace: basic_replace,
+ template: contact_format
+ };
+
+ // Autocomplete hashtags
+ tags = {
+ match: /(^\#)([^ \n]{3,})$/,
+ index: 2,
+ search: function(term, callback) { $.getJSON('/hashtags/' + '$f=&t=' + term).done(function(data) { callback($.map(data, function(entry) { return entry.text.toLowerCase().indexOf(term.toLowerCase()) === 0 ? entry : null; })); }); },
+ replace: function(item) { return "$1" + item.text + ' '; },
+ context: function(text) { return text.toLowerCase(); },
+ template: tag_format
+ };
+
this.attr('autocomplete', 'off');
- var a = this.textcomplete([contacts], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
+ var a = this.textcomplete([contacts,forums,tags], {className:'acpopup', maxCount:100, zIndex: 1020, appendTo:'nav'});
a.on('textComplete:select', function(e, value, strategy) { submit_form(this); });
};
})( jQuery );
diff --git a/view/js/main.js b/view/js/main.js
index f6fe475d8..acb9b462f 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -25,13 +25,14 @@ var liveRecurse = 0;
var savedTitle = '';
var initialLoad = true;
-// Clear the session storage if we switch channel or log out
+// Clear the session and local storage if we switch channel or log out
var cache_uid = '';
if(sessionStorage.getItem('uid') !== null) {
cache_uid = sessionStorage.getItem('uid');
}
if(cache_uid !== localUser.toString()) {
sessionStorage.clear();
+ localStorage.clear();
sessionStorage.setItem('uid', localUser.toString());
}
@@ -166,6 +167,7 @@ function handle_comment_form(e) {
$('#' + commentElm).addClass('expanded').removeAttr('placeholder');
$('#' + commentElm).attr('tabindex','9');
$('#' + submitElm).attr('tabindex','10');
+
form.find(':not(:visible)').show();
}
@@ -185,6 +187,37 @@ function handle_comment_form(e) {
form.find(':not(.comment-edit-text)').hide();
}
});
+
+ var commentSaveTimer = null;
+ var emptyCommentElm = form.find('.comment-edit-text').attr('id');
+ var convId = emptyCommentElm.replace('comment-edit-text-','');
+ $(document).on('focusout','#' + emptyCommentElm,function(e){
+ if(commentSaveTimer)
+ clearTimeout(commentSaveTimer);
+ commentSaveChanges(convId,true);
+ commentSaveTimer = null;
+ });
+
+ $(document).on('focusin','#' + emptyCommentElm,function(e){
+ commentSaveTimer = setTimeout(function () {
+ commentSaveChanges(convId,false);
+ },10000);
+ });
+
+ function commentSaveChanges(convId,isFinal = false) {
+ if(auto_save_draft) {
+ tmp = $('#' + emptyCommentElm).val();
+ if(tmp) {
+ localStorage.setItem("comment_body-" + convId, tmp);
+ }
+ else {
+ localStorage.removeItem("comment_body-" + convId);
+ }
+ if( !isFinal) {
+ commentSaveTimer = setTimeout(commentSaveChanges,10000,convId);
+ }
+ }
+ }
}
function commentClose(obj, id) {
@@ -304,6 +337,12 @@ function insertCommentURL(comment, id) {
return true;
}
+function doFollowAuthor(url) {
+ $.get(url, function(data) { notificationsUpdate(); });
+ return true;
+}
+
+
function viewsrc(id) {
$.colorbox({href: 'viewsrc/' + id, maxWidth: '80%', maxHeight: '80%' });
}
@@ -430,6 +469,14 @@ function handleNotifications(data) {
$('.notifications-btn-icon').removeClass('fa-exclamation-triangle');
$('.notifications-btn-icon').addClass('fa-exclamation-circle');
}
+ if(data.all_events_today) {
+ $('.all_events-update').removeClass('badge-secondary');
+ $('.all_events-update').addClass('badge-danger');
+ }
+ else {
+ $('.all_events-update').removeClass('badge-danger');
+ $('.all_events-update').addClass('badge-secondary');
+ }
$.each(data, function(index, item) {
//do not process those
@@ -551,8 +598,10 @@ function updateConvItems(mode,data) {
$('.thread-wrapper.toplevel_item',data).each(function() {
var ident = $(this).attr('id');
-
+ var convId = ident.replace('thread-wrapper-','');
var commentWrap = $('#'+ident+' .collapsed-comments').attr('id');
+
+
var itmId = 0;
var isVisible = false;
@@ -563,6 +612,9 @@ function updateConvItems(mode,data) {
if($('#collapsed-comments-'+itmId).is(':visible'))
isVisible = true;
+
+
+
// insert the content according to the mode and first_page
// and whether or not the content exists already (overwrite it)
@@ -584,6 +636,24 @@ function updateConvItems(mode,data) {
if(isVisible)
showHideComments(itmId);
+ var commentBody = localStorage.getItem("comment_body-" + convId);
+
+ if(commentBody) {
+ var commentElm = $('#comment-edit-text-' + convId);
+ if(auto_save_draft) {
+ if($(commentElm).val() === '') {
+ $('#comment-edit-form-' + convId).show();
+ $(commentElm).addClass("expanded");
+ openMenu("comment-tools-" + convId);
+ $(commentElm).val(commentBody);
+ }
+ } else {
+ localStorage.removeItem("comment_body-" + convId);
+ }
+ }
+
+
+
// trigger the autotime function on all newly created content
$("> .wall-item-outside-wrapper .autotime, > .thread-wrapper .autotime",this).timeago();
@@ -1026,18 +1096,21 @@ function dostar(ident) {
if(data.result == 1) {
$('#starred-' + ident).addClass('starred');
$('#starred-' + ident).removeClass('unstarred');
- $('#starred-' + ident).addClass('fa-star-full');
+ $('#starred-' + ident).addClass('fa-star');
$('#starred-' + ident).removeClass('fa-star-o');
$('#star-' + ident).addClass('hidden');
$('#unstar-' + ident).removeClass('hidden');
+ var btn_tpl = '<div class="btn-group" id="star-button-' + ident + '"><button type="button" class="btn btn-outline-secondary btn-sm wall-item-like" onclick="dostar(' + ident + ');"><i class="fa fa-star"></i></button></div>'
+ $('#wall-item-tools-left-' + ident).prepend(btn_tpl);
}
else {
$('#starred-' + ident).addClass('unstarred');
$('#starred-' + ident).removeClass('starred');
$('#starred-' + ident).addClass('fa-star-o');
- $('#starred-' + ident).removeClass('fa-star-full');
+ $('#starred-' + ident).removeClass('fa-star');
$('#star-' + ident).removeClass('hidden');
$('#unstar-' + ident).addClass('hidden');
+ $('#star-button-' + ident).remove();
}
$('#like-rotator-' + ident).hide();
});
@@ -1092,6 +1165,7 @@ function post_comment(id) {
$("#comment-edit-form-" + id).serialize(),
function(data) {
if(data.success) {
+ localStorage.removeItem("comment_body-" + id);
$("#comment-edit-preview-" + id).hide();
$("#comment-edit-wrapper-" + id).hide();
$("#comment-edit-text-" + id).val('');
@@ -1416,7 +1490,6 @@ function b2h(s) {
rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3\" />");
rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
- // FIXME - add zid()
rep(/\[zrl=([^\]]+)\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$2</a>");
rep(/\[zrl\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$1</a>");
rep(/\[zmg=(.*?)x(.*?)\](.*?)\[\/zmg\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3" + '?f=&zid=' + zid + "\" />");
diff --git a/view/js/mod_cover_photo.js b/view/js/mod_cover_photo.js
deleted file mode 100644
index 5b64b8b91..000000000
--- a/view/js/mod_cover_photo.js
+++ /dev/null
@@ -1,80 +0,0 @@
- var initializeEmbedPhotoDialog = function () {
- $('.embed-photo-selected-photo').each(function (index) {
- $(this).removeClass('embed-photo-selected-photo');
- });
- getPhotoAlbumList();
- $('#embedPhotoModalBodyAlbumDialog').off('click');
- $('#embedPhotoModal').modal('show');
- };
-
- var choosePhotoFromAlbum = function (album) {
- $.post("embedphotos/album", {name: album},
- function(data) {
- if (data['status']) {
- $('#embedPhotoModalLabel').html("{{$modalchooseimages}}");
- $('#embedPhotoModalBodyAlbumDialog').html('\
- <div><div class="nav nav-pills flex-column">\n\
- <li class="nav-item"><a class="nav-link" href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\
- <i class="fa fa-chevron-left"></i>&nbsp\n\
- {{$modaldiffalbum}}\n\
- </a>\n\
- </li>\n\
- </div><br></div>')
- $('#embedPhotoModalBodyAlbumDialog').append(data['content']);
- $('#embedPhotoModalBodyAlbumDialog').click(function (evt) {
- evt.preventDefault();
- var image = document.getElementById(evt.target.id);
- if (typeof($(image).parent()[0]) !== 'undefined') {
- var imageparent = document.getElementById($(image).parent()[0].id);
- $(imageparent).toggleClass('embed-photo-selected-photo');
- var href = $(imageparent).attr('href');
- $.post("embedphotos/photolink", {href: href},
- function(ddata) {
- if (ddata['status']) {
- window.location.href = 'cover_photo/use/' + ddata['resource_id'];
- } else {
- window.console.log("{{$modalerrorlink}}" + ':' + ddata['errormsg']);
- }
- return false;
- },
- 'json');
- $('#embedPhotoModalBodyAlbumDialog').html('');
- $('#embedPhotoModalBodyAlbumDialog').off('click');
- $('#embedPhotoModal').modal('hide');
- }
- });
-
- $('#embedPhotoModalBodyAlbumListDialog').addClass('d-none');
- $('#embedPhotoModalBodyAlbumDialog').removeClass('d-none');
- } else {
- window.console.log("{{$modalerroralbum}} " + JSON.stringify(album) + ':' + data['errormsg']);
- }
- return false;
- },
- 'json');
- };
-
- var getPhotoAlbumList = function () {
- $.post("embedphotos/albumlist", {},
- function(data) {
- if (data['status']) {
- var albums = data['albumlist']; //JSON.parse(data['albumlist']);
- $('#embedPhotoModalLabel').html("{{$modalchoosealbum}}");
- $('#embedPhotoModalBodyAlbumList').html('<ul class="nav nav-pills flex-column"></ul>');
- for(var i=0; i<albums.length; i++) {
- var albumName = albums[i].text;
- var jsAlbumName = albums[i].jstext;
- var albumLink = '<li class="nav-item">';
- albumLink += '<a class="nav-link" href="#" onclick="choosePhotoFromAlbum(\'' + jsAlbumName + '\'); return false;">' + albumName + '</a>';
- albumLink += '</li>';
- $('#embedPhotoModalBodyAlbumList').find('ul').append(albumLink);
- }
- $('#embedPhotoModalBodyAlbumDialog').addClass('d-none');
- $('#embedPhotoModalBodyAlbumListDialog').removeClass('d-none');
- } else {
- window.console.log("{{$modalerrorlist}}" + ':' + data['errormsg']);
- }
- return false;
- },
- 'json');
- };
diff --git a/view/js/mod_help.js b/view/js/mod_help.js
index 8ee89dd61..a37207807 100644
--- a/view/js/mod_help.js
+++ b/view/js/mod_help.js
@@ -53,7 +53,7 @@ $(document).ready(function () {
.removeClass('selected-doco-nav')
.eq(i).addClass('selected-doco-nav');
if (typeof ($('#doco-side-toc li').eq(i).find('a').attr('href').split('#')[1]) !== 'undefined') {
- window.history.pushState({}, '', location.href.split('#')[0] + '#' + $('#doco-side-toc li').eq(i).find('a').attr('href').split('#')[1]);
+ window.history.replaceState({}, '', location.href.split('#')[0] + '#' + $('#doco-side-toc li').eq(i).find('a').attr('href').split('#')[1]);
}
}
});
@@ -100,7 +100,7 @@ $(document).ready(function () {
}
// Update the address bar to reflect the loaded language
- window.history.pushState({}, '', '/' + pathParts.join('/'));
+ window.history.replaceState({}, '', '/' + pathParts.join('/'));
// Highlight the language in the language selector that is currently viewed
$('.lang-selector').find('.lang-choice:contains("' + help_language + '")').addClass('active');
diff --git a/view/js/mod_profile_photo.js b/view/js/mod_profile_photo.js
deleted file mode 100644
index c05c8e25e..000000000
--- a/view/js/mod_profile_photo.js
+++ /dev/null
@@ -1,82 +0,0 @@
- var initializeEmbedPhotoDialog = function () {
- $('.embed-photo-selected-photo').each(function (index) {
- $(this).removeClass('embed-photo-selected-photo');
- });
- getPhotoAlbumList();
- $('#embedPhotoModalBodyAlbumDialog').off('click');
- $('#embedPhotoModal').modal('show');
- };
-
- var choosePhotoFromAlbum = function (album) {
- $.post("embedphotos/album", {name: album},
- function(data) {
- if (data['status']) {
- $('#embedPhotoModalLabel').html("{{$modalchooseimages}}");
- $('#embedPhotoModalBodyAlbumDialog').html('\
- <div><div class="nav nav-pills flex-column">\n\
- <li class="nav-item"><a class="nav-link" href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\
- <i class="fa fa-chevron-left"></i>&nbsp\n\
- {{$modaldiffalbum}}\n\
- </a>\n\
- </li>\n\
- </div><br></div>')
- $('#embedPhotoModalBodyAlbumDialog').append(data['content']);
- $('#embedPhotoModalBodyAlbumDialog').click(function (evt) {
- evt.preventDefault();
- var image = document.getElementById(evt.target.id);
- if (typeof($(image).parent()[0]) !== 'undefined') {
- var imageparent = document.getElementById($(image).parent()[0].id);
- $(imageparent).toggleClass('embed-photo-selected-photo');
- var href = $(imageparent).attr('href');
- $.post("embedphotos/photolink", {href: href},
- function(ddata) {
- if (ddata['status']) {
- var pf = $('#profile-photo-profiles').val();
- var prof = ((typeof pf !== 'undefined') ? '?f=&pf=' + pf : '');
- window.location.href = 'profile_photo/use/' + ddata['resource_id'] + prof;
- } else {
- window.console.log("{{$modalerrorlink}}" + ':' + ddata['errormsg']);
- }
- return false;
- },
- 'json');
- $('#embedPhotoModalBodyAlbumDialog').html('');
- $('#embedPhotoModalBodyAlbumDialog').off('click');
- $('#embedPhotoModal').modal('hide');
- }
- });
-
- $('#embedPhotoModalBodyAlbumListDialog').addClass('d-none');
- $('#embedPhotoModalBodyAlbumDialog').removeClass('d-none');
- } else {
- window.console.log("{{$modalerroralbum}} " + JSON.stringify(album) + ':' + data['errormsg']);
- }
- return false;
- },
- 'json');
- };
-
- var getPhotoAlbumList = function () {
- $.post("embedphotos/albumlist", {},
- function(data) {
- if (data['status']) {
- var albums = data['albumlist']; //JSON.parse(data['albumlist']);
- $('#embedPhotoModalLabel').html("{{$modalchoosealbum}}");
- $('#embedPhotoModalBodyAlbumList').html('<ul class="nav nav-pills flex-column"></ul>');
- for(var i=0; i<albums.length; i++) {
- var albumName = albums[i].text;
- var jsAlbumName = albums[i].jstext;
- var albumLink = '<li class="nav-item">';
- albumLink += '<a class="nav-link" href="#" onclick="choosePhotoFromAlbum(\'' + jsAlbumName + '\'); return false;">' + albumName + '</a>';
- albumLink += '</li>';
- $('#embedPhotoModalBodyAlbumList').find('ul').append(albumLink);
- }
- $('#embedPhotoModalBodyAlbumDialog').addClass('d-none');
- $('#embedPhotoModalBodyAlbumListDialog').removeClass('d-none');
- } else {
- window.console.log("{{$modalerrorlist}}" + ':' + data['errormsg']);
- }
- return false;
- },
- 'json');
- };
diff --git a/view/pdl/mod_display.pdl b/view/pdl/mod_display.pdl
index 95f069031..a5461df50 100644
--- a/view/pdl/mod_display.pdl
+++ b/view/pdl/mod_display.pdl
@@ -1,3 +1,6 @@
+[region=aside]
+[widget=vcard][/widget]
+[/region]
[region=right_aside]
[widget=notifications][/widget]
[widget=newmember][/widget]
diff --git a/view/pdl/mod_moderate.pdl b/view/pdl/mod_moderate.pdl
new file mode 100644
index 000000000..95f069031
--- /dev/null
+++ b/view/pdl/mod_moderate.pdl
@@ -0,0 +1,4 @@
+[region=right_aside]
+[widget=notifications][/widget]
+[widget=newmember][/widget]
+[/region]
diff --git a/view/pdl/mod_pubstream.pdl b/view/pdl/mod_pubstream.pdl
index 95f069031..539900155 100644
--- a/view/pdl/mod_pubstream.pdl
+++ b/view/pdl/mod_pubstream.pdl
@@ -1,3 +1,6 @@
+[region=aside]
+[widget=pubtagcloud][var=trending]8[/var][var=limit]20[/var][/widget]
+[/region]
[region=right_aside]
[widget=notifications][/widget]
[widget=newmember][/widget]
diff --git a/view/pdl/mod_thing.pdl b/view/pdl/mod_thing.pdl
new file mode 100644
index 000000000..7e15fc869
--- /dev/null
+++ b/view/pdl/mod_thing.pdl
@@ -0,0 +1,7 @@
+[region=aside]
+[widget=fullprofile][/widget]
+[/region]
+[region=right_aside]
+[widget=notifications][/widget]
+[widget=newmember][/widget]
+[/region]
diff --git a/view/php/theme_init.php b/view/php/theme_init.php
index 1e066c570..f2c46da28 100644
--- a/view/php/theme_init.php
+++ b/view/php/theme_init.php
@@ -15,7 +15,7 @@ head_add_js('jquery.js');
head_add_js('/library/justifiedGallery/jquery.justifiedGallery.min.js');
head_add_js('/library/sprintf.js/dist/sprintf.min.js');
-head_add_js('jquery.textinputs.js');
+//head_add_js('jquery.textinputs.js');
head_add_js('autocomplete.js');
head_add_js('/library/jquery-textcomplete/jquery.textcomplete.js');
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index dfd03707f..6e516b21e 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -120,7 +120,12 @@ a:focus,
input, optgroup, select, textarea {
font-size: 0.9rem !important;
+}
+
+input[type=text], textarea {
resize: vertical;
+ background-color: $comment_item_colour;
+ color: $font_colour;
}
.selected-doco-nav {
@@ -1334,7 +1339,7 @@ img.mail-conv-sender-photo {
.section-content-tools-wrapper {
padding: 7px 10px;
background-color: $comment_item_colour;
- border-bottom: 3px solid comment_item_colour;
+ border-bottom: 3px solid $comment_item_colour;
}
.section-content-info-wrapper {
@@ -1790,3 +1795,7 @@ dl.bb-dl > dd > li {
position: absolute;
text-shadow: -2px 0 1px #fff, 0 2px 1px#fff, 2px 0 1px #fff, 0 -2px 1px #fff;
}
+
+.cover-photo-review {
+ margin-bottom: 10px;
+}
diff --git a/view/theme/redbasic/img/screenshot.jpg b/view/theme/redbasic/img/screenshot.jpg
deleted file mode 100644
index ac9258bd6..000000000
--- a/view/theme/redbasic/img/screenshot.jpg
+++ /dev/null
Binary files differ
diff --git a/view/theme/redbasic/img/screenshot.png b/view/theme/redbasic/img/screenshot.png
new file mode 100644
index 000000000..60d7e23f6
--- /dev/null
+++ b/view/theme/redbasic/img/screenshot.png
Binary files differ
diff --git a/view/theme/redbasic/schema/dark.css b/view/theme/redbasic/schema/dark.css
index 0a142a07f..d0154bfb1 100644
--- a/view/theme/redbasic/schema/dark.css
+++ b/view/theme/redbasic/schema/dark.css
@@ -15,13 +15,26 @@ textarea, input, select
padding: 10px 0;
}
+#jot-title {
+ border-radius: 3px;
+}
+
#jot-title-wrap {
border-bottom: none;
margin-bottom: 5px;
}
+#jot-category-wrap {
+ border-bottom: none;
+ margin-bottom: 5px;
+}
+
+.bootstrap-tagsinput {
+ background: #333;
+}
+
optgroup {
- color: #CCC !important;
+ color: #CCC !important;
}
option {
@@ -132,7 +145,7 @@ option {
.abook-self {
border: 1px solid #222;
color: #555;
- background-color:#111;
+ background-color:#111;
}
.modal-content {
@@ -208,7 +221,7 @@ a.btn, aside a {
}
.btn-danger:hover, .btn-danger:focus, form#chat-destroy > input:hover, form#chat-destroy > input:focus {
color: #FFF !important;
- background-color: #C9302C !important;
+ background-color: #C9302C !important;
border-color: #AC2925 !important;
}
@@ -278,7 +291,7 @@ nav .dropdown-menu {
border-bottom:1px solid #333;
}
-.nav-tabs .nav-link.active {
+.nav-tabs .nav-link.active {
color: #fff;
background-color: #111;
border-color: #333;
@@ -297,7 +310,7 @@ aside .nav > li > a:hover, aside .nav > li > a:focus {
background-color: #222;
}
-a, a:visited, a:link, .fakelink, .fakelink:visited, .fakelink:link {
+a, a:visited, a:link, .fakelink, .fakelink:visited, .fakelink:link {
font-weight: bold;
}
@@ -343,6 +356,10 @@ pre {
border:1px solid #090909;
}
+#wiki-content-container code {
+ background: #000;
+}
+
.notif-item a {
color: #ccc;
}
@@ -352,23 +369,23 @@ pre {
}
.dropdown-menu {
- background-color: #222;
+ background-color: #222;
}
.dropdown-menu >li > a {
- color: #ccc;
+ color: #ccc;
}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
- color: #ddd;
- background-color: #333;
+ color: #ddd;
+ background-color: #333;
background-image: none;
}
.open .dropdown-toggle.btn-default, .open .dropdown-toggle.btn-default:focus {
- color: #ccc;
- background-color: #222;
- border-color: #222;
+ color: #ccc;
+ background-color: #222;
+ border-color: #222;
}
.pmenu-item:hover a {
@@ -444,7 +461,7 @@ pre {
.profile-match-wrapper {
- width: 150px;
+ width: 150px;
height: 120px;
border: none;
}
@@ -462,5 +479,3 @@ pre {
.widget-nav-pills-checkbox:hover + a {
background-color: #222;
}
-
-
diff --git a/view/tpl/admin_settings_features.tpl b/view/tpl/admin_settings_features.tpl
index 2d5cf7e0b..86f978e08 100644
--- a/view/tpl/admin_settings_features.tpl
+++ b/view/tpl/admin_settings_features.tpl
@@ -9,12 +9,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="{{$g}}-settings-title">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#{{$g}}-settings-content" aria-expanded="true" aria-controls="{{$g}}-settings-collapse">
+ <a data-toggle="collapse" data-target="#{{$g}}-settings-content" href="#" aria-expanded="true" aria-controls="{{$g}}-settings-collapse">
{{$f.0}}
</a>
</h3>
</div>
- <div id="{{$g}}-settings-content" class="panel-collapse collapse{{if $g == 'general'}} in{{/if}}" role="tabpanel" aria-labelledby="{{$g}}-settings-title">
+ <div id="{{$g}}-settings-content" class="panel-collapse collapse{{if $g == 'general'}} show{{/if}}" data-parent="#settings" role="tabpanel" aria-labelledby="{{$g}}-settings-title">
<div class="section-content-tools-wrapper">
{{foreach $f.1 as $fcat}}
{{include file="field_checkbox.tpl" field=$fcat.0}}
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index 78e3ee245..7e99b2c86 100755
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
@@ -55,7 +55,7 @@
{{include file="field_select.tpl" field=$language}}
{{include file="field_select.tpl" field=$theme}}
- {{include file="field_select.tpl" field=$theme_mobile}}
+ {{* include file="field_select.tpl" field=$theme_mobile *}}
{{include file="field_input.tpl" field=$frontpage}}
{{include file="field_checkbox.tpl" field=$mirror_frontpage}}
{{include file="field_checkbox.tpl" field=$login_on_homepage}}
@@ -74,7 +74,7 @@
{{include file="field_select.tpl" field=$access_policy}}
{{include file="field_input.tpl" field=$location}}
{{include file="field_input.tpl" field=$sellpage}}
- {{include file="field_input.tpl" field=$firstpage}}
+ {{include file="field_input.tpl" field=$first_page}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
@@ -101,6 +101,7 @@
{{include file="field_input.tpl" field=$maxloadavg}}
{{include file="field_input.tpl" field=$abandon_days}}
{{include file="field_input.tpl" field=$default_expire_days}}
+ {{include file="field_input.tpl" field=$active_expire_days}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
diff --git a/view/tpl/cloud_directory.tpl b/view/tpl/cloud_directory.tpl
index ad3caff88..1f0addc95 100644
--- a/view/tpl/cloud_directory.tpl
+++ b/view/tpl/cloud_directory.tpl
@@ -1,5 +1,5 @@
<div id="cloud-drag-area" class="section-content-wrapper-np">
- {{if $tiles}}
+{{if $tiles}}
<table id="cloud-index">
<tr id="new-upload-progress-bar-1"></tr> {{* this is needed to append the upload files in the right order *}}
</table>
@@ -36,7 +36,7 @@
</div>
{{/foreach}}
<div class="clear"></div>
- {{else}}
+{{else}}
<table id="cloud-index">
<tr>
<th width="1%"></th>
@@ -80,5 +80,5 @@
{{/foreach}}
</table>
- {{/if}}
+{{/if}}
</div>
diff --git a/view/tpl/cloud_header.tpl b/view/tpl/cloud_header.tpl
index 307dc8956..642fb1866 100644
--- a/view/tpl/cloud_header.tpl
+++ b/view/tpl/cloud_header.tpl
@@ -6,7 +6,7 @@
<a href="/sharedwithme" class="btn btn-sm btn-outline-secondary"><i class="fa fa-cloud-download"></i>&nbsp;{{$shared}}</a>
{{/if}}
<button id="files-create-btn" class="btn btn-sm btn-primary" onclick="openClose('files-mkdir-tools'); closeMenu('files-upload-tools');"><i class="fa fa-folder-o"></i>&nbsp;{{$create}}</button>
- <button id="files-upload-btn" class="btn btn-sm btn-success" onclick="openClose('files-upload-tools'); closeMenu('files-mkdir-tools');"><i class="fa fa-arrow-circle-o-up"></i>&nbsp;{{$upload}}</button>
+ <button id="files-upload-btn" class="btn btn-sm btn-success" onclick="openClose('files-upload-tools'); closeMenu('files-mkdir-tools');"><i class="fa fa-plus-circle"></i>&nbsp;{{$upload}}</button>
{{/if}}
</div>
diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl
index 3b51971ec..23594677c 100755
--- a/view/tpl/comment_item.tpl
+++ b/view/tpl/comment_item.tpl
@@ -1,3 +1,6 @@
+ <script>
+ var auto_save_draft = {{$auto_save_draft}};
+ </script>
{{if $threaded}}
<div class="comment-wwedit-wrapper threaded" id="comment-edit-wrapper-{{$id}}" style="display: block;">
{{else}}
diff --git a/view/tpl/connections.tpl b/view/tpl/connections.tpl
index 32973353e..0bf88b818 100755
--- a/view/tpl/connections.tpl
+++ b/view/tpl/connections.tpl
@@ -9,7 +9,7 @@
</button>
<div class="dropdown-menu dropdown-menu-right">
{{foreach $tabs as $menu}}
- <a class="dropdown-item" href="{{$menu.url}}">{{$menu.label}}</a>
+ <a class="dropdown-item {{$menu.sel}}" href="{{$menu.url}}">{{$menu.label}}</a>
{{/foreach}}
</div>
</div>
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index e9f507f1e..a1d287f26 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -27,9 +27,17 @@
{{/if}}
{{/if}}
<div class="p-2 clearfix wall-item-head{{if $item.is_new && !$item.title && !$item.event && !$item.is_comment}} wall-item-head-new rounded-top{{/if}}">
- <div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
+ <div class="wall-item-info " id="wall-item-info-{{$item.id}}" >
<div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link u-url" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a>
+ <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" />
+ {{if $item.thread_author_menu}}
+ <div class="dropdown-menu">
+ {{foreach $item.thread_author_menu as $mitem}}
+ <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} >{{$mitem.title}}</a>
+ {{/foreach}}
+
+ </div>
+ {{/if}}
</div>
</div>
{{if $item.lock}}
@@ -40,7 +48,7 @@
{{/if}}
<div class="wall-item-author">
{{if $item.previewing}}<span class="preview-indicator"><i class="fa fa-eye" title="{{$item.preview_lbl}}"></i></span>&nbsp;{{/if}}
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
+ <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
</div>
<div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
{{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="fa fa-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
@@ -58,32 +66,9 @@
{{/if}}
{{if $item.has_tags}}
<div class="p-2 wall-item-tools clearfix">
-
<div class="body-tags">
<span class="tag">{{$item.mentions}} {{$item.tags}} {{$item.categories}} {{$item.folders}}</span>
</div>
- {{**
- {{if $item.mentions}}
- <div class="body-tags" id="item-mentions">
- <span class="tag">{{$item.mentions}}</span>
- </div>
- {{/if}}
- {{if $item.tags}}
- <div class="body-tags" id="item-tags">
- <span class="tag">{{$item.tags}}</span>
- </div>
- {{/if}}
- {{if $item.categories}}
- <div class="body-tags" id="item-categories">
- <span class="tag p-category">{{$item.categories}}</span>
- </div>
- {{/if}}
- {{if $item.folders}}
- <div class="body-tags" id="item-folders">
- <span class="tag">{{$item.folders}}</span>
- </div>
- {{/if}}
- **}}
</div>
{{/if}}
<div class="p-2 clearfix wall-item-tools">
@@ -179,7 +164,7 @@
<a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-calendar" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a>
{{/if}}
{{if $item.star}}
- <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a>
+ <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw{{if $item.star.isstarred}} starred fa-star{{else}} unstarred fa-star-o{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a>
{{/if}}
{{if $item.thread_action_menu}}
{{foreach $item.thread_action_menu as $mitem}}
@@ -189,13 +174,8 @@
{{if $item.drop.dropping}}
<a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav fa fa-fw fa-trash-o"></i>{{$item.drop.delete}}</a>
{{/if}}
- {{if $item.thread_author_menu}}
- <div class="dropdown-divider"></div>
- {{foreach $item.thread_author_menu as $mitem}}
- <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} >{{$mitem.title}}</a>
- {{/foreach}}
- {{/if}}
{{if $item.edpost && $item.dreport}}
+ <div class="dropdown-divider"></div>
<a class="dropdown-item" href="dreport/{{$item.mid}}">{{$item.dreport}}</a>
{{/if}}
</div>
@@ -204,7 +184,12 @@
</div>
{{if $item.responses || $item.attachments}}
- <div class="wall-item-tools-left{{if ($item.responses.count > 1) || ($item.responses.count && $item.attachments)}} btn-group{{/if}}">
+ <div class="wall-item-tools-left btn-group" id="wall-item-tools-left-{{$item.id}}">
+ {{if $item.star && $item.star.isstarred}}
+ <div class="btn-group" id="star-button-{{$item.id}}">
+ <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like" onclick="dostar({{$item.id}});"><i class="fa fa-star"></i></button>
+ </div>
+ {{/if}}
{{if $item.attachments}}
<div class="btn-group">
<button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="fa fa-paperclip"></i></button>
diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl
index 97fd50d01..c42751057 100755
--- a/view/tpl/conv_list.tpl
+++ b/view/tpl/conv_list.tpl
@@ -29,7 +29,15 @@
<div class="p-2 clearfix wall-item-head{{if $item.is_new && !$item.title && !$item.event && !$item.is_comment}} wall-item-head-new rounded-top{{/if}}">
<div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
<div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$item.id}}">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link u-url" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a>
+ <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" data-toggle="dropdown" /></a>
+ {{if $item.thread_author_menu}}
+ <div class="dropdown-menu">
+ {{foreach $item.thread_author_menu as $mitem}}
+ <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} >{{$mitem.title}}</a>
+ {{/foreach}}
+
+ </div>
+ {{/if}}
</div>
</div>
{{if $item.lock}}
@@ -39,7 +47,7 @@
</div>
{{/if}}
<div class="wall-item-author">
- <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
+ <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link u-url"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
</div>
<div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
{{if $item.verified}}<i class="fa fa-check item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="fa fa-exclamation item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="fa fa-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
@@ -59,28 +67,6 @@
<div class="body-tags">
<span class="tag">{{$item.mentions}} {{$item.tags}} {{$item.categories}} {{$item.folders}}</span>
</div>
- {{**
- {{if $item.mentions}}
- <div class="body-tags" id="item-mentions">
- <span class="tag">{{$item.mentions}}</span>
- </div>
- {{/if}}
- {{if $item.tags}}
- <div class="body-tags" id="item-tags">
- <span class="tag">{{$item.tags}}</span>
- </div>
- {{/if}}
- {{if $item.categories}}
- <div class="body-tags" id="item-categories">
- <span class="tag p-category">{{$item.categories}}</span>
- </div>
- {{/if}}
- {{if $item.folders}}
- <div class="body-tags" id="item-folders">
- <span class="tag">{{$item.folders}}</span>
- </div>
- {{/if}}
- **}}
</div>
{{/if}}
<div class="p-2 clearfix wall-item-tools">
@@ -171,7 +157,7 @@
<a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-calendar" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a>
{{/if}}
{{if $item.star}}
- <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a>
+ <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw{{if $item.star.isstarred}} starred fa-star{{else}} unstarred fa-star-o{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a>
{{/if}}
{{if $item.thread_action_menu}}
{{foreach $item.thread_action_menu as $mitem}}
@@ -181,12 +167,7 @@
{{if $item.drop.dropping}}
<a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav fa fa-fw fa-trash-o"></i>{{$item.drop.delete}}</a>
{{/if}}
- {{if $item.thread_author_menu}}
<div class="dropdown-divider"></div>
- {{foreach $item.thread_author_menu as $mitem}}
- <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} >{{$mitem.title}}</a>
- {{/foreach}}
- {{/if}}
{{if $item.edpost && $item.dreport}}
<a class="dropdown-item" href="dreport/{{$item.mid}}">{{$item.dreport}}</a>
{{/if}}
@@ -195,7 +176,12 @@
</div>
</div>
<div id="like-rotator-{{$item.id}}" class="like-rotator"></div>
- <div class="wall-item-tools-left{{if $item.unseen_comments || $item.like_count || $item.dislike_count || $item.attachments}} btn-group{{/if}}">
+ <div class="wall-item-tools-left btn-group" id="wall-item-tools-left-{{$item.id}}">
+ {{if $item.star && $item.star.isstarred}}
+ <div class="btn-group" id="star-button-{{$item.id}}">
+ <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like" onclick="dostar({{$item.id}});"><i class="fa fa-star"></i></button>
+ </div>
+ {{/if}}
{{if $item.attachments}}
<div class="btn-group">
<button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="fa fa-paperclip"></i></button>
diff --git a/view/tpl/cover_photo.tpl b/view/tpl/cover_photo.tpl
index cbcf46320..92efcdf02 100755
--- a/view/tpl/cover_photo.tpl
+++ b/view/tpl/cover_photo.tpl
@@ -1,12 +1,96 @@
+<script>
+ var initializeEmbedPhotoDialog = function () {
+ $('.embed-photo-selected-photo').each(function (index) {
+ $(this).removeClass('embed-photo-selected-photo');
+ });
+ getPhotoAlbumList();
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal('show');
+ };
+
+ var choosePhotoFromAlbum = function (album) {
+ $.post("embedphotos/album", {name: album},
+ function(data) {
+ if (data['status']) {
+ $('#embedPhotoModalLabel').html("{{$modalchooseimages}}");
+ $('#embedPhotoModalBodyAlbumDialog').html('\
+ <div><div class="nav nav-pills flex-column">\n\
+ <li class="nav-item"><a class="nav-link" href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\
+ <i class="fa fa-chevron-left"></i>&nbsp\n\
+ {{$modaldiffalbum}}\n\
+ </a>\n\
+ </li>\n\
+ </div><br></div>')
+ $('#embedPhotoModalBodyAlbumDialog').append(data['content']);
+ $('#embedPhotoModalBodyAlbumDialog').click(function (evt) {
+ evt.preventDefault();
+ var image = document.getElementById(evt.target.id);
+ if (typeof($(image).parent()[0]) !== 'undefined') {
+ var imageparent = document.getElementById($(image).parent()[0].id);
+ $(imageparent).toggleClass('embed-photo-selected-photo');
+ var href = $(imageparent).attr('href');
+ $.post("embedphotos/photolink", {href: href},
+ function(ddata) {
+ if (ddata['status']) {
+ window.location.href = 'cover_photo/use/' + ddata['resource_id'];
+ } else {
+ window.console.log("{{$modalerrorlink}}" + ':' + ddata['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ $('#embedPhotoModalBodyAlbumDialog').html('');
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal('hide');
+ }
+ });
+
+ $('#embedPhotoModalBodyAlbumListDialog').addClass('d-none');
+ $('#embedPhotoModalBodyAlbumDialog').removeClass('d-none');
+ } else {
+ window.console.log("{{$modalerroralbum}} " + JSON.stringify(album) + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+
+ var getPhotoAlbumList = function () {
+ $.post("embedphotos/albumlist", {},
+ function(data) {
+ if (data['status']) {
+ var albums = data['albumlist']; //JSON.parse(data['albumlist']);
+ $('#embedPhotoModalLabel').html("{{$modalchoosealbum}}");
+ $('#embedPhotoModalBodyAlbumList').html('<ul class="nav nav-pills flex-column"></ul>');
+ for(var i=0; i<albums.length; i++) {
+ var albumName = albums[i].text;
+ var jsAlbumName = albums[i].jstext;
+ var albumLink = '<li class="nav-item">';
+ albumLink += '<a class="nav-link" href="#" onclick="choosePhotoFromAlbum(\'' + jsAlbumName + '\'); return false;">' + albumName + '</a>';
+ albumLink += '</li>';
+ $('#embedPhotoModalBodyAlbumList').find('ul').append(albumLink);
+ }
+ $('#embedPhotoModalBodyAlbumDialog').addClass('d-none');
+ $('#embedPhotoModalBodyAlbumListDialog').removeClass('d-none');
+ } else {
+ window.console.log("{{$modalerrorlist}}" + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+</script>
+
<div id="profile-photo-content" class="generic-content-wrapper">
<div class="section-title-wrapper">
<h2>{{$title}}</h2>
</div>
<div class="section-content-wrapper">
-
+ {{if $existing}}
+ <img class="cover-photo-review" style="max-width: 100%;" src="{{$existing.url}}" alt="{{t('Cover Photo')}}" />
+ {{/if}}
<form enctype="multipart/form-data" action="cover_photo" method="post">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
<div id="profile-photo-upload-wrapper">
<label id="profile-photo-upload-label" class="form-label" for="profile-photo-upload">{{$lbl_upfile}}</label>
diff --git a/view/tpl/generic_addon_settings.tpl b/view/tpl/generic_addon_settings.tpl
index bf39b2aea..875c97feb 100644
--- a/view/tpl/generic_addon_settings.tpl
+++ b/view/tpl/generic_addon_settings.tpl
@@ -1,12 +1,16 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="{{$addon.0}}-settings">
<h3>
- <a title="{{$addon.2}}" data-toggle="collapse" data-parent="#settings" href="#{{$addon.0}}-settings-content" aria-controls="{{$addon.0}}-settings-content">
+ <a title="{{$addon.2}}" data-toggle="collapse" data-target="#{{$addon.0}}-settings-content" href="#" aria-controls="{{$addon.0}}-settings-content">
+ {{if $addon.1|substr:0:1 === '<'}}
{{$addon.1}}
+ {{else}}
+ <i class="fa fa-gear"></i> {{$addon.1}}
+ {{/if}}
</a>
</h3>
</div>
- <div id="{{$addon.0}}-settings-content" class="panel-collapse collapse" role="tabpanel" aria-labelledby="{{$addon.0}}-settings">
+ <div id="{{$addon.0}}-settings-content" class="panel-collapse collapse" role="tabpanel" aria-labelledby="{{$addon.0}}-settings" data-parent="#settings">
<div class="section-content-tools-wrapper">
{{$content}}
{{if $addon.0}}
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index c1dab52d5..991a4c8b1 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -560,3 +560,91 @@ $( document ).on( "click", ".wall-item-delete-link,.page-delete-link,.layout-del
}
});
</script>
+
+
+<script>
+ var postSaveTimer = null;
+
+ function postSaveChanges(action, type) {
+ if({{$auto_save_draft}}) {
+
+ if(action != 'clean') {
+ localStorage.setItem("post_title", $("#jot-title").val());
+ localStorage.setItem("post_body", $("#profile-jot-text").val());
+ if($("#jot-category").length)
+ localStorage.setItem("post_category", $("#jot-category").val());
+ }
+
+ if(action == 'start') {
+ postSaveTimer = setTimeout(function () {
+ postSaveChanges('start');
+ },10000);
+ }
+
+ if(action == 'stop') {
+ clearTimeout(postSaveTimer);
+ postSaveTimer = null;
+ }
+
+ if(action == 'clean') {
+ clearTimeout(postSaveTimer);
+ postSaveTimer = null;
+ localStorage.removeItem("post_title");
+ localStorage.removeItem("post_body");
+ localStorage.removeItem("post_category");
+ }
+ }
+
+ }
+
+ $(document).ready(function() {
+
+ var cleaned = false;
+
+ if({{$auto_save_draft}}) {
+ var postTitle = localStorage.getItem("post_title");
+ var postBody = localStorage.getItem("post_body");
+ var postCategory = (($("#jot-category").length) ? localStorage.getItem("post_category") : '');
+ var openEditor = false;
+
+ if(postTitle) {
+ $('#jot-title').val(postTitle);
+ openEditor = true;
+ }
+ if(postBody) {
+ $('#profile-jot-text').val(postBody);
+ openEditor = true;
+ }
+ if(postCategory) {
+ var categories = postCategory.split(',');
+ categories.forEach(function(cat) {
+ $('#jot-category').tagsinput('add', cat);
+ });
+ openEditor = true;
+ }
+ if(openEditor) {
+ initEditor();
+ }
+ } else {
+ postSaveChanges('clean');
+ }
+
+ $(document).on('submit', '#profile-jot-form', function() {
+ postSaveChanges('clean');
+ cleaned = true;
+ });
+
+ $(document).on('focusout',"#profile-jot-wrapper",function(e){
+ if(! cleaned)
+ postSaveChanges('stop');
+ });
+
+ $(document).on('focusin',"#profile-jot-wrapper",function(e){
+ postSaveTimer = setTimeout(function () {
+ postSaveChanges('start');
+ },10000);
+ });
+
+
+ });
+</script>
diff --git a/view/tpl/navbar_default.tpl b/view/tpl/navbar_default.tpl
index b0b3198c6..7bc8df8d5 100755
--- a/view/tpl/navbar_default.tpl
+++ b/view/tpl/navbar_default.tpl
@@ -80,7 +80,7 @@
<i class="fa fa-arrow-circle-right" id="expand-aside-icon"></i>
</button>
{{if $localuser || $nav.pubs}}
- <button id="notifications-btn-1" type="button" class="navbar-toggler border-0 text-white notifications-btn">
+ <button id="notifications-btn-1" type="button" class="navbar-toggler border-0 notifications-btn">
<i id="notifications-btn-icon-1" class="fa fa-exclamation-circle notifications-btn-icon"></i>
</button>
{{/if}}
@@ -91,7 +91,7 @@
<div class="collapse navbar-collapse" id="navbar-collapse-1">
<ul class="navbar-nav mr-auto">
{{if $nav.login && !$userinfo}}
- <li class="nav-item d-none d-xl-flex">
+ <li class="nav-item d-lg-flex">
{{if $nav.loginmenu.1.4}}
<a class="nav-link" href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}" data-toggle="modal" data-target="#nav-login">
{{$nav.loginmenu.1.1}}
@@ -104,12 +104,12 @@
</li>
{{/if}}
{{if $nav.register}}
- <li class="nav-item {{$nav.register.2}} d-none d-xl-flex">
+ <li class="nav-item {{$nav.register.2}} d-lg-flex">
<a class="nav-link" href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a>
</li>
{{/if}}
{{if $nav.alogout}}
- <li class="nav-item {{$nav.alogout.2}} d-none d-xl-flex">
+ <li class="nav-item {{$nav.alogout.2}} d-lg-flex">
<a class="nav-link" href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a>
</li>
{{/if}}
@@ -164,7 +164,7 @@
{{$channel_app}}
{{/foreach}}
<div class="dropdown-divider"></div>
- <div class="dropdown-header sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
+ <div class="dropdown-header text-black-50 sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
{{$sysapps_toggle}}
</div>
<div id="sys_apps" style="display:none;">
@@ -190,7 +190,7 @@
{{foreach $channel_apps as $channel_app}}
{{$channel_app|replace:'dropdown-item':'nav-link'}}
{{/foreach}}
- <div class="dropdown-header sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
+ <div class="dropdown-header text-white-50 sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
{{$sysapps_toggle}}
</div>
<div id="sys-apps-collapsed" style="display:none;">
diff --git a/view/tpl/navbar_tucson.tpl b/view/tpl/navbar_tucson.tpl
index b0b3198c6..362b261c5 100755
--- a/view/tpl/navbar_tucson.tpl
+++ b/view/tpl/navbar_tucson.tpl
@@ -80,7 +80,7 @@
<i class="fa fa-arrow-circle-right" id="expand-aside-icon"></i>
</button>
{{if $localuser || $nav.pubs}}
- <button id="notifications-btn-1" type="button" class="navbar-toggler border-0 text-white notifications-btn">
+ <button id="notifications-btn-1" type="button" class="navbar-toggler border-0 notifications-btn">
<i id="notifications-btn-icon-1" class="fa fa-exclamation-circle notifications-btn-icon"></i>
</button>
{{/if}}
@@ -91,7 +91,7 @@
<div class="collapse navbar-collapse" id="navbar-collapse-1">
<ul class="navbar-nav mr-auto">
{{if $nav.login && !$userinfo}}
- <li class="nav-item d-none d-xl-flex">
+ <li class="nav-item d-lg-flex">
{{if $nav.loginmenu.1.4}}
<a class="nav-link" href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}" data-toggle="modal" data-target="#nav-login">
{{$nav.loginmenu.1.1}}
@@ -104,12 +104,12 @@
</li>
{{/if}}
{{if $nav.register}}
- <li class="nav-item {{$nav.register.2}} d-none d-xl-flex">
+ <li class="nav-item {{$nav.register.2}} d-lg-flex">
<a class="nav-link" href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a>
</li>
{{/if}}
{{if $nav.alogout}}
- <li class="nav-item {{$nav.alogout.2}} d-none d-xl-flex">
+ <li class="nav-item {{$nav.alogout.2}} d-none d-lg-flex">
<a class="nav-link" href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a>
</li>
{{/if}}
@@ -164,7 +164,7 @@
{{$channel_app}}
{{/foreach}}
<div class="dropdown-divider"></div>
- <div class="dropdown-header sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
+ <div class="dropdown-header text-black-50 sys-apps-toggle" onclick="$('#dropdown-menu').click(function(e) { e.stopPropagation(); }); openClose('sys_apps');">
{{$sysapps_toggle}}
</div>
<div id="sys_apps" style="display:none;">
@@ -190,7 +190,7 @@
{{foreach $channel_apps as $channel_app}}
{{$channel_app|replace:'dropdown-item':'nav-link'}}
{{/foreach}}
- <div class="dropdown-header sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
+ <div class="dropdown-header text-white-50 sys-apps-toggle" onclick="openClose('sys-apps-collapsed');">
{{$sysapps_toggle}}
</div>
<div id="sys-apps-collapsed" style="display:none;">
diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl
index 18250cf97..215fddd08 100644
--- a/view/tpl/notifications_widget.tpl
+++ b/view/tpl/notifications_widget.tpl
@@ -1,3 +1,4 @@
+{{if $notifications}}
<script>
var notifications_parent;
@@ -121,8 +122,6 @@
}
</script>
-
-{{if $notifications}}
<div id="notifications_wrapper">
<div id="no_notifications" class="d-xl-none">
{{$no_notifications}}<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span>
diff --git a/view/tpl/oauth2testvehicle.tpl b/view/tpl/oauth2testvehicle.tpl
new file mode 100644
index 000000000..ce46b58c0
--- /dev/null
+++ b/view/tpl/oauth2testvehicle.tpl
@@ -0,0 +1,21 @@
+<h1>OAuth 2.0 Test Vehicle</h1>
+
+{{foreach $endpoints as $ept}}
+<div class="oath2test-form-box">
+<form action="{{$baseurl}}/{{$ept.0}}/" method="{{$ept.4}}">
+ <h3>{{$ept.3}}</h3>
+ {{$baseurl}}/{{$ept.0}}/?{{foreach $ept.1 as $field}}{{$field.0}}={{$field.1}}&<input type="hidden" name="{{$field.0}}" value="{{$field.1}}" />{{/foreach}}
+ <br>
+ <button type="submit" name="{{$ept.2}}_submit" value="submit" class="btn btn-med" title="">Submit</button>
+ <span style="display: {{if $ept.5}}inline{{else}}none{{/if}}; font-size: 2em;">&nbsp;<i class="fa fa-check"></i></span>
+</form>
+ </div>
+{{/foreach}}
+<div>
+ <h3>API response</h3>
+ <pre style="display: inline-block; overflow-x: auto; white-space: nowrap; width: 100%;">
+ <code>
+ {{$api_response}}
+ </code>
+ </pre>
+</div> \ No newline at end of file
diff --git a/view/tpl/oauth_authorize.tpl b/view/tpl/oauth_authorize.tpl
index 2b7afa80e..72701ce52 100755
--- a/view/tpl/oauth_authorize.tpl
+++ b/view/tpl/oauth_authorize.tpl
@@ -2,9 +2,15 @@
<div class='oauthapp'>
<img src='{{$app.icon}}'>
- <h4>{{$app.name}}</h4>
-</div>
-<h3>{{$authorize}}</h3>
-<form method="POST">
-<div class="settings-submit-wrapper"><input class="settings-submit" type="submit" name="oauth_yes" value="{{$yes}}" /></div>
-</form>
+ <h3>{{$app.name}}</h3>
+ <p class="descriptive-paragraph">{{$authorize}}</p>
+ <form method="POST">
+ <div class="settings-submit-wrapper">
+ <input type="hidden" name="client_id" value="{{$client_id}}" />
+ <input type="hidden" name="redirect_uri" value="{{$redirect_uri}}" />
+ <input type="hidden" name="state" value="{{$state}}" />
+ <button class="btn btn-lg btn-danger" name="authorize" value="deny" type="submit">{{$no}}</button>
+ <button class="btn btn-lg btn-success" name="authorize" value="allow" type="submit">{{$yes}}</button>
+ </div>
+ </form>
+</div> \ No newline at end of file
diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl
index 5f420f6d0..b4d9ef19f 100755
--- a/view/tpl/peoplefind.tpl
+++ b/view/tpl/peoplefind.tpl
@@ -10,7 +10,7 @@
</form>
<ul class="nav nav-pills flex-column">
{{if $similar}}<li class="nav-item"><a class="nav-link" href="match" >{{$similar}}</a></li>{{/if}}
- {{if $loggedin}}<li class="nav-item"><a class="nav-link" href="directory?suggest=1" >{{$suggest}}</a></li>{{/if}}
+ {{if $loggedin}}<li class="nav-item"><a class="nav-link" href="directory?f=&suggest=1" >{{$suggest}}</a></li>{{/if}}
<li class="nav-item"><a class="nav-link" href="randprof" >{{$random}}</a></li>
{{if $loggedin}}{{if $inv}}<li class="nav-item"><a class="nav-link" href="invite" >{{$inv}}</a></li>{{/if}}{{/if}}
</ul>
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index 678e790ac..de59809f4 100755
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
@@ -9,7 +9,7 @@
<i class="fa fa-pencil btn btn-outline-secondary btn-sm" title="{{$album_edit.0}}" onclick="openClose('photo-album-edit-wrapper'); closeMenu('photo-upload-form');"></i>
{{/if}}
{{if $can_post}}
- <button class="btn btn-sm btn-success btn-sm" title="{{$usage}}" onclick="openClose('photo-upload-form'); {{if $album_edit.1}}closeMenu('photo-album-edit-wrapper');{{/if}}"><i class="fa fa-arrow-circle-o-up"></i>&nbsp;{{$upload.0}}</button>
+ <button class="btn btn-sm btn-success btn-sm" title="{{$usage}}" onclick="openClose('photo-upload-form'); {{if $album_edit.1}}closeMenu('photo-album-edit-wrapper');{{/if}}"><i class="fa fa-plus-circle"></i>&nbsp;{{$upload.0}}</button>
{{/if}}
</div>
</div>
diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl
index a9574aade..d24b362f8 100755
--- a/view/tpl/photos_recent.tpl
+++ b/view/tpl/photos_recent.tpl
@@ -2,7 +2,7 @@
<div class="section-title-wrapper">
<div class="pull-right">
{{if $can_post}}
- <button class="btn btn-sm btn-success acl-form-trigger" title="{{$usage}}" onclick="openClose('photo-upload-form');" data-form_id="photos-upload-form"><i class="fa fa-arrow-circle-o-up"></i>&nbsp;{{$upload.0}}</button>
+ <button class="btn btn-sm btn-success acl-form-trigger" title="{{$usage}}" onclick="openClose('photo-upload-form');" data-form_id="photos-upload-form"><i class="fa fa-plus-circle"></i>&nbsp;{{$upload.0}}</button>
{{/if}}
</div>
<h2>{{$title}}</h2>
diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl
index 05137479f..c967fa02c 100755
--- a/view/tpl/profile_edit.tpl
+++ b/view/tpl/profile_edit.tpl
@@ -4,7 +4,7 @@
<button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-cog"></i>&nbsp;{{$tools_label}}
</button>
- <div class="dropdown-menu">
+ <div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="profile_photo" id="profile-photo_upload-link" title="{{$profpic}}"><i class="fa fa-fw fa-user"></i>&nbsp;{{$profpic}}</a>
{{if $is_default}}
<a class="dropdown-item" href="cover_photo" id="cover-photo_upload-link" title="{{$coverpic}}"><i class="fa fa-fw fa-picture-o"></i>&nbsp;{{$coverpic}}</a>
@@ -15,7 +15,7 @@
<a class="dropdown-item" href="thing" id="profile-edit-thing-link" title="{{$addthing}}"><i class="fa fa-fw fa-plus-circle"></i>&nbsp;{{$addthing}}</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="profile/{{$profile_id}}/view" id="profile-edit-view-link" title="{{$viewprof}}">{{$viewprof}}</a>
- {{if $profile_clone_link}}
+ {{if $multi_profiles}}
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="{{$profile_clone_link}}" id="profile-edit-clone-link" title="{{$cr_prof}}">{{$cl_prof}}</a>
{{/if}}
@@ -49,14 +49,18 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="personal">
<h3>
- <a data-toggle="collapse" data-parent="#profile-edit-wrapper" href="#personal-collapse" aria-expanded="true" aria-controls="personal-collapse">
+ <a data-toggle="collapse" data-target="#personal-collapse" href="#" aria-expanded="true" aria-controls="personal-collapse">
{{$personal}}
</a>
</h3>
</div>
- <div id="personal-collapse" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="personal">
+ <div id="personal-collapse" class="panel-collapse collapse show" data-parent="#profile-edit-wrapper" role="tabpanel" aria-labelledby="personal">
<div class="section-content-tools-wrapper">
+ {{if $multi_profiles}}
{{include file="field_input.tpl" field=$profile_name}}
+ {{else}}
+ <input type="hidden" name="{{$profile_name.0}}" value="{{$profile_name.2}}">
+ {{/if}}
{{include file="field_input.tpl" field=$name}}
@@ -215,12 +219,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="location">
<h3>
- <a data-toggle="collapse" data-parent="#profile-edit-wrapper" href="#location-collapse" aria-expanded="true" aria-controls="location-collapse">
+ <a data-toggle="collapse" data-target="#location-collapse" href="#" aria-expanded="true" aria-controls="location-collapse">
{{$location}}
</a>
</h3>
</div>
- <div id="location-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="location">
+ <div id="location-collapse" class="panel-collapse collapse" data-parent="#profile-edit-wrapper" role="tabpanel" aria-labelledby="location">
<div class="section-content-tools-wrapper">
{{if $fields.address}}
{{include file="field_input.tpl" field=$address}}
@@ -260,12 +264,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="relation">
<h3>
- <a data-toggle="collapse" data-parent="#profile-edit-wrapper" href="#relation-collapse" aria-expanded="true" aria-controls="relation-collapse">
+ <a data-toggle="collapse" data-target="#relation-collapse" href="#" aria-expanded="true" aria-controls="relation-collapse">
{{$relation}}
</a>
</h3>
</div>
- <div id="relation-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="relation">
+ <div id="relation-collapse" class="panel-collapse collapse" data-parent="#profile-edit-wrapper" role="tabpanel" aria-labelledby="relation">
<div class="section-content-tools-wrapper">
{{if $fields.marital }}
<div id="profile-edit-marital-wrapper" class="form-group field" >
@@ -307,12 +311,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="miscellaneous">
<h3>
- <a data-toggle="collapse" data-parent="#profile-edit-wrapper" href="#miscellaneous-collapse" aria-expanded="true" aria-controls="miscellaneous-collapse">
+ <a data-toggle="collapse" data-target="#miscellaneous-collapse" href="#" aria-expanded="true" aria-controls="miscellaneous-collapse">
{{$miscellaneous}}
</a>
</h3>
</div>
- <div id="miscellaneous-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="miscellaneous">
+ <div id="miscellaneous-collapse" class="panel-collapse collapse" data-parent="#profile-edit-wrapper" role="tabpanel" aria-labelledby="miscellaneous">
<div class="section-content-tools-wrapper">
{{if $fields.homepage}}
{{include file="field_input.tpl" field=$homepage}}
diff --git a/view/tpl/profile_photo.tpl b/view/tpl/profile_photo.tpl
index edde6af3f..e48d05330 100755
--- a/view/tpl/profile_photo.tpl
+++ b/view/tpl/profile_photo.tpl
@@ -1,3 +1,89 @@
+<script>
+ var initializeEmbedPhotoDialog = function () {
+ $('.embed-photo-selected-photo').each(function (index) {
+ $(this).removeClass('embed-photo-selected-photo');
+ });
+ getPhotoAlbumList();
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal('show');
+ };
+
+ var choosePhotoFromAlbum = function (album) {
+ $.post("embedphotos/album", {name: album},
+ function(data) {
+ if (data['status']) {
+ $('#embedPhotoModalLabel').html("{{$modalchooseimages}}");
+ $('#embedPhotoModalBodyAlbumDialog').html('\
+ <div><div class="nav nav-pills flex-column">\n\
+ <li class="nav-item"><a class="nav-link" href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\
+ <i class="fa fa-chevron-left"></i>&nbsp\n\
+ {{$modaldiffalbum}}\n\
+ </a>\n\
+ </li>\n\
+ </div><br></div>')
+ $('#embedPhotoModalBodyAlbumDialog').append(data['content']);
+ $('#embedPhotoModalBodyAlbumDialog').click(function (evt) {
+ evt.preventDefault();
+ var image = document.getElementById(evt.target.id);
+ if (typeof($(image).parent()[0]) !== 'undefined') {
+ var imageparent = document.getElementById($(image).parent()[0].id);
+ $(imageparent).toggleClass('embed-photo-selected-photo');
+ var href = $(imageparent).attr('href');
+ $.post("embedphotos/photolink", {href: href},
+ function(ddata) {
+ if (ddata['status']) {
+ var pf = $('#profile-photo-profiles').val();
+ var prof = ((typeof pf !== 'undefined') ? '?f=&pf=' + pf : '');
+ window.location.href = 'profile_photo/use/' + ddata['resource_id'] + prof;
+ } else {
+ window.console.log("{{$modalerrorlink}}" + ':' + ddata['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ $('#embedPhotoModalBodyAlbumDialog').html('');
+ $('#embedPhotoModalBodyAlbumDialog').off('click');
+ $('#embedPhotoModal').modal('hide');
+ }
+ });
+
+ $('#embedPhotoModalBodyAlbumListDialog').addClass('d-none');
+ $('#embedPhotoModalBodyAlbumDialog').removeClass('d-none');
+ } else {
+ window.console.log("{{$modalerroralbum}} " + JSON.stringify(album) + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+
+ var getPhotoAlbumList = function () {
+ $.post("embedphotos/albumlist", {},
+ function(data) {
+ if (data['status']) {
+ var albums = data['albumlist']; //JSON.parse(data['albumlist']);
+ $('#embedPhotoModalLabel').html("{{$modalchoosealbum}}");
+ $('#embedPhotoModalBodyAlbumList').html('<ul class="nav nav-pills flex-column"></ul>');
+ for(var i=0; i<albums.length; i++) {
+ var albumName = albums[i].text;
+ var jsAlbumName = albums[i].jstext;
+ var albumLink = '<li class="nav-item">';
+ albumLink += '<a class="nav-link" href="#" onclick="choosePhotoFromAlbum(\'' + jsAlbumName + '\'); return false;">' + albumName + '</a>';
+ albumLink += '</li>';
+ $('#embedPhotoModalBodyAlbumList').find('ul').append(albumLink);
+ }
+ $('#embedPhotoModalBodyAlbumDialog').addClass('d-none');
+ $('#embedPhotoModalBodyAlbumListDialog').removeClass('d-none');
+ } else {
+ window.console.log("{{$modalerrorlist}}" + ':' + data['errormsg']);
+ }
+ return false;
+ },
+ 'json');
+ };
+</script>
+
+
<div id="profile-photo-content" class="generic-content-wrapper">
<div class="section-title-wrapper">
<h2>{{$title}}</h2>
diff --git a/view/tpl/profile_tabs.tpl b/view/tpl/profile_tabs.tpl
index 72e98ae82..e77da23f3 100644
--- a/view/tpl/profile_tabs.tpl
+++ b/view/tpl/profile_tabs.tpl
@@ -1,4 +1,5 @@
-<div class="dropdown-header"><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
+<div class="dropdown-header text-white-50 d-lg-none" ><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
+<div class="dropdown-header text-black-50 d-none d-lg-block"><img src="{{$thumb}}" class="menu-img-1">{{$name}}</div>
{{foreach $tabs as $tab}}
<a class="dropdown-item{{if $tab.sel}} {{$tab.sel}}{{/if}}" href="{{$tab.url}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}><i class="fa fa-fw fa-{{$tab.icon}} generic-icons-nav"></i>{{$tab.label}}</a>
{{/foreach}}
diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl
index 0f42a6e8a..d258f1992 100755
--- a/view/tpl/settings.tpl
+++ b/view/tpl/settings.tpl
@@ -11,12 +11,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="basic-settings">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#basic-settings-collapse">
+ <a data-toggle="collapse" data-target="#basic-settings-collapse" href="#">
{{$h_basic}}
</a>
</h3>
</div>
- <div id="basic-settings-collapse" class="collapse show" role="tabpanel" aria-labelledby="basic-settings">
+ <div id="basic-settings-collapse" class="collapse show" role="tabpanel" aria-labelledby="basic-settings" data-parent="#settings">
<div class="section-content-tools-wrapper">
{{include file="field_input.tpl" field=$username}}
{{include file="field_select_grouped.tpl" field=$timezone}}
@@ -37,12 +37,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="privacy-settings">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#privacy-settings-collapse">
+ <a data-toggle="collapse" data-target="#privacy-settings-collapse" href="#">
{{$h_prv}}
</a>
</h3>
</div>
- <div id="privacy-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="privacy-settings">
+ <div id="privacy-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="privacy-settings" data-parent="#settings">
<div class="section-content-tools-wrapper">
{{include file="field_select_grouped.tpl" field=$role}}
<div id="advanced-perm" style="display:{{if $permissions_set}}none{{else}}block{{/if}};">
@@ -96,12 +96,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="notification-settings">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#notification-settings-collapse">
+ <a data-toggle="collapse" data-target="#notification-settings-collapse" href="#">
{{$h_not}}
</a>
</h3>
</div>
- <div id="notification-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="notification-settings">
+ <div id="notification-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="notification-settings" data-parent="#settings">
<div class="section-content-tools-wrapper">
<div id="settings-notifications">
@@ -138,11 +138,14 @@
{{include file="field_intcheckbox.tpl" field=$vnotify7}}
{{include file="field_intcheckbox.tpl" field=$vnotify8}}
{{include file="field_intcheckbox.tpl" field=$vnotify9}}
- {{include file="field_intcheckbox.tpl" field=$vnotify11}}
+ {{if $vnotify11}}
+ {{include file="field_intcheckbox.tpl" field=$vnotify11}}
+ {{/if}}
{{include file="field_intcheckbox.tpl" field=$vnotify12}}
{{if $vnotify13}}
{{include file="field_intcheckbox.tpl" field=$vnotify13}}
{{/if}}
+ {{include file="field_intcheckbox.tpl" field=$vnotify14}}
{{include file="field_intcheckbox.tpl" field=$always_show_in_notices}}
{{include file="field_input.tpl" field=$evdays}}
</div>
@@ -160,12 +163,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="miscellaneous-settings">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#miscellaneous-settings-collapse" aria-expanded="true" aria-controls="miscellaneous-settings-collapse">
+ <a data-toggle="collapse" data-target="#miscellaneous-settings-collapse" href="#" aria-expanded="true" aria-controls="miscellaneous-settings-collapse">
{{$lbl_misc}}
</a>
</h3>
</div>
- <div id="miscellaneous-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="miscellaneous-settings">
+ <div id="miscellaneous-settings-collapse" class="collapse" role="tabpanel" aria-labelledby="miscellaneous-settings" data-parent="#settings" >
<div class="section-content-tools-wrapper">
{{if $profselect}}
<label for="contact-profile-selector">{{$profseltxt}}</label>
diff --git a/view/tpl/settings_addons.tpl b/view/tpl/settings_addons.tpl
index 2a925f1f7..27cfa238a 100755
--- a/view/tpl/settings_addons.tpl
+++ b/view/tpl/settings_addons.tpl
@@ -1,8 +1,8 @@
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
- <div class="descriptive-text pull-right">{{$descrip}}</div>
<h2>{{$title}}</h2>
</div>
+ <div class="section-content-info-wrapper">{{$descrip}}</div>
<form action="settings/featured" method="post" autocomplete="off">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div class="panel-group" id="settings" role="tablist">
diff --git a/view/tpl/settings_display.tpl b/view/tpl/settings_display.tpl
index b0751eb5f..7600038ea 100755
--- a/view/tpl/settings_display.tpl
+++ b/view/tpl/settings_display.tpl
@@ -10,12 +10,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="theme-settings-title">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#theme-settings-content" aria-expanded="true" aria-controls="theme-settings-content">
+ <a data-toggle="collapse" data-target="#theme-settings-content" href="#" aria-expanded="true" aria-controls="theme-settings-content">
{{$d_tset}}
</a>
</h3>
</div>
- <div id="theme-settings-content" class="collapse show" role="tabpanel" aria-labelledby="theme-settings">
+ <div id="theme-settings-content" class="collapse show" role="tabpanel" aria-labelledby="theme-settings" data-parent="#settings" >
<div class="section-content-tools-wrapper">
{{if $theme}}
{{include file="field_themeselect.tpl" field=$theme}}
@@ -33,12 +33,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="custom-settings-title">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#custom-settings-content" aria-expanded="true" aria-controls="custom-settings-content">
+ <a data-toggle="collapse" data-target="#custom-settings-content" href="" aria-expanded="true" aria-controls="custom-settings-content">
{{$d_ctset}}
</a>
</h3>
</div>
- <div id="custom-settings-content" class="collapse{{if !$theme}} in{{/if}}" role="tabpanel" aria-labelledby="custom-settings">
+ <div id="custom-settings-content" class="collapse{{if !$theme}} in{{/if}}" role="tabpanel" aria-labelledby="custom-settings" data-parent="#settings" >
<div class="section-content-tools-wrapper">
{{if $theme_config}}
{{$theme_config}}
@@ -49,12 +49,12 @@
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="content-settings-title">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#content-settings-content" aria-expanded="true" aria-controls="content-settings-content">
+ <a data-toggle="collapse" data-target="#content-settings-content" href="" aria-expanded="true" aria-controls="content-settings-content">
{{$d_cset}}
</a>
</h3>
</div>
- <div id="content-settings-content" class="collapse{{if !$theme && !$theme_config}} in{{/if}}" role="tabpanel" aria-labelledby="content-settings">
+ <div id="content-settings-content" class="collapse{{if !$theme && !$theme_config}} in{{/if}}" role="tabpanel" aria-labelledby="content-settings" data-parent="#settings">
<div class="section-content-wrapper">
{{include file="field_input.tpl" field=$ajaxint}}
{{include file="field_input.tpl" field=$itemspage}}
diff --git a/view/tpl/settings_features.tpl b/view/tpl/settings_features.tpl
index dfe049a7a..998199c8e 100755
--- a/view/tpl/settings_features.tpl
+++ b/view/tpl/settings_features.tpl
@@ -1,20 +1,42 @@
+<script>
+ $(document).ready(function() {
+ $('#id_techlevel').change(function() {
+ var techlvl = $('#id_techlevel').val();
+ window.location.href='{{$baseurl}}/settings/features?f=&techlevel=' + techlvl;
+ });
+ });
+</script>
+
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
<h2>{{$title}}</h2>
</div>
<form action="settings/features" method="post" autocomplete="off">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
+ {{if ! $techlock}}
+ <div class="section-content-tools-wrapper">
+ {{include file="field_select.tpl" field=$techlevel}}
+ </div>
+ {{else}}
+ <input type="hidden" name="techlevel" value="{{$techlevel.2}}" />
+ {{/if}}
+
+ {{if $hiddens}}
+ {{foreach $hiddens as $k => $v}}
+ <input type="hidden" name="feature_{{$k}}" value="{{$v}}" />
+ {{/foreach}}
+ {{/if}}
<div class="panel-group" id="settings" role="tablist" aria-multiselectable="true">
{{foreach $features as $g => $f}}
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="{{$g}}-settings-title">
<h3>
- <a data-toggle="collapse" data-parent="#settings" href="#{{$g}}-settings-content" aria-expanded="true" aria-controls="{{$g}}-settings-collapse">
+ <a data-toggle="collapse" data-target="#{{$g}}-settings-content" href="#" aria-expanded="true" aria-controls="{{$g}}-settings-collapse">
{{$f.0}}
</a>
</h3>
</div>
- <div id="{{$g}}-settings-content" class="collapse{{if $g == 'general'}} show{{/if}}" role="tabpanel" aria-labelledby="{{$g}}-settings-title">
+ <div id="{{$g}}-settings-content" class="collapse{{if $g == 'general'}} show{{/if}}" role="tabpanel" aria-labelledby="{{$g}}-settings-title" data-parent="#settings">
<div class="section-content-tools-wrapper">
{{foreach $f.1 as $fcat}}
{{include file="field_checkbox.tpl" field=$fcat}}
diff --git a/view/tpl/settings_nick_set.tpl b/view/tpl/settings_nick_set.tpl
index 76fe7cd8d..4dbe58d82 100755
--- a/view/tpl/settings_nick_set.tpl
+++ b/view/tpl/settings_nick_set.tpl
@@ -1,5 +1,5 @@
<div id="settings-nick-wrapper" class="section-content-info-wrapper">
-<div id="settings-nickname-desc">{{$desc}} <strong>'{{$nickname}}@{{$basepath}}'</strong></div>
+<div id="settings-nickname-desc">{{$desc}} <strong>{{$nickname}}</strong></div>
{{if $davpath}}
<br>
<div id="settings-dav-desc">{{$davdesc}} <strong>'{{$davpath}}'</strong></div>
diff --git a/view/tpl/settings_oauth2.tpl b/view/tpl/settings_oauth2.tpl
new file mode 100755
index 000000000..882d34ea9
--- /dev/null
+++ b/view/tpl/settings_oauth2.tpl
@@ -0,0 +1,35 @@
+<div class="generic-content-wrapper">
+<div class="section-title-wrapper">
+ <h2>{{$title}}</h2>
+</div>
+
+<div class="section-content-tools-wrapper">
+<form action="settings/oauth2" method="post" autocomplete="off">
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
+
+ <div id="profile-edit-links">
+ <ul>
+ <li>
+ <a id="profile-edit-view-link" href="{{$baseurl}}/settings/oauth2/add">{{$add}}</a>
+ </li>
+ </ul>
+ </div>
+
+ {{foreach $apps as $app}}
+ <div class='oauthapp'>
+ {{if $app.client_id}}<h4>{{$app.client_id}}</h4>{{else}}<h4>{{$noname}}</h4>{{/if}}
+ {{if $app.my}}
+ {{if $app.oauth_token}}
+ <div class="settings-submit-wrapper" ><button class="settings-submit" type="submit" name="remove" value="{{$app.oauth_token}}">{{$remove}}</button></div>
+ {{/if}}
+ {{/if}}
+ {{if $app.my}}
+ <a href="{{$baseurl}}/settings/oauth2/edit/{{$app.client_id}}" title="{{$edit}}"><i class="fa fa-pencil btn btn-outline-secondary"></i></a>
+ <a href="{{$baseurl}}/settings/oauth2/delete/{{$app.client_id}}?t={{$form_security_token}}" title="{{$delete}}"><i class="fa fa-trash-o btn btn-outline-secondary"></i></a>
+ {{/if}}
+ </div>
+ {{/foreach}}
+
+</form>
+</div>
+</div>
diff --git a/view/tpl/settings_oauth2_edit.tpl b/view/tpl/settings_oauth2_edit.tpl
new file mode 100755
index 000000000..399c64977
--- /dev/null
+++ b/view/tpl/settings_oauth2_edit.tpl
@@ -0,0 +1,21 @@
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <h2>{{$title}}</h2>
+ </div>
+<div class="section-content-tools-wrapper">
+<form method="POST">
+<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
+{{include file="field_input.tpl" field=$name}}
+{{include file="field_input.tpl" field=$secret}}
+{{include file="field_input.tpl" field=$redirect}}
+{{include file="field_input.tpl" field=$grant}}
+{{include file="field_input.tpl" field=$scope}}
+
+<div class="settings-submit-wrapper" >
+<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
+<input type="submit" name="cancel" class="settings-submit" value="{{$cancel}}" />
+</div>
+
+</form>
+</div>
+</div>
diff --git a/view/tpl/settings_oauth_edit.tpl b/view/tpl/settings_oauth_edit.tpl
index b94dec48a..e44b44723 100755
--- a/view/tpl/settings_oauth_edit.tpl
+++ b/view/tpl/settings_oauth_edit.tpl
@@ -5,7 +5,6 @@
<div class="section-content-tools-wrapper">
<form method="POST">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
-
{{include file="field_input.tpl" field=$name}}
{{include file="field_input.tpl" field=$key}}
{{include file="field_input.tpl" field=$secret}}
diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl
index 2be323deb..6ca4b0c77 100644
--- a/view/tpl/wiki.tpl
+++ b/view/tpl/wiki.tpl
@@ -15,6 +15,7 @@
</div>
</div>
{{/if}}
+ <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$sharePage}}" onclick="window.location.href='rpost?f=&body={{$shareLink}}';"><i class="fa fa-fw fa-share"></i></button>
<button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(); adjustFullscreenEditorHeight();"><i class="fa fa-expand"></i></button>
<button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false); adjustInlineEditorHeight()"><i class="fa fa-compress"></i></button>
</div>